| if (typeof fetch === "function") { |
| // Web version of reading a wasm file into an array buffer. |
| |
| let mappingsWasmUrl = null; |
| |
| module.exports = function readWasm() { |
| if (typeof mappingsWasmUrl !== "string") { |
| throw new Error("You must provide the URL of lib/mappings.wasm by calling " + |
| "SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) " + |
| "before using SourceMapConsumer"); |
| } |
| |
| return fetch(mappingsWasmUrl) |
| .then(response => response.arrayBuffer()); |
| }; |
| |
| module.exports.initialize = url => mappingsWasmUrl = url; |
| } else { |
| // Node version of reading a wasm file into an array buffer. |
| 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); |
| }); |
| }); |
| }; |
| |
| module.exports.initialize = _ => { |
| console.debug("SourceMapConsumer.initialize is a no-op when running in node.js"); |
| }; |
| } |