diff options
Diffstat (limited to 'devtools/client/shared/vendor/source-map/lib/read-wasm.js')
-rw-r--r-- | devtools/client/shared/vendor/source-map/lib/read-wasm.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/devtools/client/shared/vendor/source-map/lib/read-wasm.js b/devtools/client/shared/vendor/source-map/lib/read-wasm.js new file mode 100644 index 0000000000..75d7bd5415 --- /dev/null +++ b/devtools/client/shared/vendor/source-map/lib/read-wasm.js @@ -0,0 +1,46 @@ +"use strict"; + +const isNode = + typeof process !== "undefined" && + process.versions != null && + process.versions.node != null; + +let mappingsWasm = null; + +if (isNode) { + const fs = require("fs"); + const path = require("path"); + + module.exports = function readWasm() { + return new Promise((resolve, reject) => { + const wasmPath = path.join(__dirname, "mappings.wasm"); + fs.readFile(wasmPath, null, (error, data) => { + if (error) { + reject(error); + return; + } + + resolve(data.buffer); + }); + }); + }; +} else { + module.exports = function readWasm() { + if (typeof mappingsWasm === "string") { + return fetch(mappingsWasm) + .then(response => response.arrayBuffer()); + } + if (mappingsWasm instanceof ArrayBuffer) { + return Promise.resolve(mappingsWasm); + } + + throw new Error("You must provide the string URL or ArrayBuffer contents " + + "of lib/mappings.wasm by calling " + + "SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) " + + "before using SourceMapConsumer"); + }; +} + +module.exports.initialize = input => { + mappingsWasm = input; +}; |