You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.0 KiB
48 lines
1.0 KiB
/* |
|
MIT License http://www.opensource.org/licenses/mit-license.php |
|
*/ |
|
|
|
"use strict"; |
|
|
|
const RuntimeGlobals = require("../RuntimeGlobals"); |
|
const RuntimeModule = require("../RuntimeModule"); |
|
const Template = require("../Template"); |
|
|
|
class AMDDefineRuntimeModule extends RuntimeModule { |
|
constructor() { |
|
super("amd define"); |
|
} |
|
|
|
/** |
|
* @returns {string} runtime code |
|
*/ |
|
generate() { |
|
return Template.asString([ |
|
`${RuntimeGlobals.amdDefine} = function () {`, |
|
Template.indent("throw new Error('define cannot be used indirect');"), |
|
"};" |
|
]); |
|
} |
|
} |
|
|
|
class AMDOptionsRuntimeModule extends RuntimeModule { |
|
/** |
|
* @param {Record<string, boolean | number | string>} options the AMD options |
|
*/ |
|
constructor(options) { |
|
super("amd options"); |
|
this.options = options; |
|
} |
|
|
|
/** |
|
* @returns {string} runtime code |
|
*/ |
|
generate() { |
|
return Template.asString([ |
|
`${RuntimeGlobals.amdOptions} = ${JSON.stringify(this.options)};` |
|
]); |
|
} |
|
} |
|
|
|
exports.AMDDefineRuntimeModule = AMDDefineRuntimeModule; |
|
exports.AMDOptionsRuntimeModule = AMDOptionsRuntimeModule;
|
|
|