diff options
Diffstat (limited to 'tools/addon-sdk-1.12/lib/sdk/test/loader.js')
-rw-r--r-- | tools/addon-sdk-1.12/lib/sdk/test/loader.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/addon-sdk-1.12/lib/sdk/test/loader.js b/tools/addon-sdk-1.12/lib/sdk/test/loader.js new file mode 100644 index 0000000..282cf5e --- /dev/null +++ b/tools/addon-sdk-1.12/lib/sdk/test/loader.js @@ -0,0 +1,28 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const { Loader, resolveURI, Require, + unload, override, descriptor } = require('../loader/cuddlefish'); + +exports.Loader = function(module, globals, packaging) { + let options = packaging || require("@loader/options"); + options = override(options, { + globals: override(require('../system/globals'), globals || {}) + }); + + let loader = Loader(options); + return Object.create(loader, descriptor({ + require: Require(loader, module), + sandbox: function(id) { + let requirement = loader.resolve(id, module.id); + let uri = resolveURI(requirement, loader.mapping); + return loader.sandboxes[uri]; + }, + unload: function(reason) { + unload(loader, reason); + } + })); +}; |