From b18f97f5d87c833ca2ea3f85b2614f0d2fff961c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Ooms?= Date: Mon, 6 Aug 2018 21:15:11 +0200 Subject: [PATCH] Make potential i/o methods asynchronous (fixes #2) needed to upgrade to babel 7 beta --- lib/EOF.js | 6 +- lib/StreamFromCallable.js | 153 ++++++++++++------- lib/asyncChain.js | 189 +++++++++++++++++++++++ lib/asyncIterableToArray.js | 110 ++++++++++++++ lib/asyncMap.js | 125 ++++++++++++++++ lib/chain.js | 17 +-- lib/exhaust.js | 43 +++++- lib/fromarray.js | 12 +- lib/fromasynciterable.js | 22 +++ lib/fromcallable.js | 15 +- lib/fromiterable.js | 15 +- lib/fromiterator.js | 15 +- lib/fromstring.js | 12 +- lib/ignore.js | 15 +- lib/index.js | 245 ++++++++++++++++++------------ lib/map.js | 17 +-- lib/skip.js | 64 ++++++-- lib/split.js | 291 ++++++++++++++++++++---------------- lib/toarray.js | 42 +++++- lib/tocallable.js | 15 +- lib/toiterable.js | 101 ++++++++----- lib/toiterator.js | 15 +- lib/tostring.js | 46 +++++- package.json | 22 +-- src/StreamFromCallable.js | 5 +- src/asyncChain.js | 8 + src/asyncIterableToArray.js | 5 + src/asyncMap.js | 9 ++ src/chain.js | 8 +- src/exhaust.js | 5 +- src/fromasynciterable.js | 8 + src/ignore.js | 1 - src/map.js | 7 +- src/skip.js | 4 +- src/split.js | 16 +- src/toarray.js | 4 +- src/toiterable.js | 4 +- src/toiterator.js | 2 +- src/tostring.js | 2 +- 39 files changed, 1226 insertions(+), 469 deletions(-) create mode 100644 lib/asyncChain.js create mode 100644 lib/asyncIterableToArray.js create mode 100644 lib/asyncMap.js create mode 100644 lib/fromasynciterable.js create mode 100644 src/asyncChain.js create mode 100644 src/asyncIterableToArray.js create mode 100644 src/asyncMap.js create mode 100644 src/fromasynciterable.js diff --git a/lib/EOF.js b/lib/EOF.js index 04dbe16..16c9261 100644 --- a/lib/EOF.js +++ b/lib/EOF.js @@ -3,5 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = {}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FT0YuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBQWUsRSIsImZpbGUiOiJFT0YuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7IH0gO1xuIl19 \ No newline at end of file +exports.default = void 0; +var _default = {}; +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FT0YuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQWUsRSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHsgfSA7XG4iXX0= \ No newline at end of file diff --git a/lib/StreamFromCallable.js b/lib/StreamFromCallable.js index 5df258c..d4d70e1 100644 --- a/lib/StreamFromCallable.js +++ b/lib/StreamFromCallable.js @@ -1,77 +1,116 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); +exports.default = void 0; -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); +var _EOF = _interopRequireDefault(require("./EOF")); -var _EOF = require('./EOF'); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _EOF2 = _interopRequireDefault(_EOF); +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + /** * Class that wraps a callable with a stream. */ -var StreamFromCallable = function () { - - /** - * The constructor. Stores the callable that yields values to stream. - * - * @param {Callable} callable - The callable to use. - * @returns {StreamFromCallable} - * - */ - function StreamFromCallable(callable) { - _classCallCheck(this, StreamFromCallable); - - this.callable = callable; - this.buffer = []; - this.eof = _EOF2.default; - } - - /** - * Returns the next token in the stream or {@link StreamFromCallable#eof} - * if the stream has been exhausted. - * - * @returns {Object} - */ - - - _createClass(StreamFromCallable, [{ - key: 'read', - value: function read() { - - if (this.buffer.length > 0) return this.buffer.pop(); - - var state = this.callable(); - - if (state.done) return this.eof; - - return state.value; - } - - /** - * Puts a token back in the stream. If {@link StreamFromCallable#read} is - * used just after, this token will be returned. +var StreamFromCallable = +/*#__PURE__*/ +function () { + /** + * The constructor. Stores the callable that yields values to stream. + * + * @param {Callable} callable - The callable to use. + * @returns {StreamFromCallable} * - * @param {Object} token - The token to put back in the stream. + */ + function StreamFromCallable(callable) { + _classCallCheck(this, StreamFromCallable); + + this.callable = callable; + this.buffer = []; + this.eof = _EOF.default; + } + /** + * Returns the next token in the stream or {@link StreamFromCallable#eof} + * if the stream has been exhausted. + * + * @returns {Object} */ - }, { - key: 'unread', - value: function unread(token) { - - this.buffer.push(token); - } - }]); - return StreamFromCallable; + _createClass(StreamFromCallable, [{ + key: "read", + value: function () { + var _read = _asyncToGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee() { + var state; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(this.buffer.length > 0)) { + _context.next = 2; + break; + } + + return _context.abrupt("return", this.buffer.pop()); + + case 2: + _context.next = 4; + return this.callable(); + + case 4: + state = _context.sent; + + if (!state.done) { + _context.next = 7; + break; + } + + return _context.abrupt("return", this.eof); + + case 7: + return _context.abrupt("return", state.value); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function read() { + return _read.apply(this, arguments); + }; + }() + /** + * Puts a token back in the stream. If {@link StreamFromCallable#read} is + * used just after, this token will be returned. + * + * @param {Object} token - The token to put back in the stream. + */ + + }, { + key: "unread", + value: function unread(token) { + // should this be async too ? + this.buffer.push(token); + } + }]); + + return StreamFromCallable; }(); exports.default = StreamFromCallable; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdHJlYW1Gcm9tQ2FsbGFibGUuanMiXSwibmFtZXMiOlsiU3RyZWFtRnJvbUNhbGxhYmxlIiwiY2FsbGFibGUiLCJidWZmZXIiLCJlb2YiLCJFT0YiLCJsZW5ndGgiLCJwb3AiLCJzdGF0ZSIsImRvbmUiLCJ2YWx1ZSIsInRva2VuIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFFQTs7O0lBR3FCQSxrQjs7QUFFcEI7Ozs7Ozs7QUFPQSw2QkFBY0MsUUFBZCxFQUF5QjtBQUFBOztBQUN4QixPQUFLQSxRQUFMLEdBQWdCQSxRQUFoQjtBQUNBLE9BQUtDLE1BQUwsR0FBYyxFQUFkO0FBQ0EsT0FBS0MsR0FBTCxHQUFXQyxhQUFYO0FBQ0E7O0FBRUQ7Ozs7Ozs7Ozs7eUJBTVM7O0FBRVIsT0FBSyxLQUFLRixNQUFMLENBQVlHLE1BQVosR0FBcUIsQ0FBMUIsRUFBOEIsT0FBTyxLQUFLSCxNQUFMLENBQVlJLEdBQVosRUFBUDs7QUFFOUIsT0FBTUMsUUFBUSxLQUFLTixRQUFMLEVBQWQ7O0FBRUEsT0FBS00sTUFBTUMsSUFBWCxFQUFrQixPQUFPLEtBQUtMLEdBQVo7O0FBRWxCLFVBQU9JLE1BQU1FLEtBQWI7QUFFQTs7QUFFRDs7Ozs7Ozs7O3lCQU1TQyxLLEVBQVE7O0FBRWhCLFFBQUtSLE1BQUwsQ0FBWVMsSUFBWixDQUFrQkQsS0FBbEI7QUFFQTs7Ozs7O2tCQTNDbUJWLGtCIiwiZmlsZSI6IlN0cmVhbUZyb21DYWxsYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFT0YgZnJvbSAnLi9FT0YnIDtcblxuLyoqXG4gKiBDbGFzcyB0aGF0IHdyYXBzIGEgY2FsbGFibGUgd2l0aCBhIHN0cmVhbS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RyZWFtRnJvbUNhbGxhYmxlIHtcblxuXHQvKipcblx0ICogVGhlIGNvbnN0cnVjdG9yLiBTdG9yZXMgdGhlIGNhbGxhYmxlIHRoYXQgeWllbGRzIHZhbHVlcyB0byBzdHJlYW0uXG5cdCAqXG5cdCAqIEBwYXJhbSB7Q2FsbGFibGV9IGNhbGxhYmxlIC0gVGhlIGNhbGxhYmxlIHRvIHVzZS5cblx0ICogQHJldHVybnMge1N0cmVhbUZyb21DYWxsYWJsZX1cblx0ICpcblx0ICovXG5cdGNvbnN0cnVjdG9yICggY2FsbGFibGUgKSB7XG5cdFx0dGhpcy5jYWxsYWJsZSA9IGNhbGxhYmxlIDtcblx0XHR0aGlzLmJ1ZmZlciA9IFsgXSA7XG5cdFx0dGhpcy5lb2YgPSBFT0YgO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIG5leHQgdG9rZW4gaW4gdGhlIHN0cmVhbSBvciB7QGxpbmsgU3RyZWFtRnJvbUNhbGxhYmxlI2VvZn1cblx0ICogaWYgdGhlIHN0cmVhbSBoYXMgYmVlbiBleGhhdXN0ZWQuXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtPYmplY3R9XG5cdCAqL1xuXHRyZWFkICggKSB7XG5cblx0XHRpZiAoIHRoaXMuYnVmZmVyLmxlbmd0aCA+IDAgKSByZXR1cm4gdGhpcy5idWZmZXIucG9wKCApIDtcblxuXHRcdGNvbnN0IHN0YXRlID0gdGhpcy5jYWxsYWJsZSggKSA7XG5cblx0XHRpZiAoIHN0YXRlLmRvbmUgKSByZXR1cm4gdGhpcy5lb2YgO1xuXG5cdFx0cmV0dXJuIHN0YXRlLnZhbHVlIDtcblxuXHR9XG5cblx0LyoqXG5cdCAqIFB1dHMgYSB0b2tlbiBiYWNrIGluIHRoZSBzdHJlYW0uIElmIHtAbGluayBTdHJlYW1Gcm9tQ2FsbGFibGUjcmVhZH0gaXNcblx0ICogdXNlZCBqdXN0IGFmdGVyLCB0aGlzIHRva2VuIHdpbGwgYmUgcmV0dXJuZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSB7T2JqZWN0fSB0b2tlbiAtIFRoZSB0b2tlbiB0byBwdXQgYmFjayBpbiB0aGUgc3RyZWFtLlxuXHQgKi9cblx0dW5yZWFkICggdG9rZW4gKSB7XG5cblx0XHR0aGlzLmJ1ZmZlci5wdXNoKCB0b2tlbiApIDtcblxuXHR9XG5cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdHJlYW1Gcm9tQ2FsbGFibGUuanMiXSwibmFtZXMiOlsiU3RyZWFtRnJvbUNhbGxhYmxlIiwiY2FsbGFibGUiLCJidWZmZXIiLCJlb2YiLCJFT0YiLCJsZW5ndGgiLCJwb3AiLCJzdGF0ZSIsImRvbmUiLCJ2YWx1ZSIsInRva2VuIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQUVBOzs7SUFHcUJBLGtCOzs7QUFFcEI7Ozs7Ozs7QUFPQSw4QkFBY0MsUUFBZCxFQUF5QjtBQUFBOztBQUN4QixTQUFLQSxRQUFMLEdBQWdCQSxRQUFoQjtBQUNBLFNBQUtDLE1BQUwsR0FBYyxFQUFkO0FBQ0EsU0FBS0MsR0FBTCxHQUFXQyxZQUFYO0FBQ0E7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkFRTSxLQUFLRixNQUFMLENBQVlHLE1BQVosR0FBcUIsQzs7Ozs7aURBQVcsS0FBS0gsTUFBTCxDQUFZSSxHQUFaLEU7Ozs7dUJBRWpCLEtBQUtMLFFBQUwsRTs7O0FBQWRNLGdCQUFBQSxLOztxQkFFREEsS0FBSyxDQUFDQyxJOzs7OztpREFBYyxLQUFLTCxHOzs7aURBRXZCSSxLQUFLLENBQUNFLEs7Ozs7Ozs7Ozs7Ozs7O0FBSWQ7Ozs7Ozs7OzsyQkFNU0MsSyxFQUFRO0FBRWhCO0FBQ0EsV0FBS1IsTUFBTCxDQUFZUyxJQUFaLENBQWtCRCxLQUFsQjtBQUVBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEVPRiBmcm9tICcuL0VPRicgO1xuXG4vKipcbiAqIENsYXNzIHRoYXQgd3JhcHMgYSBjYWxsYWJsZSB3aXRoIGEgc3RyZWFtLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHJlYW1Gcm9tQ2FsbGFibGUge1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uc3RydWN0b3IuIFN0b3JlcyB0aGUgY2FsbGFibGUgdGhhdCB5aWVsZHMgdmFsdWVzIHRvIHN0cmVhbS5cblx0ICpcblx0ICogQHBhcmFtIHtDYWxsYWJsZX0gY2FsbGFibGUgLSBUaGUgY2FsbGFibGUgdG8gdXNlLlxuXHQgKiBAcmV0dXJucyB7U3RyZWFtRnJvbUNhbGxhYmxlfVxuXHQgKlxuXHQgKi9cblx0Y29uc3RydWN0b3IgKCBjYWxsYWJsZSApIHtcblx0XHR0aGlzLmNhbGxhYmxlID0gY2FsbGFibGUgO1xuXHRcdHRoaXMuYnVmZmVyID0gWyBdIDtcblx0XHR0aGlzLmVvZiA9IEVPRiA7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgbmV4dCB0b2tlbiBpbiB0aGUgc3RyZWFtIG9yIHtAbGluayBTdHJlYW1Gcm9tQ2FsbGFibGUjZW9mfVxuXHQgKiBpZiB0aGUgc3RyZWFtIGhhcyBiZWVuIGV4aGF1c3RlZC5cblx0ICpcblx0ICogQHJldHVybnMge09iamVjdH1cblx0ICovXG5cdGFzeW5jIHJlYWQgKCApIHtcblxuXHRcdGlmICggdGhpcy5idWZmZXIubGVuZ3RoID4gMCApIHJldHVybiB0aGlzLmJ1ZmZlci5wb3AoICkgO1xuXG5cdFx0Y29uc3Qgc3RhdGUgPSBhd2FpdCB0aGlzLmNhbGxhYmxlKCApIDtcblxuXHRcdGlmICggc3RhdGUuZG9uZSApIHJldHVybiB0aGlzLmVvZiA7XG5cblx0XHRyZXR1cm4gc3RhdGUudmFsdWUgO1xuXG5cdH1cblxuXHQvKipcblx0ICogUHV0cyBhIHRva2VuIGJhY2sgaW4gdGhlIHN0cmVhbS4gSWYge0BsaW5rIFN0cmVhbUZyb21DYWxsYWJsZSNyZWFkfSBpc1xuXHQgKiB1c2VkIGp1c3QgYWZ0ZXIsIHRoaXMgdG9rZW4gd2lsbCBiZSByZXR1cm5lZC5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IHRva2VuIC0gVGhlIHRva2VuIHRvIHB1dCBiYWNrIGluIHRoZSBzdHJlYW0uXG5cdCAqL1xuXHR1bnJlYWQgKCB0b2tlbiApIHtcblxuXHRcdC8vIHNob3VsZCB0aGlzIGJlIGFzeW5jIHRvbyA/XG5cdFx0dGhpcy5idWZmZXIucHVzaCggdG9rZW4gKSA7XG5cblx0fVxuXG59XG4iXX0= \ No newline at end of file diff --git a/lib/asyncChain.js b/lib/asyncChain.js new file mode 100644 index 0000000..f1ed2bc --- /dev/null +++ b/lib/asyncChain.js @@ -0,0 +1,189 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = asyncChain; + +function _awaitAsyncGenerator(value) { return new _AwaitValue(value); } + +function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; } + +function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } } + +if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; } + +_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); }; + +_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); }; + +_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); }; + +function _AwaitValue(value) { this.wrapped = value; } + +function _asyncIterator(iterable) { var method; if (typeof Symbol === "function") { if (Symbol.asyncIterator) { method = iterable[Symbol.asyncIterator]; if (method != null) return method.call(iterable); } if (Symbol.iterator) { method = iterable[Symbol.iterator]; if (method != null) return method.call(iterable); } } throw new TypeError("Object is not async iterable"); } + +/** + * Utility function to chain an async iterable of async iterables. + */ +function asyncChain(_x) { + return _asyncChain.apply(this, arguments); +} + +function _asyncChain() { + _asyncChain = _wrapAsyncGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(iterables) { + var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, iterable, _iteratorNormalCompletion2, _didIteratorError2, _iteratorError2, _iterator2, _step2, _value2, item; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _iteratorNormalCompletion = true; + _didIteratorError = false; + _context.prev = 2; + _iterator = _asyncIterator(iterables); + + case 4: + _context.next = 6; + return _awaitAsyncGenerator(_iterator.next()); + + case 6: + _step = _context.sent; + _iteratorNormalCompletion = _step.done; + _context.next = 10; + return _awaitAsyncGenerator(_step.value); + + case 10: + _value = _context.sent; + + if (_iteratorNormalCompletion) { + _context.next = 50; + break; + } + + iterable = _value; + _iteratorNormalCompletion2 = true; + _didIteratorError2 = false; + _context.prev = 15; + _iterator2 = _asyncIterator(iterable); + + case 17: + _context.next = 19; + return _awaitAsyncGenerator(_iterator2.next()); + + case 19: + _step2 = _context.sent; + _iteratorNormalCompletion2 = _step2.done; + _context.next = 23; + return _awaitAsyncGenerator(_step2.value); + + case 23: + _value2 = _context.sent; + + if (_iteratorNormalCompletion2) { + _context.next = 31; + break; + } + + item = _value2; + _context.next = 28; + return item; + + case 28: + _iteratorNormalCompletion2 = true; + _context.next = 17; + break; + + case 31: + _context.next = 37; + break; + + case 33: + _context.prev = 33; + _context.t0 = _context["catch"](15); + _didIteratorError2 = true; + _iteratorError2 = _context.t0; + + case 37: + _context.prev = 37; + _context.prev = 38; + + if (!(!_iteratorNormalCompletion2 && _iterator2.return != null)) { + _context.next = 42; + break; + } + + _context.next = 42; + return _awaitAsyncGenerator(_iterator2.return()); + + case 42: + _context.prev = 42; + + if (!_didIteratorError2) { + _context.next = 45; + break; + } + + throw _iteratorError2; + + case 45: + return _context.finish(42); + + case 46: + return _context.finish(37); + + case 47: + _iteratorNormalCompletion = true; + _context.next = 4; + break; + + case 50: + _context.next = 56; + break; + + case 52: + _context.prev = 52; + _context.t1 = _context["catch"](2); + _didIteratorError = true; + _iteratorError = _context.t1; + + case 56: + _context.prev = 56; + _context.prev = 57; + + if (!(!_iteratorNormalCompletion && _iterator.return != null)) { + _context.next = 61; + break; + } + + _context.next = 61; + return _awaitAsyncGenerator(_iterator.return()); + + case 61: + _context.prev = 61; + + if (!_didIteratorError) { + _context.next = 64; + break; + } + + throw _iteratorError; + + case 64: + return _context.finish(61); + + case 65: + return _context.finish(56); + + case 66: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[2, 52, 56, 66], [15, 33, 37, 47], [38,, 42, 46], [57,, 61, 65]]); + })); + return _asyncChain.apply(this, arguments); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3luY0NoYWluLmpzIl0sIm5hbWVzIjpbImFzeW5jQ2hhaW4iLCJpdGVyYWJsZXMiLCJpdGVyYWJsZSIsIml0ZW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7O1NBRytCQSxVOzs7Ozs7OzBCQUFoQixpQkFBNkJDLFNBQTdCO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx1Q0FDZ0JBLFNBRGhCOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0lDLFlBQUFBLFFBREo7QUFBQTtBQUFBO0FBQUE7QUFBQSx3Q0FFYUEsUUFGYjs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVLQyxZQUFBQSxJQUZMO0FBQUE7QUFFd0IsbUJBQU1BLElBQU47O0FBRnhCO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gY2hhaW4gYW4gYXN5bmMgaXRlcmFibGUgb2YgYXN5bmMgaXRlcmFibGVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiogYXN5bmNDaGFpbiAoIGl0ZXJhYmxlcyApIHtcblx0Zm9yIGF3YWl0ICggY29uc3QgaXRlcmFibGUgb2YgaXRlcmFibGVzICkge1xuXHRcdGZvciBhd2FpdCAoIGNvbnN0IGl0ZW0gb2YgaXRlcmFibGUgKSB5aWVsZCBpdGVtIDtcblx0fVxufVxuIl19 \ No newline at end of file diff --git a/lib/asyncIterableToArray.js b/lib/asyncIterableToArray.js new file mode 100644 index 0000000..61dd688 --- /dev/null +++ b/lib/asyncIterableToArray.js @@ -0,0 +1,110 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = asyncIterableToArray; + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _asyncIterator(iterable) { var method; if (typeof Symbol === "function") { if (Symbol.asyncIterator) { method = iterable[Symbol.asyncIterator]; if (method != null) return method.call(iterable); } if (Symbol.iterator) { method = iterable[Symbol.iterator]; if (method != null) return method.call(iterable); } } throw new TypeError("Object is not async iterable"); } + +function asyncIterableToArray(_x) { + return _asyncIterableToArray.apply(this, arguments); +} + +function _asyncIterableToArray() { + _asyncIterableToArray = _asyncToGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(asyncIterable) { + var array, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, item; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + array = []; + _iteratorNormalCompletion = true; + _didIteratorError = false; + _context.prev = 3; + _iterator = _asyncIterator(asyncIterable); + + case 5: + _context.next = 7; + return _iterator.next(); + + case 7: + _step = _context.sent; + _iteratorNormalCompletion = _step.done; + _context.next = 11; + return _step.value; + + case 11: + _value = _context.sent; + + if (_iteratorNormalCompletion) { + _context.next = 18; + break; + } + + item = _value; + array.push(item); + + case 15: + _iteratorNormalCompletion = true; + _context.next = 5; + break; + + case 18: + _context.next = 24; + break; + + case 20: + _context.prev = 20; + _context.t0 = _context["catch"](3); + _didIteratorError = true; + _iteratorError = _context.t0; + + case 24: + _context.prev = 24; + _context.prev = 25; + + if (!(!_iteratorNormalCompletion && _iterator.return != null)) { + _context.next = 29; + break; + } + + _context.next = 29; + return _iterator.return(); + + case 29: + _context.prev = 29; + + if (!_didIteratorError) { + _context.next = 32; + break; + } + + throw _iteratorError; + + case 32: + return _context.finish(29); + + case 33: + return _context.finish(24); + + case 34: + return _context.abrupt("return", array); + + case 35: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[3, 20, 24, 34], [25,, 29, 33]]); + })); + return _asyncIterableToArray.apply(this, arguments); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3luY0l0ZXJhYmxlVG9BcnJheS5qcyJdLCJuYW1lcyI6WyJhc3luY0l0ZXJhYmxlVG9BcnJheSIsImFzeW5jSXRlcmFibGUiLCJhcnJheSIsIml0ZW0iLCJwdXNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O1NBQThCQSxvQjs7Ozs7OzswQkFBZixpQkFBc0NDLGFBQXRDO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDUkMsWUFBQUEsS0FEUSxHQUNBLEVBREE7QUFBQTtBQUFBO0FBQUE7QUFBQSx1Q0FFV0QsYUFGWDs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVHRSxZQUFBQSxJQUZIO0FBRTBCRCxZQUFBQSxLQUFLLENBQUNFLElBQU4sQ0FBV0QsSUFBWDs7QUFGMUI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQSw2Q0FHUEQsS0FITzs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gYXN5bmNJdGVyYWJsZVRvQXJyYXkgKCBhc3luY0l0ZXJhYmxlICkge1xuXHRjb25zdCBhcnJheSA9IFsgXSA7XG5cdGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiBhc3luY0l0ZXJhYmxlKSBhcnJheS5wdXNoKGl0ZW0pIDtcblx0cmV0dXJuIGFycmF5IDtcbn1cbiJdfQ== \ No newline at end of file diff --git a/lib/asyncMap.js b/lib/asyncMap.js new file mode 100644 index 0000000..132d983 --- /dev/null +++ b/lib/asyncMap.js @@ -0,0 +1,125 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = asyncMap; + +function _awaitAsyncGenerator(value) { return new _AwaitValue(value); } + +function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; } + +function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } } + +if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; } + +_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); }; + +_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); }; + +_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); }; + +function _AwaitValue(value) { this.wrapped = value; } + +function _asyncIterator(iterable) { var method; if (typeof Symbol === "function") { if (Symbol.asyncIterator) { method = iterable[Symbol.asyncIterator]; if (method != null) return method.call(iterable); } if (Symbol.iterator) { method = iterable[Symbol.iterator]; if (method != null) return method.call(iterable); } } throw new TypeError("Object is not async iterable"); } + +/** + * Utility function to apply a sync callable to each item of an async iterable. + * @param {Callable} callable the callable to apply + * @param {AsyncIterable} iterable the iterable to process + */ +function asyncMap(_x, _x2) { + return _asyncMap.apply(this, arguments); +} + +function _asyncMap() { + _asyncMap = _wrapAsyncGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(callable, iterable) { + var _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, item; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + // should the callable also be async ? + _iteratorNormalCompletion = true; + _didIteratorError = false; + _context.prev = 2; + _iterator = _asyncIterator(iterable); + + case 4: + _context.next = 6; + return _awaitAsyncGenerator(_iterator.next()); + + case 6: + _step = _context.sent; + _iteratorNormalCompletion = _step.done; + _context.next = 10; + return _awaitAsyncGenerator(_step.value); + + case 10: + _value = _context.sent; + + if (_iteratorNormalCompletion) { + _context.next = 18; + break; + } + + item = _value; + _context.next = 15; + return callable(item); + + case 15: + _iteratorNormalCompletion = true; + _context.next = 4; + break; + + case 18: + _context.next = 24; + break; + + case 20: + _context.prev = 20; + _context.t0 = _context["catch"](2); + _didIteratorError = true; + _iteratorError = _context.t0; + + case 24: + _context.prev = 24; + _context.prev = 25; + + if (!(!_iteratorNormalCompletion && _iterator.return != null)) { + _context.next = 29; + break; + } + + _context.next = 29; + return _awaitAsyncGenerator(_iterator.return()); + + case 29: + _context.prev = 29; + + if (!_didIteratorError) { + _context.next = 32; + break; + } + + throw _iteratorError; + + case 32: + return _context.finish(29); + + case 33: + return _context.finish(24); + + case 34: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[2, 20, 24, 34], [25,, 29, 33]]); + })); + return _asyncMap.apply(this, arguments); +} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hc3luY01hcC5qcyJdLCJuYW1lcyI6WyJhc3luY01hcCIsImNhbGxhYmxlIiwiaXRlcmFibGUiLCJpdGVtIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7O1NBSytCQSxROzs7Ozs7OzBCQUFoQixpQkFBMkJDLFFBQTNCLEVBQXNDQyxRQUF0QztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ2Q7QUFEYztBQUFBO0FBQUE7QUFBQSx1Q0FFWUEsUUFGWjs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVJQyxZQUFBQSxJQUZKO0FBQUE7QUFFdUIsbUJBQU1GLFFBQVEsQ0FBQ0UsSUFBRCxDQUFkOztBQUZ2QjtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGFwcGx5IGEgc3luYyBjYWxsYWJsZSB0byBlYWNoIGl0ZW0gb2YgYW4gYXN5bmMgaXRlcmFibGUuXG4gKiBAcGFyYW0ge0NhbGxhYmxlfSBjYWxsYWJsZSB0aGUgY2FsbGFibGUgdG8gYXBwbHlcbiAqIEBwYXJhbSB7QXN5bmNJdGVyYWJsZX0gaXRlcmFibGUgdGhlIGl0ZXJhYmxlIHRvIHByb2Nlc3NcbiAqL1xuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24qIGFzeW5jTWFwICggY2FsbGFibGUgLCBpdGVyYWJsZSApIHtcblx0Ly8gc2hvdWxkIHRoZSBjYWxsYWJsZSBhbHNvIGJlIGFzeW5jID9cblx0Zm9yIGF3YWl0ICggY29uc3QgaXRlbSBvZiBpdGVyYWJsZSApIHlpZWxkIGNhbGxhYmxlKGl0ZW0pIDtcbn1cbiJdfQ== \ No newline at end of file diff --git a/lib/chain.js b/lib/chain.js index ccb4dd2..c597c66 100644 --- a/lib/chain.js +++ b/lib/chain.js @@ -1,19 +1,17 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = chain; -var _jsItertools = require('@aureooms/js-itertools'); +var _fromasynciterable = _interopRequireDefault(require("./fromasynciterable")); -var _fromiterable = require('./fromiterable'); +var _toiterable = _interopRequireDefault(require("./toiterable")); -var _fromiterable2 = _interopRequireDefault(_fromiterable); +var _asyncChain = _interopRequireDefault(require("./asyncChain")); -var _toiterable = require('./toiterable'); - -var _toiterable2 = _interopRequireDefault(_toiterable); +var _asyncMap = _interopRequireDefault(require("./asyncMap")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -22,7 +20,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Stream} stream the stream to read from */ function chain(stream) { - - return (0, _fromiterable2.default)((0, _jsItertools.chain)((0, _jsItertools.map)(_toiterable2.default, (0, _toiterable2.default)(stream)))); + return (0, _fromasynciterable.default)((0, _asyncChain.default)((0, _asyncMap.default)(_toiterable.default, (0, _toiterable.default)(stream)))); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFpbi5qcyJdLCJuYW1lcyI6WyJjaGFpbiIsInN0cmVhbSIsInRvaXRlcmFibGUiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQVN3QkEsSzs7QUFUeEI7O0FBRUE7Ozs7QUFDQTs7Ozs7O0FBRUE7Ozs7QUFJZSxTQUFTQSxLQUFULENBQWlCQyxNQUFqQixFQUEwQjs7QUFFeEMsU0FBTyw0QkFBYyx3QkFBUSxzQkFBTUMsb0JBQU4sRUFBbUIsMEJBQVlELE1BQVosQ0FBbkIsQ0FBUixDQUFkLENBQVA7QUFFQSIsImZpbGUiOiJjaGFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1hcCBhcyBfbWFwICwgY2hhaW4gYXMgX2NoYWluIH0gZnJvbSAnQGF1cmVvb21zL2pzLWl0ZXJ0b29scycgO1xuXG5pbXBvcnQgZnJvbWl0ZXJhYmxlIGZyb20gJy4vZnJvbWl0ZXJhYmxlJyA7XG5pbXBvcnQgdG9pdGVyYWJsZSBmcm9tICcuL3RvaXRlcmFibGUnIDtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmVhbSBvZiBzdHJlYW1zIG9mIHRva2VucyB0byBhIHN0cmVhbSBvZiB0b2tlbnMuXG4gKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtIHRoZSBzdHJlYW0gdG8gcmVhZCBmcm9tXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNoYWluICggc3RyZWFtICkge1xuXG5cdHJldHVybiBmcm9taXRlcmFibGUoIF9jaGFpbiggX21hcCggdG9pdGVyYWJsZSAsIHRvaXRlcmFibGUoIHN0cmVhbSApICkgKSApIDtcblxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFpbi5qcyJdLCJuYW1lcyI6WyJjaGFpbiIsInN0cmVhbSIsInRvaXRlcmFibGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBOzs7O0FBSWUsU0FBU0EsS0FBVCxDQUFpQkMsTUFBakIsRUFBMEI7QUFFeEMsU0FBTyxnQ0FBbUIseUJBQVksdUJBQVVDLG1CQUFWLEVBQXVCLHlCQUFZRCxNQUFaLENBQXZCLENBQVosQ0FBbkIsQ0FBUDtBQUVBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZyb21hc3luY2l0ZXJhYmxlIGZyb20gJy4vZnJvbWFzeW5jaXRlcmFibGUnIDtcbmltcG9ydCB0b2l0ZXJhYmxlIGZyb20gJy4vdG9pdGVyYWJsZScgO1xuaW1wb3J0IGFzeW5jQ2hhaW4gZnJvbSAnLi9hc3luY0NoYWluJyA7XG5pbXBvcnQgYXN5bmNNYXAgZnJvbSAnLi9hc3luY01hcCcgO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyZWFtIG9mIHN0cmVhbXMgb2YgdG9rZW5zIHRvIGEgc3RyZWFtIG9mIHRva2Vucy5cbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gdGhlIHN0cmVhbSB0byByZWFkIGZyb21cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY2hhaW4gKCBzdHJlYW0gKSB7XG5cblx0cmV0dXJuIGZyb21hc3luY2l0ZXJhYmxlKCBhc3luY0NoYWluKCBhc3luY01hcCggdG9pdGVyYWJsZSAsIHRvaXRlcmFibGUoIHN0cmVhbSApICkgKSApIDtcblxufVxuIl19 \ No newline at end of file diff --git a/lib/exhaust.js b/lib/exhaust.js index 7443f04..6f03d24 100644 --- a/lib/exhaust.js +++ b/lib/exhaust.js @@ -5,12 +5,49 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = exhaust; +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + /** * Exhausts a stream. * @param {Stream} stream the stream to read from */ -function exhaust(stream) { +function exhaust(_x) { + return _exhaust.apply(this, arguments); +} + +function _exhaust() { + _exhaust = _asyncToGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(stream) { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return stream.read(); + + case 2: + _context.t0 = _context.sent; + _context.t1 = stream.eof; + + if (!(_context.t0 !== _context.t1)) { + _context.next = 8; + break; + } + + ; + _context.next = 0; + break; - while (stream.read() !== stream.eof) {} + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + return _exhaust.apply(this, arguments); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGhhdXN0LmpzIl0sIm5hbWVzIjpbImV4aGF1c3QiLCJzdHJlYW0iLCJyZWFkIiwiZW9mIl0sIm1hcHBpbmdzIjoiOzs7OztrQkFLd0JBLE87O0FBSnhCOzs7O0FBSWUsU0FBU0EsT0FBVCxDQUFtQkMsTUFBbkIsRUFBNEI7O0FBRTFDLFNBQVFBLE9BQU9DLElBQVAsT0FBbUJELE9BQU9FLEdBQWxDO0FBRUEiLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBFeGhhdXN0cyBhIHN0cmVhbS5cbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gdGhlIHN0cmVhbSB0byByZWFkIGZyb21cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZXhoYXVzdCAoIHN0cmVhbSApIHtcblxuXHR3aGlsZSAoIHN0cmVhbS5yZWFkKCApICE9PSBzdHJlYW0uZW9mICkgO1xuXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGhhdXN0LmpzIl0sIm5hbWVzIjpbImV4aGF1c3QiLCJzdHJlYW0iLCJyZWFkIiwiZW9mIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOzs7O1NBSThCQSxPOzs7Ozs7OzBCQUFmLGlCQUF5QkMsTUFBekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBRUFBLE1BQU0sQ0FBQ0MsSUFBUCxFQUZBOztBQUFBO0FBQUE7QUFBQSwwQkFFbUJELE1BQU0sQ0FBQ0UsR0FGMUI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRWdDO0FBRmhDO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXhoYXVzdHMgYSBzdHJlYW0uXG4gKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtIHRoZSBzdHJlYW0gdG8gcmVhZCBmcm9tXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGV4aGF1c3QgKCBzdHJlYW0gKSB7XG5cblx0d2hpbGUgKCBhd2FpdCBzdHJlYW0ucmVhZCggKSAhPT0gc3RyZWFtLmVvZiApIDtcblxufVxuIl19 \ No newline at end of file diff --git a/lib/fromarray.js b/lib/fromarray.js index ff9dee1..19f4d44 100644 --- a/lib/fromarray.js +++ b/lib/fromarray.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _fromiterable = require('./fromiterable'); - -var _fromiterable2 = _interopRequireDefault(_fromiterable); +var _fromiterable = _interopRequireDefault(require("./fromiterable")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15,5 +14,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Array} _array the array to convert * @function */ -exports.default = _fromiterable2.default; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tYXJyYXkuanMiXSwibmFtZXMiOlsiZnJvbWl0ZXJhYmxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7O0FBRUE7Ozs7O2tCQUtlQSxzQiIsImZpbGUiOiJmcm9tYXJyYXkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnJvbWl0ZXJhYmxlIGZyb20gJy4vZnJvbWl0ZXJhYmxlJyA7XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXJyYXkgdG8gYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0FycmF5fSBfYXJyYXkgdGhlIGFycmF5IHRvIGNvbnZlcnRcbiAqIEBmdW5jdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBmcm9taXRlcmFibGUgO1xuIl19 \ No newline at end of file +var _default = _fromiterable.default; +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tYXJyYXkuanMiXSwibmFtZXMiOlsiZnJvbWl0ZXJhYmxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQTs7Ozs7ZUFLZUEscUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnJvbWl0ZXJhYmxlIGZyb20gJy4vZnJvbWl0ZXJhYmxlJyA7XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXJyYXkgdG8gYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0FycmF5fSBfYXJyYXkgdGhlIGFycmF5IHRvIGNvbnZlcnRcbiAqIEBmdW5jdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBmcm9taXRlcmFibGUgO1xuIl19 \ No newline at end of file diff --git a/lib/fromasynciterable.js b/lib/fromasynciterable.js new file mode 100644 index 0000000..2c16528 --- /dev/null +++ b/lib/fromasynciterable.js @@ -0,0 +1,22 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _fromiterator = _interopRequireDefault(require("./fromiterator")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * Converts an asynchronous iterable to a stream. + * @param {AsyncIterable} _iterable the iterable to convert + * @function + */ +var _default = function _default(_iterable) { + return (0, _fromiterator.default)(_iterable[Symbol.asyncIterator]()); +}; + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tYXN5bmNpdGVyYWJsZS5qcyJdLCJuYW1lcyI6WyJfaXRlcmFibGUiLCJTeW1ib2wiLCJhc3luY0l0ZXJhdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQTs7Ozs7ZUFLZSxrQkFBQUEsU0FBUztBQUFBLFNBQUksMkJBQWNBLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDQyxhQUFSLENBQVQsRUFBZCxDQUFKO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcm9taXRlcmF0b3IgZnJvbSAnLi9mcm9taXRlcmF0b3InIDtcblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhc3luY2hyb25vdXMgaXRlcmFibGUgdG8gYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0FzeW5jSXRlcmFibGV9IF9pdGVyYWJsZSB0aGUgaXRlcmFibGUgdG8gY29udmVydFxuICogQGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IF9pdGVyYWJsZSA9PiBmcm9taXRlcmF0b3IoIF9pdGVyYWJsZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oICkgKSA7XG4iXX0= \ No newline at end of file diff --git a/lib/fromcallable.js b/lib/fromcallable.js index 48c66d9..bda8a1c 100644 --- a/lib/fromcallable.js +++ b/lib/fromcallable.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _StreamFromCallable = require('./StreamFromCallable'); - -var _StreamFromCallable2 = _interopRequireDefault(_StreamFromCallable); +var _StreamFromCallable = _interopRequireDefault(require("./StreamFromCallable")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15,7 +14,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Callable} _callable the callable to convert * @function */ -exports.default = function (_callable) { - return new _StreamFromCallable2.default(_callable); +var _default = function _default(_callable) { + return new _StreamFromCallable.default(_callable); }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tY2FsbGFibGUuanMiXSwibmFtZXMiOlsiU3RyZWFtRnJvbUNhbGxhYmxlIiwiX2NhbGxhYmxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7O0FBRUE7Ozs7O2tCQUtlO0FBQUEsU0FBYSxJQUFJQSw0QkFBSixDQUF3QkMsU0FBeEIsQ0FBYjtBQUFBLEMiLCJmaWxlIjoiZnJvbWNhbGxhYmxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbUZyb21DYWxsYWJsZSBmcm9tICcuL1N0cmVhbUZyb21DYWxsYWJsZScgO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgY2FsbGFibGUgdG8gYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0NhbGxhYmxlfSBfY2FsbGFibGUgdGhlIGNhbGxhYmxlIHRvIGNvbnZlcnRcbiAqIEBmdW5jdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBfY2FsbGFibGUgPT4gbmV3IFN0cmVhbUZyb21DYWxsYWJsZSggX2NhbGxhYmxlICkgO1xuIl19 \ No newline at end of file + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tY2FsbGFibGUuanMiXSwibmFtZXMiOlsiX2NhbGxhYmxlIiwiU3RyZWFtRnJvbUNhbGxhYmxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQTs7Ozs7ZUFLZSxrQkFBQUEsU0FBUztBQUFBLFNBQUksSUFBSUMsMkJBQUosQ0FBd0JELFNBQXhCLENBQUo7QUFBQSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmVhbUZyb21DYWxsYWJsZSBmcm9tICcuL1N0cmVhbUZyb21DYWxsYWJsZScgO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgY2FsbGFibGUgdG8gYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0NhbGxhYmxlfSBfY2FsbGFibGUgdGhlIGNhbGxhYmxlIHRvIGNvbnZlcnRcbiAqIEBmdW5jdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBfY2FsbGFibGUgPT4gbmV3IFN0cmVhbUZyb21DYWxsYWJsZSggX2NhbGxhYmxlICkgO1xuIl19 \ No newline at end of file diff --git a/lib/fromiterable.js b/lib/fromiterable.js index 62cc661..7c286bb 100644 --- a/lib/fromiterable.js +++ b/lib/fromiterable.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _fromiterator = require('./fromiterator'); - -var _fromiterator2 = _interopRequireDefault(_fromiterator); +var _fromiterator = _interopRequireDefault(require("./fromiterator")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15,7 +14,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Iterable} _iterable the iterable to convert * @function */ -exports.default = function (_iterable) { - return (0, _fromiterator2.default)(_iterable[Symbol.iterator]()); +var _default = function _default(_iterable) { + return (0, _fromiterator.default)(_iterable[Symbol.iterator]()); }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9taXRlcmFibGUuanMiXSwibmFtZXMiOlsiX2l0ZXJhYmxlIiwiU3ltYm9sIiwiaXRlcmF0b3IiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7QUFFQTs7Ozs7a0JBS2U7QUFBQSxTQUFhLDRCQUFjQSxVQUFVQyxPQUFPQyxRQUFqQixHQUFkLENBQWI7QUFBQSxDIiwiZmlsZSI6ImZyb21pdGVyYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcm9taXRlcmF0b3IgZnJvbSAnLi9mcm9taXRlcmF0b3InIDtcblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBpdGVyYWJsZSB0byBhIHN0cmVhbS5cbiAqIEBwYXJhbSB7SXRlcmFibGV9IF9pdGVyYWJsZSB0aGUgaXRlcmFibGUgdG8gY29udmVydFxuICogQGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBkZWZhdWx0IF9pdGVyYWJsZSA9PiBmcm9taXRlcmF0b3IoIF9pdGVyYWJsZVtTeW1ib2wuaXRlcmF0b3JdKCApICkgO1xuIl19 \ No newline at end of file + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9taXRlcmFibGUuanMiXSwibmFtZXMiOlsiX2l0ZXJhYmxlIiwiU3ltYm9sIiwiaXRlcmF0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUVBOzs7OztlQUtlLGtCQUFBQSxTQUFTO0FBQUEsU0FBSSwyQkFBY0EsU0FBUyxDQUFDQyxNQUFNLENBQUNDLFFBQVIsQ0FBVCxFQUFkLENBQUo7QUFBQSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZyb21pdGVyYXRvciBmcm9tICcuL2Zyb21pdGVyYXRvcicgO1xuXG4vKipcbiAqIENvbnZlcnRzIGFuIGl0ZXJhYmxlIHRvIGEgc3RyZWFtLlxuICogQHBhcmFtIHtJdGVyYWJsZX0gX2l0ZXJhYmxlIHRoZSBpdGVyYWJsZSB0byBjb252ZXJ0XG4gKiBAZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGRlZmF1bHQgX2l0ZXJhYmxlID0+IGZyb21pdGVyYXRvciggX2l0ZXJhYmxlW1N5bWJvbC5pdGVyYXRvcl0oICkgKSA7XG4iXX0= \ No newline at end of file diff --git a/lib/fromiterator.js b/lib/fromiterator.js index 73512cc..970d0be 100644 --- a/lib/fromiterator.js +++ b/lib/fromiterator.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _fromcallable = require('./fromcallable'); - -var _fromcallable2 = _interopRequireDefault(_fromcallable); +var _fromcallable = _interopRequireDefault(require("./fromcallable")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15,7 +14,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Iterator} _iterator the iterator to convert * @function */ -exports.default = function (_iterator) { - return (0, _fromcallable2.default)(_iterator.next.bind(_iterator)); +var _default = function _default(_iterator) { + return (0, _fromcallable.default)(_iterator.next.bind(_iterator)); }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9taXRlcmF0b3IuanMiXSwibmFtZXMiOlsiX2l0ZXJhdG9yIiwibmV4dCIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7QUFFQTs7Ozs7a0JBS2U7QUFBQSxTQUFhLDRCQUFjQSxVQUFVQyxJQUFWLENBQWVDLElBQWYsQ0FBcUJGLFNBQXJCLENBQWQsQ0FBYjtBQUFBLEMiLCJmaWxlIjoiZnJvbWl0ZXJhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZyb21jYWxsYWJsZSBmcm9tICcuL2Zyb21jYWxsYWJsZScgO1xuXG4vKipcbiAqIENvbnZlcnRzIGFuIGl0ZXJhdG9yIHRvIGEgc3RyZWFtLlxuICogQHBhcmFtIHtJdGVyYXRvcn0gX2l0ZXJhdG9yIHRoZSBpdGVyYXRvciB0byBjb252ZXJ0XG4gKiBAZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGRlZmF1bHQgX2l0ZXJhdG9yID0+IGZyb21jYWxsYWJsZSggX2l0ZXJhdG9yLm5leHQuYmluZCggX2l0ZXJhdG9yICkgKSA7XG4iXX0= \ No newline at end of file + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9taXRlcmF0b3IuanMiXSwibmFtZXMiOlsiX2l0ZXJhdG9yIiwibmV4dCIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUVBOzs7OztlQUtlLGtCQUFBQSxTQUFTO0FBQUEsU0FBSSwyQkFBY0EsU0FBUyxDQUFDQyxJQUFWLENBQWVDLElBQWYsQ0FBcUJGLFNBQXJCLENBQWQsQ0FBSjtBQUFBLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnJvbWNhbGxhYmxlIGZyb20gJy4vZnJvbWNhbGxhYmxlJyA7XG5cbi8qKlxuICogQ29udmVydHMgYW4gaXRlcmF0b3IgdG8gYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0l0ZXJhdG9yfSBfaXRlcmF0b3IgdGhlIGl0ZXJhdG9yIHRvIGNvbnZlcnRcbiAqIEBmdW5jdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBfaXRlcmF0b3IgPT4gZnJvbWNhbGxhYmxlKCBfaXRlcmF0b3IubmV4dC5iaW5kKCBfaXRlcmF0b3IgKSApIDtcbiJdfQ== \ No newline at end of file diff --git a/lib/fromstring.js b/lib/fromstring.js index 3d3c80f..9a8ac1c 100644 --- a/lib/fromstring.js +++ b/lib/fromstring.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _fromiterable = require('./fromiterable'); - -var _fromiterable2 = _interopRequireDefault(_fromiterable); +var _fromiterable = _interopRequireDefault(require("./fromiterable")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -19,5 +18,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {String} _string the string to convert * @function */ -exports.default = _fromiterable2.default; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tc3RyaW5nLmpzIl0sIm5hbWVzIjpbImZyb21pdGVyYWJsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7Ozs7OztBQUVBOzs7Ozs7Ozs7a0JBU2VBLHNCIiwiZmlsZSI6ImZyb21zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnJvbWl0ZXJhYmxlIGZyb20gJy4vZnJvbWl0ZXJhYmxlJyA7XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBzdHJlYW0uXG4gKlxuICogQGV4YW1wbGVcbiAqIGZyb21zdHJpbmcoICcxLDMsMicgKSA7XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IF9zdHJpbmcgdGhlIHN0cmluZyB0byBjb252ZXJ0XG4gKiBAZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnJvbWl0ZXJhYmxlIDtcbiJdfQ== \ No newline at end of file +var _default = _fromiterable.default; +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcm9tc3RyaW5nLmpzIl0sIm5hbWVzIjpbImZyb21pdGVyYWJsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7O0FBRUE7Ozs7Ozs7OztlQVNlQSxxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcm9taXRlcmFibGUgZnJvbSAnLi9mcm9taXRlcmFibGUnIDtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIHN0cmVhbS5cbiAqXG4gKiBAZXhhbXBsZVxuICogZnJvbXN0cmluZyggJzEsMywyJyApIDtcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gX3N0cmluZyB0aGUgc3RyaW5nIHRvIGNvbnZlcnRcbiAqIEBmdW5jdGlvblxuICovXG5leHBvcnQgZGVmYXVsdCBmcm9taXRlcmFibGUgO1xuIl19 \ No newline at end of file diff --git a/lib/ignore.js b/lib/ignore.js index b664566..c46399d 100644 --- a/lib/ignore.js +++ b/lib/ignore.js @@ -1,17 +1,13 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = ignore; -var _split = require('./split'); +var _split = _interopRequireDefault(require("./split")); -var _split2 = _interopRequireDefault(_split); - -var _chain = require('./chain'); - -var _chain2 = _interopRequireDefault(_chain); +var _chain = _interopRequireDefault(require("./chain")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -21,7 +17,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Iterable} toignore the tokens to ignore */ function ignore(stream, toignore) { - - return (0, _chain2.default)((0, _split2.default)(stream, toignore)); + return (0, _chain.default)((0, _split.default)(stream, toignore)); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pZ25vcmUuanMiXSwibmFtZXMiOlsiaWdub3JlIiwic3RyZWFtIiwidG9pZ25vcmUiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQVN3QkEsTTs7QUFSeEI7Ozs7QUFDQTs7Ozs7O0FBRUE7Ozs7O0FBS2UsU0FBU0EsTUFBVCxDQUFrQkMsTUFBbEIsRUFBMkJDLFFBQTNCLEVBQXNDOztBQUVwRCxTQUFPLHFCQUFPLHFCQUFPRCxNQUFQLEVBQWdCQyxRQUFoQixDQUFQLENBQVA7QUFFQSIsImZpbGUiOiJpZ25vcmUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBzcGxpdCBmcm9tICcuL3NwbGl0JyA7XG5pbXBvcnQgY2hhaW4gZnJvbSAnLi9jaGFpbicgO1xuXG4vKipcbiAqIEZpbHRlcnMgYSBzdHJlYW0gYnkgaWdub3JpbmcgYSBnaXZlbiBzZXQgb2YgdG9rZW5zLlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIGZpbHRlclxuICogQHBhcmFtIHtJdGVyYWJsZX0gdG9pZ25vcmUgdGhlIHRva2VucyB0byBpZ25vcmVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaWdub3JlICggc3RyZWFtICwgdG9pZ25vcmUgKSB7XG5cblx0cmV0dXJuIGNoYWluKCBzcGxpdCggc3RyZWFtICwgdG9pZ25vcmUgKSApIDtcblxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pZ25vcmUuanMiXSwibmFtZXMiOlsiaWdub3JlIiwic3RyZWFtIiwidG9pZ25vcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBOzs7OztBQUtlLFNBQVNBLE1BQVQsQ0FBa0JDLE1BQWxCLEVBQTJCQyxRQUEzQixFQUFzQztBQUVwRCxTQUFPLG9CQUFPLG9CQUFPRCxNQUFQLEVBQWdCQyxRQUFoQixDQUFQLENBQVA7QUFFQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzcGxpdCBmcm9tICcuL3NwbGl0JyA7XG5pbXBvcnQgY2hhaW4gZnJvbSAnLi9jaGFpbicgO1xuXG4vKipcbiAqIEZpbHRlcnMgYSBzdHJlYW0gYnkgaWdub3JpbmcgYSBnaXZlbiBzZXQgb2YgdG9rZW5zLlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIGZpbHRlclxuICogQHBhcmFtIHtJdGVyYWJsZX0gdG9pZ25vcmUgdGhlIHRva2VucyB0byBpZ25vcmVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaWdub3JlICggc3RyZWFtICwgdG9pZ25vcmUgKSB7XG5cblx0cmV0dXJuIGNoYWluKCBzcGxpdCggc3RyZWFtICwgdG9pZ25vcmUgKSApIDtcblxufVxuIl19 \ No newline at end of file diff --git a/lib/index.js b/lib/index.js index 110ac60..7e2e9a9 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,120 +1,175 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); -exports.tostring = exports.toiterator = exports.toiterable = exports.tocallable = exports.toarray = exports.split = exports.skip = exports.map = exports.ignore = exports.fromstring = exports.fromiterator = exports.fromiterable = exports.fromcallable = exports.fromarray = exports.exhaust = exports.chain = exports.StreamFromCallable = exports.EOF = undefined; - -var _EOF = require('./EOF'); - -var _EOF2 = _interopRequireDefault(_EOF); - -var _StreamFromCallable = require('./StreamFromCallable'); - -var _StreamFromCallable2 = _interopRequireDefault(_StreamFromCallable); - -var _chain = require('./chain'); - -var _chain2 = _interopRequireDefault(_chain); - -var _exhaust = require('./exhaust'); - -var _exhaust2 = _interopRequireDefault(_exhaust); - -var _fromarray = require('./fromarray'); - -var _fromarray2 = _interopRequireDefault(_fromarray); - -var _fromcallable = require('./fromcallable'); - -var _fromcallable2 = _interopRequireDefault(_fromcallable); - -var _fromiterable = require('./fromiterable'); - -var _fromiterable2 = _interopRequireDefault(_fromiterable); - -var _fromiterator = require('./fromiterator'); - -var _fromiterator2 = _interopRequireDefault(_fromiterator); - -var _fromstring = require('./fromstring'); - -var _fromstring2 = _interopRequireDefault(_fromstring); +Object.defineProperty(exports, "EOF", { + enumerable: true, + get: function get() { + return _EOF.default; + } +}); +Object.defineProperty(exports, "StreamFromCallable", { + enumerable: true, + get: function get() { + return _StreamFromCallable.default; + } +}); +Object.defineProperty(exports, "chain", { + enumerable: true, + get: function get() { + return _chain.default; + } +}); +Object.defineProperty(exports, "exhaust", { + enumerable: true, + get: function get() { + return _exhaust.default; + } +}); +Object.defineProperty(exports, "fromarray", { + enumerable: true, + get: function get() { + return _fromarray.default; + } +}); +Object.defineProperty(exports, "fromcallable", { + enumerable: true, + get: function get() { + return _fromcallable.default; + } +}); +Object.defineProperty(exports, "fromiterable", { + enumerable: true, + get: function get() { + return _fromiterable.default; + } +}); +Object.defineProperty(exports, "fromiterator", { + enumerable: true, + get: function get() { + return _fromiterator.default; + } +}); +Object.defineProperty(exports, "fromstring", { + enumerable: true, + get: function get() { + return _fromstring.default; + } +}); +Object.defineProperty(exports, "ignore", { + enumerable: true, + get: function get() { + return _ignore.default; + } +}); +Object.defineProperty(exports, "map", { + enumerable: true, + get: function get() { + return _map.default; + } +}); +Object.defineProperty(exports, "skip", { + enumerable: true, + get: function get() { + return _skip.default; + } +}); +Object.defineProperty(exports, "split", { + enumerable: true, + get: function get() { + return _split.default; + } +}); +Object.defineProperty(exports, "toarray", { + enumerable: true, + get: function get() { + return _toarray.default; + } +}); +Object.defineProperty(exports, "tocallable", { + enumerable: true, + get: function get() { + return _tocallable.default; + } +}); +Object.defineProperty(exports, "toiterable", { + enumerable: true, + get: function get() { + return _toiterable.default; + } +}); +Object.defineProperty(exports, "toiterator", { + enumerable: true, + get: function get() { + return _toiterator.default; + } +}); +Object.defineProperty(exports, "tostring", { + enumerable: true, + get: function get() { + return _tostring.default; + } +}); +exports.default = void 0; -var _ignore = require('./ignore'); +var _EOF = _interopRequireDefault(require("./EOF")); -var _ignore2 = _interopRequireDefault(_ignore); +var _StreamFromCallable = _interopRequireDefault(require("./StreamFromCallable")); -var _map = require('./map'); +var _chain = _interopRequireDefault(require("./chain")); -var _map2 = _interopRequireDefault(_map); +var _exhaust = _interopRequireDefault(require("./exhaust")); -var _skip = require('./skip'); +var _fromarray = _interopRequireDefault(require("./fromarray")); -var _skip2 = _interopRequireDefault(_skip); +var _fromcallable = _interopRequireDefault(require("./fromcallable")); -var _split = require('./split'); +var _fromiterable = _interopRequireDefault(require("./fromiterable")); -var _split2 = _interopRequireDefault(_split); +var _fromiterator = _interopRequireDefault(require("./fromiterator")); -var _toarray = require('./toarray'); +var _fromstring = _interopRequireDefault(require("./fromstring")); -var _toarray2 = _interopRequireDefault(_toarray); +var _ignore = _interopRequireDefault(require("./ignore")); -var _tocallable = require('./tocallable'); +var _map = _interopRequireDefault(require("./map")); -var _tocallable2 = _interopRequireDefault(_tocallable); +var _skip = _interopRequireDefault(require("./skip")); -var _toiterable = require('./toiterable'); +var _split = _interopRequireDefault(require("./split")); -var _toiterable2 = _interopRequireDefault(_toiterable); +var _toarray = _interopRequireDefault(require("./toarray")); -var _toiterator = require('./toiterator'); +var _tocallable = _interopRequireDefault(require("./tocallable")); -var _toiterator2 = _interopRequireDefault(_toiterator); +var _toiterable = _interopRequireDefault(require("./toiterable")); -var _tostring = require('./tostring'); +var _toiterator = _interopRequireDefault(require("./toiterator")); -var _tostring2 = _interopRequireDefault(_tostring); +var _tostring = _interopRequireDefault(require("./tostring")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -exports.default = { - EOF: _EOF2.default, - StreamFromCallable: _StreamFromCallable2.default, - chain: _chain2.default, - exhaust: _exhaust2.default, - fromarray: _fromarray2.default, - fromcallable: _fromcallable2.default, - fromiterable: _fromiterable2.default, - fromiterator: _fromiterator2.default, - fromstring: _fromstring2.default, - ignore: _ignore2.default, - map: _map2.default, - skip: _skip2.default, - split: _split2.default, - toarray: _toarray2.default, - tocallable: _tocallable2.default, - toiterable: _toiterable2.default, - toiterator: _toiterator2.default, - tostring: _tostring2.default +var _default = { + EOF: _EOF.default, + StreamFromCallable: _StreamFromCallable.default, + chain: _chain.default, + exhaust: _exhaust.default, + fromarray: _fromarray.default, + fromcallable: _fromcallable.default, + fromiterable: _fromiterable.default, + fromiterator: _fromiterator.default, + fromstring: _fromstring.default, + ignore: _ignore.default, + map: _map.default, + skip: _skip.default, + split: _split.default, + toarray: _toarray.default, + tocallable: _tocallable.default, + toiterable: _toiterable.default, + toiterator: _toiterator.default, + tostring: _tostring.default }; -exports.EOF = _EOF2.default; -exports.StreamFromCallable = _StreamFromCallable2.default; -exports.chain = _chain2.default; -exports.exhaust = _exhaust2.default; -exports.fromarray = _fromarray2.default; -exports.fromcallable = _fromcallable2.default; -exports.fromiterable = _fromiterable2.default; -exports.fromiterator = _fromiterator2.default; -exports.fromstring = _fromstring2.default; -exports.ignore = _ignore2.default; -exports.map = _map2.default; -exports.skip = _skip2.default; -exports.split = _split2.default; -exports.toarray = _toarray2.default; -exports.tocallable = _tocallable2.default; -exports.toiterable = _toiterable2.default; -exports.toiterator = _toiterator2.default; -exports.tostring = _tostring2.default; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJFT0YiLCJTdHJlYW1Gcm9tQ2FsbGFibGUiLCJjaGFpbiIsImV4aGF1c3QiLCJmcm9tYXJyYXkiLCJmcm9tY2FsbGFibGUiLCJmcm9taXRlcmFibGUiLCJmcm9taXRlcmF0b3IiLCJmcm9tc3RyaW5nIiwiaWdub3JlIiwibWFwIiwic2tpcCIsInNwbGl0IiwidG9hcnJheSIsInRvY2FsbGFibGUiLCJ0b2l0ZXJhYmxlIiwidG9pdGVyYXRvciIsInRvc3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7a0JBRWU7QUFDZEEsbUJBRGM7QUFFZEMsaURBRmM7QUFHZEMsdUJBSGM7QUFJZEMsMkJBSmM7QUFLZEMsK0JBTGM7QUFNZEMscUNBTmM7QUFPZEMscUNBUGM7QUFRZEMscUNBUmM7QUFTZEMsaUNBVGM7QUFVZEMseUJBVmM7QUFXZEMsbUJBWGM7QUFZZEMscUJBWmM7QUFhZEMsdUJBYmM7QUFjZEMsMkJBZGM7QUFlZEMsaUNBZmM7QUFnQmRDLGlDQWhCYztBQWlCZEMsaUNBakJjO0FBa0JkQztBQWxCYyxDO1FBc0JkakIsRyxHQUFBQSxhO1FBQ0FDLGtCLEdBQUFBLDRCO1FBQ0FDLEssR0FBQUEsZTtRQUNBQyxPLEdBQUFBLGlCO1FBQ0FDLFMsR0FBQUEsbUI7UUFDQUMsWSxHQUFBQSxzQjtRQUNBQyxZLEdBQUFBLHNCO1FBQ0FDLFksR0FBQUEsc0I7UUFDQUMsVSxHQUFBQSxvQjtRQUNBQyxNLEdBQUFBLGdCO1FBQ0FDLEcsR0FBQUEsYTtRQUNBQyxJLEdBQUFBLGM7UUFDQUMsSyxHQUFBQSxlO1FBQ0FDLE8sR0FBQUEsaUI7UUFDQUMsVSxHQUFBQSxvQjtRQUNBQyxVLEdBQUFBLG9CO1FBQ0FDLFUsR0FBQUEsb0I7UUFDQUMsUSxHQUFBQSxrQiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFT0YgZnJvbSAnLi9FT0YnIDtcbmltcG9ydCBTdHJlYW1Gcm9tQ2FsbGFibGUgZnJvbSAnLi9TdHJlYW1Gcm9tQ2FsbGFibGUnIDtcbmltcG9ydCBjaGFpbiBmcm9tICcuL2NoYWluJyA7XG5pbXBvcnQgZXhoYXVzdCBmcm9tICcuL2V4aGF1c3QnIDtcbmltcG9ydCBmcm9tYXJyYXkgZnJvbSAnLi9mcm9tYXJyYXknIDtcbmltcG9ydCBmcm9tY2FsbGFibGUgZnJvbSAnLi9mcm9tY2FsbGFibGUnIDtcbmltcG9ydCBmcm9taXRlcmFibGUgZnJvbSAnLi9mcm9taXRlcmFibGUnIDtcbmltcG9ydCBmcm9taXRlcmF0b3IgZnJvbSAnLi9mcm9taXRlcmF0b3InIDtcbmltcG9ydCBmcm9tc3RyaW5nIGZyb20gJy4vZnJvbXN0cmluZycgO1xuaW1wb3J0IGlnbm9yZSBmcm9tICcuL2lnbm9yZScgO1xuaW1wb3J0IG1hcCBmcm9tICcuL21hcCcgO1xuaW1wb3J0IHNraXAgZnJvbSAnLi9za2lwJyA7XG5pbXBvcnQgc3BsaXQgZnJvbSAnLi9zcGxpdCcgO1xuaW1wb3J0IHRvYXJyYXkgZnJvbSAnLi90b2FycmF5JyA7XG5pbXBvcnQgdG9jYWxsYWJsZSBmcm9tICcuL3RvY2FsbGFibGUnIDtcbmltcG9ydCB0b2l0ZXJhYmxlIGZyb20gJy4vdG9pdGVyYWJsZScgO1xuaW1wb3J0IHRvaXRlcmF0b3IgZnJvbSAnLi90b2l0ZXJhdG9yJyA7XG5pbXBvcnQgdG9zdHJpbmcgZnJvbSAnLi90b3N0cmluZycgO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdEVPRiAsXG5cdFN0cmVhbUZyb21DYWxsYWJsZSAsXG5cdGNoYWluICxcblx0ZXhoYXVzdCAsXG5cdGZyb21hcnJheSAsXG5cdGZyb21jYWxsYWJsZSAsXG5cdGZyb21pdGVyYWJsZSAsXG5cdGZyb21pdGVyYXRvciAsXG5cdGZyb21zdHJpbmcgLFxuXHRpZ25vcmUgLFxuXHRtYXAgLFxuXHRza2lwICxcblx0c3BsaXQgLFxuXHR0b2FycmF5ICxcblx0dG9jYWxsYWJsZSAsXG5cdHRvaXRlcmFibGUgLFxuXHR0b2l0ZXJhdG9yICxcblx0dG9zdHJpbmcgLFxufSA7XG5cbmV4cG9ydCB7XG5cdEVPRiAsXG5cdFN0cmVhbUZyb21DYWxsYWJsZSAsXG5cdGNoYWluICxcblx0ZXhoYXVzdCAsXG5cdGZyb21hcnJheSAsXG5cdGZyb21jYWxsYWJsZSAsXG5cdGZyb21pdGVyYWJsZSAsXG5cdGZyb21pdGVyYXRvciAsXG5cdGZyb21zdHJpbmcgLFxuXHRpZ25vcmUgLFxuXHRtYXAgLFxuXHRza2lwICxcblx0c3BsaXQgLFxuXHR0b2FycmF5ICxcblx0dG9jYWxsYWJsZSAsXG5cdHRvaXRlcmFibGUgLFxuXHR0b2l0ZXJhdG9yICxcblx0dG9zdHJpbmcgLFxufSA7XG4iXX0= \ No newline at end of file +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJFT0YiLCJTdHJlYW1Gcm9tQ2FsbGFibGUiLCJjaGFpbiIsImV4aGF1c3QiLCJmcm9tYXJyYXkiLCJmcm9tY2FsbGFibGUiLCJmcm9taXRlcmFibGUiLCJmcm9taXRlcmF0b3IiLCJmcm9tc3RyaW5nIiwiaWdub3JlIiwibWFwIiwic2tpcCIsInNwbGl0IiwidG9hcnJheSIsInRvY2FsbGFibGUiLCJ0b2l0ZXJhYmxlIiwidG9pdGVyYXRvciIsInRvc3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7ZUFFZTtBQUNkQSxFQUFBQSxHQUFHLEVBQUhBLFlBRGM7QUFFZEMsRUFBQUEsa0JBQWtCLEVBQWxCQSwyQkFGYztBQUdkQyxFQUFBQSxLQUFLLEVBQUxBLGNBSGM7QUFJZEMsRUFBQUEsT0FBTyxFQUFQQSxnQkFKYztBQUtkQyxFQUFBQSxTQUFTLEVBQVRBLGtCQUxjO0FBTWRDLEVBQUFBLFlBQVksRUFBWkEscUJBTmM7QUFPZEMsRUFBQUEsWUFBWSxFQUFaQSxxQkFQYztBQVFkQyxFQUFBQSxZQUFZLEVBQVpBLHFCQVJjO0FBU2RDLEVBQUFBLFVBQVUsRUFBVkEsbUJBVGM7QUFVZEMsRUFBQUEsTUFBTSxFQUFOQSxlQVZjO0FBV2RDLEVBQUFBLEdBQUcsRUFBSEEsWUFYYztBQVlkQyxFQUFBQSxJQUFJLEVBQUpBLGFBWmM7QUFhZEMsRUFBQUEsS0FBSyxFQUFMQSxjQWJjO0FBY2RDLEVBQUFBLE9BQU8sRUFBUEEsZ0JBZGM7QUFlZEMsRUFBQUEsVUFBVSxFQUFWQSxtQkFmYztBQWdCZEMsRUFBQUEsVUFBVSxFQUFWQSxtQkFoQmM7QUFpQmRDLEVBQUFBLFVBQVUsRUFBVkEsbUJBakJjO0FBa0JkQyxFQUFBQSxRQUFRLEVBQVJBO0FBbEJjLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRU9GIGZyb20gJy4vRU9GJyA7XG5pbXBvcnQgU3RyZWFtRnJvbUNhbGxhYmxlIGZyb20gJy4vU3RyZWFtRnJvbUNhbGxhYmxlJyA7XG5pbXBvcnQgY2hhaW4gZnJvbSAnLi9jaGFpbicgO1xuaW1wb3J0IGV4aGF1c3QgZnJvbSAnLi9leGhhdXN0JyA7XG5pbXBvcnQgZnJvbWFycmF5IGZyb20gJy4vZnJvbWFycmF5JyA7XG5pbXBvcnQgZnJvbWNhbGxhYmxlIGZyb20gJy4vZnJvbWNhbGxhYmxlJyA7XG5pbXBvcnQgZnJvbWl0ZXJhYmxlIGZyb20gJy4vZnJvbWl0ZXJhYmxlJyA7XG5pbXBvcnQgZnJvbWl0ZXJhdG9yIGZyb20gJy4vZnJvbWl0ZXJhdG9yJyA7XG5pbXBvcnQgZnJvbXN0cmluZyBmcm9tICcuL2Zyb21zdHJpbmcnIDtcbmltcG9ydCBpZ25vcmUgZnJvbSAnLi9pZ25vcmUnIDtcbmltcG9ydCBtYXAgZnJvbSAnLi9tYXAnIDtcbmltcG9ydCBza2lwIGZyb20gJy4vc2tpcCcgO1xuaW1wb3J0IHNwbGl0IGZyb20gJy4vc3BsaXQnIDtcbmltcG9ydCB0b2FycmF5IGZyb20gJy4vdG9hcnJheScgO1xuaW1wb3J0IHRvY2FsbGFibGUgZnJvbSAnLi90b2NhbGxhYmxlJyA7XG5pbXBvcnQgdG9pdGVyYWJsZSBmcm9tICcuL3RvaXRlcmFibGUnIDtcbmltcG9ydCB0b2l0ZXJhdG9yIGZyb20gJy4vdG9pdGVyYXRvcicgO1xuaW1wb3J0IHRvc3RyaW5nIGZyb20gJy4vdG9zdHJpbmcnIDtcblxuZXhwb3J0IGRlZmF1bHQge1xuXHRFT0YgLFxuXHRTdHJlYW1Gcm9tQ2FsbGFibGUgLFxuXHRjaGFpbiAsXG5cdGV4aGF1c3QgLFxuXHRmcm9tYXJyYXkgLFxuXHRmcm9tY2FsbGFibGUgLFxuXHRmcm9taXRlcmFibGUgLFxuXHRmcm9taXRlcmF0b3IgLFxuXHRmcm9tc3RyaW5nICxcblx0aWdub3JlICxcblx0bWFwICxcblx0c2tpcCAsXG5cdHNwbGl0ICxcblx0dG9hcnJheSAsXG5cdHRvY2FsbGFibGUgLFxuXHR0b2l0ZXJhYmxlICxcblx0dG9pdGVyYXRvciAsXG5cdHRvc3RyaW5nICxcbn0gO1xuXG5leHBvcnQge1xuXHRFT0YgLFxuXHRTdHJlYW1Gcm9tQ2FsbGFibGUgLFxuXHRjaGFpbiAsXG5cdGV4aGF1c3QgLFxuXHRmcm9tYXJyYXkgLFxuXHRmcm9tY2FsbGFibGUgLFxuXHRmcm9taXRlcmFibGUgLFxuXHRmcm9taXRlcmF0b3IgLFxuXHRmcm9tc3RyaW5nICxcblx0aWdub3JlICxcblx0bWFwICxcblx0c2tpcCAsXG5cdHNwbGl0ICxcblx0dG9hcnJheSAsXG5cdHRvY2FsbGFibGUgLFxuXHR0b2l0ZXJhYmxlICxcblx0dG9pdGVyYXRvciAsXG5cdHRvc3RyaW5nICxcbn0gO1xuIl19 \ No newline at end of file diff --git a/lib/map.js b/lib/map.js index 0869b2f..55fb538 100644 --- a/lib/map.js +++ b/lib/map.js @@ -1,19 +1,15 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = map; -var _jsItertools = require('@aureooms/js-itertools'); +var _fromasynciterable = _interopRequireDefault(require("./fromasynciterable")); -var _fromiterable = require('./fromiterable'); +var _toiterable = _interopRequireDefault(require("./toiterable")); -var _fromiterable2 = _interopRequireDefault(_fromiterable); - -var _toiterable = require('./toiterable'); - -var _toiterable2 = _interopRequireDefault(_toiterable); +var _asyncMap = _interopRequireDefault(require("./asyncMap")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -23,7 +19,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Stream} stream the stream to process */ function map(callable, stream) { - - return (0, _fromiterable2.default)((0, _jsItertools.map)(callable, (0, _toiterable2.default)(stream))); + return (0, _fromasynciterable.default)((0, _asyncMap.default)(callable, (0, _toiterable.default)(stream))); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAuanMiXSwibmFtZXMiOlsibWFwIiwiY2FsbGFibGUiLCJzdHJlYW0iXSwibWFwcGluZ3MiOiI7Ozs7O2tCQVV3QkEsRzs7QUFWeEI7O0FBRUE7Ozs7QUFDQTs7Ozs7O0FBRUE7Ozs7O0FBS2UsU0FBU0EsR0FBVCxDQUFlQyxRQUFmLEVBQTBCQyxNQUExQixFQUFtQzs7QUFFakQsU0FBTyw0QkFBYyxzQkFBTUQsUUFBTixFQUFpQiwwQkFBWUMsTUFBWixDQUFqQixDQUFkLENBQVA7QUFFQSIsImZpbGUiOiJtYXAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAgYXMgX21hcCB9IGZyb20gJ0BhdXJlb29tcy9qcy1pdGVydG9vbHMnIDtcblxuaW1wb3J0IGZyb21pdGVyYWJsZSBmcm9tICcuL2Zyb21pdGVyYWJsZScgO1xuaW1wb3J0IHRvaXRlcmFibGUgZnJvbSAnLi90b2l0ZXJhYmxlJyA7XG5cbi8qKlxuICogQXBwbGllcyBhIGNhbGxhYmxlIHRvIGVhY2ggdG9rZW4gb2YgYSBzdHJlYW0uXG4gKiBAcGFyYW0ge0NhbGxhYmxlfSBjYWxsYWJsZSB0aGUgY2FsbGFibGUgdG8gYXBwbHlcbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gdGhlIHN0cmVhbSB0byBwcm9jZXNzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1hcCAoIGNhbGxhYmxlICwgc3RyZWFtICkge1xuXG5cdHJldHVybiBmcm9taXRlcmFibGUoIF9tYXAoIGNhbGxhYmxlICwgdG9pdGVyYWJsZSggc3RyZWFtICkgKSApIDtcblxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYXAuanMiXSwibmFtZXMiOlsibWFwIiwiY2FsbGFibGUiLCJzdHJlYW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUVBOzs7OztBQUtlLFNBQVNBLEdBQVQsQ0FBZUMsUUFBZixFQUEwQkMsTUFBMUIsRUFBbUM7QUFFakQsU0FBTyxnQ0FBbUIsdUJBQVVELFFBQVYsRUFBcUIseUJBQVlDLE1BQVosQ0FBckIsQ0FBbkIsQ0FBUDtBQUVBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZyb21hc3luY2l0ZXJhYmxlIGZyb20gJy4vZnJvbWFzeW5jaXRlcmFibGUnIDtcbmltcG9ydCB0b2l0ZXJhYmxlIGZyb20gJy4vdG9pdGVyYWJsZScgO1xuaW1wb3J0IGFzeW5jTWFwIGZyb20gJy4vYXN5bmNNYXAnIDtcblxuLyoqXG4gKiBBcHBsaWVzIGEgY2FsbGFibGUgdG8gZWFjaCB0b2tlbiBvZiBhIHN0cmVhbS5cbiAqIEBwYXJhbSB7Q2FsbGFibGV9IGNhbGxhYmxlIHRoZSBjYWxsYWJsZSB0byBhcHBseVxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIHByb2Nlc3NcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFwICggY2FsbGFibGUgLCBzdHJlYW0gKSB7XG5cblx0cmV0dXJuIGZyb21hc3luY2l0ZXJhYmxlKCBhc3luY01hcCggY2FsbGFibGUgLCB0b2l0ZXJhYmxlKCBzdHJlYW0gKSApICkgO1xuXG59XG4iXX0= \ No newline at end of file diff --git a/lib/skip.js b/lib/skip.js index edc1fab..c2459e2 100644 --- a/lib/skip.js +++ b/lib/skip.js @@ -1,29 +1,73 @@ "use strict"; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); exports.default = skip; +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + /** * Outputs the next token of a stream that is not contained in a given toskip * set. * @param {Stream} stream * @param {Iterable} toskip */ -function skip(stream, toskip) { +function skip(_x, _x2) { + return _skip.apply(this, arguments); +} + +function _skip() { + _skip = _asyncToGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(stream, toskip) { + var _toskip, token; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _toskip = new Set(toskip); + + case 1: + if (!true) { + _context.next = 12; + break; + } + + _context.next = 4; + return stream.read(); + + case 4: + token = _context.sent; - var _toskip = new Set(toskip); + if (!(token === stream.eof)) { + _context.next = 7; + break; + } - while (true) { + return _context.abrupt("return", stream.eof); - var token = stream.read(); + case 7: + if (!_toskip.has(token)) { + _context.next = 9; + break; + } - if (token === stream.eof) return stream.eof; + return _context.abrupt("continue", 1); - if (_toskip.has(token)) continue; + case 9: + return _context.abrupt("return", token); - return token; - } + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + return _skip.apply(this, arguments); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9za2lwLmpzIl0sIm5hbWVzIjpbInNraXAiLCJzdHJlYW0iLCJ0b3NraXAiLCJfdG9za2lwIiwiU2V0IiwidG9rZW4iLCJyZWFkIiwiZW9mIiwiaGFzIl0sIm1hcHBpbmdzIjoiOzs7OztrQkFPd0JBLEk7O0FBTnhCOzs7Ozs7QUFNZSxTQUFTQSxJQUFULENBQWdCQyxNQUFoQixFQUF5QkMsTUFBekIsRUFBa0M7O0FBRWhELEtBQU1DLFVBQVUsSUFBSUMsR0FBSixDQUFTRixNQUFULENBQWhCOztBQUVBLFFBQVEsSUFBUixFQUFlOztBQUVkLE1BQU1HLFFBQVFKLE9BQU9LLElBQVAsRUFBZDs7QUFFQSxNQUFLRCxVQUFVSixPQUFPTSxHQUF0QixFQUE0QixPQUFPTixPQUFPTSxHQUFkOztBQUU1QixNQUFLSixRQUFRSyxHQUFSLENBQWFILEtBQWIsQ0FBTCxFQUE0Qjs7QUFFNUIsU0FBT0EsS0FBUDtBQUVBO0FBRUQiLCJmaWxlIjoic2tpcC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBPdXRwdXRzIHRoZSBuZXh0IHRva2VuIG9mIGEgc3RyZWFtIHRoYXQgaXMgbm90IGNvbnRhaW5lZCBpbiBhIGdpdmVuIHRvc2tpcFxuICogc2V0LlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbVxuICogQHBhcmFtIHtJdGVyYWJsZX0gdG9za2lwXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNraXAgKCBzdHJlYW0gLCB0b3NraXAgKSB7XG5cblx0Y29uc3QgX3Rvc2tpcCA9IG5ldyBTZXQoIHRvc2tpcCApIDtcblxuXHR3aGlsZSAoIHRydWUgKSB7XG5cblx0XHRjb25zdCB0b2tlbiA9IHN0cmVhbS5yZWFkKCApIDtcblxuXHRcdGlmICggdG9rZW4gPT09IHN0cmVhbS5lb2YgKSByZXR1cm4gc3RyZWFtLmVvZiA7XG5cblx0XHRpZiAoIF90b3NraXAuaGFzKCB0b2tlbiApICkgY29udGludWUgO1xuXG5cdFx0cmV0dXJuIHRva2VuIDtcblxuXHR9XG5cbn1cbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9za2lwLmpzIl0sIm5hbWVzIjpbInNraXAiLCJzdHJlYW0iLCJ0b3NraXAiLCJfdG9za2lwIiwiU2V0IiwicmVhZCIsInRva2VuIiwiZW9mIiwiaGFzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUNBOzs7Ozs7U0FNOEJBLEk7Ozs7Ozs7MEJBQWYsaUJBQXNCQyxNQUF0QixFQUErQkMsTUFBL0I7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVSQyxZQUFBQSxPQUZRLEdBRUUsSUFBSUMsR0FBSixDQUFTRixNQUFULENBRkY7O0FBQUE7QUFBQSxpQkFJTixJQUpNO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsbUJBTU9ELE1BQU0sQ0FBQ0ksSUFBUCxFQU5QOztBQUFBO0FBTVBDLFlBQUFBLEtBTk87O0FBQUEsa0JBUVJBLEtBQUssS0FBS0wsTUFBTSxDQUFDTSxHQVJUO0FBQUE7QUFBQTtBQUFBOztBQUFBLDZDQVFzQk4sTUFBTSxDQUFDTSxHQVI3Qjs7QUFBQTtBQUFBLGlCQVVSSixPQUFPLENBQUNLLEdBQVIsQ0FBYUYsS0FBYixDQVZRO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUEsNkNBWU5BLEtBWk07O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBPdXRwdXRzIHRoZSBuZXh0IHRva2VuIG9mIGEgc3RyZWFtIHRoYXQgaXMgbm90IGNvbnRhaW5lZCBpbiBhIGdpdmVuIHRvc2tpcFxuICogc2V0LlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbVxuICogQHBhcmFtIHtJdGVyYWJsZX0gdG9za2lwXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHNraXAgKCBzdHJlYW0gLCB0b3NraXAgKSB7XG5cblx0Y29uc3QgX3Rvc2tpcCA9IG5ldyBTZXQoIHRvc2tpcCApIDtcblxuXHR3aGlsZSAoIHRydWUgKSB7XG5cblx0XHRjb25zdCB0b2tlbiA9IGF3YWl0IHN0cmVhbS5yZWFkKCApIDtcblxuXHRcdGlmICggdG9rZW4gPT09IHN0cmVhbS5lb2YgKSByZXR1cm4gc3RyZWFtLmVvZiA7XG5cblx0XHRpZiAoIF90b3NraXAuaGFzKCB0b2tlbiApICkgY29udGludWUgO1xuXG5cdFx0cmV0dXJuIHRva2VuIDtcblxuXHR9XG5cbn1cbiJdfQ== \ No newline at end of file diff --git a/lib/split.js b/lib/split.js index c386118..698cbeb 100644 --- a/lib/split.js +++ b/lib/split.js @@ -1,22 +1,32 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); exports.default = split; exports._split = _split; -var _fromiterable = require('./fromiterable'); +var _fromasynciterable = _interopRequireDefault(require("./fromasynciterable")); -var _fromiterable2 = _interopRequireDefault(_fromiterable); +var _exhaust = _interopRequireDefault(require("./exhaust")); -var _exhaust = require('./exhaust'); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var _exhaust2 = _interopRequireDefault(_exhaust); +function _awaitAsyncGenerator(value) { return new _AwaitValue(value); } -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; } + +function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } } + +if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; } + +_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); }; + +_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); }; + +_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); }; -var _marked = /*#__PURE__*/regeneratorRuntime.mark(_split); +function _AwaitValue(value) { this.wrapped = value; } /** * Splits the input stream into a stream of streams according to some set of @@ -27,10 +37,8 @@ var _marked = /*#__PURE__*/regeneratorRuntime.mark(_split); * @returns {Stream} */ function split(stream, sep) { - - return (0, _fromiterable2.default)(_split(stream, sep)); + return (0, _fromasynciterable.default)(_split(stream, sep)); } - /** * Same as {@link split}, but returns an iterator rather than a stream. * @@ -38,124 +46,145 @@ function split(stream, sep) { * @param {Iterable} sep - An iterable of separators. * @returns {Iterator} */ -function _split(stream, sep) { - var _this = this; - - var _sep, _loop, _ret; - - return regeneratorRuntime.wrap(function _split$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _sep = new Set(sep); - _loop = /*#__PURE__*/regeneratorRuntime.mark(function _loop() { - var token, group; - return regeneratorRuntime.wrap(function _loop$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - token = stream.read(); - - if (!(token === stream.eof)) { - _context2.next = 3; - break; - } - - return _context2.abrupt('return', 'break'); - - case 3: - if (!_sep.has(token)) { - _context2.next = 5; - break; - } - - return _context2.abrupt('return', 'continue'); - - case 5: - group = (0, _fromiterable2.default)( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { - var _token; - - return regeneratorRuntime.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return token; - - case 2: - if (!true) { - _context.next = 10; - break; - } - - _token = stream.read(); - - if (!_sep.has(_token)) { - _context.next = 6; - break; - } - - return _context.abrupt('break', 10); - - case 6: - _context.next = 8; - return _token; - - case 8: - _context.next = 2; - break; - - case 10: - case 'end': - return _context.stop(); - } - } - }, _callee, this); - })()); - _context2.next = 8; - return group; - - case 8: - - (0, _exhaust2.default)(group); - - case 9: - case 'end': - return _context2.stop(); - } - } - }, _loop, _this); - }); - - case 2: - if (!true) { - _context3.next = 12; - break; - } - - return _context3.delegateYield(_loop(), 't0', 4); - - case 4: - _ret = _context3.t0; - _context3.t1 = _ret; - _context3.next = _context3.t1 === 'break' ? 8 : _context3.t1 === 'continue' ? 9 : 10; - break; - - case 8: - return _context3.abrupt('break', 12); - - case 9: - return _context3.abrupt('continue', 2); - - case 10: - _context3.next = 2; - break; - - case 12: - case 'end': - return _context3.stop(); - } - } - }, _marked, this); + + +function _split(_x, _x2) { + return _split2.apply(this, arguments); +} + +function _split2() { + _split2 = _wrapAsyncGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee2(stream, sep) { + var _sep, _loop2, _ret; + + return regeneratorRuntime.wrap(function _callee2$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _sep = new Set(sep); + _loop2 = + /*#__PURE__*/ + regeneratorRuntime.mark(function _loop2() { + var token, group; + return regeneratorRuntime.wrap(function _loop2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return _awaitAsyncGenerator(stream.read()); + + case 2: + token = _context2.sent; + + if (!(token === stream.eof)) { + _context2.next = 5; + break; + } + + return _context2.abrupt("return", "break"); + + case 5: + if (!_sep.has(token)) { + _context2.next = 7; + break; + } + + return _context2.abrupt("return", "continue"); + + case 7: + group = (0, _fromasynciterable.default)(_wrapAsyncGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee() { + var _token; + + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return token; + + case 2: + if (!true) { + _context.next = 12; + break; + } + + _context.next = 5; + return _awaitAsyncGenerator(stream.read()); + + case 5: + _token = _context.sent; + + if (!_sep.has(_token)) { + _context.next = 8; + break; + } + + return _context.abrupt("break", 12); + + case 8: + _context.next = 10; + return _token; + + case 10: + _context.next = 2; + break; + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this); + }))()); + _context2.next = 10; + return group; + + case 10: + _context2.next = 12; + return _awaitAsyncGenerator((0, _exhaust.default)(group)); + + case 12: + case "end": + return _context2.stop(); + } + } + }, _loop2, this); + }); + + case 2: + if (!true) { + _context3.next = 12; + break; + } + + return _context3.delegateYield(_loop2(), "t0", 4); + + case 4: + _ret = _context3.t0; + _context3.t1 = _ret; + _context3.next = _context3.t1 === "break" ? 8 : _context3.t1 === "continue" ? 9 : 10; + break; + + case 8: + return _context3.abrupt("break", 12); + + case 9: + return _context3.abrupt("continue", 2); + + case 10: + _context3.next = 2; + break; + + case 12: + case "end": + return _context3.stop(); + } + } + }, _callee2, this); + })); + return _split2.apply(this, arguments); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcGxpdC5qcyJdLCJuYW1lcyI6WyJzcGxpdCIsIl9zcGxpdCIsInN0cmVhbSIsInNlcCIsIl9zZXAiLCJTZXQiLCJ0b2tlbiIsInJlYWQiLCJlb2YiLCJoYXMiLCJncm91cCJdLCJtYXBwaW5ncyI6Ijs7Ozs7a0JBYXdCQSxLO1FBYVBDLE0sR0FBQUEsTTs7QUF6QmpCOzs7O0FBRUE7Ozs7OzttREF1QmlCQSxNOztBQXJCakI7Ozs7Ozs7O0FBUWUsU0FBU0QsS0FBVCxDQUFpQkUsTUFBakIsRUFBMEJDLEdBQTFCLEVBQWdDOztBQUU5QyxRQUFPLDRCQUFjRixPQUFRQyxNQUFSLEVBQWlCQyxHQUFqQixDQUFkLENBQVA7QUFFQTs7QUFFRDs7Ozs7OztBQU9PLFNBQVVGLE1BQVYsQ0FBbUJDLE1BQW5CLEVBQTRCQyxHQUE1QjtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUFDLFNBRkEsR0FFTyxJQUFJQyxHQUFKLENBQVNGLEdBQVQsQ0FGUDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1DRyxlQU5ELEdBTVNKLE9BQU9LLElBQVAsRUFOVDs7QUFBQSxnQkFRQUQsVUFBVUosT0FBT00sR0FSakI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQSxlQVVBSixLQUFLSyxHQUFMLENBQVVILEtBQVYsQ0FWQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQVlDSSxlQVpELEdBWVMsNEJBQWMsc0NBQUU7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBRXZCSixLQUZ1Qjs7QUFBQTtBQUFBLG9CQUlyQixJQUpxQjtBQUFBO0FBQUE7QUFBQTs7QUFNdEJBLHFCQU5zQixHQU1kSixPQUFPSyxJQUFQLEVBTmM7O0FBQUEsb0JBUXZCSCxLQUFLSyxHQUFMLENBQVVILE1BQVYsQ0FSdUI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBLHNCQVV0QkEsTUFWc0I7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFdBQUYsR0FBZCxDQVpUO0FBQUE7QUFBQSxpQkE0QkNJLEtBNUJEOztBQUFBOztBQThCTCxpQ0FBU0EsS0FBVDs7QUE5Qks7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxVQUlFLElBSkY7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwiZmlsZSI6InNwbGl0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgZnJvbWl0ZXJhYmxlIGZyb20gJy4vZnJvbWl0ZXJhYmxlJyA7XG5cbmltcG9ydCBleGhhdXN0IGZyb20gJy4vZXhoYXVzdCcgO1xuXG4vKipcbiAqIFNwbGl0cyB0aGUgaW5wdXQgc3RyZWFtIGludG8gYSBzdHJlYW0gb2Ygc3RyZWFtcyBhY2NvcmRpbmcgdG8gc29tZSBzZXQgb2ZcbiAqIHNlcGFyYXRvcnMuIFNlZSB7QGxpbmsgX3NwbGl0fSBmb3IgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtIC0gVGhlIGlucHV0IHN0cmVhbS5cbiAqIEBwYXJhbSB7SXRlcmFibGV9IHNlcCAtIEFuIGl0ZXJhYmxlIG9mIHNlcGFyYXRvcnMuXG4gKiBAcmV0dXJucyB7U3RyZWFtfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzcGxpdCAoIHN0cmVhbSAsIHNlcCApIHtcblxuXHRyZXR1cm4gZnJvbWl0ZXJhYmxlKCBfc3BsaXQoIHN0cmVhbSAsIHNlcCApICkgO1xuXG59XG5cbi8qKlxuICogU2FtZSBhcyB7QGxpbmsgc3BsaXR9LCBidXQgcmV0dXJucyBhbiBpdGVyYXRvciByYXRoZXIgdGhhbiBhIHN0cmVhbS5cbiAqXG4gKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtIC0gVGhlIGlucHV0IHN0cmVhbS5cbiAqIEBwYXJhbSB7SXRlcmFibGV9IHNlcCAtIEFuIGl0ZXJhYmxlIG9mIHNlcGFyYXRvcnMuXG4gKiBAcmV0dXJucyB7SXRlcmF0b3J9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiogX3NwbGl0ICggc3RyZWFtICwgc2VwICkge1xuXG5cdGNvbnN0IF9zZXAgPSBuZXcgU2V0KCBzZXAgKSA7XG5cblx0d2hpbGUgKCB0cnVlICkge1xuXG5cdFx0Y29uc3QgdG9rZW4gPSBzdHJlYW0ucmVhZCggKSA7XG5cblx0XHRpZiAoIHRva2VuID09PSBzdHJlYW0uZW9mICkgYnJlYWsgO1xuXG5cdFx0aWYgKCBfc2VwLmhhcyggdG9rZW4gKSApIGNvbnRpbnVlIDtcblxuXHRcdGNvbnN0IGdyb3VwID0gZnJvbWl0ZXJhYmxlKCAoIGZ1bmN0aW9uKiAoICkge1xuXG5cdFx0XHR5aWVsZCB0b2tlbiA7XG5cblx0XHRcdHdoaWxlICggdHJ1ZSApIHtcblxuXHRcdFx0XHRjb25zdCB0b2tlbiA9IHN0cmVhbS5yZWFkKCApIDtcblxuXHRcdFx0XHRpZiAoIF9zZXAuaGFzKCB0b2tlbiApICkgYnJlYWsgO1xuXG5cdFx0XHRcdHlpZWxkIHRva2VuIDtcblxuXHRcdFx0fVxuXG5cdFx0fSApKCApICkgO1xuXG5cdFx0eWllbGQgZ3JvdXAgO1xuXG5cdFx0ZXhoYXVzdCggZ3JvdXAgKSA7XG5cblx0fVxuXG59XG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zcGxpdC5qcyJdLCJuYW1lcyI6WyJzcGxpdCIsInN0cmVhbSIsInNlcCIsIl9zcGxpdCIsIl9zZXAiLCJTZXQiLCJyZWFkIiwidG9rZW4iLCJlb2YiLCJoYXMiLCJncm91cCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7Ozs7Ozs7QUFRZSxTQUFTQSxLQUFULENBQWlCQyxNQUFqQixFQUEwQkMsR0FBMUIsRUFBZ0M7QUFFOUMsU0FBTyxnQ0FBbUJDLE1BQU0sQ0FBRUYsTUFBRixFQUFXQyxHQUFYLENBQXpCLENBQVA7QUFFQTtBQUVEOzs7Ozs7Ozs7U0FPdUJDLE07Ozs7Ozs7MEJBQWhCLGtCQUF5QkYsTUFBekIsRUFBa0NDLEdBQWxDO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQUUsWUFBQUEsSUFGQSxHQUVPLElBQUlDLEdBQUosQ0FBU0gsR0FBVCxDQUZQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0RBTWVELE1BQU0sQ0FBQ0ssSUFBUCxFQU5mOztBQUFBO0FBTUNDLHNCQUFBQSxLQU5EOztBQUFBLDRCQVFBQSxLQUFLLEtBQUtOLE1BQU0sQ0FBQ08sR0FSakI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQSwyQkFVQUosSUFBSSxDQUFDSyxHQUFMLENBQVVGLEtBQVYsQ0FWQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQVlDRyxzQkFBQUEsS0FaRCxHQVlTLGdDQUFtQjtBQUFBO0FBQUEsOENBQUU7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWxDLHVDQUFNSCxLQUFOOztBQUZrQztBQUFBLHFDQUkxQixJQUowQjtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLDREQU1iTixNQUFNLENBQUNLLElBQVAsRUFOYTs7QUFBQTtBQU0zQkMsZ0NBQUFBLE1BTjJCOztBQUFBLHFDQVE1QkgsSUFBSSxDQUFDSyxHQUFMLENBQVVGLE1BQVYsQ0FSNEI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQVVqQyx1Q0FBTUEsTUFBTjs7QUFWaUM7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQUFGLElBQW5CLENBWlQ7QUFBQTtBQTRCTCw2QkFBTUcsS0FBTjs7QUE1Qks7QUFBQTtBQUFBLGtEQThCQyxzQkFBU0EsS0FBVCxDQTlCRDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLGlCQUlFLElBSkY7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnJvbWFzeW5jaXRlcmFibGUgZnJvbSAnLi9mcm9tYXN5bmNpdGVyYWJsZScgO1xuaW1wb3J0IGV4aGF1c3QgZnJvbSAnLi9leGhhdXN0JyA7XG5cbi8qKlxuICogU3BsaXRzIHRoZSBpbnB1dCBzdHJlYW0gaW50byBhIHN0cmVhbSBvZiBzdHJlYW1zIGFjY29yZGluZyB0byBzb21lIHNldCBvZlxuICogc2VwYXJhdG9ycy4gU2VlIHtAbGluayBfc3BsaXR9IGZvciB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gLSBUaGUgaW5wdXQgc3RyZWFtLlxuICogQHBhcmFtIHtJdGVyYWJsZX0gc2VwIC0gQW4gaXRlcmFibGUgb2Ygc2VwYXJhdG9ycy5cbiAqIEByZXR1cm5zIHtTdHJlYW19XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNwbGl0ICggc3RyZWFtICwgc2VwICkge1xuXG5cdHJldHVybiBmcm9tYXN5bmNpdGVyYWJsZSggX3NwbGl0KCBzdHJlYW0gLCBzZXAgKSApIDtcblxufVxuXG4vKipcbiAqIFNhbWUgYXMge0BsaW5rIHNwbGl0fSwgYnV0IHJldHVybnMgYW4gaXRlcmF0b3IgcmF0aGVyIHRoYW4gYSBzdHJlYW0uXG4gKlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSAtIFRoZSBpbnB1dCBzdHJlYW0uXG4gKiBAcGFyYW0ge0l0ZXJhYmxlfSBzZXAgLSBBbiBpdGVyYWJsZSBvZiBzZXBhcmF0b3JzLlxuICogQHJldHVybnMge0l0ZXJhdG9yfVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIF9zcGxpdCAoIHN0cmVhbSAsIHNlcCApIHtcblxuXHRjb25zdCBfc2VwID0gbmV3IFNldCggc2VwICkgO1xuXG5cdHdoaWxlICggdHJ1ZSApIHtcblxuXHRcdGNvbnN0IHRva2VuID0gYXdhaXQgc3RyZWFtLnJlYWQoICkgO1xuXG5cdFx0aWYgKCB0b2tlbiA9PT0gc3RyZWFtLmVvZiApIGJyZWFrIDtcblxuXHRcdGlmICggX3NlcC5oYXMoIHRva2VuICkgKSBjb250aW51ZSA7XG5cblx0XHRjb25zdCBncm91cCA9IGZyb21hc3luY2l0ZXJhYmxlKCAoIGFzeW5jIGZ1bmN0aW9uKiAoICkge1xuXG5cdFx0XHR5aWVsZCB0b2tlbiA7XG5cblx0XHRcdHdoaWxlICggdHJ1ZSApIHtcblxuXHRcdFx0XHRjb25zdCB0b2tlbiA9IGF3YWl0IHN0cmVhbS5yZWFkKCApIDtcblxuXHRcdFx0XHRpZiAoIF9zZXAuaGFzKCB0b2tlbiApICkgYnJlYWsgO1xuXG5cdFx0XHRcdHlpZWxkIHRva2VuIDtcblxuXHRcdFx0fVxuXG5cdFx0fSApKCApICkgO1xuXG5cdFx0eWllbGQgZ3JvdXAgO1xuXG5cdFx0YXdhaXQgZXhoYXVzdCggZ3JvdXAgKSA7XG5cblx0fVxuXG59XG4iXX0= \ No newline at end of file diff --git a/lib/toarray.js b/lib/toarray.js index fbb3337..0f5856b 100644 --- a/lib/toarray.js +++ b/lib/toarray.js @@ -1,23 +1,49 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _toiterable = require('./toiterable'); +var _toiterable = _interopRequireDefault(require("./toiterable")); -var _toiterable2 = _interopRequireDefault(_toiterable); +var _asyncIterableToArray = _interopRequireDefault(require("./asyncIterableToArray")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /** * Converts a stream to an array. * @kind function * @param {Stream} stream the stream to read from */ -exports.default = function (stream) { - return [].concat(_toConsumableArray((0, _toiterable2.default)(stream))); -}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2FycmF5LmpzIl0sIm5hbWVzIjpbInN0cmVhbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0E7Ozs7Ozs7O0FBRUE7Ozs7O2tCQUtlO0FBQUEsc0NBQWUsMEJBQVlBLE1BQVosQ0FBZjtBQUFBLEMiLCJmaWxlIjoidG9hcnJheS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHRvaXRlcmFibGUgZnJvbSAnLi90b2l0ZXJhYmxlJyA7XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJlYW0gdG8gYW4gYXJyYXkuXG4gKiBAa2luZCBmdW5jdGlvblxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIHJlYWQgZnJvbVxuICovXG5leHBvcnQgZGVmYXVsdCBzdHJlYW0gPT4gWyAuLi50b2l0ZXJhYmxlKCBzdHJlYW0gKSBdIDtcbiJdfQ== \ No newline at end of file +var _default = +/*#__PURE__*/ +function () { + var _ref = _asyncToGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(stream) { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", (0, _asyncIterableToArray.default)((0, _toiterable.default)(stream))); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function (_x) { + return _ref.apply(this, arguments); + }; +}(); + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2FycmF5LmpzIl0sIm5hbWVzIjpbInN0cmVhbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7Ozs7OztBQUVBOzs7Ozs7Ozs7OzBCQUtlLGlCQUFNQSxNQUFOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw2Q0FBZ0IsbUNBQXNCLHlCQUFZQSxNQUFaLENBQXRCLENBQWhCOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9pdGVyYWJsZSBmcm9tICcuL3RvaXRlcmFibGUnIDtcbmltcG9ydCBhc3luY0l0ZXJhYmxlVG9BcnJheSBmcm9tICcuL2FzeW5jSXRlcmFibGVUb0FycmF5JyA7XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJlYW0gdG8gYW4gYXJyYXkuXG4gKiBAa2luZCBmdW5jdGlvblxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIHJlYWQgZnJvbVxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBzdHJlYW0gPT4gYXN5bmNJdGVyYWJsZVRvQXJyYXkoIHRvaXRlcmFibGUoIHN0cmVhbSApICkgO1xuIl19 \ No newline at end of file diff --git a/lib/tocallable.js b/lib/tocallable.js index 54bf790..fcd6a24 100644 --- a/lib/tocallable.js +++ b/lib/tocallable.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _toiterator = require('./toiterator'); - -var _toiterator2 = _interopRequireDefault(_toiterator); +var _toiterator = _interopRequireDefault(require("./toiterator")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15,8 +14,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @kind function * @param {Stream} stream the stream to read from */ -exports.default = function (stream) { - var it = (0, _toiterator2.default)(stream); +var _default = function _default(stream) { + var it = (0, _toiterator.default)(stream); return it.next.bind(it); }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2NhbGxhYmxlLmpzIl0sIm5hbWVzIjpbIml0Iiwic3RyZWFtIiwibmV4dCIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7QUFFQTs7Ozs7a0JBS2Usa0JBQVU7QUFDeEIsTUFBTUEsS0FBSywwQkFBWUMsTUFBWixDQUFYO0FBQ0EsU0FBT0QsR0FBR0UsSUFBSCxDQUFRQyxJQUFSLENBQWNILEVBQWQsQ0FBUDtBQUNBLEMiLCJmaWxlIjoidG9jYWxsYWJsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b2l0ZXJhdG9yIGZyb20gJy4vdG9pdGVyYXRvcicgO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyZWFtIHRvIGEgY2FsbGFibGUuXG4gKiBAa2luZCBmdW5jdGlvblxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIHJlYWQgZnJvbVxuICovXG5leHBvcnQgZGVmYXVsdCBzdHJlYW0gPT4ge1xuXHRjb25zdCBpdCA9IHRvaXRlcmF0b3IoIHN0cmVhbSApIDtcblx0cmV0dXJuIGl0Lm5leHQuYmluZCggaXQgKSA7XG59IDtcbiJdfQ== \ No newline at end of file + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2NhbGxhYmxlLmpzIl0sIm5hbWVzIjpbInN0cmVhbSIsIml0IiwibmV4dCIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUVBOzs7OztlQUtlLGtCQUFBQSxNQUFNLEVBQUk7QUFDeEIsTUFBTUMsRUFBRSxHQUFHLHlCQUFZRCxNQUFaLENBQVg7QUFDQSxTQUFPQyxFQUFFLENBQUNDLElBQUgsQ0FBUUMsSUFBUixDQUFjRixFQUFkLENBQVA7QUFDQSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvaXRlcmF0b3IgZnJvbSAnLi90b2l0ZXJhdG9yJyA7XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJlYW0gdG8gYSBjYWxsYWJsZS5cbiAqIEBraW5kIGZ1bmN0aW9uXG4gKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtIHRoZSBzdHJlYW0gdG8gcmVhZCBmcm9tXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHN0cmVhbSA9PiB7XG5cdGNvbnN0IGl0ID0gdG9pdGVyYXRvciggc3RyZWFtICkgO1xuXHRyZXR1cm4gaXQubmV4dC5iaW5kKCBpdCApIDtcbn0gO1xuIl19 \ No newline at end of file diff --git a/lib/toiterable.js b/lib/toiterable.js index 96c85aa..d6cd53f 100644 --- a/lib/toiterable.js +++ b/lib/toiterable.js @@ -1,49 +1,76 @@ "use strict"; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); exports.default = toiterable; -var _marked = /*#__PURE__*/regeneratorRuntime.mark(toiterable); +function _awaitAsyncGenerator(value) { return new _AwaitValue(value); } + +function _wrapAsyncGenerator(fn) { return function () { return new _AsyncGenerator(fn.apply(this, arguments)); }; } + +function _AsyncGenerator(gen) { var front, back; function send(key, arg) { return new Promise(function (resolve, reject) { var request = { key: key, arg: arg, resolve: resolve, reject: reject, next: null }; if (back) { back = back.next = request; } else { front = back = request; resume(key, arg); } }); } function resume(key, arg) { try { var result = gen[key](arg); var value = result.value; var wrappedAwait = value instanceof _AwaitValue; Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) { if (wrappedAwait) { resume("next", arg); return; } settle(result.done ? "return" : "normal", arg); }, function (err) { resume("throw", err); }); } catch (err) { settle("throw", err); } } function settle(type, value) { switch (type) { case "return": front.resolve({ value: value, done: true }); break; case "throw": front.reject(value); break; default: front.resolve({ value: value, done: false }); break; } front = front.next; if (front) { resume(front.key, front.arg); } else { back = null; } } this._invoke = send; if (typeof gen.return !== "function") { this.return = undefined; } } + +if (typeof Symbol === "function" && Symbol.asyncIterator) { _AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; }; } + +_AsyncGenerator.prototype.next = function (arg) { return this._invoke("next", arg); }; + +_AsyncGenerator.prototype.throw = function (arg) { return this._invoke("throw", arg); }; + +_AsyncGenerator.prototype.return = function (arg) { return this._invoke("return", arg); }; + +function _AwaitValue(value) { this.wrapped = value; } /** * Converts a stream to an iterable. * @param {Stream} stream the stream to read from */ -function toiterable(stream) { - var token; - return regeneratorRuntime.wrap(function toiterable$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - if (!true) { - _context.next = 8; - break; - } - - token = stream.read(); - - if (!(token === stream.eof)) { - _context.next = 4; - break; - } - - return _context.abrupt("break", 8); - - case 4: - _context.next = 6; - return token; - - case 6: - _context.next = 0; - break; - - case 8: - case "end": - return _context.stop(); - } - } - }, _marked, this); +function toiterable(_x) { + return _toiterable.apply(this, arguments); +} + +function _toiterable() { + _toiterable = _wrapAsyncGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(stream) { + var token; + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!true) { + _context.next = 10; + break; + } + + _context.next = 3; + return _awaitAsyncGenerator(stream.read()); + + case 3: + token = _context.sent; + + if (!(token === stream.eof)) { + _context.next = 6; + break; + } + + return _context.abrupt("break", 10); + + case 6: + _context.next = 8; + return token; + + case 8: + _context.next = 0; + break; + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + return _toiterable.apply(this, arguments); } -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2l0ZXJhYmxlLmpzIl0sIm5hbWVzIjpbInRvaXRlcmFibGUiLCJzdHJlYW0iLCJ0b2tlbiIsInJlYWQiLCJlb2YiXSwibWFwcGluZ3MiOiI7Ozs7O2tCQUl5QkEsVTs7bURBQUFBLFU7O0FBSnpCOzs7O0FBSWUsU0FBVUEsVUFBVixDQUF1QkMsTUFBdkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFFTixJQUZNO0FBQUE7QUFBQTtBQUFBOztBQUlQQyxVQUpPLEdBSUNELE9BQU9FLElBQVAsRUFKRDs7QUFBQSxXQU1SRCxVQUFVRCxPQUFPRyxHQU5UO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQSxZQVFQRixLQVJPOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsImZpbGUiOiJ0b2l0ZXJhYmxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmVhbSB0byBhbiBpdGVyYWJsZS5cbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gdGhlIHN0cmVhbSB0byByZWFkIGZyb21cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24qIHRvaXRlcmFibGUgKCBzdHJlYW0gKSB7XG5cblx0d2hpbGUgKCB0cnVlICkge1xuXG5cdFx0Y29uc3QgdG9rZW4gPSBzdHJlYW0ucmVhZCggKSA7XG5cblx0XHRpZiAoIHRva2VuID09PSBzdHJlYW0uZW9mICkgYnJlYWsgO1xuXG5cdFx0eWllbGQgdG9rZW4gO1xuXG5cdH1cblxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2l0ZXJhYmxlLmpzIl0sIm5hbWVzIjpbInRvaXRlcmFibGUiLCJzdHJlYW0iLCJyZWFkIiwidG9rZW4iLCJlb2YiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7U0FJK0JBLFU7Ozs7Ozs7MEJBQWhCLGlCQUE2QkMsTUFBN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsaUJBRU4sSUFGTTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLHdDQUlPQSxNQUFNLENBQUNDLElBQVAsRUFKUDs7QUFBQTtBQUlQQyxZQUFBQSxLQUpPOztBQUFBLGtCQU1SQSxLQUFLLEtBQUtGLE1BQU0sQ0FBQ0csR0FOVDtBQUFBO0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBUWIsbUJBQU1ELEtBQU47O0FBUmE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnRzIGEgc3RyZWFtIHRvIGFuIGl0ZXJhYmxlLlxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIHJlYWQgZnJvbVxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiogdG9pdGVyYWJsZSAoIHN0cmVhbSApIHtcblxuXHR3aGlsZSAoIHRydWUgKSB7XG5cblx0XHRjb25zdCB0b2tlbiA9IGF3YWl0IHN0cmVhbS5yZWFkKCApIDtcblxuXHRcdGlmICggdG9rZW4gPT09IHN0cmVhbS5lb2YgKSBicmVhayA7XG5cblx0XHR5aWVsZCB0b2tlbiA7XG5cblx0fVxuXG59XG4iXX0= \ No newline at end of file diff --git a/lib/toiterator.js b/lib/toiterator.js index a26483d..a5e460c 100644 --- a/lib/toiterator.js +++ b/lib/toiterator.js @@ -1,12 +1,11 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _toiterable = require('./toiterable'); - -var _toiterable2 = _interopRequireDefault(_toiterable); +var _toiterable = _interopRequireDefault(require("./toiterable")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -15,7 +14,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @kind function * @param {Stream} stream the stream to read from */ -exports.default = function (stream) { - return (0, _toiterable2.default)(stream)[Symbol.iterator](); +var _default = function _default(stream) { + return (0, _toiterable.default)(stream)[Symbol.asyncIterator](); }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2l0ZXJhdG9yLmpzIl0sIm5hbWVzIjpbInN0cmVhbSIsIlN5bWJvbCIsIml0ZXJhdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7O0FBRUE7Ozs7O2tCQUtlO0FBQUEsU0FBVSwwQkFBWUEsTUFBWixFQUFxQkMsT0FBT0MsUUFBNUIsR0FBVjtBQUFBLEMiLCJmaWxlIjoidG9pdGVyYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b2l0ZXJhYmxlIGZyb20gJy4vdG9pdGVyYWJsZScgO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyZWFtIHRvIGFuIGl0ZXJhdG9yLlxuICogQGtpbmQgZnVuY3Rpb25cbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gdGhlIHN0cmVhbSB0byByZWFkIGZyb21cbiAqL1xuZXhwb3J0IGRlZmF1bHQgc3RyZWFtID0+IHRvaXRlcmFibGUoIHN0cmVhbSApW1N5bWJvbC5pdGVyYXRvcl0oICkgO1xuIl19 \ No newline at end of file + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2l0ZXJhdG9yLmpzIl0sIm5hbWVzIjpbInN0cmVhbSIsIlN5bWJvbCIsImFzeW5jSXRlcmF0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUVBOzs7OztlQUtlLGtCQUFBQSxNQUFNO0FBQUEsU0FBSSx5QkFBWUEsTUFBWixFQUFxQkMsTUFBTSxDQUFDQyxhQUE1QixHQUFKO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0b2l0ZXJhYmxlIGZyb20gJy4vdG9pdGVyYWJsZScgO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyZWFtIHRvIGFuIGl0ZXJhdG9yLlxuICogQGtpbmQgZnVuY3Rpb25cbiAqIEBwYXJhbSB7U3RyZWFtfSBzdHJlYW0gdGhlIHN0cmVhbSB0byByZWFkIGZyb21cbiAqL1xuZXhwb3J0IGRlZmF1bHQgc3RyZWFtID0+IHRvaXRlcmFibGUoIHN0cmVhbSApW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSggKSA7XG4iXX0= \ No newline at end of file diff --git a/lib/tostring.js b/lib/tostring.js index c867c7e..9aa85f0 100644 --- a/lib/tostring.js +++ b/lib/tostring.js @@ -1,21 +1,51 @@ -'use strict'; +"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = void 0; -var _toarray = require('./toarray'); - -var _toarray2 = _interopRequireDefault(_toarray); +var _toarray = _interopRequireDefault(require("./toarray")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + /** * Converts a stream to a string. * @kind function * @param {Stream} stream the stream to read from */ -exports.default = function (stream) { - return (0, _toarray2.default)(stream).join(''); -}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b3N0cmluZy5qcyJdLCJuYW1lcyI6WyJzdHJlYW0iLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7O0FBRUE7Ozs7O2tCQUtlO0FBQUEsU0FBVSx1QkFBU0EsTUFBVCxFQUFrQkMsSUFBbEIsQ0FBd0IsRUFBeEIsQ0FBVjtBQUFBLEMiLCJmaWxlIjoidG9zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdG9hcnJheSBmcm9tICcuL3RvYXJyYXknIDtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmVhbSB0byBhIHN0cmluZy5cbiAqIEBraW5kIGZ1bmN0aW9uXG4gKiBAcGFyYW0ge1N0cmVhbX0gc3RyZWFtIHRoZSBzdHJlYW0gdG8gcmVhZCBmcm9tXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHN0cmVhbSA9PiB0b2FycmF5KCBzdHJlYW0gKS5qb2luKCAnJyApIDtcbiJdfQ== \ No newline at end of file +var _default = +/*#__PURE__*/ +function () { + var _ref = _asyncToGenerator( + /*#__PURE__*/ + regeneratorRuntime.mark(function _callee(stream) { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return (0, _toarray.default)(stream); + + case 2: + return _context.abrupt("return", _context.sent.join('')); + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + return function (_x) { + return _ref.apply(this, arguments); + }; +}(); + +exports.default = _default; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b3N0cmluZy5qcyJdLCJuYW1lcyI6WyJzdHJlYW0iLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7O0FBRUE7Ozs7Ozs7Ozs7MEJBS2UsaUJBQU1BLE1BQU47QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQXVCLHNCQUFTQSxNQUFULENBQXZCOztBQUFBO0FBQUEsMkRBQTBDQyxJQUExQyxDQUFnRCxFQUFoRDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRvYXJyYXkgZnJvbSAnLi90b2FycmF5JyA7XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJlYW0gdG8gYSBzdHJpbmcuXG4gKiBAa2luZCBmdW5jdGlvblxuICogQHBhcmFtIHtTdHJlYW19IHN0cmVhbSB0aGUgc3RyZWFtIHRvIHJlYWQgZnJvbVxuICovXG5leHBvcnQgZGVmYXVsdCBhc3luYyBzdHJlYW0gPT4gKGF3YWl0IHRvYXJyYXkoIHN0cmVhbSApKS5qb2luKCAnJyApIDtcbiJdfQ== \ No newline at end of file diff --git a/package.json b/package.json index cb4a298..f372b4c 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,16 @@ "author": "aureooms", "ava": { "require": [ - "babel-polyfill", - "babel-register" + "@babel/polyfill", + "@babel/register" ] }, "babel": { "presets": [ - "env" + "@babel/preset-env" + ], + "plugins": [ + "@babel/plugin-proposal-async-generator-functions" ], "env": { "development": { @@ -22,14 +25,15 @@ "bugs": { "url": "https://github.com/aureooms/js-stream/issues" }, - "dependencies": { - "@aureooms/js-itertools": "^3.4.0" - }, + "dependencies": {}, "devDependencies": { + "@babel/cli": "^7.0.0-beta.56", + "@babel/core": "^7.0.0-beta.56", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0-beta.56", + "@babel/polyfill": "^7.0.0-beta.56", + "@babel/preset-env": "^7.0.0-beta.56", + "@babel/register": "^7.0.0-beta.56", "ava": "^0.25.0", - "babel-cli": "^6.26.0", - "babel-polyfill": "^6.26.0", - "babel-preset-env": "^1.7.0", "codeclimate-test-reporter": "^0.5.0", "coveralls": "^3.0.2", "esdoc": "^1.1.0", diff --git a/src/StreamFromCallable.js b/src/StreamFromCallable.js index 9052c2f..4f1385d 100644 --- a/src/StreamFromCallable.js +++ b/src/StreamFromCallable.js @@ -24,11 +24,11 @@ export default class StreamFromCallable { * * @returns {Object} */ - read ( ) { + async read ( ) { if ( this.buffer.length > 0 ) return this.buffer.pop( ) ; - const state = this.callable( ) ; + const state = await this.callable( ) ; if ( state.done ) return this.eof ; @@ -44,6 +44,7 @@ export default class StreamFromCallable { */ unread ( token ) { + // should this be async too ? this.buffer.push( token ) ; } diff --git a/src/asyncChain.js b/src/asyncChain.js new file mode 100644 index 0000000..0ef61c9 --- /dev/null +++ b/src/asyncChain.js @@ -0,0 +1,8 @@ +/** + * Utility function to chain an async iterable of async iterables. + */ +export default async function* asyncChain ( iterables ) { + for await ( const iterable of iterables ) { + for await ( const item of iterable ) yield item ; + } +} diff --git a/src/asyncIterableToArray.js b/src/asyncIterableToArray.js new file mode 100644 index 0000000..8fc4e96 --- /dev/null +++ b/src/asyncIterableToArray.js @@ -0,0 +1,5 @@ +export default async function asyncIterableToArray ( asyncIterable ) { + const array = [ ] ; + for await (const item of asyncIterable) array.push(item) ; + return array ; +} diff --git a/src/asyncMap.js b/src/asyncMap.js new file mode 100644 index 0000000..357c53f --- /dev/null +++ b/src/asyncMap.js @@ -0,0 +1,9 @@ +/** + * Utility function to apply a sync callable to each item of an async iterable. + * @param {Callable} callable the callable to apply + * @param {AsyncIterable} iterable the iterable to process + */ +export default async function* asyncMap ( callable , iterable ) { + // should the callable also be async ? + for await ( const item of iterable ) yield callable(item) ; +} diff --git a/src/chain.js b/src/chain.js index c1b7a16..0dc4e69 100644 --- a/src/chain.js +++ b/src/chain.js @@ -1,7 +1,7 @@ -import { map as _map , chain as _chain } from '@aureooms/js-itertools' ; - -import fromiterable from './fromiterable' ; +import fromasynciterable from './fromasynciterable' ; import toiterable from './toiterable' ; +import asyncChain from './asyncChain' ; +import asyncMap from './asyncMap' ; /** * Converts a stream of streams of tokens to a stream of tokens. @@ -9,6 +9,6 @@ import toiterable from './toiterable' ; */ export default function chain ( stream ) { - return fromiterable( _chain( _map( toiterable , toiterable( stream ) ) ) ) ; + return fromasynciterable( asyncChain( asyncMap( toiterable , toiterable( stream ) ) ) ) ; } diff --git a/src/exhaust.js b/src/exhaust.js index 81f18c8..8933086 100644 --- a/src/exhaust.js +++ b/src/exhaust.js @@ -1,10 +1,9 @@ - /** * Exhausts a stream. * @param {Stream} stream the stream to read from */ -export default function exhaust ( stream ) { +export default async function exhaust ( stream ) { - while ( stream.read( ) !== stream.eof ) ; + while ( await stream.read( ) !== stream.eof ) ; } diff --git a/src/fromasynciterable.js b/src/fromasynciterable.js new file mode 100644 index 0000000..2d8c920 --- /dev/null +++ b/src/fromasynciterable.js @@ -0,0 +1,8 @@ +import fromiterator from './fromiterator' ; + +/** + * Converts an asynchronous iterable to a stream. + * @param {AsyncIterable} _iterable the iterable to convert + * @function + */ +export default _iterable => fromiterator( _iterable[Symbol.asyncIterator]( ) ) ; diff --git a/src/ignore.js b/src/ignore.js index 6a95117..b054ac7 100644 --- a/src/ignore.js +++ b/src/ignore.js @@ -1,4 +1,3 @@ - import split from './split' ; import chain from './chain' ; diff --git a/src/map.js b/src/map.js index e49507e..f1ea92b 100644 --- a/src/map.js +++ b/src/map.js @@ -1,7 +1,6 @@ -import { map as _map } from '@aureooms/js-itertools' ; - -import fromiterable from './fromiterable' ; +import fromasynciterable from './fromasynciterable' ; import toiterable from './toiterable' ; +import asyncMap from './asyncMap' ; /** * Applies a callable to each token of a stream. @@ -10,6 +9,6 @@ import toiterable from './toiterable' ; */ export default function map ( callable , stream ) { - return fromiterable( _map( callable , toiterable( stream ) ) ) ; + return fromasynciterable( asyncMap( callable , toiterable( stream ) ) ) ; } diff --git a/src/skip.js b/src/skip.js index 437dcda..5464d8a 100644 --- a/src/skip.js +++ b/src/skip.js @@ -5,13 +5,13 @@ * @param {Stream} stream * @param {Iterable} toskip */ -export default function skip ( stream , toskip ) { +export default async function skip ( stream , toskip ) { const _toskip = new Set( toskip ) ; while ( true ) { - const token = stream.read( ) ; + const token = await stream.read( ) ; if ( token === stream.eof ) return stream.eof ; diff --git a/src/split.js b/src/split.js index 36bb584..d6b8531 100644 --- a/src/split.js +++ b/src/split.js @@ -1,6 +1,4 @@ - -import fromiterable from './fromiterable' ; - +import fromasynciterable from './fromasynciterable' ; import exhaust from './exhaust' ; /** @@ -13,7 +11,7 @@ import exhaust from './exhaust' ; */ export default function split ( stream , sep ) { - return fromiterable( _split( stream , sep ) ) ; + return fromasynciterable( _split( stream , sep ) ) ; } @@ -24,25 +22,25 @@ export default function split ( stream , sep ) { * @param {Iterable} sep - An iterable of separators. * @returns {Iterator} */ -export function* _split ( stream , sep ) { +export async function* _split ( stream , sep ) { const _sep = new Set( sep ) ; while ( true ) { - const token = stream.read( ) ; + const token = await stream.read( ) ; if ( token === stream.eof ) break ; if ( _sep.has( token ) ) continue ; - const group = fromiterable( ( function* ( ) { + const group = fromasynciterable( ( async function* ( ) { yield token ; while ( true ) { - const token = stream.read( ) ; + const token = await stream.read( ) ; if ( _sep.has( token ) ) break ; @@ -54,7 +52,7 @@ export function* _split ( stream , sep ) { yield group ; - exhaust( group ) ; + await exhaust( group ) ; } diff --git a/src/toarray.js b/src/toarray.js index f28ce73..875043c 100644 --- a/src/toarray.js +++ b/src/toarray.js @@ -1,9 +1,9 @@ - import toiterable from './toiterable' ; +import asyncIterableToArray from './asyncIterableToArray' ; /** * Converts a stream to an array. * @kind function * @param {Stream} stream the stream to read from */ -export default stream => [ ...toiterable( stream ) ] ; +export default async stream => asyncIterableToArray( toiterable( stream ) ) ; diff --git a/src/toiterable.js b/src/toiterable.js index 15a3270..be81619 100644 --- a/src/toiterable.js +++ b/src/toiterable.js @@ -2,11 +2,11 @@ * Converts a stream to an iterable. * @param {Stream} stream the stream to read from */ -export default function* toiterable ( stream ) { +export default async function* toiterable ( stream ) { while ( true ) { - const token = stream.read( ) ; + const token = await stream.read( ) ; if ( token === stream.eof ) break ; diff --git a/src/toiterator.js b/src/toiterator.js index 40fc827..0bd54ff 100644 --- a/src/toiterator.js +++ b/src/toiterator.js @@ -5,4 +5,4 @@ import toiterable from './toiterable' ; * @kind function * @param {Stream} stream the stream to read from */ -export default stream => toiterable( stream )[Symbol.iterator]( ) ; +export default stream => toiterable( stream )[Symbol.asyncIterator]( ) ; diff --git a/src/tostring.js b/src/tostring.js index 2724be8..32ad06c 100644 --- a/src/tostring.js +++ b/src/tostring.js @@ -5,4 +5,4 @@ import toarray from './toarray' ; * @kind function * @param {Stream} stream the stream to read from */ -export default stream => toarray( stream ).join( '' ) ; +export default async stream => (await toarray( stream )).join( '' ) ;