diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/timers-browserify | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/timers-browserify')
| -rw-r--r-- | node_modules/timers-browserify/CHANGELOG.md | 140 | ||||
| -rw-r--r-- | node_modules/timers-browserify/LICENSE.md | 46 | ||||
| -rw-r--r-- | node_modules/timers-browserify/README.md | 40 | ||||
| -rw-r--r-- | node_modules/timers-browserify/main.js | 63 | ||||
| -rw-r--r-- | node_modules/timers-browserify/package.json | 56 |
5 files changed, 345 insertions, 0 deletions
diff --git a/node_modules/timers-browserify/CHANGELOG.md b/node_modules/timers-browserify/CHANGELOG.md new file mode 100644 index 00000000..6162f37b --- /dev/null +++ b/node_modules/timers-browserify/CHANGELOG.md @@ -0,0 +1,140 @@ +# Change Log +All notable changes to this project will be documented in this file. +This project adheres to [Semantic Versioning](http://semver.org/). + +## 2.0.10 - 2018-04-18 + +### Fixed + +* Guard `global` usage in scope to avoid reference errors + +## 2.0.9 - 2018-04-17 + +### Fixed + +* Guard `self` usage in scope to avoid Webpack reference errors + +## 2.0.8 - 2018-04-17 + +### Fixed + +* Worker support now explicitly references `self` and `window` rather then using + `this` implicitly to fix issues in Webpack builds. + +## 2.0.7 - 2018-04-16 + +### Fixed + +* Support `setTimeout` / `setInterval` in workers + +## 2.0.6 - 2018-01-24 + +### Fixed + +* Use `typeof` to search globals more carefully. + +## 2.0.5 - 2018-01-23 + +### Fixed + +* Try harder to retrieve `setImmediate` and `clearImmediate` in esoteric + environments. + +## 2.0.4 - 2017-08-14 + +### Fixed + +* Revert `setImmediate` and `clearImmediate` changes from 2.0.3 because they + appear to break Webpack. + +## 2.0.3 - 2017-07-31 + +### Fixed + +* `setImmediate` and `clearImmediate` are indirected through the `global` module + for better coverage of esoteric environments. + +## 2.0.2 - 2016-10-19 + +### Added + +* `.npmignore` now excludes example scripts, reducing package size + +## 2.0.1 - 2016-06-21 + +### Fixed +* `clearTimeout` and `clearInterval` no longer throws when passed null or + undefined instead of the timeout token. + +## 2.0.0 - 2016-03-28 + +### Changed +* `setImmediate` and `clearImmediate` now use the `setimmediate` module which + has better cross-browser coverage. In particular, it resolves a crash in + Safari. The `setimmediate` module adds these methods to the global + immediately, so a major version bump seems safest. + +## 1.4.2 - 2015-12-08 + +### Added +* Metadata used by `jspm` in `package.json` + +## 1.4.1 - 2015-05-10 + +### Changed +* Update `process` dependency + +## 1.4.0 - 2015-02-23 + +### Added +* Link to `timers-browserify-full`, which offers a larger, but much more exact, + version of Node's `timers` library + +### Changed +* `setTimeout` and `setInterval` return objects with the same API as the Node + implementation, instead of just IDs + +### Fixed +* `active` implementation actually has an effect, as in Node +* Replaced usages of `apply` that break in IE 8 + +## 1.3.0 - 2015-02-04 + +### Changed +* Prefer native versions of `setImmediate` and `clearImmediate` if they exist + +## 1.2.0 - 2015-01-02 + +### Changed +* Update `process` dependency + +## 1.1.0 - 2014-08-26 + +### Added +* `clearImmediate` available to undo `setImmediate` + +## 1.0.3 - 2014-06-30 + +### Fixed +* Resume returning opaque IDs from `setTimeout` and `setInterval` + +## 1.0.2 - 2014-06-30 + +### Fixed +* Pass `window` explicitly to `setTimeout` and others to resolve an error in + Chrome + +## 1.0.1 - 2013-12-28 + +### Changed +* Replaced `setimmediate` dependency with `process` for the `nextTick` shim + +## 1.0.0 - 2013-12-10 + +### Added +* Guard against undefined globals like `setTimeout` in some environments + +## 0.0.0 - 2012-05-30 + +### Added +* Basic functionality for initial release diff --git a/node_modules/timers-browserify/LICENSE.md b/node_modules/timers-browserify/LICENSE.md new file mode 100644 index 00000000..940ec90a --- /dev/null +++ b/node_modules/timers-browserify/LICENSE.md @@ -0,0 +1,46 @@ +# timers-browserify + +This project uses the [MIT](http://jryans.mit-license.org/) license: + + Copyright © 2012 J. Ryan Stinnett <jryans@gmail.com> + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the “Software”), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +# lib/node + +The `lib/node` directory borrows files from joyent/node which uses the following license: + + Copyright Joyent, Inc. and other Node contributors. All rights reserved. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. diff --git a/node_modules/timers-browserify/README.md b/node_modules/timers-browserify/README.md new file mode 100644 index 00000000..c7efa192 --- /dev/null +++ b/node_modules/timers-browserify/README.md @@ -0,0 +1,40 @@ +# Overview + +Adds support for the `timers` module to browserify. + +## Wait, isn't it already supported in the browser? + +The public methods of the `timers` module are: + +* `setTimeout(callback, delay, [arg], [...])` +* `clearTimeout(timeoutId)` +* `setInterval(callback, delay, [arg], [...])` +* `clearInterval(intervalId)` + +and indeed, browsers support these already. + +## So, why does this exist? + +The `timers` module also includes some private methods used in other built-in +Node.js modules: + +* `enroll(item, delay)` +* `unenroll(item)` +* `active(item)` + +These are used to efficiently support a large quantity of timers with the same +timeouts by creating only a few timers under the covers. + +Node.js also offers the `immediate` APIs, which aren't yet available cross-browser, so we polyfill those: + +* `setImmediate(callback, [arg], [...])` +* `clearImmediate(immediateId)` + +## I need lots of timers and want to use linked list timers as Node.js does. + +Linked lists are efficient when you have thousands (millions?) of timers with the same delay. +Take a look at [timers-browserify-full](https://www.npmjs.com/package/timers-browserify-full) in this case. + +# License + +[MIT](http://jryans.mit-license.org/) diff --git a/node_modules/timers-browserify/main.js b/node_modules/timers-browserify/main.js new file mode 100644 index 00000000..4214e74b --- /dev/null +++ b/node_modules/timers-browserify/main.js @@ -0,0 +1,63 @@ +var scope = (typeof global !== "undefined" && global) || + (typeof self !== "undefined" && self) || + window; +var apply = Function.prototype.apply; + +// DOM APIs, for completeness + +exports.setTimeout = function() { + return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout); +}; +exports.setInterval = function() { + return new Timeout(apply.call(setInterval, scope, arguments), clearInterval); +}; +exports.clearTimeout = +exports.clearInterval = function(timeout) { + if (timeout) { + timeout.close(); + } +}; + +function Timeout(id, clearFn) { + this._id = id; + this._clearFn = clearFn; +} +Timeout.prototype.unref = Timeout.prototype.ref = function() {}; +Timeout.prototype.close = function() { + this._clearFn.call(scope, this._id); +}; + +// Does not start the time, just sets up the members needed. +exports.enroll = function(item, msecs) { + clearTimeout(item._idleTimeoutId); + item._idleTimeout = msecs; +}; + +exports.unenroll = function(item) { + clearTimeout(item._idleTimeoutId); + item._idleTimeout = -1; +}; + +exports._unrefActive = exports.active = function(item) { + clearTimeout(item._idleTimeoutId); + + var msecs = item._idleTimeout; + if (msecs >= 0) { + item._idleTimeoutId = setTimeout(function onTimeout() { + if (item._onTimeout) + item._onTimeout(); + }, msecs); + } +}; + +// setimmediate attaches itself to the global object +require("setimmediate"); +// On some exotic environments, it's not clear which object `setimmediate` was +// able to install onto. Search each possibility in the same order as the +// `setimmediate` library. +exports.setImmediate = (typeof self !== "undefined" && self.setImmediate) || + (typeof global !== "undefined" && global.setImmediate) || + (this && this.setImmediate); +exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || + (typeof global !== "undefined" && global.clearImmediate) || + (this && this.clearImmediate); diff --git a/node_modules/timers-browserify/package.json b/node_modules/timers-browserify/package.json new file mode 100644 index 00000000..8f2d757e --- /dev/null +++ b/node_modules/timers-browserify/package.json @@ -0,0 +1,56 @@ +{ + "author": "J. Ryan Stinnett <jryans@gmail.com> (http://convolv.es/)", + "name": "timers-browserify", + "description": "timers module for browserify", + "version": "2.0.10", + "homepage": "https://github.com/jryans/timers-browserify", + "bugs": "https://github.com/jryans/timers-browserify/issues", + "repository": { + "type": "git", + "url": "git://github.com/jryans/timers-browserify.git" + }, + "contributors": [ + "Colton Brown <coltonTB@me.com>", + "Dario Segura <dario.seco@gmail.com>", + "Guy Bedford <guybedford@gmail.com>", + "Ionut-Cristian Florescu <ionut.florescu@gmail.com>", + "James Halliday <mail@substack.net>", + "Jan Schär <jscissr@gmail.com>", + "Johannes Ewald <johannes.ewald@peerigon.com>", + "Jonathan Prins <jon@blip.tv>", + "Matt Esch <matt@mattesch.info>", + "taoqf <tao_qiufeng@126.com>", + "Thiago Felix <thiago@thiagofelix.com>", + "wtgtybhertgeghgtwtg <wtgtybhertgeghgtwtg@gmail.com>" + ], + "main": "main.js", + "dependencies": { + "setimmediate": "^1.0.4" + }, + "devDependencies": { + "connect": "~2.3.0", + "browserify": "~1.10.16" + }, + "optionalDependencies": {}, + "engines": { + "node": ">=0.6.0" + }, + "keywords": [ + "timers", + "browserify", + "browser" + ], + "licenses": [ + { + "type": "MIT", + "url": "https://github.com/jryans/timers-browserify/blob/master/LICENSE.md" + } + ], + "jspm": { + "map": { + "./main.js": { + "node": "@node/timers" + } + } + } +} |
