{"version":3,"sources":["jsdelivr-header.js","/npm/fake-dynamo-gem@0.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,MAAQ,QAAQ,iBAAiB,MAIrC,SAAS,MAAM,EAAW,EAAc,GACjC,IAAM,EAAK,EAAc,EAAe,CAAC,GACzC,IAAM,EAAK,EAAW,EAAY,IAClC,IAAM,EAAK,WAAW,GACF,iBAAd,IAAwB,EAAY,CAAC,IAEhD,IAAmC,EAAY,EAA3C,EAAU,UAAY,QAe1B,SAAS,EAAS,GAChB,GAAI,qCAAqC,KAAK,GAE5C,OADA,IACO,EAAG,KAAM,GAElB,EAAa,CACf,CAEA,SAAS,EAAQ,GACf,IACA,EAAG,IAAI,MAAM,GACf,CAEA,SAAS,EAAQ,GACf,IACA,EAAW,OACX,EAAG,IAAI,MAAM,GACf,CAEA,SAAS,IACP,EAAW,OAAO,eAAe,OAAQ,GACzC,EAAW,eAAe,QAAS,GACnC,EAAW,eAAe,QAAS,EACrC,CApCA,EAAa,IAAM,EAAa,KAAO,CAAC,EACxC,EAAa,IAAI,SAAW,EAAa,IAAI,UAAY,EACzD,EAAa,IAAI,SAAW,EAAa,IAAI,UAAY,EACzD,EAAa,IAAI,KAAO,EAAa,IAAI,MAAQ,QAAQ,IAAI,MAE7D,EAAa,MAAM,EAAU,mBAAoB,EAAW,IAEjD,OAAO,GAAG,OAAQ,GAC7B,EAAW,GAAG,QAAS,GACvB,EAAW,GAAG,QAAS,GAEvB,QAAQ,GAAG,QAAQ,WAAa,EAAW,MAAO,GA0BpD,CA/CA,OAAO,QAAU","file":"/npm/fake-dynamo-gem@0.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/fake-dynamo-gem@0.1.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var spawn = require('child_process').spawn\n\nmodule.exports = start\n\nfunction start(spawnArgs, spawnOptions, cb) {\n  if (!cb) { cb = spawnOptions; spawnOptions = {} }\n  if (!cb) { cb = spawnArgs; spawnArgs = [] }\n  if (!cb) { cb = function(){} }\n  if (typeof spawnArgs === 'string') spawnArgs = [spawnArgs]\n\n  var gemHome = __dirname + '/ruby', fakeDynamo, lastStdErr\n\n  spawnOptions.env = spawnOptions.env || {}\n  spawnOptions.env.GEM_HOME = spawnOptions.env.GEM_HOME || gemHome\n  spawnOptions.env.GEM_PATH = spawnOptions.env.GEM_PATH || gemHome\n  spawnOptions.env.PATH = spawnOptions.env.PATH || process.env.PATH\n\n  fakeDynamo = spawn(gemHome + '/bin/fake_dynamo', spawnArgs, spawnOptions)\n\n  fakeDynamo.stderr.on('data', onStdErr)\n  fakeDynamo.on('close', onClose)\n  fakeDynamo.on('error', onError)\n\n  process.on('exit', function() { fakeDynamo.kill() })\n\n  function onStdErr(data) {\n    if (/HTTPServer#start: pid=\\d+ port=\\d+/.test(data)) {\n      removeListeners()\n      return cb(null, fakeDynamo)\n    }\n    lastStdErr = data\n  }\n\n  function onClose(code) {\n    removeListeners()\n    cb(new Error(lastStdErr))\n  }\n\n  function onError(error) {\n    removeListeners()\n    fakeDynamo.kill()\n    cb(new Error(error))\n  }\n\n  function removeListeners() {\n    fakeDynamo.stderr.removeListener('data', onStdErr)\n    fakeDynamo.removeListener('close', onClose)\n    fakeDynamo.removeListener('error', onError)\n  }\n}\n\n"]}