You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@harperfast/extended-iterable

Package Overview
Dependencies
Maintainers
5
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@harperfast/extended-iterable - npm Package Compare versions

Comparing version
1.0.2
to
1.0.3
+439
dist/index.cjs
'use strict';
const SKIP = Symbol.for('@harperdb/extended-iterable:skip');
const DONE = {
value: null,
done: true,
};
const RETURN_DONE = {
// we allow this one to be mutated
value: null,
done: true,
};
if (!Symbol.asyncIterator) {
Symbol.asyncIterator = Symbol.for('Symbol.asyncIterator');
}
const NO_OPTIONS = {};
class ExtendedIterable {
constructor(sourceArray) {
if (sourceArray) {
this.iterate = sourceArray[Symbol.iterator].bind(sourceArray);
}
}
map(func) {
let source = this;
let iterable = new ExtendedIterable();
iterable.iterate = (options = NO_OPTIONS) => {
const { async } = options;
let iterator =
source[async ? Symbol.asyncIterator : Symbol.iterator](options);
if (!async) source.isSync = true;
let i = -1;
return {
next(resolvedResult) {
let result;
do {
let iteratorResult;
try {
if (resolvedResult) {
iteratorResult = resolvedResult;
resolvedResult = null; // don't go in this branch on next iteration
} else {
i++;
iteratorResult = iterator.next();
if (iteratorResult.then) {
if (!async) {
this.throw(
new Error(
'Can not synchronously iterate with promises as iterator results',
),
);
}
return iteratorResult.then(
(iteratorResult) => this.next(iteratorResult),
(error) => {
return this.throw(error);
},
);
}
}
if (iteratorResult.done === true) {
this.done = true;
if (iterable.onDone) iterable.onDone();
return iteratorResult;
}
try {
result = func.call(source, iteratorResult.value, i);
if (result && result.then && async) {
// if async, wait for promise to resolve before returning iterator result
return result.then(
(result) =>
result === SKIP
? this.next()
: {
value: result,
},
(error) => {
if (options.continueOnRecoverableError)
error.continueIteration = true;
return this.throw(error);
},
);
}
} catch (error) {
// if the error came from the user function, we can potentially mark it for continuing iteration
if (options.continueOnRecoverableError)
error.continueIteration = true;
throw error; // throw to next catch to handle
}
} catch (error) {
if (iterable.handleError) {
// if we have handleError, we can use it to further handle errors
try {
result = iterable.handleError(error, i);
} catch (error2) {
return this.throw(error2);
}
} else return this.throw(error);
}
} while (result === SKIP);
if (result === DONE) {
return this.return();
}
return {
value: result,
};
},
return(value) {
if (!this.done) {
RETURN_DONE.value = value;
this.done = true;
if (iterable.onDone) iterable.onDone();
iterator.return?.();
}
return RETURN_DONE;
},
throw(error) {
if (error.continueIteration) {
// if it's a recoverable error, we can return or throw without closing the iterator
if (iterable.returnRecoverableErrors)
try {
return {
value: iterable.returnRecoverableErrors(error),
};
} catch (error) {
// if this throws, we need to go back to closing the iterator
this.return();
throw error;
}
if (options.continueOnRecoverableError) throw error; // throw without closing iterator
}
// else we are done with the iterator (and can throw)
this.return();
throw error;
},
};
};
return iterable;
}
[Symbol.asyncIterator](options) {
if (options) options = { ...options, async: true };
else options = { async: true };
return (this.iterator = this.iterate(options));
}
[Symbol.iterator](options) {
return (this.iterator = this.iterate(options));
}
filter(func) {
let iterable = this.map((element) => {
let result = func(element);
// handle promise
if (result?.then)
return result.then((result) => (result ? element : SKIP));
else return result ? element : SKIP;
});
let iterate = iterable.iterate;
iterable.iterate = (options = NO_OPTIONS) => {
// explicitly prevent continue on recoverable error with filter
if (options.continueOnRecoverableError)
options = { ...options, continueOnRecoverableError: false };
return iterate(options);
};
return iterable;
}
forEach(callback) {
let iterator = (this.iterator = this.iterate());
let result;
while ((result = iterator.next()).done !== true) {
callback(result.value);
}
}
concat(secondIterable) {
let concatIterable = new ExtendedIterable();
concatIterable.iterate = (options = NO_OPTIONS) => {
let iterator = (this.iterator = this.iterate(options));
let isFirst = true;
function iteratorDone(result) {
if (isFirst) {
try {
isFirst = false;
iterator =
secondIterable[
options.async ? Symbol.asyncIterator : Symbol.iterator
]();
result = iterator.next();
if (concatIterable.onDone) {
if (result.then) {
if (!options.async)
throw new Error(
'Can not synchronously iterate with promises as iterator results',
);
result.then(
(result) => {
if (result.done()) concatIterable.onDone();
},
(error) => {
this.return();
throw error;
},
);
} else if (result.done) concatIterable.onDone();
}
} catch (error) {
this.throw(error);
}
} else {
if (concatIterable.onDone) concatIterable.onDone();
}
return result;
}
return {
next() {
try {
let result = iterator.next();
if (result.then) {
if (!options.async)
throw new Error(
'Can not synchronously iterate with promises as iterator results',
);
return result.then((result) => {
if (result.done) return iteratorDone(result);
return result;
});
}
if (result.done) return iteratorDone(result);
return result;
} catch (error) {
this.throw(error);
}
},
return(value) {
if (!this.done) {
RETURN_DONE.value = value;
this.done = true;
if (concatIterable.onDone) concatIterable.onDone();
iterator.return();
}
return RETURN_DONE;
},
throw(error) {
if (options.continueOnRecoverableError) throw error;
this.return();
throw error;
},
};
};
return concatIterable;
}
flatMap(callback) {
let mappedIterable = new ExtendedIterable();
mappedIterable.iterate = (options = NO_OPTIONS) => {
let iterator = (this.iterator = this.iterate(options));
let currentSubIterator;
return {
next(resolvedResult) {
try {
do {
if (currentSubIterator) {
let result;
if (resolvedResult) {
result = resolvedResult;
resolvedResult = undefined;
} else result = currentSubIterator.next();
if (result.then) {
if (!options.async)
throw new Error(
'Can not synchronously iterate with promises as iterator results',
);
return result.then((result) => this.next(result));
}
if (!result.done) {
return result;
}
}
let result;
if (resolvedResult != undefined) {
result = resolvedResult;
resolvedResult = undefined;
} else result = iterator.next();
if (result.then) {
if (!options.async)
throw new Error(
'Can not synchronously iterate with promises as iterator results',
);
currentSubIterator = undefined;
return result.then((result) => this.next(result));
}
if (result.done) {
if (mappedIterable.onDone) mappedIterable.onDone();
return result;
}
try {
let value = callback(result.value);
if (value?.then) {
if (!options.async)
throw new Error(
'Can not synchronously iterate with promises as iterator results',
);
return value.then(
(value) => {
if (
Array.isArray(value) ||
value instanceof ExtendedIterable
) {
currentSubIterator = value[Symbol.iterator]();
return this.next();
} else {
currentSubIterator = null;
return { value };
}
},
(error) => {
if (options.continueOnRecoverableError)
error.continueIteration = true;
this.throw(error);
},
);
}
if (Array.isArray(value) || value instanceof ExtendedIterable)
currentSubIterator = value[Symbol.iterator]();
else {
currentSubIterator = null;
return { value };
}
} catch (error) {
if (options.continueOnRecoverableError)
error.continueIteration = true;
throw error;
}
} while (true);
} catch (error) {
this.throw(error);
}
},
return() {
if (mappedIterable.onDone) mappedIterable.onDone();
if (currentSubIterator) currentSubIterator.return();
return iterator.return();
},
throw(error) {
if (options.continueOnRecoverableError) throw error;
if (mappedIterable.onDone) mappedIterable.onDone();
if (currentSubIterator) currentSubIterator.return();
this.return();
throw error;
},
};
};
return mappedIterable;
}
slice(start, end) {
let iterable = this.map((element, i) => {
if (i < start) return SKIP;
if (i >= end) {
DONE.value = element;
return DONE;
}
return element;
});
iterable.handleError = (error, i) => {
if (i < start) return SKIP;
if (i >= end) {
return DONE;
}
throw error;
};
return iterable;
}
mapError(catch_callback) {
if (typeof catch_callback !== 'function') {
throw new TypeError('Expected catch callback to be a function');
}
let iterable = this.map((element) => {
return element;
});
let iterate = iterable.iterate;
iterable.iterate = (options = NO_OPTIONS) => {
// we need to ensure the whole stack
// of iterables is set up to handle recoverable errors and continue iteration
return iterate({ ...options, continueOnRecoverableError: true });
};
iterable.returnRecoverableErrors = catch_callback;
return iterable;
}
next() {
if (!this.iterator) this.iterator = this.iterate();
return this.iterator.next();
}
toJSON() {
if (this.asArray && this.asArray.forEach) {
return this.asArray;
}
const error = new Error(
'Can not serialize async iterables without first calling resolving asArray',
);
error.resolution = this.asArray;
throw error;
//return Array.from(this)
}
get asArray() {
if (this._asArray) return this._asArray;
let promise = new Promise((resolve, reject) => {
let iterator = this.iterate(true);
let array = [];
let iterable = this;
Object.defineProperty(array, 'iterable', { value: iterable });
function next(result) {
while (result.done !== true) {
if (result.then) {
return result.then(next);
} else {
array.push(result.value);
}
result = iterator.next();
}
resolve((iterable._asArray = array));
}
next(iterator.next());
});
promise.iterable = this;
return this._asArray || (this._asArray = promise);
}
resolveData() {
return this.asArray;
}
at(index) {
for (let entry of this) {
if (index-- === 0) return entry;
}
}
}
ExtendedIterable.prototype.DONE = DONE;
exports.ExtendedIterable = ExtendedIterable;
exports.SKIP = SKIP;
//# sourceMappingURL=index.cjs.map
{"version":3,"file":"index.cjs","sources":["../index.js"],"sourcesContent":["export const SKIP = Symbol.for('@harperdb/extended-iterable:skip');\nconst DONE = {\n\tvalue: null,\n\tdone: true,\n};\nconst RETURN_DONE = {\n\t// we allow this one to be mutated\n\tvalue: null,\n\tdone: true,\n};\nif (!Symbol.asyncIterator) {\n\tSymbol.asyncIterator = Symbol.for('Symbol.asyncIterator');\n}\nconst NO_OPTIONS = {};\n\nexport class ExtendedIterable {\n\tconstructor(sourceArray) {\n\t\tif (sourceArray) {\n\t\t\tthis.iterate = sourceArray[Symbol.iterator].bind(sourceArray);\n\t\t}\n\t}\n\tmap(func) {\n\t\tlet source = this;\n\t\tlet iterable = new ExtendedIterable();\n\t\titerable.iterate = (options = NO_OPTIONS) => {\n\t\t\tconst { async } = options;\n\t\t\tlet iterator =\n\t\t\t\tsource[async ? Symbol.asyncIterator : Symbol.iterator](options);\n\t\t\tif (!async) source.isSync = true;\n\t\t\tlet i = -1;\n\t\t\treturn {\n\t\t\t\tnext(resolvedResult) {\n\t\t\t\t\tlet result;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tlet iteratorResult;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (resolvedResult) {\n\t\t\t\t\t\t\t\titeratorResult = resolvedResult;\n\t\t\t\t\t\t\t\tresolvedResult = null; // don't go in this branch on next iteration\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\titeratorResult = iterator.next();\n\t\t\t\t\t\t\t\tif (iteratorResult.then) {\n\t\t\t\t\t\t\t\t\tif (!async) {\n\t\t\t\t\t\t\t\t\t\tthis.throw(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t'Can not synchronously iterate with promises as iterator results',\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn iteratorResult.then(\n\t\t\t\t\t\t\t\t\t\t(iteratorResult) => this.next(iteratorResult),\n\t\t\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\t\t\treturn this.throw(error);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (iteratorResult.done === true) {\n\t\t\t\t\t\t\t\tthis.done = true;\n\t\t\t\t\t\t\t\tif (iterable.onDone) iterable.onDone();\n\t\t\t\t\t\t\t\treturn iteratorResult;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tresult = func.call(source, iteratorResult.value, i);\n\t\t\t\t\t\t\t\tif (result && result.then && async) {\n\t\t\t\t\t\t\t\t\t// if async, wait for promise to resolve before returning iterator result\n\t\t\t\t\t\t\t\t\treturn result.then(\n\t\t\t\t\t\t\t\t\t\t(result) =>\n\t\t\t\t\t\t\t\t\t\t\tresult === SKIP\n\t\t\t\t\t\t\t\t\t\t\t\t? this.next()\n\t\t\t\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: result,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\t\t\tif (options.continueOnRecoverableError)\n\t\t\t\t\t\t\t\t\t\t\t\terror.continueIteration = true;\n\t\t\t\t\t\t\t\t\t\t\treturn this.throw(error);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\t// if the error came from the user function, we can potentially mark it for continuing iteration\n\t\t\t\t\t\t\t\tif (options.continueOnRecoverableError)\n\t\t\t\t\t\t\t\t\terror.continueIteration = true;\n\t\t\t\t\t\t\t\tthrow error; // throw to next catch to handle\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\tif (iterable.handleError) {\n\t\t\t\t\t\t\t\t// if we have handleError, we can use it to further handle errors\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tresult = iterable.handleError(error, i);\n\t\t\t\t\t\t\t\t} catch (error2) {\n\t\t\t\t\t\t\t\t\treturn this.throw(error2);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else return this.throw(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t} while (result === SKIP);\n\t\t\t\t\tif (result === DONE) {\n\t\t\t\t\t\treturn this.return();\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: result,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\treturn(value) {\n\t\t\t\t\tif (!this.done) {\n\t\t\t\t\t\tRETURN_DONE.value = value;\n\t\t\t\t\t\tthis.done = true;\n\t\t\t\t\t\tif (iterable.onDone) iterable.onDone();\n\t\t\t\t\t\titerator.return?.();\n\t\t\t\t\t}\n\t\t\t\t\treturn RETURN_DONE;\n\t\t\t\t},\n\t\t\t\tthrow(error) {\n\t\t\t\t\tif (error.continueIteration) {\n\t\t\t\t\t\t// if it's a recoverable error, we can return or throw without closing the iterator\n\t\t\t\t\t\tif (iterable.returnRecoverableErrors)\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: iterable.returnRecoverableErrors(error),\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\t// if this throws, we need to go back to closing the iterator\n\t\t\t\t\t\t\t\tthis.return();\n\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\tif (options.continueOnRecoverableError) throw error; // throw without closing iterator\n\t\t\t\t\t}\n\t\t\t\t\t// else we are done with the iterator (and can throw)\n\t\t\t\t\tthis.return();\n\t\t\t\t\tthrow error;\n\t\t\t\t},\n\t\t\t};\n\t\t};\n\t\treturn iterable;\n\t}\n\t[Symbol.asyncIterator](options) {\n\t\tif (options) options = { ...options, async: true };\n\t\telse options = { async: true };\n\t\treturn (this.iterator = this.iterate(options));\n\t}\n\t[Symbol.iterator](options) {\n\t\treturn (this.iterator = this.iterate(options));\n\t}\n\tfilter(func) {\n\t\tlet iterable = this.map((element) => {\n\t\t\tlet result = func(element);\n\t\t\t// handle promise\n\t\t\tif (result?.then)\n\t\t\t\treturn result.then((result) => (result ? element : SKIP));\n\t\t\telse return result ? element : SKIP;\n\t\t});\n\t\tlet iterate = iterable.iterate;\n\t\titerable.iterate = (options = NO_OPTIONS) => {\n\t\t\t// explicitly prevent continue on recoverable error with filter\n\t\t\tif (options.continueOnRecoverableError)\n\t\t\t\toptions = { ...options, continueOnRecoverableError: false };\n\t\t\treturn iterate(options);\n\t\t};\n\t\treturn iterable;\n\t}\n\n\tforEach(callback) {\n\t\tlet iterator = (this.iterator = this.iterate());\n\t\tlet result;\n\t\twhile ((result = iterator.next()).done !== true) {\n\t\t\tcallback(result.value);\n\t\t}\n\t}\n\tconcat(secondIterable) {\n\t\tlet concatIterable = new ExtendedIterable();\n\t\tconcatIterable.iterate = (options = NO_OPTIONS) => {\n\t\t\tlet iterator = (this.iterator = this.iterate(options));\n\t\t\tlet isFirst = true;\n\t\t\tfunction iteratorDone(result) {\n\t\t\t\tif (isFirst) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tisFirst = false;\n\t\t\t\t\t\titerator =\n\t\t\t\t\t\t\tsecondIterable[\n\t\t\t\t\t\t\t\toptions.async ? Symbol.asyncIterator : Symbol.iterator\n\t\t\t\t\t\t\t]();\n\t\t\t\t\t\tresult = iterator.next();\n\t\t\t\t\t\tif (concatIterable.onDone) {\n\t\t\t\t\t\t\tif (result.then) {\n\t\t\t\t\t\t\t\tif (!options.async)\n\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t'Can not synchronously iterate with promises as iterator results',\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tresult.then(\n\t\t\t\t\t\t\t\t\t(result) => {\n\t\t\t\t\t\t\t\t\t\tif (result.done()) concatIterable.onDone();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\t\tthis.return();\n\t\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else if (result.done) concatIterable.onDone();\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tthis.throw(error);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (concatIterable.onDone) concatIterable.onDone();\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tnext() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet result = iterator.next();\n\t\t\t\t\t\tif (result.then) {\n\t\t\t\t\t\t\tif (!options.async)\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t'Can not synchronously iterate with promises as iterator results',\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn result.then((result) => {\n\t\t\t\t\t\t\t\tif (result.done) return iteratorDone(result);\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (result.done) return iteratorDone(result);\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tthis.throw(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\treturn(value) {\n\t\t\t\t\tif (!this.done) {\n\t\t\t\t\t\tRETURN_DONE.value = value;\n\t\t\t\t\t\tthis.done = true;\n\t\t\t\t\t\tif (concatIterable.onDone) concatIterable.onDone();\n\t\t\t\t\t\titerator.return();\n\t\t\t\t\t}\n\t\t\t\t\treturn RETURN_DONE;\n\t\t\t\t},\n\t\t\t\tthrow(error) {\n\t\t\t\t\tif (options.continueOnRecoverableError) throw error;\n\t\t\t\t\tthis.return();\n\t\t\t\t\tthrow error;\n\t\t\t\t},\n\t\t\t};\n\t\t};\n\t\treturn concatIterable;\n\t}\n\n\tflatMap(callback) {\n\t\tlet mappedIterable = new ExtendedIterable();\n\t\tmappedIterable.iterate = (options = NO_OPTIONS) => {\n\t\t\tlet iterator = (this.iterator = this.iterate(options));\n\t\t\tlet isFirst = true;\n\t\t\tlet currentSubIterator;\n\t\t\treturn {\n\t\t\t\tnext(resolvedResult) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tif (currentSubIterator) {\n\t\t\t\t\t\t\t\tlet result;\n\t\t\t\t\t\t\t\tif (resolvedResult) {\n\t\t\t\t\t\t\t\t\tresult = resolvedResult;\n\t\t\t\t\t\t\t\t\tresolvedResult = undefined;\n\t\t\t\t\t\t\t\t} else result = currentSubIterator.next();\n\t\t\t\t\t\t\t\tif (result.then) {\n\t\t\t\t\t\t\t\t\tif (!options.async)\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'Can not synchronously iterate with promises as iterator results',\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn result.then((result) => this.next(result));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!result.done) {\n\t\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet result;\n\t\t\t\t\t\t\tif (resolvedResult != undefined) {\n\t\t\t\t\t\t\t\tresult = resolvedResult;\n\t\t\t\t\t\t\t\tresolvedResult = undefined;\n\t\t\t\t\t\t\t} else result = iterator.next();\n\t\t\t\t\t\t\tif (result.then) {\n\t\t\t\t\t\t\t\tif (!options.async)\n\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t'Can not synchronously iterate with promises as iterator results',\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tcurrentSubIterator = undefined;\n\t\t\t\t\t\t\t\treturn result.then((result) => this.next(result));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (result.done) {\n\t\t\t\t\t\t\t\tif (mappedIterable.onDone) mappedIterable.onDone();\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tlet value = callback(result.value);\n\t\t\t\t\t\t\t\tif (value?.then) {\n\t\t\t\t\t\t\t\t\tif (!options.async)\n\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t'Can not synchronously iterate with promises as iterator results',\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn value.then(\n\t\t\t\t\t\t\t\t\t\t(value) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tArray.isArray(value) ||\n\t\t\t\t\t\t\t\t\t\t\t\tvalue instanceof ExtendedIterable\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentSubIterator = value[Symbol.iterator]();\n\t\t\t\t\t\t\t\t\t\t\t\treturn this.next();\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentSubIterator = null;\n\t\t\t\t\t\t\t\t\t\t\t\treturn { value };\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t(error) => {\n\t\t\t\t\t\t\t\t\t\t\tif (options.continueOnRecoverableError)\n\t\t\t\t\t\t\t\t\t\t\t\terror.continueIteration = true;\n\t\t\t\t\t\t\t\t\t\t\tthis.throw(error);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (Array.isArray(value) || value instanceof ExtendedIterable)\n\t\t\t\t\t\t\t\t\tcurrentSubIterator = value[Symbol.iterator]();\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tcurrentSubIterator = null;\n\t\t\t\t\t\t\t\t\treturn { value };\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tif (options.continueOnRecoverableError)\n\t\t\t\t\t\t\t\t\terror.continueIteration = true;\n\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while (true);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tthis.throw(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\treturn() {\n\t\t\t\t\tif (mappedIterable.onDone) mappedIterable.onDone();\n\t\t\t\t\tif (currentSubIterator) currentSubIterator.return();\n\t\t\t\t\treturn iterator.return();\n\t\t\t\t},\n\t\t\t\tthrow(error) {\n\t\t\t\t\tif (options.continueOnRecoverableError) throw error;\n\t\t\t\t\tif (mappedIterable.onDone) mappedIterable.onDone();\n\t\t\t\t\tif (currentSubIterator) currentSubIterator.return();\n\t\t\t\t\tthis.return();\n\t\t\t\t\tthrow error;\n\t\t\t\t},\n\t\t\t};\n\t\t};\n\t\treturn mappedIterable;\n\t}\n\n\tslice(start, end) {\n\t\tlet iterable = this.map((element, i) => {\n\t\t\tif (i < start) return SKIP;\n\t\t\tif (i >= end) {\n\t\t\t\tDONE.value = element;\n\t\t\t\treturn DONE;\n\t\t\t}\n\t\t\treturn element;\n\t\t});\n\t\titerable.handleError = (error, i) => {\n\t\t\tif (i < start) return SKIP;\n\t\t\tif (i >= end) {\n\t\t\t\treturn DONE;\n\t\t\t}\n\t\t\tthrow error;\n\t\t};\n\t\treturn iterable;\n\t}\n\tmapError(catch_callback) {\n\t\tif (typeof catch_callback !== 'function') {\n\t\t\tthrow new TypeError('Expected catch callback to be a function');\n\t\t}\n\t\tlet iterable = this.map((element) => {\n\t\t\treturn element;\n\t\t});\n\t\tlet iterate = iterable.iterate;\n\t\titerable.iterate = (options = NO_OPTIONS) => {\n\t\t\t// we need to ensure the whole stack\n\t\t\t// of iterables is set up to handle recoverable errors and continue iteration\n\t\t\treturn iterate({ ...options, continueOnRecoverableError: true });\n\t\t};\n\t\titerable.returnRecoverableErrors = catch_callback;\n\t\treturn iterable;\n\t}\n\tnext() {\n\t\tif (!this.iterator) this.iterator = this.iterate();\n\t\treturn this.iterator.next();\n\t}\n\ttoJSON() {\n\t\tif (this.asArray && this.asArray.forEach) {\n\t\t\treturn this.asArray;\n\t\t}\n\t\tconst error = new Error(\n\t\t\t'Can not serialize async iterables without first calling resolving asArray',\n\t\t);\n\t\terror.resolution = this.asArray;\n\t\tthrow error;\n\t\t//return Array.from(this)\n\t}\n\tget asArray() {\n\t\tif (this._asArray) return this._asArray;\n\t\tlet promise = new Promise((resolve, reject) => {\n\t\t\tlet iterator = this.iterate(true);\n\t\t\tlet array = [];\n\t\t\tlet iterable = this;\n\t\t\tObject.defineProperty(array, 'iterable', { value: iterable });\n\t\t\tfunction next(result) {\n\t\t\t\twhile (result.done !== true) {\n\t\t\t\t\tif (result.then) {\n\t\t\t\t\t\treturn result.then(next);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tarray.push(result.value);\n\t\t\t\t\t}\n\t\t\t\t\tresult = iterator.next();\n\t\t\t\t}\n\t\t\t\tresolve((iterable._asArray = array));\n\t\t\t}\n\t\t\tnext(iterator.next());\n\t\t});\n\t\tpromise.iterable = this;\n\t\treturn this._asArray || (this._asArray = promise);\n\t}\n\tresolveData() {\n\t\treturn this.asArray;\n\t}\n\tat(index) {\n\t\tfor (let entry of this) {\n\t\t\tif (index-- === 0) return entry;\n\t\t}\n\t}\n}\nExtendedIterable.prototype.DONE = DONE;\n"],"names":[],"mappings":"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"}
+4
-2
{
"name": "@harperfast/extended-iterable",
"author": "Harper",
"version": "1.0.2",
"version": "1.0.3",
"description": "Extended iterable class, providing lazy array-like methods with automatic async and return/throw forwarding",

@@ -29,3 +29,5 @@ "license": "Apache-2.0",

"./index.js",
"./index.d.ts"
"./index.d.ts",
"./dist/index.cjs",
"./dist/index.cjs.map"
],

@@ -32,0 +34,0 @@ "devDependencies": {