diff options
author | RaindropsSys <contact@minteck.org> | 2023-04-04 19:07:33 +0200 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-04-04 19:07:33 +0200 |
commit | b9aca19cccf9fd85a05d2ae32846b5b4f25a4dc1 (patch) | |
tree | 1ecb5f1c27f159bb175ecded73d4235fcfb4b5ae /includes/external/addressbook/node_modules/asynckit/lib/readable_asynckit.js | |
parent | 704e1c22efe6056b0fc2f59b2766f47e1c8d71cc (diff) | |
download | pluralconnect-b9aca19cccf9fd85a05d2ae32846b5b4f25a4dc1.tar.gz pluralconnect-b9aca19cccf9fd85a05d2ae32846b5b4f25a4dc1.tar.bz2 pluralconnect-b9aca19cccf9fd85a05d2ae32846b5b4f25a4dc1.zip |
Added 147 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/asynckit/lib/readable_asynckit.js')
-rw-r--r-- | includes/external/addressbook/node_modules/asynckit/lib/readable_asynckit.js | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/asynckit/lib/readable_asynckit.js b/includes/external/addressbook/node_modules/asynckit/lib/readable_asynckit.js new file mode 100644 index 0000000..78ad240 --- /dev/null +++ b/includes/external/addressbook/node_modules/asynckit/lib/readable_asynckit.js @@ -0,0 +1,91 @@ +var streamify = require('./streamify.js') + , defer = require('./defer.js') + ; + +// API +module.exports = ReadableAsyncKit; + +/** + * Base constructor for all streams + * used to hold properties/methods + */ +function ReadableAsyncKit() +{ + ReadableAsyncKit.super_.apply(this, arguments); + + // list of active jobs + this.jobs = {}; + + // add stream methods + this.destroy = destroy; + this._start = _start; + this._read = _read; +} + +/** + * Destroys readable stream, + * by aborting outstanding jobs + * + * @returns {void} + */ +function destroy() +{ + if (this.destroyed) + { + return; + } + + this.destroyed = true; + + if (typeof this.terminator == 'function') + { + this.terminator(); + } +} + +/** + * Starts provided jobs in async manner + * + * @private + */ +function _start() +{ + // first argument – runner function + var runner = arguments[0] + // take away first argument + , args = Array.prototype.slice.call(arguments, 1) + // second argument - input data + , input = args[0] + // last argument - result callback + , endCb = streamify.callback.call(this, args[args.length - 1]) + ; + + args[args.length - 1] = endCb; + // third argument - iterator + args[1] = streamify.iterator.call(this, args[1]); + + // allow time for proper setup + defer(function() + { + if (!this.destroyed) + { + this.terminator = runner.apply(null, args); + } + else + { + endCb(null, Array.isArray(input) ? [] : {}); + } + }.bind(this)); +} + + +/** + * Implement _read to comply with Readable streams + * Doesn't really make sense for flowing object mode + * + * @private + */ +function _read() +{ + +} |