@ts-fns/stdlib 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array/index.cjs +230 -33
- package/dist/array/index.cjs.map +1 -1
- package/dist/array/index.d.cts +434 -32
- package/dist/array/index.d.cts.map +1 -1
- package/dist/array/index.d.mts +434 -32
- package/dist/array/index.d.mts.map +1 -1
- package/dist/array/index.mjs +216 -18
- package/dist/array/index.mjs.map +1 -1
- package/dist/function/index.cjs +4 -2
- package/dist/function/index.d.cts +128 -13
- package/dist/function/index.d.cts.map +1 -1
- package/dist/function/index.d.mts +128 -13
- package/dist/function/index.d.mts.map +1 -1
- package/dist/function/index.mjs +3 -3
- package/dist/{function-DnI2v0p3.mjs → function-CYHPhQCQ.mjs} +84 -6
- package/dist/function-CYHPhQCQ.mjs.map +1 -0
- package/dist/{function-CB82a2GS.cjs → function-DYPifnmg.cjs} +95 -5
- package/dist/function-DYPifnmg.cjs.map +1 -0
- package/dist/{get-yrs1Kqho.cjs → get-1kqkxPFX.cjs} +20 -8
- package/dist/get-1kqkxPFX.cjs.map +1 -0
- package/dist/{get-CWL_cu6G.mjs → get-Dv6ejLZg.mjs} +21 -3
- package/dist/get-Dv6ejLZg.mjs.map +1 -0
- package/dist/guard/index.cjs +5 -12
- package/dist/guard/index.cjs.map +1 -1
- package/dist/guard/index.d.cts +18 -17
- package/dist/guard/index.d.cts.map +1 -1
- package/dist/guard/index.d.mts +18 -17
- package/dist/guard/index.d.mts.map +1 -1
- package/dist/guard/index.mjs +4 -12
- package/dist/guard/index.mjs.map +1 -1
- package/dist/index-MbdqaUt1.d.cts +54 -0
- package/dist/index-MbdqaUt1.d.cts.map +1 -0
- package/dist/index-k-paNOu4.d.mts +54 -0
- package/dist/index-k-paNOu4.d.mts.map +1 -0
- package/dist/iterator/index.cjs +72 -26
- package/dist/iterator/index.cjs.map +1 -1
- package/dist/iterator/index.d.cts +157 -5
- package/dist/iterator/index.d.cts.map +1 -1
- package/dist/iterator/index.d.mts +157 -5
- package/dist/iterator/index.d.mts.map +1 -1
- package/dist/iterator/index.mjs +66 -24
- package/dist/iterator/index.mjs.map +1 -1
- package/dist/lens/index.cjs +3 -3
- package/dist/lens/index.cjs.map +1 -1
- package/dist/lens/index.mjs +3 -3
- package/dist/lens/index.mjs.map +1 -1
- package/dist/map/index.cjs +88 -1
- package/dist/map/index.cjs.map +1 -1
- package/dist/map/index.d.cts +130 -2
- package/dist/map/index.d.cts.map +1 -1
- package/dist/map/index.d.mts +130 -2
- package/dist/map/index.d.mts.map +1 -1
- package/dist/map/index.mjs +86 -2
- package/dist/map/index.mjs.map +1 -1
- package/dist/number/index.cjs +91 -18
- package/dist/number/index.cjs.map +1 -1
- package/dist/number/index.d.cts +134 -19
- package/dist/number/index.d.cts.map +1 -1
- package/dist/number/index.d.mts +134 -19
- package/dist/number/index.d.mts.map +1 -1
- package/dist/number/index.mjs +91 -18
- package/dist/number/index.mjs.map +1 -1
- package/dist/object/index.cjs +111 -7
- package/dist/object/index.cjs.map +1 -1
- package/dist/object/index.d.cts +186 -26
- package/dist/object/index.d.cts.map +1 -1
- package/dist/object/index.d.mts +186 -26
- package/dist/object/index.d.mts.map +1 -1
- package/dist/object/index.mjs +111 -7
- package/dist/object/index.mjs.map +1 -1
- package/dist/orNull-CJNrTjhQ.cjs +45 -0
- package/dist/orNull-CJNrTjhQ.cjs.map +1 -0
- package/dist/orNull-EeXiCxD4.mjs +34 -0
- package/dist/orNull-EeXiCxD4.mjs.map +1 -0
- package/dist/order/index.cjs +22 -1
- package/dist/order/index.cjs.map +1 -1
- package/dist/order/index.d.cts +2 -2
- package/dist/order/index.d.mts +2 -2
- package/dist/order/index.mjs +22 -1
- package/dist/order/index.mjs.map +1 -1
- package/dist/{order.constants-BWSCg3C7.d.cts → order.constants-DpGY-EDp.d.cts} +4 -1
- package/dist/order.constants-DpGY-EDp.d.cts.map +1 -0
- package/dist/{order.constants-BWSCg3C7.d.mts → order.constants-DpGY-EDp.d.mts} +4 -1
- package/dist/order.constants-DpGY-EDp.d.mts.map +1 -0
- package/dist/purry-DXnhXie9.mjs +22 -0
- package/dist/purry-DXnhXie9.mjs.map +1 -0
- package/dist/purry-Dqp_F64t.cjs +27 -0
- package/dist/purry-Dqp_F64t.cjs.map +1 -0
- package/dist/set/index.cjs +59 -1
- package/dist/set/index.cjs.map +1 -1
- package/dist/set/index.d.cts +151 -2
- package/dist/set/index.d.cts.map +1 -1
- package/dist/set/index.d.mts +151 -2
- package/dist/set/index.d.mts.map +1 -1
- package/dist/set/index.mjs +59 -2
- package/dist/set/index.mjs.map +1 -1
- package/dist/string/index.cjs +289 -15
- package/dist/string/index.cjs.map +1 -1
- package/dist/string/index.d.cts +406 -1
- package/dist/string/index.d.cts.map +1 -1
- package/dist/string/index.d.mts +406 -1
- package/dist/string/index.d.mts.map +1 -1
- package/dist/string/index.mjs +271 -4
- package/dist/string/index.mjs.map +1 -1
- package/dist/tuple/index.cjs +20 -21
- package/dist/tuple/index.cjs.map +1 -1
- package/dist/tuple/index.d.cts +27 -58
- package/dist/tuple/index.d.cts.map +1 -1
- package/dist/tuple/index.d.mts +27 -58
- package/dist/tuple/index.d.mts.map +1 -1
- package/dist/tuple/index.mjs +20 -22
- package/dist/tuple/index.mjs.map +1 -1
- package/package.json +5 -6
- package/dist/function-CB82a2GS.cjs.map +0 -1
- package/dist/function-DnI2v0p3.mjs.map +0 -1
- package/dist/get-CWL_cu6G.mjs.map +0 -1
- package/dist/get-yrs1Kqho.cjs.map +0 -1
- package/dist/index-BJlKyBJH.d.cts +0 -18
- package/dist/index-BJlKyBJH.d.cts.map +0 -1
- package/dist/index-DGrnGMDt.d.mts +0 -18
- package/dist/index-DGrnGMDt.d.mts.map +0 -1
- package/dist/isNotNil-DrF-ohem.cjs +0 -28
- package/dist/isNotNil-DrF-ohem.cjs.map +0 -1
- package/dist/isNotNil-R5f1hC53.mjs +0 -23
- package/dist/isNotNil-R5f1hC53.mjs.map +0 -1
- package/dist/orThrow-V91Jw2lF.mjs +0 -15
- package/dist/orThrow-V91Jw2lF.mjs.map +0 -1
- package/dist/orThrow-ejzcQYAI.cjs +0 -20
- package/dist/orThrow-ejzcQYAI.cjs.map +0 -1
- package/dist/order.constants-BWSCg3C7.d.cts.map +0 -1
- package/dist/order.constants-BWSCg3C7.d.mts.map +0 -1
- package/dist/purry-B2_0DGLV.cjs +0 -28
- package/dist/purry-B2_0DGLV.cjs.map +0 -1
- package/dist/purry-BOWmqwDB.mjs +0 -23
- package/dist/purry-BOWmqwDB.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["purry","purry","purry","purry","purry","purry","isNotNil","purry","purry","purry","purry"],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/guard/orNull.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts"],"sourcesContent":["// TODO: look into this eslint error\n// eslint-disable-next-line @typescript-eslint/unbound-method\nexport const { from } = Iterator;\n","import { purry } from '../function/purry';\n\nfunction dropImplementation<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined> {\n try {\n return iter.drop(limit);\n } catch (e) {\n if (e instanceof RangeError) {\n throw new RangeError(`Iter.drop() :: ${e.message}`);\n }\n throw e;\n }\n}\n\n/**\n * @throws {RangeError}\n */\nexport function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;\nexport function drop(...args: readonly unknown[]): unknown {\n return purry(dropImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction everyImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => unknown,\n): boolean {\n return data.every(predicate);\n}\n\nexport function every<T>(\n predicate: (value: T, index: number) => unknown,\n): (data: IteratorObject<T, any, any>) => boolean;\nexport function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;\nexport function every(...args: readonly unknown[]): unknown {\n return purry(everyImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction filterImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): IteratorObject<T, undefined> {\n return data.filter(predicate);\n}\n\nexport function filter<T, S extends T>(\n predicate: (value: T, index: number) => value is S,\n): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;\nexport function filter<T>(\n predicate: (value: T, index: number) => boolean,\n): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function filter<T, S extends T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => value is S,\n): IteratorObject<S, undefined>;\nexport function filter<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): IteratorObject<T, undefined>;\nexport function filter(...args: readonly unknown[]): unknown {\n return purry(filterImplementation, args);\n}\n","/**\n * Normalize nullish values to `null`, leaving all other values unchanged.\n * Equivalent to `value ?? null`.\n *\n * @category Guard\n * @param value - A value that may be `null` or `undefined`.\n * @returns `null` when `value` is `null` or `undefined`; otherwise `value` with `null` and `undefined` removed from its type.\n *\n * @example\n * ```ts\n * orNull(0); // 0\n * orNull(undefined); // null\n * orNull(null); // null\n * ```\n */\nexport function orNull<T>(value: T | null | undefined): NonNullable<T> | null {\n return value ?? null;\n}\n","import { purry } from '../function/purry';\nimport { orNull } from '../guard/orNull';\n\nfunction findImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): T | null {\n return orNull(data.find(predicate));\n}\n\nexport function find<T, S extends T>(\n predicate: (value: T, index: number) => value is S,\n): (data: IteratorObject<T, any, any>) => S | null;\nexport function find<T>(\n predicate: (value: T, index: number) => boolean,\n): (data: IteratorObject<T, any, any>) => T | null;\nexport function find<T, S extends T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => value is S,\n): S | null;\nexport function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;\nexport function find(...args: readonly unknown[]): unknown {\n return purry(findImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction flatMapImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): IteratorObject<U, undefined> {\n return data.flatMap(fn);\n}\n\nexport function flatMap<T, U>(\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;\nexport function flatMap<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): IteratorObject<U, undefined>;\nexport function flatMap(...args: readonly unknown[]): unknown {\n return purry(flatMapImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => U,\n): IteratorObject<U, undefined> {\n return data.map(fn);\n}\n\nexport function map<T, U>(\n fn: (value: T, index: number) => U,\n): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;\nexport function map<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => U,\n): IteratorObject<U, undefined>;\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","import { purry } from '../function/purry';\nimport { isNotNil } from '../guard/isNotNil';\n\n// Take from https://github.com/tc39/proposal-iterator.range/blob/main/global.d.ts\ntype Infinity = number;\ninterface NumericRangeOptions<T extends bigint | number> {\n inclusive?: boolean;\n step?: T;\n}\n\nfunction rangeWithOptsImplementation<T extends bigint | number>(\n start: T,\n end: Infinity | T,\n option: NumericRangeOptions<T>,\n): IteratorObject<T, undefined> {\n if (start === Infinity || start === -Infinity) {\n throw new RangeError(`range() start argument cannot be ${start}`);\n }\n if (Number.isNaN(start)) {\n throw new RangeError(`range() start argument cannot be NaN`);\n }\n if (Number.isNaN(end)) {\n throw new RangeError(`range() end argument cannot be NaN`);\n }\n if (typeof start === 'bigint' && isNotNil(option.step) && typeof option.step !== 'bigint') {\n throw new RangeError(`range() option.step argument must be of the same type as start`);\n }\n if (isNotNil(option.step) && option.step <= 0) {\n if (option.step < 1) {\n throw new RangeError(`Arr.range() :: ${option.step} must be a positive integer`);\n }\n }\n\n const { inclusive = false } = option;\n // typescript cannot correctly narrow that step will always be `T`\n const step = option.step ?? ((typeof start === 'bigint' ? 1n : 1) as unknown as T);\n const isIncreasing = start < end;\n\n // @ts-expect-error - not sure what's going on with the type issues\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands, @typescript-eslint/no-unsafe-return\n const changeFunc = start < end ? (value: T): T => value + step : (value: T): T => value - step;\n const endCondition = (() => {\n if (isIncreasing && inclusive) return (value: T) => value <= end;\n if (isIncreasing && !inclusive) return (value: T) => value < end;\n if (!isIncreasing && inclusive) return (value: T) => value >= end;\n // if (!isIncreasing && !inclusive)\n return (value: T) => value > end;\n })();\n\n const gen = function* () {\n let current = start;\n while (endCondition(current)) {\n yield current;\n current = changeFunc(current);\n }\n return undefined;\n };\n\n return gen();\n}\n\nfunction rangeImplementation<T extends bigint | number>(start: T, end: Infinity | T): IteratorObject<T, undefined> {\n return rangeWithOptsImplementation(start, end, {});\n}\n\n/**\n * @throws {RangeError}\n */\nexport function range(end: Infinity | bigint): {\n (start: bigint): IteratorObject<bigint, undefined>;\n (start: number): IteratorObject<number, undefined>;\n};\nexport function range<T extends bigint | number>(start: T, end: Infinity | T): IteratorObject<T, undefined>;\nexport function range(...args: unknown[]): unknown {\n return purry(rangeImplementation, args);\n}\n\n/**\n * @throws {RangeError}\n */\nexport function rangeWithOpts<T extends bigint | number>(\n end: Infinity | bigint,\n option: NumericRangeOptions<T>,\n): (start: T) => IteratorObject<T, undefined>;\nexport function rangeWithOpts<T extends bigint | number>(\n start: T,\n end: Infinity | T,\n option: NumericRangeOptions<T>,\n): IteratorObject<T, undefined>;\nexport function rangeWithOpts(...args: unknown[]): unknown {\n return purry(rangeWithOptsImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduceImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): U {\n return data.reduce(fn, initialValue);\n}\n\nexport function reduce<T, U>(\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): (data: IteratorObject<T, any, any>) => U;\nexport function reduce<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): U;\nexport function reduce(...args: readonly unknown[]): unknown {\n return purry(reduceImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction someImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => unknown,\n): boolean {\n return data.some(predicate);\n}\n\nexport function some<T>(\n predicate: (value: T, index: number) => unknown,\n): (data: IteratorObject<T, any, any>) => boolean;\nexport function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;\nexport function some(...args: readonly unknown[]): unknown {\n return purry(someImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction takeImplementation<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined> {\n try {\n return iter.take(limit);\n } catch (e) {\n if (e instanceof RangeError) {\n throw new RangeError(`Iter.take() :: ${e.message}`);\n }\n throw e;\n }\n}\n\n/**\n * @throws {RangerError}\n */\nexport function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;\nexport function take(...args: readonly unknown[]): unknown {\n return purry(takeImplementation, args);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["purry","purry","purry","orNull","purry","purry","purry","purry","isNotNil","purry","purry","purry","purry","purry","purry"],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/forEach.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts","../../src/iterator/unique.ts","../../src/iterator/uniqueBy.ts","../../src/iterator/uniqueWith.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-destructuring */\n\n/**\n * Creates an iterator from an iterable or iterator object.\n * @function\n */\n// TODO: look into this eslint error\n// eslint-disable-next-line @typescript-eslint/unbound-method\nexport const from = Iterator.from;\n","import { purry } from '../function/purry';\n\nfunction dropImplementation<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined> {\n try {\n return iter.drop(limit);\n } catch (e) {\n if (e instanceof RangeError) {\n throw new RangeError(`Iter.drop() :: ${e.message}`);\n }\n throw e;\n }\n}\n\n/**\n * Returns an iterator with the first `limit` elements skipped.\n *\n * @example\n * ```ts\n * drop([1, 2, 3, 4].values(), 2).toArray(); // [3, 4]\n * drop(1)([1, 2, 3, 4].values()).toArray(); // [2, 3, 4]\n * ```\n */\nexport function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;\nexport function drop(...args: readonly unknown[]): unknown {\n return purry(dropImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction everyImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => unknown,\n): boolean {\n return data.every(predicate);\n}\n\n/**\n * Tests whether every element satisfies a predicate.\n *\n * @example\n * ```ts\n * every([2, 4, 6].values(), n => n % 2 === 0); // true\n * every(n => n > 0)([1, 2, 3].values()); // true\n * ```\n */\nexport function every<T>(\n predicate: (value: T, index: number) => unknown,\n): (data: IteratorObject<T, any, any>) => boolean;\nexport function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;\nexport function every(...args: readonly unknown[]): unknown {\n return purry(everyImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction filterImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): IteratorObject<T, undefined> {\n return data.filter(predicate);\n}\n\n/**\n * Keeps the elements that satisfy a predicate.\n *\n * @example\n * ```ts\n * filter([1, 2, 3, 4].values(), n => n % 2 === 0).toArray(); // [2, 4]\n * filter(n => n > 2)([1, 2, 3, 4].values()).toArray(); // [3, 4]\n * ```\n */\nexport function filter<T, S extends T>(\n predicate: (value: T, index: number) => value is S,\n): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;\nexport function filter<T>(\n predicate: (value: T, index: number) => boolean,\n): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function filter<T, S extends T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => value is S,\n): IteratorObject<S, undefined>;\nexport function filter<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): IteratorObject<T, undefined>;\nexport function filter(...args: readonly unknown[]): unknown {\n return purry(filterImplementation, args);\n}\n","import { purry } from '../function/purry';\nimport { orNull } from '../guard/orNull';\n\nfunction findImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => boolean,\n): T | null {\n return orNull(data.find(predicate));\n}\n\n/**\n * Returns the first element that satisfies a predicate.\n * Returns `null` when no element matches.\n *\n * @example\n * ```ts\n * find([1, 2, 3].values(), n => n > 1); // 2\n * find(n => n > 1)([1, 2, 3].values()); // 2\n * find([1, 2, 3].values(), n => n > 10); // null\n * ```\n */\nexport function find<T, S extends T>(\n predicate: (value: T, index: number) => value is S,\n): (data: IteratorObject<T, any, any>) => S | null;\nexport function find<T>(\n predicate: (value: T, index: number) => boolean,\n): (data: IteratorObject<T, any, any>) => T | null;\nexport function find<T, S extends T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => value is S,\n): S | null;\nexport function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;\nexport function find(...args: readonly unknown[]): unknown {\n return purry(findImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction flatMapImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): IteratorObject<U, undefined> {\n return data.flatMap(fn);\n}\n\n/**\n * Maps each element to an iterable and flattens the result by one level.\n *\n * @example\n * ```ts\n * flatMap([1, 2, 3].values(), n => [n, n * 10]).toArray(); // [1, 10, 2, 20, 3, 30]\n * flatMap(n => [n, n * 10])([1, 2, 3].values()).toArray(); // [1, 10, 2, 20, 3, 30]\n * ```\n */\nexport function flatMap<T, U>(\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;\nexport function flatMap<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>,\n): IteratorObject<U, undefined>;\nexport function flatMap(...args: readonly unknown[]): unknown {\n return purry(flatMapImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => void,\n): IteratorObject<T, undefined> {\n return data.map((value, index) => {\n fn(value, index);\n return value;\n });\n}\n\n/**\n * Runs a callback for each element and returns an iterator with the same values.\n *\n * @example\n * ```ts\n * forEach([1, 2, 3].values(), n => console.log(n)).toArray(); // [1, 2, 3]\n * forEach(n => console.log(n))([1, 2, 3].values()).toArray(); // [1, 2, 3]\n * ```\n */\nexport function forEach<T>(\n fn: (value: T, index: number) => void,\n): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function forEach<T>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => void,\n): IteratorObject<T, undefined>;\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => U,\n): IteratorObject<U, undefined> {\n return data.map(fn);\n}\n\n/**\n * Transforms each element with a callback.\n *\n * @example\n * ```ts\n * map([1, 2, 3].values(), n => n * 2).toArray(); // [2, 4, 6]\n * map(n => n * 2)([1, 2, 3].values()).toArray(); // [2, 4, 6]\n * ```\n */\nexport function map<T, U>(\n fn: (value: T, index: number) => U,\n): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;\nexport function map<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (value: T, index: number) => U,\n): IteratorObject<U, undefined>;\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","import { purry } from '../function/purry';\nimport { isNotNil } from '../guard/isNotNil';\n\n// Take from https://github.com/tc39/proposal-iterator.range/blob/main/global.d.ts\ntype Infinity = number;\ninterface NumericRangeOptions<T extends bigint | number> {\n inclusive?: boolean;\n step?: T;\n}\n\nfunction rangeWithOptsImplementation<T extends bigint | number>(\n start: T,\n end: Infinity | T,\n option: NumericRangeOptions<T>,\n): IteratorObject<T, undefined> {\n if (start === Infinity || start === -Infinity) {\n throw new RangeError(`range() start argument cannot be ${start}`);\n }\n if (Number.isNaN(start)) {\n throw new RangeError(`range() start argument cannot be NaN`);\n }\n if (Number.isNaN(end)) {\n throw new RangeError(`range() end argument cannot be NaN`);\n }\n if (typeof start === 'bigint' && isNotNil(option.step) && typeof option.step !== 'bigint') {\n throw new RangeError(`range() option.step argument must be of the same type as start`);\n }\n if (isNotNil(option.step) && option.step <= 0) {\n if (option.step < 1) {\n throw new RangeError(`Arr.range() :: ${option.step} must be a positive integer`);\n }\n }\n\n const { inclusive = false } = option;\n // typescript cannot correctly narrow that step will always be `T`\n const step = option.step ?? ((typeof start === 'bigint' ? 1n : 1) as unknown as T);\n const isIncreasing = start < end;\n\n // @ts-expect-error - not sure what's going on with the type issues\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands, @typescript-eslint/no-unsafe-return\n const changeFunc = start < end ? (value: T): T => value + step : (value: T): T => value - step;\n const endCondition = (() => {\n if (isIncreasing && inclusive) return (value: T) => value <= end;\n if (isIncreasing && !inclusive) return (value: T) => value < end;\n if (!isIncreasing && inclusive) return (value: T) => value >= end;\n // if (!isIncreasing && !inclusive)\n return (value: T) => value > end;\n })();\n\n const gen = function* () {\n let current = start;\n while (endCondition(current)) {\n yield current;\n current = changeFunc(current);\n }\n return undefined;\n };\n\n return gen();\n}\n\nfunction rangeImplementation<T extends bigint | number>(start: T, end: Infinity | T): IteratorObject<T, undefined> {\n return rangeWithOptsImplementation(start, end, {});\n}\n\n/**\n * Creates an iterator over a numeric range from `start` up to, but not including, `end`.\n * When only one argument is given, it is treated as `end` with `start` defaulting to `0`.\n * Throws when `start` or `end` is invalid (for example `Infinity`, `-Infinity`, or `NaN`).\n *\n * @example\n * ```ts\n * range(1, 4).toArray(); // [1, 2, 3]\n * range(4).toArray(); // [0, 1, 2, 3]\n * range(1n, 4n).toArray(); // [1n, 2n, 3n]\n * ```\n */\nexport function range(end: Infinity | bigint): {\n (start: bigint): IteratorObject<bigint, undefined>;\n (start: number): IteratorObject<number, undefined>;\n};\nexport function range<T extends bigint | number>(start: T, end: Infinity | T): IteratorObject<T, undefined>;\nexport function range(...args: unknown[]): unknown {\n return purry(rangeImplementation, args);\n}\n\n/**\n * Like `range`, but accepts options for an inclusive end and a custom step size.\n * Throws when arguments are invalid or when `step` is not a positive value of the same type as `start`.\n *\n * @example\n * ```ts\n * rangeWithOpts(1, 4, { inclusive: true }).toArray(); // [1, 2, 3, 4]\n * rangeWithOpts(0, 4, { step: 2 }).toArray(); // [0, 2]\n * rangeWithOpts(1, 4, { inclusive: true, step: 2n }).toArray(); // [1n, 3n]\n * ```\n */\nexport function rangeWithOpts<T extends bigint | number>(\n end: Infinity | bigint,\n option: NumericRangeOptions<T>,\n): (start: T) => IteratorObject<T, undefined>;\nexport function rangeWithOpts<T extends bigint | number>(\n start: T,\n end: Infinity | T,\n option: NumericRangeOptions<T>,\n): IteratorObject<T, undefined>;\nexport function rangeWithOpts(...args: unknown[]): unknown {\n return purry(rangeWithOptsImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduceImplementation<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): U {\n return data.reduce(fn, initialValue);\n}\n\n/**\n * Reduces an iterator to a single value using an initial accumulator.\n *\n * @example\n * ```ts\n * reduce([1, 2, 3].values(), (acc, n) => acc + n, 0); // 6\n * reduce((acc, n) => acc + n, 0)([1, 2, 3].values()); // 6\n * ```\n */\nexport function reduce<T, U>(\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): (data: IteratorObject<T, any, any>) => U;\nexport function reduce<T, U>(\n data: IteratorObject<T, any, any>,\n fn: (previousValue: U, currentValue: T, currentIndex: number) => U,\n initialValue: U,\n): U;\nexport function reduce(...args: readonly unknown[]): unknown {\n return purry(reduceImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction someImplementation<T>(\n data: IteratorObject<T, any, any>,\n predicate: (value: T, index: number) => unknown,\n): boolean {\n return data.some(predicate);\n}\n\n/**\n * Tests whether at least one element satisfies a predicate.\n *\n * @example\n * ```ts\n * some([1, 2, 3].values(), n => n > 2); // true\n * some(n => n > 2)([1, 2, 3].values()); // true\n * ```\n */\nexport function some<T>(\n predicate: (value: T, index: number) => unknown,\n): (data: IteratorObject<T, any, any>) => boolean;\nexport function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;\nexport function some(...args: readonly unknown[]): unknown {\n return purry(someImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction takeImplementation<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined> {\n try {\n return iter.take(limit);\n } catch (e) {\n if (e instanceof RangeError) {\n throw new RangeError(`Iter.take() :: ${e.message}`);\n }\n throw e;\n }\n}\n\n/**\n * Returns an iterator with at most the first `limit` elements.\n *\n * @example\n * ```ts\n * take([1, 2, 3, 4].values(), 2).toArray(); // [1, 2]\n * take(3)([1, 2, 3, 4].values()).toArray(); // [1, 2, 3]\n * ```\n */\nexport function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;\nexport function take(...args: readonly unknown[]): unknown {\n return purry(takeImplementation, args);\n}\n","/**\n * Returns an iterator with duplicate values removed.\n * Keeps the first occurrence of each value.\n *\n * @example\n * ```ts\n * unique([1, 2, 2, 3].values()).toArray(); // [1, 2, 3]\n * unique([].values()).toArray(); // []\n * ```\n */\nexport function unique<T>(data: IteratorObject<T, any, any>): IteratorObject<T, undefined> {\n const set = new Set<T>();\n return data.filter(value => {\n if (set.has(value)) return false;\n set.add(value);\n return true;\n });\n}\n","import { purry } from '../function/purry';\n\nfunction uniqueByImplementation<T>(\n data: IteratorObject<T, any, any>,\n mapFn: (value: T) => unknown,\n): IteratorObject<T, undefined> {\n const set = new Set<unknown>();\n return data.filter(value => {\n const key = mapFn(value);\n if (set.has(key)) return false;\n set.add(key);\n return true;\n });\n}\n\n/**\n * Returns an iterator with duplicates removed by a derived key.\n * Keeps the first occurrence for each key.\n *\n * @example\n * ```ts\n * uniqueBy([{ id: 1 }, { id: 2 }, { id: 1 }].values(), x => x.id).toArray(); // [{ id: 1 }, { id: 2 }]\n * uniqueBy(x => x.id)([{ id: 1 }, { id: 2 }, { id: 1 }].values()).toArray(); // [{ id: 1 }, { id: 2 }]\n * ```\n */\nexport function uniqueBy<T>(\n mapFn: (value: T) => unknown,\n): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function uniqueBy<T>(\n data: IteratorObject<T, any, any>,\n mapFn: (value: T) => unknown,\n): IteratorObject<T, undefined>;\nexport function uniqueBy(...args: unknown[]): unknown {\n return purry(uniqueByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction uniqueWithImplementation<T>(\n data: IteratorObject<T, any, any>,\n isEqual: (left: T, right: T) => boolean,\n): IteratorObject<T, undefined> {\n let indexCounter = 0;\n // eslint-disable-next-line no-plusplus\n const withIndex = data.map(value => [value, indexCounter++] as const);\n\n const filtered = withIndex.filter(([value, index]) => {\n const [, foundIndex] =\n withIndex.find(([otherValue, otherIndex]) => index === otherIndex || isEqual(value, otherValue)) ??\n ([null, -1] as const); // logically this should never happen, but handle it to prevent runtime errors\n\n // only keep if foundIndex is same as current index.\n // Else it means that another entry was found to be isEqual further along in the iteration\n return index === foundIndex;\n });\n\n // remove index\n return filtered.map(([v, _i]) => v);\n}\n\n/**\n * Returns an iterator with duplicates removed using a custom equality function.\n * Keeps the first occurrence of each equivalent value.\n *\n * @example\n * ```ts\n * uniqueWith([1, 1.0, 2].values(), (a, b) => a === b).toArray(); // [1, 2]\n * uniqueWith((a, b) => a === b)([1, 1.0, 2].values()).toArray(); // [1, 2]\n * ```\n */\nexport function uniqueWith<T>(\n isEqual: (left: T, right: T) => boolean,\n): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;\nexport function uniqueWith<T>(\n data: IteratorObject<T, any, any>,\n isEqual: (left: T, right: T) => boolean,\n): IteratorObject<T, undefined>;\nexport function uniqueWith(...args: unknown[]): unknown {\n return purry(uniqueWithImplementation, args);\n}\n"],"mappings":";;;;;;;;AAQA,MAAa,OAAO,SAAS;;;ACN7B,SAAS,mBAAsB,MAAmC,OAA6C;CAC7G,IAAI;EACF,OAAO,KAAK,KAAK,KAAK;CACxB,SAAS,GAAG;EACV,IAAI,aAAa,YACf,MAAM,IAAI,WAAW,kBAAkB,EAAE,SAAS;EAEpD,MAAM;CACR;AACF;AAaA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAOA,cAAAA,MAAM,oBAAoB,IAAI;AACvC;;;ACxBA,SAAS,oBACP,MACA,WACS;CACT,OAAO,KAAK,MAAM,SAAS;AAC7B;AAeA,SAAgB,MAAM,GAAG,MAAmC;CAC1D,OAAOC,cAAAA,MAAM,qBAAqB,IAAI;AACxC;;;ACtBA,SAAS,qBACP,MACA,WAC8B;CAC9B,OAAO,KAAK,OAAO,SAAS;AAC9B;AAyBA,SAAgB,OAAO,GAAG,MAAmC;CAC3D,OAAOC,cAAAA,MAAM,sBAAsB,IAAI;AACzC;;;AC/BA,SAAS,mBACP,MACA,WACU;CACV,OAAOC,eAAAA,OAAO,KAAK,KAAK,SAAS,CAAC;AACpC;AAwBA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAOC,cAAAA,MAAM,oBAAoB,IAAI;AACvC;;;AChCA,SAAS,sBACP,MACA,IAC8B;CAC9B,OAAO,KAAK,QAAQ,EAAE;AACxB;AAkBA,SAAgB,QAAQ,GAAG,MAAmC;CAC5D,OAAOC,cAAAA,MAAM,uBAAuB,IAAI;AAC1C;;;ACzBA,SAAS,sBACP,MACA,IAC8B;CAC9B,OAAO,KAAK,KAAK,OAAO,UAAU;EAChC,GAAG,OAAO,KAAK;EACf,OAAO;CACT,CAAC;AACH;AAkBA,SAAgB,QAAQ,GAAG,MAAmC;CAC5D,OAAOC,cAAAA,MAAM,uBAAuB,IAAI;AAC1C;;;AC5BA,SAAS,kBACP,MACA,IAC8B;CAC9B,OAAO,KAAK,IAAI,EAAE;AACpB;AAkBA,SAAgB,IAAI,GAAG,MAAmC;CACxD,OAAOC,cAAAA,MAAM,mBAAmB,IAAI;AACtC;;;ACjBA,SAAS,4BACP,OACA,KACA,QAC8B;CAC9B,IAAI,UAAU,YAAY,UAAU,WAClC,MAAM,IAAI,WAAW,oCAAoC,OAAO;CAElE,IAAI,OAAO,MAAM,KAAK,GACpB,MAAM,IAAI,WAAW,sCAAsC;CAE7D,IAAI,OAAO,MAAM,GAAG,GAClB,MAAM,IAAI,WAAW,oCAAoC;CAE3D,IAAI,OAAO,UAAU,YAAYC,eAAAA,SAAS,OAAO,IAAI,KAAK,OAAO,OAAO,SAAS,UAC/E,MAAM,IAAI,WAAW,gEAAgE;CAEvF,IAAIA,eAAAA,SAAS,OAAO,IAAI,KAAK,OAAO,QAAQ;MACtC,OAAO,OAAO,GAChB,MAAM,IAAI,WAAW,kBAAkB,OAAO,KAAK,4BAA4B;CAAA;CAInF,MAAM,EAAE,YAAY,UAAU;CAE9B,MAAM,OAAO,OAAO,SAAU,OAAO,UAAU,WAAW,KAAK;CAC/D,MAAM,eAAe,QAAQ;CAI7B,MAAM,aAAa,QAAQ,OAAO,UAAgB,QAAQ,QAAQ,UAAgB,QAAQ;CAC1F,MAAM,sBAAsB;EAC1B,IAAI,gBAAgB,WAAW,QAAQ,UAAa,SAAS;EAC7D,IAAI,gBAAgB,CAAC,WAAW,QAAQ,UAAa,QAAQ;EAC7D,IAAI,CAAC,gBAAgB,WAAW,QAAQ,UAAa,SAAS;EAE9D,QAAQ,UAAa,QAAQ;CAC/B,EAAA,CAAG;CAEH,MAAM,MAAM,aAAa;EACvB,IAAI,UAAU;EACd,OAAO,aAAa,OAAO,GAAG;GAC5B,MAAM;GACN,UAAU,WAAW,OAAO;EAC9B;CAEF;CAEA,OAAO,IAAI;AACb;AAEA,SAAS,oBAA+C,OAAU,KAAiD;CACjH,OAAO,4BAA4B,OAAO,KAAK,CAAC,CAAC;AACnD;AAmBA,SAAgB,MAAM,GAAG,MAA0B;CACjD,OAAOC,cAAAA,MAAM,qBAAqB,IAAI;AACxC;AAsBA,SAAgB,cAAc,GAAG,MAA0B;CACzD,OAAOA,cAAAA,MAAM,6BAA6B,IAAI;AAChD;;;AC1GA,SAAS,qBACP,MACA,IACA,cACG;CACH,OAAO,KAAK,OAAO,IAAI,YAAY;AACrC;AAoBA,SAAgB,OAAO,GAAG,MAAmC;CAC3D,OAAOC,cAAAA,MAAM,sBAAsB,IAAI;AACzC;;;AC5BA,SAAS,mBACP,MACA,WACS;CACT,OAAO,KAAK,KAAK,SAAS;AAC5B;AAeA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAOC,cAAAA,MAAM,oBAAoB,IAAI;AACvC;;;ACtBA,SAAS,mBAAsB,MAAmC,OAA6C;CAC7G,IAAI;EACF,OAAO,KAAK,KAAK,KAAK;CACxB,SAAS,GAAG;EACV,IAAI,aAAa,YACf,MAAM,IAAI,WAAW,kBAAkB,EAAE,SAAS;EAEpD,MAAM;CACR;AACF;AAaA,SAAgB,KAAK,GAAG,MAAmC;CACzD,OAAOC,cAAAA,MAAM,oBAAoB,IAAI;AACvC;;;;;;;;;;;;;AChBA,SAAgB,OAAU,MAAiE;CACzF,MAAM,sBAAM,IAAI,IAAO;CACvB,OAAO,KAAK,QAAO,UAAS;EAC1B,IAAI,IAAI,IAAI,KAAK,GAAG,OAAO;EAC3B,IAAI,IAAI,KAAK;EACb,OAAO;CACT,CAAC;AACH;;;ACfA,SAAS,uBACP,MACA,OAC8B;CAC9B,MAAM,sBAAM,IAAI,IAAa;CAC7B,OAAO,KAAK,QAAO,UAAS;EAC1B,MAAM,MAAM,MAAM,KAAK;EACvB,IAAI,IAAI,IAAI,GAAG,GAAG,OAAO;EACzB,IAAI,IAAI,GAAG;EACX,OAAO;CACT,CAAC;AACH;AAmBA,SAAgB,SAAS,GAAG,MAA0B;CACpD,OAAOC,cAAAA,MAAM,wBAAwB,IAAI;AAC3C;;;AChCA,SAAS,yBACP,MACA,SAC8B;CAC9B,IAAI,eAAe;CAEnB,MAAM,YAAY,KAAK,KAAI,UAAS,CAAC,OAAO,cAAc,CAAU;CAapE,OAXiB,UAAU,QAAQ,CAAC,OAAO,WAAW;EACpD,MAAM,GAAG,cACP,UAAU,MAAM,CAAC,YAAY,gBAAgB,UAAU,cAAc,QAAQ,OAAO,UAAU,CAAC,KAC9F,CAAC,MAAM,EAAE;EAIZ,OAAO,UAAU;CACnB,CAGc,CAAC,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;AACpC;AAmBA,SAAgB,WAAW,GAAG,MAA0B;CACtD,OAAOC,cAAAA,MAAM,0BAA0B,IAAI;AAC7C"}
|
|
@@ -1,34 +1,104 @@
|
|
|
1
1
|
//#region src/iterator/_globalAliases.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates an iterator from an iterable or iterator object.
|
|
4
|
+
* @function
|
|
5
|
+
*/
|
|
2
6
|
declare const from: <T>(value: Iterator<T, unknown, undefined> | Iterable<T, unknown, undefined>) => IteratorObject<T, undefined, unknown>;
|
|
3
7
|
//#endregion
|
|
4
8
|
//#region src/iterator/drop.d.ts
|
|
5
9
|
/**
|
|
6
|
-
*
|
|
10
|
+
* Returns an iterator with the first `limit` elements skipped.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* drop([1, 2, 3, 4].values(), 2).toArray(); // [3, 4]
|
|
15
|
+
* drop(1)([1, 2, 3, 4].values()).toArray(); // [2, 3, 4]
|
|
16
|
+
* ```
|
|
7
17
|
*/
|
|
8
18
|
declare function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
9
19
|
declare function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
|
|
10
20
|
//#endregion
|
|
11
21
|
//#region src/iterator/every.d.ts
|
|
22
|
+
/**
|
|
23
|
+
* Tests whether every element satisfies a predicate.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* every([2, 4, 6].values(), n => n % 2 === 0); // true
|
|
28
|
+
* every(n => n > 0)([1, 2, 3].values()); // true
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
12
31
|
declare function every<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
|
|
13
32
|
declare function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
|
|
14
33
|
//#endregion
|
|
15
34
|
//#region src/iterator/filter.d.ts
|
|
35
|
+
/**
|
|
36
|
+
* Keeps the elements that satisfy a predicate.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* filter([1, 2, 3, 4].values(), n => n % 2 === 0).toArray(); // [2, 4]
|
|
41
|
+
* filter(n => n > 2)([1, 2, 3, 4].values()).toArray(); // [3, 4]
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
16
44
|
declare function filter<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;
|
|
17
45
|
declare function filter<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
18
46
|
declare function filter<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): IteratorObject<S, undefined>;
|
|
19
47
|
declare function filter<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): IteratorObject<T, undefined>;
|
|
20
48
|
//#endregion
|
|
21
49
|
//#region src/iterator/find.d.ts
|
|
50
|
+
/**
|
|
51
|
+
* Returns the first element that satisfies a predicate.
|
|
52
|
+
* Returns `null` when no element matches.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* find([1, 2, 3].values(), n => n > 1); // 2
|
|
57
|
+
* find(n => n > 1)([1, 2, 3].values()); // 2
|
|
58
|
+
* find([1, 2, 3].values(), n => n > 10); // null
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
22
61
|
declare function find<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => S | null;
|
|
23
62
|
declare function find<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => T | null;
|
|
24
63
|
declare function find<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): S | null;
|
|
25
64
|
declare function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;
|
|
26
65
|
//#endregion
|
|
27
66
|
//#region src/iterator/flatMap.d.ts
|
|
67
|
+
/**
|
|
68
|
+
* Maps each element to an iterable and flattens the result by one level.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* flatMap([1, 2, 3].values(), n => [n, n * 10]).toArray(); // [1, 10, 2, 20, 3, 30]
|
|
73
|
+
* flatMap(n => [n, n * 10])([1, 2, 3].values()).toArray(); // [1, 10, 2, 20, 3, 30]
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
28
76
|
declare function flatMap<T, U>(fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
|
|
29
77
|
declare function flatMap<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): IteratorObject<U, undefined>;
|
|
30
78
|
//#endregion
|
|
79
|
+
//#region src/iterator/forEach.d.ts
|
|
80
|
+
/**
|
|
81
|
+
* Runs a callback for each element and returns an iterator with the same values.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* forEach([1, 2, 3].values(), n => console.log(n)).toArray(); // [1, 2, 3]
|
|
86
|
+
* forEach(n => console.log(n))([1, 2, 3].values()).toArray(); // [1, 2, 3]
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare function forEach<T>(fn: (value: T, index: number) => void): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
90
|
+
declare function forEach<T>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => void): IteratorObject<T, undefined>;
|
|
91
|
+
//#endregion
|
|
31
92
|
//#region src/iterator/map.d.ts
|
|
93
|
+
/**
|
|
94
|
+
* Transforms each element with a callback.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```ts
|
|
98
|
+
* map([1, 2, 3].values(), n => n * 2).toArray(); // [2, 4, 6]
|
|
99
|
+
* map(n => n * 2)([1, 2, 3].values()).toArray(); // [2, 4, 6]
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
32
102
|
declare function map<T, U>(fn: (value: T, index: number) => U): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
|
|
33
103
|
declare function map<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => U): IteratorObject<U, undefined>;
|
|
34
104
|
//#endregion
|
|
@@ -39,7 +109,16 @@ interface NumericRangeOptions<T extends bigint | number> {
|
|
|
39
109
|
step?: T;
|
|
40
110
|
}
|
|
41
111
|
/**
|
|
42
|
-
*
|
|
112
|
+
* Creates an iterator over a numeric range from `start` up to, but not including, `end`.
|
|
113
|
+
* When only one argument is given, it is treated as `end` with `start` defaulting to `0`.
|
|
114
|
+
* Throws when `start` or `end` is invalid (for example `Infinity`, `-Infinity`, or `NaN`).
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* range(1, 4).toArray(); // [1, 2, 3]
|
|
119
|
+
* range(4).toArray(); // [0, 1, 2, 3]
|
|
120
|
+
* range(1n, 4n).toArray(); // [1n, 2n, 3n]
|
|
121
|
+
* ```
|
|
43
122
|
*/
|
|
44
123
|
declare function range(end: Infinity$1 | bigint): {
|
|
45
124
|
(start: bigint): IteratorObject<bigint, undefined>;
|
|
@@ -47,25 +126,98 @@ declare function range(end: Infinity$1 | bigint): {
|
|
|
47
126
|
};
|
|
48
127
|
declare function range<T extends bigint | number>(start: T, end: Infinity$1 | T): IteratorObject<T, undefined>;
|
|
49
128
|
/**
|
|
50
|
-
*
|
|
129
|
+
* Like `range`, but accepts options for an inclusive end and a custom step size.
|
|
130
|
+
* Throws when arguments are invalid or when `step` is not a positive value of the same type as `start`.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* rangeWithOpts(1, 4, { inclusive: true }).toArray(); // [1, 2, 3, 4]
|
|
135
|
+
* rangeWithOpts(0, 4, { step: 2 }).toArray(); // [0, 2]
|
|
136
|
+
* rangeWithOpts(1, 4, { inclusive: true, step: 2n }).toArray(); // [1n, 3n]
|
|
137
|
+
* ```
|
|
51
138
|
*/
|
|
52
139
|
declare function rangeWithOpts<T extends bigint | number>(end: Infinity$1 | bigint, option: NumericRangeOptions<T>): (start: T) => IteratorObject<T, undefined>;
|
|
53
140
|
declare function rangeWithOpts<T extends bigint | number>(start: T, end: Infinity$1 | T, option: NumericRangeOptions<T>): IteratorObject<T, undefined>;
|
|
54
141
|
//#endregion
|
|
55
142
|
//#region src/iterator/reduce.d.ts
|
|
143
|
+
/**
|
|
144
|
+
* Reduces an iterator to a single value using an initial accumulator.
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```ts
|
|
148
|
+
* reduce([1, 2, 3].values(), (acc, n) => acc + n, 0); // 6
|
|
149
|
+
* reduce((acc, n) => acc + n, 0)([1, 2, 3].values()); // 6
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
56
152
|
declare function reduce<T, U>(fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): (data: IteratorObject<T, any, any>) => U;
|
|
57
153
|
declare function reduce<T, U>(data: IteratorObject<T, any, any>, fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U;
|
|
58
154
|
//#endregion
|
|
59
155
|
//#region src/iterator/some.d.ts
|
|
156
|
+
/**
|
|
157
|
+
* Tests whether at least one element satisfies a predicate.
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* some([1, 2, 3].values(), n => n > 2); // true
|
|
162
|
+
* some(n => n > 2)([1, 2, 3].values()); // true
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
60
165
|
declare function some<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
|
|
61
166
|
declare function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
|
|
62
167
|
//#endregion
|
|
63
168
|
//#region src/iterator/take.d.ts
|
|
64
169
|
/**
|
|
65
|
-
*
|
|
170
|
+
* Returns an iterator with at most the first `limit` elements.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```ts
|
|
174
|
+
* take([1, 2, 3, 4].values(), 2).toArray(); // [1, 2]
|
|
175
|
+
* take(3)([1, 2, 3, 4].values()).toArray(); // [1, 2, 3]
|
|
176
|
+
* ```
|
|
66
177
|
*/
|
|
67
178
|
declare function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
68
179
|
declare function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
|
|
69
180
|
//#endregion
|
|
70
|
-
|
|
181
|
+
//#region src/iterator/unique.d.ts
|
|
182
|
+
/**
|
|
183
|
+
* Returns an iterator with duplicate values removed.
|
|
184
|
+
* Keeps the first occurrence of each value.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts
|
|
188
|
+
* unique([1, 2, 2, 3].values()).toArray(); // [1, 2, 3]
|
|
189
|
+
* unique([].values()).toArray(); // []
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
declare function unique<T>(data: IteratorObject<T, any, any>): IteratorObject<T, undefined>;
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/iterator/uniqueBy.d.ts
|
|
195
|
+
/**
|
|
196
|
+
* Returns an iterator with duplicates removed by a derived key.
|
|
197
|
+
* Keeps the first occurrence for each key.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* uniqueBy([{ id: 1 }, { id: 2 }, { id: 1 }].values(), x => x.id).toArray(); // [{ id: 1 }, { id: 2 }]
|
|
202
|
+
* uniqueBy(x => x.id)([{ id: 1 }, { id: 2 }, { id: 1 }].values()).toArray(); // [{ id: 1 }, { id: 2 }]
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
declare function uniqueBy<T>(mapFn: (value: T) => unknown): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
206
|
+
declare function uniqueBy<T>(data: IteratorObject<T, any, any>, mapFn: (value: T) => unknown): IteratorObject<T, undefined>;
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/iterator/uniqueWith.d.ts
|
|
209
|
+
/**
|
|
210
|
+
* Returns an iterator with duplicates removed using a custom equality function.
|
|
211
|
+
* Keeps the first occurrence of each equivalent value.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```ts
|
|
215
|
+
* uniqueWith([1, 1.0, 2].values(), (a, b) => a === b).toArray(); // [1, 2]
|
|
216
|
+
* uniqueWith((a, b) => a === b)([1, 1.0, 2].values()).toArray(); // [1, 2]
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
declare function uniqueWith<T>(isEqual: (left: T, right: T) => boolean): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
220
|
+
declare function uniqueWith<T>(data: IteratorObject<T, any, any>, isEqual: (left: T, right: T) => boolean): IteratorObject<T, undefined>;
|
|
221
|
+
//#endregion
|
|
222
|
+
export { drop, every, filter, find, flatMap, forEach, from, map, range, rangeWithOpts, reduce, some, take, unique, uniqueBy, uniqueWith };
|
|
71
223
|
//# sourceMappingURL=index.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/forEach.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts","../../src/iterator/unique.ts","../../src/iterator/uniqueBy.ts","../../src/iterator/uniqueWith.ts"],"mappings":"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"}
|
|
@@ -1,34 +1,104 @@
|
|
|
1
1
|
//#region src/iterator/_globalAliases.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Creates an iterator from an iterable or iterator object.
|
|
4
|
+
* @function
|
|
5
|
+
*/
|
|
2
6
|
declare const from: <T>(value: Iterator<T, unknown, undefined> | Iterable<T, unknown, undefined>) => IteratorObject<T, undefined, unknown>;
|
|
3
7
|
//#endregion
|
|
4
8
|
//#region src/iterator/drop.d.ts
|
|
5
9
|
/**
|
|
6
|
-
*
|
|
10
|
+
* Returns an iterator with the first `limit` elements skipped.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* drop([1, 2, 3, 4].values(), 2).toArray(); // [3, 4]
|
|
15
|
+
* drop(1)([1, 2, 3, 4].values()).toArray(); // [2, 3, 4]
|
|
16
|
+
* ```
|
|
7
17
|
*/
|
|
8
18
|
declare function drop<T>(limit: number): (iter: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
9
19
|
declare function drop<T>(iter: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
|
|
10
20
|
//#endregion
|
|
11
21
|
//#region src/iterator/every.d.ts
|
|
22
|
+
/**
|
|
23
|
+
* Tests whether every element satisfies a predicate.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* every([2, 4, 6].values(), n => n % 2 === 0); // true
|
|
28
|
+
* every(n => n > 0)([1, 2, 3].values()); // true
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
12
31
|
declare function every<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
|
|
13
32
|
declare function every<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
|
|
14
33
|
//#endregion
|
|
15
34
|
//#region src/iterator/filter.d.ts
|
|
35
|
+
/**
|
|
36
|
+
* Keeps the elements that satisfy a predicate.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* filter([1, 2, 3, 4].values(), n => n % 2 === 0).toArray(); // [2, 4]
|
|
41
|
+
* filter(n => n > 2)([1, 2, 3, 4].values()).toArray(); // [3, 4]
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
16
44
|
declare function filter<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => IteratorObject<S, undefined>;
|
|
17
45
|
declare function filter<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
18
46
|
declare function filter<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): IteratorObject<S, undefined>;
|
|
19
47
|
declare function filter<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): IteratorObject<T, undefined>;
|
|
20
48
|
//#endregion
|
|
21
49
|
//#region src/iterator/find.d.ts
|
|
50
|
+
/**
|
|
51
|
+
* Returns the first element that satisfies a predicate.
|
|
52
|
+
* Returns `null` when no element matches.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* find([1, 2, 3].values(), n => n > 1); // 2
|
|
57
|
+
* find(n => n > 1)([1, 2, 3].values()); // 2
|
|
58
|
+
* find([1, 2, 3].values(), n => n > 10); // null
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
22
61
|
declare function find<T, S extends T>(predicate: (value: T, index: number) => value is S): (data: IteratorObject<T, any, any>) => S | null;
|
|
23
62
|
declare function find<T>(predicate: (value: T, index: number) => boolean): (data: IteratorObject<T, any, any>) => T | null;
|
|
24
63
|
declare function find<T, S extends T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => value is S): S | null;
|
|
25
64
|
declare function find<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => boolean): T | null;
|
|
26
65
|
//#endregion
|
|
27
66
|
//#region src/iterator/flatMap.d.ts
|
|
67
|
+
/**
|
|
68
|
+
* Maps each element to an iterable and flattens the result by one level.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* flatMap([1, 2, 3].values(), n => [n, n * 10]).toArray(); // [1, 10, 2, 20, 3, 30]
|
|
73
|
+
* flatMap(n => [n, n * 10])([1, 2, 3].values()).toArray(); // [1, 10, 2, 20, 3, 30]
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
28
76
|
declare function flatMap<T, U>(fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
|
|
29
77
|
declare function flatMap<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => Iterable<U, unknown, undefined> | Iterator<U, unknown, undefined>): IteratorObject<U, undefined>;
|
|
30
78
|
//#endregion
|
|
79
|
+
//#region src/iterator/forEach.d.ts
|
|
80
|
+
/**
|
|
81
|
+
* Runs a callback for each element and returns an iterator with the same values.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* forEach([1, 2, 3].values(), n => console.log(n)).toArray(); // [1, 2, 3]
|
|
86
|
+
* forEach(n => console.log(n))([1, 2, 3].values()).toArray(); // [1, 2, 3]
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare function forEach<T>(fn: (value: T, index: number) => void): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
90
|
+
declare function forEach<T>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => void): IteratorObject<T, undefined>;
|
|
91
|
+
//#endregion
|
|
31
92
|
//#region src/iterator/map.d.ts
|
|
93
|
+
/**
|
|
94
|
+
* Transforms each element with a callback.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```ts
|
|
98
|
+
* map([1, 2, 3].values(), n => n * 2).toArray(); // [2, 4, 6]
|
|
99
|
+
* map(n => n * 2)([1, 2, 3].values()).toArray(); // [2, 4, 6]
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
32
102
|
declare function map<T, U>(fn: (value: T, index: number) => U): (data: IteratorObject<T, any, any>) => IteratorObject<U, undefined>;
|
|
33
103
|
declare function map<T, U>(data: IteratorObject<T, any, any>, fn: (value: T, index: number) => U): IteratorObject<U, undefined>;
|
|
34
104
|
//#endregion
|
|
@@ -39,7 +109,16 @@ interface NumericRangeOptions<T extends bigint | number> {
|
|
|
39
109
|
step?: T;
|
|
40
110
|
}
|
|
41
111
|
/**
|
|
42
|
-
*
|
|
112
|
+
* Creates an iterator over a numeric range from `start` up to, but not including, `end`.
|
|
113
|
+
* When only one argument is given, it is treated as `end` with `start` defaulting to `0`.
|
|
114
|
+
* Throws when `start` or `end` is invalid (for example `Infinity`, `-Infinity`, or `NaN`).
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* range(1, 4).toArray(); // [1, 2, 3]
|
|
119
|
+
* range(4).toArray(); // [0, 1, 2, 3]
|
|
120
|
+
* range(1n, 4n).toArray(); // [1n, 2n, 3n]
|
|
121
|
+
* ```
|
|
43
122
|
*/
|
|
44
123
|
declare function range(end: Infinity$1 | bigint): {
|
|
45
124
|
(start: bigint): IteratorObject<bigint, undefined>;
|
|
@@ -47,25 +126,98 @@ declare function range(end: Infinity$1 | bigint): {
|
|
|
47
126
|
};
|
|
48
127
|
declare function range<T extends bigint | number>(start: T, end: Infinity$1 | T): IteratorObject<T, undefined>;
|
|
49
128
|
/**
|
|
50
|
-
*
|
|
129
|
+
* Like `range`, but accepts options for an inclusive end and a custom step size.
|
|
130
|
+
* Throws when arguments are invalid or when `step` is not a positive value of the same type as `start`.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* rangeWithOpts(1, 4, { inclusive: true }).toArray(); // [1, 2, 3, 4]
|
|
135
|
+
* rangeWithOpts(0, 4, { step: 2 }).toArray(); // [0, 2]
|
|
136
|
+
* rangeWithOpts(1, 4, { inclusive: true, step: 2n }).toArray(); // [1n, 3n]
|
|
137
|
+
* ```
|
|
51
138
|
*/
|
|
52
139
|
declare function rangeWithOpts<T extends bigint | number>(end: Infinity$1 | bigint, option: NumericRangeOptions<T>): (start: T) => IteratorObject<T, undefined>;
|
|
53
140
|
declare function rangeWithOpts<T extends bigint | number>(start: T, end: Infinity$1 | T, option: NumericRangeOptions<T>): IteratorObject<T, undefined>;
|
|
54
141
|
//#endregion
|
|
55
142
|
//#region src/iterator/reduce.d.ts
|
|
143
|
+
/**
|
|
144
|
+
* Reduces an iterator to a single value using an initial accumulator.
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```ts
|
|
148
|
+
* reduce([1, 2, 3].values(), (acc, n) => acc + n, 0); // 6
|
|
149
|
+
* reduce((acc, n) => acc + n, 0)([1, 2, 3].values()); // 6
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
56
152
|
declare function reduce<T, U>(fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): (data: IteratorObject<T, any, any>) => U;
|
|
57
153
|
declare function reduce<T, U>(data: IteratorObject<T, any, any>, fn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U;
|
|
58
154
|
//#endregion
|
|
59
155
|
//#region src/iterator/some.d.ts
|
|
156
|
+
/**
|
|
157
|
+
* Tests whether at least one element satisfies a predicate.
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```ts
|
|
161
|
+
* some([1, 2, 3].values(), n => n > 2); // true
|
|
162
|
+
* some(n => n > 2)([1, 2, 3].values()); // true
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
60
165
|
declare function some<T>(predicate: (value: T, index: number) => unknown): (data: IteratorObject<T, any, any>) => boolean;
|
|
61
166
|
declare function some<T>(data: IteratorObject<T, any, any>, predicate: (value: T, index: number) => unknown): boolean;
|
|
62
167
|
//#endregion
|
|
63
168
|
//#region src/iterator/take.d.ts
|
|
64
169
|
/**
|
|
65
|
-
*
|
|
170
|
+
* Returns an iterator with at most the first `limit` elements.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```ts
|
|
174
|
+
* take([1, 2, 3, 4].values(), 2).toArray(); // [1, 2]
|
|
175
|
+
* take(3)([1, 2, 3, 4].values()).toArray(); // [1, 2, 3]
|
|
176
|
+
* ```
|
|
66
177
|
*/
|
|
67
178
|
declare function take<T>(limit: number): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
68
179
|
declare function take<T>(data: IteratorObject<T, any, any>, limit: number): IteratorObject<T, undefined>;
|
|
69
180
|
//#endregion
|
|
70
|
-
|
|
181
|
+
//#region src/iterator/unique.d.ts
|
|
182
|
+
/**
|
|
183
|
+
* Returns an iterator with duplicate values removed.
|
|
184
|
+
* Keeps the first occurrence of each value.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts
|
|
188
|
+
* unique([1, 2, 2, 3].values()).toArray(); // [1, 2, 3]
|
|
189
|
+
* unique([].values()).toArray(); // []
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
declare function unique<T>(data: IteratorObject<T, any, any>): IteratorObject<T, undefined>;
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/iterator/uniqueBy.d.ts
|
|
195
|
+
/**
|
|
196
|
+
* Returns an iterator with duplicates removed by a derived key.
|
|
197
|
+
* Keeps the first occurrence for each key.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* uniqueBy([{ id: 1 }, { id: 2 }, { id: 1 }].values(), x => x.id).toArray(); // [{ id: 1 }, { id: 2 }]
|
|
202
|
+
* uniqueBy(x => x.id)([{ id: 1 }, { id: 2 }, { id: 1 }].values()).toArray(); // [{ id: 1 }, { id: 2 }]
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
declare function uniqueBy<T>(mapFn: (value: T) => unknown): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
206
|
+
declare function uniqueBy<T>(data: IteratorObject<T, any, any>, mapFn: (value: T) => unknown): IteratorObject<T, undefined>;
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/iterator/uniqueWith.d.ts
|
|
209
|
+
/**
|
|
210
|
+
* Returns an iterator with duplicates removed using a custom equality function.
|
|
211
|
+
* Keeps the first occurrence of each equivalent value.
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```ts
|
|
215
|
+
* uniqueWith([1, 1.0, 2].values(), (a, b) => a === b).toArray(); // [1, 2]
|
|
216
|
+
* uniqueWith((a, b) => a === b)([1, 1.0, 2].values()).toArray(); // [1, 2]
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
declare function uniqueWith<T>(isEqual: (left: T, right: T) => boolean): (data: IteratorObject<T, any, any>) => IteratorObject<T, undefined>;
|
|
220
|
+
declare function uniqueWith<T>(data: IteratorObject<T, any, any>, isEqual: (left: T, right: T) => boolean): IteratorObject<T, undefined>;
|
|
221
|
+
//#endregion
|
|
222
|
+
export { drop, every, filter, find, flatMap, forEach, from, map, range, rangeWithOpts, reduce, some, take, unique, uniqueBy, uniqueWith };
|
|
71
223
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/iterator/_globalAliases.ts","../../src/iterator/drop.ts","../../src/iterator/every.ts","../../src/iterator/filter.ts","../../src/iterator/find.ts","../../src/iterator/flatMap.ts","../../src/iterator/forEach.ts","../../src/iterator/map.ts","../../src/iterator/range.ts","../../src/iterator/reduce.ts","../../src/iterator/some.ts","../../src/iterator/take.ts","../../src/iterator/unique.ts","../../src/iterator/uniqueBy.ts","../../src/iterator/uniqueWith.ts"],"mappings":"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"}
|