{"version":3,"file":"/polyfills/promise-6.1.0.js.map","sources":["promise-6.1.0.js-sources/node_modules/browserify/node_modules/browser-pack/_prelude.js","promise-6.1.0.js-sources/node_modules/browserify/node_modules/process/browser.js","promise-6.1.0.js-sources/node_modules/promise/lib/core.js","promise-6.1.0.js-sources/node_modules/promise/lib/es6-extensions.js","promise-6.1.0.js-sources/node_modules/promise/node_modules/asap/asap.js","promise-6.1.0.js-sources/node_modules/promise/polyfill-done.js","promise-6.1.0.js-sources/node_modules/promise/polyfill.js"],"names":[],"mappings":"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","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o 0) {\n var fn = queue.shift();\n fn();\n }\n }\n }, true);\n\n return function nextTick(fn) {\n queue.push(fn);\n window.postMessage('process-tick', '*');\n };\n }\n\n return function nextTick(fn) {\n setTimeout(fn, 0);\n };\n})();\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n}\n\n// TODO(shtylman)\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n","'use strict';\n\nvar asap = require('asap')\n\nmodule.exports = Promise;\nfunction Promise(fn) {\n if (typeof this !== 'object') throw new TypeError('Promises must be constructed via new')\n if (typeof fn !== 'function') throw new TypeError('not a function')\n var state = null\n var value = null\n var deferreds = []\n var self = this\n\n this.then = function(onFulfilled, onRejected) {\n return new self.constructor(function(resolve, reject) {\n handle(new Handler(onFulfilled, onRejected, resolve, reject))\n })\n }\n\n function handle(deferred) {\n if (state === null) {\n deferreds.push(deferred)\n return\n }\n asap(function() {\n var cb = state ? deferred.onFulfilled : deferred.onRejected\n if (cb === null) {\n (state ? deferred.resolve : deferred.reject)(value)\n return\n }\n var ret\n try {\n ret = cb(value)\n }\n catch (e) {\n deferred.reject(e)\n return\n }\n deferred.resolve(ret)\n })\n }\n\n function resolve(newValue) {\n try { //Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) throw new TypeError('A promise cannot be resolved with itself.')\n if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {\n var then = newValue.then\n if (typeof then === 'function') {\n doResolve(then.bind(newValue), resolve, reject)\n return\n }\n }\n state = true\n value = newValue\n finale()\n } catch (e) { reject(e) }\n }\n\n function reject(newValue) {\n state = false\n value = newValue\n finale()\n }\n\n function finale() {\n for (var i = 0, len = deferreds.length; i < len; i++)\n handle(deferreds[i])\n deferreds = null\n }\n\n doResolve(fn, resolve, reject)\n}\n\n\nfunction Handler(onFulfilled, onRejected, resolve, reject){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null\n this.onRejected = typeof onRejected === 'function' ? onRejected : null\n this.resolve = resolve\n this.reject = reject\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, onFulfilled, onRejected) {\n var done = false;\n try {\n fn(function (value) {\n if (done) return\n done = true\n onFulfilled(value)\n }, function (reason) {\n if (done) return\n done = true\n onRejected(reason)\n })\n } catch (ex) {\n if (done) return\n done = true\n onRejected(ex)\n }\n}\n","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js')\nvar asap = require('asap')\n\nmodule.exports = Promise\n\n/* Static Functions */\n\nfunction ValuePromise(value) {\n this.then = function (onFulfilled) {\n if (typeof onFulfilled !== 'function') return this\n return new Promise(function (resolve, reject) {\n asap(function () {\n try {\n resolve(onFulfilled(value))\n } catch (ex) {\n reject(ex);\n }\n })\n })\n }\n}\nValuePromise.prototype = Promise.prototype\n\nvar TRUE = new ValuePromise(true)\nvar FALSE = new ValuePromise(false)\nvar NULL = new ValuePromise(null)\nvar UNDEFINED = new ValuePromise(undefined)\nvar ZERO = new ValuePromise(0)\nvar EMPTYSTRING = new ValuePromise('')\n\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value\n\n if (value === null) return NULL\n if (value === undefined) return UNDEFINED\n if (value === true) return TRUE\n if (value === false) return FALSE\n if (value === 0) return ZERO\n if (value === '') return EMPTYSTRING\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then\n if (typeof then === 'function') {\n return new Promise(then.bind(value))\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex)\n })\n }\n }\n\n return new ValuePromise(value)\n}\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr)\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([])\n var remaining = args.length\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then\n if (typeof then === 'function') {\n then.call(val, function (val) { res(i, val) }, reject)\n return\n }\n }\n args[i] = val\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex)\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i])\n }\n })\n}\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) { \n reject(value);\n });\n}\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) { \n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n })\n });\n}\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n}\n","(function (process){\n\n// Use the fastest possible means to execute a task in a future turn\n// of the event loop.\n\n// linked list of tasks (single, with head node)\nvar head = {task: void 0, next: null};\nvar tail = head;\nvar flushing = false;\nvar requestFlush = void 0;\nvar isNodeJS = false;\n\nfunction flush() {\n /* jshint loopfunc: true */\n\n while (head.next) {\n head = head.next;\n var task = head.task;\n head.task = void 0;\n var domain = head.domain;\n\n if (domain) {\n head.domain = void 0;\n domain.enter();\n }\n\n try {\n task();\n\n } catch (e) {\n if (isNodeJS) {\n // In node, uncaught exceptions are considered fatal errors.\n // Re-throw them synchronously to interrupt flushing!\n\n // Ensure continuation if the uncaught exception is suppressed\n // listening \"uncaughtException\" events (as domains does).\n // Continue in next event to avoid tick recursion.\n if (domain) {\n domain.exit();\n }\n setTimeout(flush, 0);\n if (domain) {\n domain.enter();\n }\n\n throw e;\n\n } else {\n // In browsers, uncaught exceptions are not fatal.\n // Re-throw them asynchronously to avoid slow-downs.\n setTimeout(function() {\n throw e;\n }, 0);\n }\n }\n\n if (domain) {\n domain.exit();\n }\n }\n\n flushing = false;\n}\n\nif (typeof process !== \"undefined\" && process.nextTick) {\n // Node.js before 0.9. Note that some fake-Node environments, like the\n // Mocha test runner, introduce a `process` global without a `nextTick`.\n isNodeJS = true;\n\n requestFlush = function () {\n process.nextTick(flush);\n };\n\n} else if (typeof setImmediate === \"function\") {\n // In IE10, Node.js 0.9+, or https://github.com/NobleJS/setImmediate\n if (typeof window !== \"undefined\") {\n requestFlush = setImmediate.bind(window, flush);\n } else {\n requestFlush = function () {\n setImmediate(flush);\n };\n }\n\n} else if (typeof MessageChannel !== \"undefined\") {\n // modern browsers\n // http://www.nonblocking.io/2011/06/windownexttick.html\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n requestFlush = function () {\n channel.port2.postMessage(0);\n };\n\n} else {\n // old browsers\n requestFlush = function () {\n setTimeout(flush, 0);\n };\n}\n\nfunction asap(task) {\n tail = tail.next = {\n task: task,\n domain: isNodeJS && process.domain,\n next: null\n };\n\n if (!flushing) {\n flushing = true;\n requestFlush();\n }\n};\n\nmodule.exports = asap;\n\n\n}).call(this,require('_process'))","// should work in any browser without browserify\n\nif (typeof Promise.prototype.done !== 'function') {\n Promise.prototype.done = function (onFulfilled, onRejected) {\n var self = arguments.length ? this.then.apply(this, arguments) : this\n self.then(null, function (err) {\n setTimeout(function () {\n throw err\n }, 0)\n })\n }\n}","// not \"use strict\" so we can declare global \"Promise\"\n\nvar asap = require('asap');\n\nif (typeof Promise === 'undefined') {\n Promise = require('./lib/core.js')\n require('./lib/es6-extensions.js')\n}\n\nrequire('./polyfill-done.js');\n"]}