/* Determine browser vs node environment by testing the default top level context. Solution courtesy of: https://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser */ 
 | 
const isBrowserEnvironment = (function() { 
 | 
    // eslint-disable-next-line no-undef 
 | 
    return (typeof window !== "undefined") && (this === window); 
 | 
}).call(); 
 | 
  
 | 
if (isBrowserEnvironment) { 
 | 
  // Web version of reading a wasm file into an array buffer. 
 | 
  
 | 
  let mappingsWasm = null; 
 | 
  
 | 
  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; 
 | 
} 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"); 
 | 
  }; 
 | 
} 
 |