UNPKG

@shockpkg/dir-projector

Version:

Package for creating Shockwave Director projectors

1 lines 15.4 kB
{"version":3,"file":"html.mjs","names":["dirname","mkdir","writeFile","Projector","htmlEncode","ProjectorHtml","lang","title","background","color","classid","type","codebase","pluginspage","src","width","height","name","id","bgcolor","swStretchStyle","swStretchHAlign","swStretchVAlign","swRemote","sw1","sw2","sw3","sw4","sw5","sw6","sw7","sw8","sw9","progress","logo","playerVersion","html","constructor","path","write","recursive","getHtml","getHtmlDefault","Error","object","Map","set","param","embed","k","v","hAttr","entries","map","a","s","replace","repeat","length","join"],"sources":["../../src/projector/html.ts"],"sourcesContent":["import {dirname} from 'node:path';\nimport {mkdir, writeFile} from 'node:fs/promises';\n\nimport {Projector} from '../projector.ts';\nimport {htmlEncode} from '../util.ts';\n\n/**\n * ProjectorHtml object.\n */\nexport class ProjectorHtml extends Projector {\n\t/**\n\t * The HTML document lang.\n\t */\n\tpublic lang: string | null = null;\n\n\t/**\n\t * The HTML document title.\n\t */\n\tpublic title: string | null = null;\n\n\t/**\n\t * HTML document background style.\n\t */\n\tpublic background: string | null = null;\n\n\t/**\n\t * HTML document color style.\n\t */\n\tpublic color: string | null = null;\n\n\t/**\n\t * Required <object> classid attribute.\n\t */\n\tpublic classid: string = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';\n\n\t/**\n\t * Required <embed> type attribute.\n\t */\n\tpublic type: string = 'application/x-director';\n\n\t/**\n\t * The <object> codebase attribute.\n\t */\n\tpublic codebase: string | null = null;\n\n\t/**\n\t * The <embed> codebase attribute.\n\t */\n\tpublic pluginspage: string | null = null;\n\n\t/**\n\t * Required src/movie URL (unless using custom HTML).\n\t */\n\tpublic src: string = '';\n\n\t/**\n\t * Required movie width (unless using custom HTML).\n\t */\n\tpublic width: string | number | null = null;\n\n\t/**\n\t * Required movie height (unless using custom HTML).\n\t */\n\tpublic height: string | number | null = null;\n\n\t/**\n\t * The name for object, param, and embed elements.\n\t */\n\tpublic name: string | null = null;\n\n\t/**\n\t * The id for the object element.\n\t */\n\tpublic id: string | null = null;\n\n\t/**\n\t * The movie background color.\n\t */\n\tpublic bgcolor: string | null = null;\n\n\t/**\n\t * The movie stretch style (none | meet | fill | stage).\n\t */\n\tpublic swStretchStyle: string | null = null;\n\n\t/**\n\t * The stretch horizontal alignment (left | center | right).\n\t */\n\tpublic swStretchHAlign: string | null = null;\n\n\t/**\n\t * The stretch vertical alignment (top | center | bottom).\n\t */\n\tpublic swStretchVAlign: string | null = null;\n\n\t/**\n\t * A set of parameters in the form of \"swVolume='false' swRestart='true'\".\n\t * Boolean: swSaveEnabled.\n\t * Boolean: swVolume.\n\t * Boolean: swRestart.\n\t * Boolean: swPausePlay.\n\t * Boolean: swFastForward.\n\t * Boolean: swContextMenu.\n\t */\n\tpublic swRemote: string | null = null;\n\n\t/**\n\t * Custom parameter 1.\n\t */\n\tpublic sw1: string | null = null;\n\n\t/**\n\t * Custom parameter 2.\n\t */\n\tpublic sw2: string | null = null;\n\n\t/**\n\t * Custom parameter 3.\n\t */\n\tpublic sw3: string | null = null;\n\n\t/**\n\t * Custom parameter 4.\n\t */\n\tpublic sw4: string | null = null;\n\n\t/**\n\t * Custom parameter 5.\n\t */\n\tpublic sw5: string | null = null;\n\n\t/**\n\t * Custom parameter 6.\n\t */\n\tpublic sw6: string | null = null;\n\n\t/**\n\t * Custom parameter 7.\n\t */\n\tpublic sw7: string | null = null;\n\n\t/**\n\t * Custom parameter 8.\n\t */\n\tpublic sw8: string | null = null;\n\n\t/**\n\t * Custom parameter 9.\n\t */\n\tpublic sw9: string | null = null;\n\n\t/**\n\t * The progress attribute (controls loading screen?).\n\t */\n\tpublic progress: string | boolean | null = null;\n\n\t/**\n\t * The logo attribute (controls loading screen?).\n\t */\n\tpublic logo: string | boolean | null = null;\n\n\t/**\n\t * The playerversion attribute (for update checking?).\n\t */\n\tpublic playerVersion: string | number | null = null;\n\n\t/**\n\t * Custom HTML to use instead of generated HTML.\n\t */\n\tpublic html:\n\t\t| string\n\t\t| ((self: this) => string)\n\t\t| ((self: this) => Promise<string>)\n\t\t| null = null;\n\n\t/**\n\t * ProjectorHtml constructor.\n\t *\n\t * @param path Output path.\n\t */\n\tconstructor(path: string) {\n\t\tsuper(path);\n\t}\n\n\t/**\n\t * @inheritdoc\n\t */\n\tpublic async write() {\n\t\tconst {path} = this;\n\t\tawait mkdir(dirname(path), {recursive: true});\n\t\tawait writeFile(path, await this.getHtml());\n\t}\n\n\t/**\n\t * Get HTML document code.\n\t *\n\t * @returns HTML code.\n\t */\n\tpublic async getHtml() {\n\t\tconst {html} = this;\n\t\tif (html) {\n\t\t\treturn typeof html === 'function' ? html(this) : html;\n\t\t}\n\t\treturn this.getHtmlDefault();\n\t}\n\n\t/**\n\t * Get the default HTML document code.\n\t *\n\t * @returns HTML code.\n\t */\n\tpublic getHtmlDefault() {\n\t\tconst {\n\t\t\tlang,\n\t\t\ttitle,\n\t\t\tbackground,\n\t\t\tcolor,\n\t\t\tclassid,\n\t\t\ttype,\n\t\t\tcodebase,\n\t\t\tpluginspage,\n\t\t\tsrc,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tname,\n\t\t\tbgcolor,\n\t\t\tswStretchStyle,\n\t\t\tswStretchHAlign,\n\t\t\tswStretchVAlign,\n\t\t\tswRemote,\n\t\t\tsw1,\n\t\t\tsw2,\n\t\t\tsw3,\n\t\t\tsw4,\n\t\t\tsw5,\n\t\t\tsw6,\n\t\t\tsw7,\n\t\t\tsw8,\n\t\t\tsw9,\n\t\t\tprogress,\n\t\t\tlogo,\n\t\t\tplayerVersion\n\t\t} = this;\n\n\t\tif (!src) {\n\t\t\tthrow new Error('Required property: src');\n\t\t}\n\t\tif (width === null) {\n\t\t\tthrow new Error('Required property: width');\n\t\t}\n\t\tif (height === null) {\n\t\t\tthrow new Error('Required property: height');\n\t\t}\n\n\t\tconst object = new Map<string, string>();\n\t\tobject.set('classid', classid);\n\t\tif (codebase !== null) {\n\t\t\tobject.set('codebase', codebase);\n\t\t}\n\t\tobject.set('width', `${width}`);\n\t\tobject.set('height', `${height}`);\n\t\tif (id !== null) {\n\t\t\tobject.set('id', id);\n\t\t}\n\n\t\tconst param = new Map<string, string>();\n\t\tparam.set('movie', src);\n\n\t\tconst embed = new Map<string, string>();\n\t\tembed.set('type', type);\n\t\tif (pluginspage !== null) {\n\t\t\tembed.set('pluginspage', pluginspage);\n\t\t}\n\t\tembed.set('width', `${width}`);\n\t\tembed.set('height', `${height}`);\n\t\tembed.set('src', src);\n\n\t\tif (name !== null) {\n\t\t\tobject.set('name', name);\n\t\t\tparam.set('name', name);\n\t\t\tembed.set('name', name);\n\t\t}\n\n\t\tfor (const [k, v] of [\n\t\t\t['bgcolor', bgcolor],\n\t\t\t['swstretchstyle', swStretchStyle],\n\t\t\t['swstretchhalign', swStretchHAlign],\n\t\t\t['swstretchvalign', swStretchVAlign],\n\t\t\t['swremote', swRemote],\n\t\t\t['sw1', sw1],\n\t\t\t['sw2', sw2],\n\t\t\t['sw3', sw3],\n\t\t\t['sw4', sw4],\n\t\t\t['sw5', sw5],\n\t\t\t['sw6', sw6],\n\t\t\t['sw7', sw7],\n\t\t\t['sw8', sw8],\n\t\t\t['sw9', sw9],\n\t\t\t['progress', progress],\n\t\t\t['logo', logo],\n\t\t\t['playerversion', playerVersion]\n\t\t] as [string, string | number | boolean | null][]) {\n\t\t\tif (v !== null) {\n\t\t\t\tparam.set(k, `${v}`);\n\t\t\t\tembed.set(k, `${v}`);\n\t\t\t}\n\t\t}\n\n\t\tconst hAttr = lang === null ? '' : ` lang=\"${htmlEncode(lang, true)}\"`;\n\n\t\treturn [\n\t\t\t'<!DOCTYPE html>',\n\t\t\t`<html${hAttr}>`,\n\t\t\t' <head>',\n\t\t\t' <meta charset=\"UTF-8\">',\n\t\t\t' <meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\">',\n\t\t\t...(title === null\n\t\t\t\t? []\n\t\t\t\t: [` <title>${htmlEncode(title)}</title>`]),\n\t\t\t' <style>',\n\t\t\t' * {',\n\t\t\t' margin: 0;',\n\t\t\t' padding: 0;',\n\t\t\t' }',\n\t\t\t' html,',\n\t\t\t' body {',\n\t\t\t' height: 100%;',\n\t\t\t' }',\n\t\t\t' body {',\n\t\t\t...(background === null\n\t\t\t\t? []\n\t\t\t\t: [` background: ${htmlEncode(background)};`]),\n\t\t\t...(color === null ? [] : [` color: ${htmlEncode(color)};`]),\n\t\t\t' font-family: Verdana, Geneva, sans-serif;',\n\t\t\t' }',\n\t\t\t' object,',\n\t\t\t' embed {',\n\t\t\t' display: block;',\n\t\t\t' outline: 0;',\n\t\t\t' }',\n\t\t\t' object:focus,',\n\t\t\t' embed:focus {',\n\t\t\t' outline: 0;',\n\t\t\t' }',\n\t\t\t' .main {',\n\t\t\t' display: table;',\n\t\t\t' height: 100%;',\n\t\t\t' width: 100%;',\n\t\t\t' }',\n\t\t\t' .player {',\n\t\t\t' display: table-cell;',\n\t\t\t' vertical-align: middle;',\n\t\t\t' }',\n\t\t\t' .player object,',\n\t\t\t' .player embed {',\n\t\t\t' margin: 0 auto;',\n\t\t\t' }',\n\t\t\t' </style>',\n\t\t\t' </head>',\n\t\t\t' <body>',\n\t\t\t' <div class=\"main\">',\n\t\t\t' <div class=\"player\">',\n\t\t\t' <object',\n\t\t\t...[...object.entries()].map(\n\t\t\t\t([a, v]) => ` ${a}=\"${htmlEncode(v, true)}\"`\n\t\t\t),\n\t\t\t' >',\n\t\t\t...[...param.entries()].map(\n\t\t\t\t([a, v]) =>\n\t\t\t\t\t` <param name=\"${a}\" value=\"${htmlEncode(v, true)}\">`\n\t\t\t),\n\t\t\t' <embed',\n\t\t\t...[...embed.entries()].map(\n\t\t\t\t([a, v]) => ` ${a}=\"${htmlEncode(v, true)}\"`\n\t\t\t),\n\t\t\t' >',\n\t\t\t' </object>',\n\t\t\t' </div>',\n\t\t\t' </div>',\n\t\t\t' </body>',\n\t\t\t'</html>',\n\t\t\t''\n\t\t]\n\t\t\t.map(s => s.replace(/^\\s+/, s => '\\t'.repeat(s.length)))\n\t\t\t.join('\\n');\n\t}\n}\n"],"mappings":"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","ignoreList":[]}