{"bugs":{"url":"https://github.com/taylorhakes/promise-polyfill/issues"},"dist":{"shasum":"b47c7fc74052cc5b2132b703cca144f1a5eb56ef","tarball":"https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.0.0.tgz","fileCount":11,"integrity":"sha512-QGmPnw2hDEaRS6freHynJ7nfS1nDg0/P0c/CGglA43utoJjYQMiY9ojEpK0HaJ4wbUztdmwqQRlEfGWdsEQ5uQ==","signatures":[{"sig":"MEUCIQCNBMriTNADxML9d1xpjCZNeYmh94hVEK8JokrZy/K6GgIge3MYpJGhHbXdjvewIGrh2van1A0eRcfgaOk+RKDlffA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa72rMCRA9TVsSAnZWagAAF6gP/igZnTip8UTGamsMCXW3\n1IMuLJkb1YIdqboWcRq/M4w3KsGNjMx0nV9ENlTm+GrOTW9kwdR6Maa78gyC\nCozfOcE+SsWZK5PD9IDYnpkuYk11s+3Bjj0qFeqzYMuD6Kz7FLeSh36aC+DT\nkFBAf1+rKtPlf2Mpn6lfRyT6UtaF3Nt9n8FZvvaGlzyS7VdzmiYFdKqHEjZm\nM1dmPvXVyEWy5mkIAMBVq6nI02tDzGIxsoBIwrFKYDEovcVsbs5xGVbUnSFu\nul73BOiURxDHEtIY5HyknoZ9ts6Kh51FjX46ozUUj5bPTKb3p8d3YHxPO+Uz\nVaVq2nWfSEgAVdycLmC5Z198cs/QZehJxK9stANuVIdmMySHhEbNWCQ3afzd\nW7BzIGOtFwpYeVWrjxNKwTsuJh17/7Rrwa2WyTU2zBFMJwUqgQTKh03oVLej\nBOY1XTpP4EotN+X5GRuHgjIWhVV4JyUWBBWztLPhbMgZN38uq+nisKByhz6q\nrbT7aOx0SrSkraYASVE1+SvSpQgnKOF+J2gOm9/AG74Bs7Dn2wx39asv3FIb\nfIggMeWCglIcgDPYtjpfAZzFAYqMGxwnAvVJ3Lt2Flzqgd2q9ziNU2/pg77D\n0x/1FhL92xyP0Dh3SSGTq5IPQ/eg72A15p14wG74K/T8lw5jvnEqYbGKOYTX\nqWb0\r\n=smh1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","name":"promise-polyfill","files":["src","lib","dist"],"unpkg":"dist/polyfill.min.js","author":{"name":"Taylor Hakes"},"module":"src/index.js","readme":"# Promise Polyfill\n\n[![travis][travis-image]][travis-url]\n\n[travis-image]: https://img.shields.io/travis/taylorhakes/promise-polyfill.svg?style=flat\n[travis-url]: https://travis-ci.org/taylorhakes/promise-polyfill\n\nLightweight ES6 Promise polyfill for the browser and node. Adheres closely to\nthe spec. It is a perfect polyfill IE, Firefox or any other browser that does\nnot support native promises.\n\nFor API information about Promises, please check out this article\n[HTML5Rocks article](http://www.html5rocks.com/en/tutorials/es6/promises/).\n\nIt is extremely lightweight. **_< 1kb Gzipped_**\n\n## Browser Support\n\nIE8+, Chrome, Firefox, IOS 4+, Safari 5+, Opera\n\n### NPM Use\n\n```\nnpm install promise-polyfill --save-exact\n```\n\n### Bower Use\n\n```\nbower install promise-polyfill\n```\n\n### CDN Polyfill Use\n\nThis will set a global Promise object if the browser doesn't already have `window.Promise`.\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js\"></script>\n```\n\n## Downloads\n\n* [Promise](https://raw.github.com/taylorhakes/promise-polyfill/master/dist/polyfill.js)\n* [Promise-min](https://raw.github.com/taylorhakes/promise-polyfill/master/dist/polyfill.min.js)\n\n## Simple use\n\nIf you would like to add a global Promise object (Node or Browser) if native Promise doesn't exist (polyfill Promise). Use the method below. This is useful it you are building a website and want to support older browsers.\nJavascript library authors should _NOT_ use this method.\n\n```js\nimport 'promise-polyfill/src/polyfill';\n```\n\nIf you would like to not affect the global environment (sometimes known as a [ponyfill](ponyfill.com)), you can import the base module. This is nice for library authors or people working in environment where you don't want\nto affect the global environment.\n\n```js\nimport Promise from 'promise-polyfill';\n```\n\nIf using `require` with Webpack 2+ (rare), you need to specify the default import\n\n```js\nvar Promise = require('promise-polyfill').default;\n```\n\nthen you can use like normal Promises\n\n```js\nvar prom = new Promise(function(resolve, reject) {\n  // do a thing, possibly async, then…\n\n  if (/* everything turned out fine */) {\n    resolve(\"Stuff worked!\");\n  }  else {\n    reject(new Error(\"It broke\"));\n  }\n});\n\nprom.then(function(result) {\n  // Do something when async done\n});\n```\n\n## Performance\n\nBy default promise-polyfill uses `setImmediate`, but falls back to `setTimeout`\nfor executing asynchronously. If a browser does not support `setImmediate`\n(IE/Edge are the only browsers with setImmediate), you may see performance\nissues. Use a `setImmediate` polyfill to fix this issue.\n[setAsap](https://github.com/taylorhakes/setAsap) or\n[setImmediate](https://github.com/YuzuJS/setImmediate) work well.\n\nIf you polyfill `window.setImmediate` or use `Promise._immediateFn = yourImmediateFn` it will be used instead of `window.setTimeout`\n\n```\nnpm install setasap --save\n```\n\n```js\nimport Promise from 'promise-polyfill/src/polyfill';\nimport setAsap from 'setasap';\nPromise._immediateFn = setAsap;\n```\n\n## Unhandled Rejections\n\npromise-polyfill will warn you about possibly unhandled rejections. It will show\na console warning if a Promise is rejected, but no `.catch` is used. You can\nchange this behavior by doing.\n\n```js\nPromise._unhandledRejectionFn = <your reject error handler>;\n```\n\nIf you would like to disable unhandled rejection messages. Use a noop like\nbelow.\n\n```js\nPromise._unhandledRejectionFn = function(rejectError) {};\n```\n\n## Testing\n\n```\nnpm install\nnpm test\n```\n\n## License\n\nMIT\n","gitHead":"f13a09f5c2ef8ac45255f9f54b97f7cd302c2a08","license":"MIT","scripts":{"test":"eslint src && mocha && karma start --single-run","build":"run-p build:**","prepare":"npm run build","pretest":"npm run build:cjs","prebuild":"rimraf lib dist","build:cjs":"rollup -i src/index.js -o lib/index.js -f cjs","precommit":"lint-staged","prepublish":"test $(npm -v | tr . '\\n' | head -n 1) -ge '4' || exit 1","build:cjs-polyfill":"rollup -i src/polyfill.js -o lib/polyfill.js -f cjs","build:umd-polyfill":"cross-env NODE_ENV=development rollup -i src/polyfill.js -o dist/polyfill.js -c rollup.umd.config.js","build:umd-polyfill:min":"cross-env NODE_ENV=production rollup -i src/polyfill.js -o dist/polyfill.min.js -c rollup.umd.config.js"},"_npmUser":{"name":"taylorhakes","email":"npm@taylorhakes.com"},"homepage":"https://github.com/taylorhakes/promise-polyfill","keywords":["promise","promise-polyfill","ES6","promises-aplus"],"repository":{"url":"git+https://github.com/taylorhakes/promise-polyfill.git","type":"git"},"_npmVersion":"5.6.0","description":"Lightweight promise polyfill. A+ compliant","directories":{},"jsnext:main":"src/index.js","maintainers":[{"name":"taylorhakes","email":"npm@taylorhakes.com"}],"_nodeVersion":"8.9.4","dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^0.14.3","karma":"^0.13.19","mocha":"^2.3.4","sinon":"^1.17.2","eslint":"^4.11.0","rimraf":"^2.6.2","rollup":"^0.52.0","prettier":"^1.8.2","cross-env":"^5.1.1","karma-mocha":"^0.2.1","lint-staged":"^5.0.0","npm-run-all":"^4.1.2","karma-browserify":"^4.4.2","promises-aplus-tests":"*","rollup-plugin-uglify":"^2.0.1","karma-chrome-launcher":"^0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/promise-polyfill_8.0.0_1525639883121_0.061888855709063106","host":"s3://npm-registry-packages"},"_id":"promise-polyfill@8.0.0","version":"8.0.0"}