@ts-fns/stdlib 0.1.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.
Files changed (135) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +132 -0
  3. package/dist/array/index.cjs +551 -0
  4. package/dist/array/index.cjs.map +1 -0
  5. package/dist/array/index.d.cts +334 -0
  6. package/dist/array/index.d.cts.map +1 -0
  7. package/dist/array/index.d.mts +334 -0
  8. package/dist/array/index.d.mts.map +1 -0
  9. package/dist/array/index.mjs +498 -0
  10. package/dist/array/index.mjs.map +1 -0
  11. package/dist/errors-CJsLpYo9.d.cts +25 -0
  12. package/dist/errors-CJsLpYo9.d.cts.map +1 -0
  13. package/dist/errors-CJsLpYo9.d.mts +25 -0
  14. package/dist/errors-CJsLpYo9.d.mts.map +1 -0
  15. package/dist/errors-Dw1kitu_.mjs +39 -0
  16. package/dist/errors-Dw1kitu_.mjs.map +1 -0
  17. package/dist/errors-O-d_Vemi.cjs +74 -0
  18. package/dist/errors-O-d_Vemi.cjs.map +1 -0
  19. package/dist/function/index.cjs +15 -0
  20. package/dist/function/index.d.cts +107 -0
  21. package/dist/function/index.d.cts.map +1 -0
  22. package/dist/function/index.d.mts +107 -0
  23. package/dist/function/index.d.mts.map +1 -0
  24. package/dist/function/index.mjs +3 -0
  25. package/dist/function-CB82a2GS.cjs +186 -0
  26. package/dist/function-CB82a2GS.cjs.map +1 -0
  27. package/dist/function-DnI2v0p3.mjs +121 -0
  28. package/dist/function-DnI2v0p3.mjs.map +1 -0
  29. package/dist/get-CWL_cu6G.mjs +27 -0
  30. package/dist/get-CWL_cu6G.mjs.map +1 -0
  31. package/dist/get-yrs1Kqho.cjs +38 -0
  32. package/dist/get-yrs1Kqho.cjs.map +1 -0
  33. package/dist/guard/index.cjs +43 -0
  34. package/dist/guard/index.cjs.map +1 -0
  35. package/dist/guard/index.d.cts +52 -0
  36. package/dist/guard/index.d.cts.map +1 -0
  37. package/dist/guard/index.d.mts +52 -0
  38. package/dist/guard/index.d.mts.map +1 -0
  39. package/dist/guard/index.mjs +40 -0
  40. package/dist/guard/index.mjs.map +1 -0
  41. package/dist/index-BJlKyBJH.d.cts +18 -0
  42. package/dist/index-BJlKyBJH.d.cts.map +1 -0
  43. package/dist/index-DGrnGMDt.d.mts +18 -0
  44. package/dist/index-DGrnGMDt.d.mts.map +1 -0
  45. package/dist/isNotNil-DrF-ohem.cjs +28 -0
  46. package/dist/isNotNil-DrF-ohem.cjs.map +1 -0
  47. package/dist/isNotNil-R5f1hC53.mjs +23 -0
  48. package/dist/isNotNil-R5f1hC53.mjs.map +1 -0
  49. package/dist/iterator/index.cjs +160 -0
  50. package/dist/iterator/index.cjs.map +1 -0
  51. package/dist/iterator/index.d.cts +71 -0
  52. package/dist/iterator/index.d.cts.map +1 -0
  53. package/dist/iterator/index.d.mts +71 -0
  54. package/dist/iterator/index.d.mts.map +1 -0
  55. package/dist/iterator/index.mjs +148 -0
  56. package/dist/iterator/index.mjs.map +1 -0
  57. package/dist/lens/index.cjs +199 -0
  58. package/dist/lens/index.cjs.map +1 -0
  59. package/dist/lens/index.d.cts +109 -0
  60. package/dist/lens/index.d.cts.map +1 -0
  61. package/dist/lens/index.d.mts +109 -0
  62. package/dist/lens/index.d.mts.map +1 -0
  63. package/dist/lens/index.mjs +187 -0
  64. package/dist/lens/index.mjs.map +1 -0
  65. package/dist/map/index.cjs +86 -0
  66. package/dist/map/index.cjs.map +1 -0
  67. package/dist/map/index.d.cts +41 -0
  68. package/dist/map/index.d.cts.map +1 -0
  69. package/dist/map/index.d.mts +41 -0
  70. package/dist/map/index.d.mts.map +1 -0
  71. package/dist/map/index.mjs +75 -0
  72. package/dist/map/index.mjs.map +1 -0
  73. package/dist/number/index.cjs +179 -0
  74. package/dist/number/index.cjs.map +1 -0
  75. package/dist/number/index.d.cts +112 -0
  76. package/dist/number/index.d.cts.map +1 -0
  77. package/dist/number/index.d.mts +112 -0
  78. package/dist/number/index.d.mts.map +1 -0
  79. package/dist/number/index.mjs +159 -0
  80. package/dist/number/index.mjs.map +1 -0
  81. package/dist/object/index.cjs +190 -0
  82. package/dist/object/index.cjs.map +1 -0
  83. package/dist/object/index.d.cts +118 -0
  84. package/dist/object/index.d.cts.map +1 -0
  85. package/dist/object/index.d.mts +118 -0
  86. package/dist/object/index.d.mts.map +1 -0
  87. package/dist/object/index.mjs +169 -0
  88. package/dist/object/index.mjs.map +1 -0
  89. package/dist/orThrow-V91Jw2lF.mjs +15 -0
  90. package/dist/orThrow-V91Jw2lF.mjs.map +1 -0
  91. package/dist/orThrow-ejzcQYAI.cjs +20 -0
  92. package/dist/orThrow-ejzcQYAI.cjs.map +1 -0
  93. package/dist/order/index.cjs +50 -0
  94. package/dist/order/index.cjs.map +1 -0
  95. package/dist/order/index.d.cts +3 -0
  96. package/dist/order/index.d.mts +3 -0
  97. package/dist/order/index.mjs +42 -0
  98. package/dist/order/index.mjs.map +1 -0
  99. package/dist/order.constants-BWSCg3C7.d.cts +11 -0
  100. package/dist/order.constants-BWSCg3C7.d.cts.map +1 -0
  101. package/dist/order.constants-BWSCg3C7.d.mts +11 -0
  102. package/dist/order.constants-BWSCg3C7.d.mts.map +1 -0
  103. package/dist/purry-B2_0DGLV.cjs +28 -0
  104. package/dist/purry-B2_0DGLV.cjs.map +1 -0
  105. package/dist/purry-BOWmqwDB.mjs +23 -0
  106. package/dist/purry-BOWmqwDB.mjs.map +1 -0
  107. package/dist/set/index.cjs +131 -0
  108. package/dist/set/index.cjs.map +1 -0
  109. package/dist/set/index.d.cts +61 -0
  110. package/dist/set/index.d.cts.map +1 -0
  111. package/dist/set/index.d.mts +61 -0
  112. package/dist/set/index.d.mts.map +1 -0
  113. package/dist/set/index.mjs +115 -0
  114. package/dist/set/index.mjs.map +1 -0
  115. package/dist/string/index.cjs +288 -0
  116. package/dist/string/index.cjs.map +1 -0
  117. package/dist/string/index.d.cts +144 -0
  118. package/dist/string/index.d.cts.map +1 -0
  119. package/dist/string/index.d.mts +144 -0
  120. package/dist/string/index.d.mts.map +1 -0
  121. package/dist/string/index.mjs +254 -0
  122. package/dist/string/index.mjs.map +1 -0
  123. package/dist/tuple/index.cjs +135 -0
  124. package/dist/tuple/index.cjs.map +1 -0
  125. package/dist/tuple/index.d.cts +207 -0
  126. package/dist/tuple/index.d.cts.map +1 -0
  127. package/dist/tuple/index.d.mts +207 -0
  128. package/dist/tuple/index.d.mts.map +1 -0
  129. package/dist/tuple/index.mjs +122 -0
  130. package/dist/tuple/index.mjs.map +1 -0
  131. package/dist/types-D8f67ZCe.d.cts +54 -0
  132. package/dist/types-D8f67ZCe.d.cts.map +1 -0
  133. package/dist/types-D8f67ZCe.d.mts +54 -0
  134. package/dist/types-D8f67ZCe.d.mts.map +1 -0
  135. package/package.json +177 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["purry","orThrow","purry","orThrow","purry","purry","purry","NotFoundError","purry","orThrow","NotFoundError","purry","orThrow","NotFoundError","purry","orThrow","NotFoundError","purry","orThrow","EmptyArrayError","orThrow","purry","purry","orThrow","purry","orThrow","purry","EmptyArrayError","orThrow","purry","purry","EmptyArrayError","orThrow","purry","purry","purry","purry","purry","purry","purry","purry","EmptyArrayError","orThrow","purry","purry","purry","purry","purry","purry","purry","orThrow","purry","orThrow","purry","purry"],"sources":["../../src/array/_globalAliases.ts","../../src/array/at.ts","../../src/array/chunk.ts","../../src/array/concat.ts","../../src/array/drop.ts","../../src/array/every.ts","../../src/array/find.ts","../../src/array/findIndex.ts","../../src/array/findLast.ts","../../src/array/findLastIndex.ts","../../src/array/first.ts","../../src/array/flatMap.ts","../../src/array/forEach.ts","../../src/array/init.ts","../../src/array/insert.ts","../../src/array/isEmpty.ts","../../src/array/join.ts","../../src/array/last.ts","../../src/array/length.ts","../../src/array/map.ts","../../src/array/ofLength.ts","../../src/array/partition.ts","../../src/array/pop.ts","../../src/array/prepend.ts","../../src/array/push.ts","../../src/array/reduce.ts","../../src/array/reduce1.ts","../../src/array/reduceRight.ts","../../src/array/reduceRight1.ts","../../src/array/rest.ts","../../src/array/reverse.ts","../../src/array/scan.ts","../../src/array/shift.ts","../../src/array/shuffle.ts","../../src/array/some.ts","../../src/array/sort.ts","../../src/array/sortBy.ts","../../src/array/take.ts","../../src/array/transpose.ts","../../src/array/unique.ts","../../src/array/uniqueBy.ts","../../src/array/uniqueWith.ts","../../src/array/unshift.ts","../../src/array/update.ts","../../src/array/window.ts","../../src/array/zip.ts","../../src/array/zipWith.ts"],"sourcesContent":["export const { from, fromAsync, isArray, of } = Array;\n\nconst arrayConstructor = Array;\n\nexport { arrayConstructor as Array };\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\n/**\n * Internal method that wraps `arr.at()` but throws the same `RangeError` that `arr.with()` does\n * @throws {RangeError}\n */\nfunction atImplementation<T>(arr: readonly T[], index: number): RangeError | T {\n if (arr.length === 0 || index >= arr.length || index < -arr.length) {\n return new RangeError(`Arr.at() :: Invalid index : ${index}`);\n }\n\n return arr.at(index) as T;\n}\n\n/**\n * Get an element from an array by index.\n *\n * @category Array\n * @param arr - The array to get the element from.\n * @param index - The index of the element to get.\n *\n * @example\n * ```ts\n * at([1, 2, 3], 1); // 2\n * ```\n */\nexport function at<T>(index: number): (arr: readonly T[]) => RangeError | T;\nexport function at<T>(arr: readonly T[], index: number): RangeError | T;\nexport function at(...args: readonly unknown[]): unknown {\n return purry(atImplementation, args);\n}\n\nexport function atAssert<T>(index: number): (arr: readonly T[]) => T;\nexport function atAssert<T>(arr: readonly T[], index: number): T;\nexport function atAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(atImplementation), args);\n}\n\nat.assert = atAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction chunkImplementation<T>(arr: readonly T[], size: number): T[][] {\n if (size < 1) {\n throw new RangeError(`Arr.chunk() :: ${size} must be a positive integer`);\n }\n\n if (arr.length === 0) {\n return [];\n }\n\n if (size >= arr.length) {\n // Optimized for when there is only one chunk.\n return [[...arr]];\n }\n\n const chunks = Math.ceil(arr.length / size);\n\n if (size === 1) {\n return arr.map(v => [v]);\n }\n\n const result = Array(chunks)\n .fill(undefined)\n .map((_, index) => {\n const start = index * size;\n return arr.slice(start, start + size);\n });\n\n return result;\n}\n\n/**\n *\n * @throws {RangeError}\n */\nexport function chunk(size: number): <T>(arr: readonly T[]) => T[][];\nexport function chunk<T>(arr: readonly T[], size: number): T[][];\nexport function chunk(...args: unknown[]): unknown {\n return purry(chunkImplementation, args);\n}\n\nfunction chunkAssert<T>(size: number): (arr: readonly T[]) => T[][];\nfunction chunkAssert<T>(arr: readonly T[], size: number): T[][];\nfunction chunkAssert(...args: unknown[]): unknown {\n return purry(orThrow(chunkImplementation), args);\n}\n\nchunk.assert = chunkAssert;\n","import { purry } from '../function/purry';\n\nfunction concatImplementation<T>(arr: readonly T[], other: readonly T[]): T[] {\n return [...arr, ...other];\n}\n\nexport function concat<T>(other: readonly T[]): (arr: readonly T[]) => T;\nexport function concat<T>(arr: readonly T[], other: readonly T[]): T;\nexport function concat(...args: readonly unknown[]): unknown {\n return purry(concatImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction dropImplementation<T>(arr: readonly T[], n: number): T[] {\n return arr.slice(n);\n}\n\nexport function drop<T>(n: number): (arr: readonly T[]) => T[];\nexport function drop<T>(arr: readonly T[], n: number): T[];\nexport function drop(...args: readonly unknown[]): unknown {\n return purry(dropImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction everyImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): boolean {\n return arr.every(predicate);\n}\n\nexport function every<T, S extends T>(\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): (arr: readonly T[]) => arr is S[];\nexport function every<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => T[];\nexport function every<T, S extends T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): arr is S[];\nexport function every<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T[];\nexport function every(...args: readonly unknown[]): unknown {\n return purry(everyImplementation, args);\n}\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction findImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | T {\n // -1 unequivocally tells us \"not found\", where vale check on `null | undefined` doesn't because that could be a valid value\n const foundIndex = arr.findIndex(predicate);\n\n if (foundIndex === -1) {\n return new NotFoundError('Arr.find :: predicate found no match.');\n }\n\n return arr[foundIndex]!;\n}\n\nexport function find<T, S extends T>(\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): (arr: readonly T[]) => NotFoundError | S;\nexport function find<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => NotFoundError | T;\nexport function find<T, S extends T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): NotFoundError | S;\nexport function find<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | T;\nexport function find(...args: readonly unknown[]): unknown {\n return purry(findImplementation, args);\n}\n\nfunction findAssert<T, S extends T>(\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): (arr: readonly T[]) => S;\nfunction findAssert<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => T;\nfunction findAssert<T, S extends T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): S;\nfunction findAssert<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T;\nfunction findAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(findImplementation), args);\n}\n\nfind.assert = findAssert;\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction findIndexImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | number {\n const result = arr.findIndex(predicate);\n if (result === -1) {\n return new NotFoundError('Arr.findIndex.orError() :: predicate found no match.');\n }\n return result;\n}\n\nexport function findIndex<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => NotFoundError | number;\nexport function findIndex<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | number;\nexport function findIndex(...args: readonly unknown[]): unknown {\n return purry(findIndexImplementation, args);\n}\n\nfunction findIndexAssert<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => number;\nfunction findIndexAssert<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): number;\nfunction findIndexAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(findIndexImplementation), args);\n}\n\nfindIndex.assert = findIndexAssert;\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction findLastImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | T {\n // -1 unequivocally tells us \"not found\", where vale check on `null | undefined` doesn't because that could be a valid value\n const foundIndex = arr.findLastIndex(predicate);\n\n if (foundIndex === -1) {\n return new NotFoundError('Arr.findLast() :: predicate found no match.');\n }\n\n return arr[foundIndex]!;\n}\n\nexport function findLast<T, S extends T>(\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): (arr: readonly T[]) => NotFoundError | S;\nexport function findLast<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => NotFoundError | T;\nexport function findLast<T, S extends T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => value is S,\n): NotFoundError | S;\nexport function findLast<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | T;\nexport function findLast(...args: readonly unknown[]): unknown {\n return purry(findLastImplementation, args);\n}\n\nfunction findLastAssert<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => T;\nfunction findLastAssert<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T;\nfunction findLastAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(findLastImplementation), args);\n}\n\nfindLast.assert = findLastAssert;\n","import { NotFoundError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction findLastIndexImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | number {\n const result = arr.findLastIndex(predicate);\n if (result === -1) {\n return new NotFoundError('Arr.findLastIndex() :: predicate found no match.');\n }\n return result;\n}\n\nexport function findLastIndex<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => NotFoundError | number;\nexport function findLastIndex<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): NotFoundError | number;\nexport function findLastIndex(...args: readonly unknown[]): unknown {\n return purry(findLastIndexImplementation, args);\n}\n\nfunction findLastIndexAssert<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => number;\nfunction findLastIndexAssert<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): number;\nfunction findLastIndexAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(findLastIndexImplementation), args);\n}\n\nfindLastIndex.assert = findLastIndexAssert;\n","import { EmptyArrayError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport type { ReadonlyNonEmptyArray } from '../types';\n\n/**\n *\n */\nexport function first<T>(arr: ReadonlyNonEmptyArray<T>): T[];\nexport function first<T>(arr: readonly T[]): EmptyArrayError | T;\nexport function first<T>(arr: readonly T[]): EmptyArrayError | T {\n if (arr.length === 0) {\n return new EmptyArrayError('Arr.first() :: array is empty');\n }\n return arr[0]!;\n}\n\nfunction firstAssert<T>(arr: readonly T[]): T {\n // @ts-expect-error\n return orThrow(first)(arr);\n}\n\nfirst.assert = firstAssert;\n","import { purry } from '../function/purry';\n\nfunction flatMapImplementation<T, U>(\n arr: readonly T[],\n callbackfn: (value: T, index: number, array: readonly T[]) => U | readonly U[],\n): U[] {\n return arr.flatMap(callbackfn);\n}\n\nexport function flatMap<T, U>(\n callbackfn: (value: T, index: number, array: readonly T[]) => U | readonly U[],\n): (arr: T[]) => U[];\nexport function flatMap<T, U>(arr: T[], callbackfn: (value: T, index: number, array: readonly U[]) => U[]): U[];\nexport function flatMap(...args: readonly unknown[]): unknown {\n return purry(flatMapImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction forEachImplementation<T>(arr: T[], callbackfn: (value: T, index: number, array: T[]) => void): T[] {\n arr.forEach(callbackfn);\n return arr;\n}\n\nexport function forEach<T>(callbackfn: (value: T, index: number, array: readonly T[]) => void): (arr: T[]) => T[];\nexport function forEach<T>(arr: T[], callbackfn: (value: T, index: number, array: readonly T[]) => void): T[];\nexport function forEach(...args: readonly unknown[]): unknown {\n return purry(forEachImplementation, args);\n}\n","import { orThrow } from '../function/orThrow';\n\n/**\n *\n */\nexport function init<T>(arr: readonly T[]): T[] {\n return arr.slice(0, arr.length - 1);\n}\n\nfunction initAssert<T>(arr: readonly T[]): T[] {\n // @ts-expect-error\n return orThrow(init)(arr);\n}\n\ninit.assert = initAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction insertImplementation<T>(arr: readonly T[], index: number, value: T): RangeError | T[] {\n try {\n return arr.with(index, value);\n } catch (_e) {\n return new RangeError(`Arr.insert() - Invalid index : ${index}`);\n }\n}\n\n/**\n * `with` is reserved word. So this function is uses `insert`\n * @throws RangeError\n */\nexport function insert<T>(index: number, value: T): (arr: readonly T[]) => T[];\nexport function insert<T>(arr: readonly T[], index: number, value: T): T[];\nexport function insert(...args: readonly unknown[]): unknown {\n return purry(insertImplementation, args);\n}\n\nfunction insertAssert<T>(index: number, value: T): (arr: readonly T[]) => T[];\nfunction insertAssert<T>(arr: readonly T[], index: number, value: T): T[];\nfunction insertAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(insertImplementation), args);\n}\n\ninsert.assert = insertAssert;\n","import type { NonEmptyArray, ReadonlyNonEmptyArray } from '../types';\n\nexport function isNotEmpty<T>(value: T[]): value is NonEmptyArray<T>;\nexport function isNotEmpty<T>(value: readonly T[]): value is ReadonlyNonEmptyArray<T>;\nexport function isNotEmpty(arr: readonly unknown[]): boolean {\n return arr.length > 0;\n}\n\n// TODO: is narrowing to [] really want I want here?\nexport function isEmpty<T>(value: T[]): value is [];\nexport function isEmpty<T>(value: readonly T[]): value is readonly [];\nexport function isEmpty(arr: readonly unknown[]): boolean {\n return arr.length === 0;\n}\n","import { purry } from '../function/purry';\n\nfunction joinImplementation(arr: string[], separator: string): string {\n return arr.join(separator);\n}\n\nexport function join(separator: string): (arr: string[]) => string;\nexport function join(arr: string[], separator: string): string;\nexport function join(...args: readonly unknown[]): unknown {\n return purry(joinImplementation, args);\n}\n","import { EmptyArrayError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport type { ReadonlyNonEmptyArray } from '../types';\n\n/**\n *\n */\nexport function last<T>(arr: ReadonlyNonEmptyArray<T>): T;\nexport function last<T>(arr: readonly T[]): EmptyArrayError | T;\nexport function last<T>(arr: readonly T[]): EmptyArrayError | T {\n if (arr.length === 0) {\n return new EmptyArrayError('Arr.last() :: array is empty');\n }\n return arr[arr.length - 1]!;\n}\n\nfunction lastAssert<T>(arr: readonly T[]): T {\n // @ts-expect-error\n return orThrow(last)(arr);\n}\n\nlast.assert = lastAssert;\n","/**\n * Returns length of array\n * @param arr\n * @returns\n */\nexport function length(arr: readonly unknown[]): number {\n return arr.length;\n}\n","import { purry } from '../function/purry';\n\nfunction mapImplementation<T, U>(\n arr: readonly T[],\n callbackfn: (value: T, index: number, array: readonly T[]) => U,\n): U[] {\n return arr.map(callbackfn);\n}\n\nexport function map<T, U>(callbackfn: (value: T, index: number, array: readonly T[]) => U): (arr: T[]) => U[];\nexport function map<T, U>(data: T[], callbackfn: (value: T, index: number, array: readonly T[]) => U): U[];\nexport function map(...args: readonly unknown[]): unknown {\n return purry(mapImplementation, args);\n}\n","/**\n * Arr.ofLength\n *\n * @throws {RangeError}\n */\nexport function ofLength<T = unknown>(arrayLength: number): T[] {\n return Array(arrayLength) as T[];\n}\n","import { purry } from '../function/purry';\n\nfunction partitionImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): [T[], T[]] {\n const len = arr.length;\n const left: T[] = [];\n const right: T[] = [];\n for (let i = 0; i < len; i += 1) {\n const value = arr[i]!;\n if (predicate(value, i, arr)) {\n left.push(value);\n } else {\n right.push(value);\n }\n }\n return [left, right];\n}\n\nexport function partition<T, S extends T>(\n predicate: (value: T, index: number, arr: readonly T[]) => value is S,\n): (data: readonly T[]) => [S[], T[]];\nexport function partition<T>(\n predicate: (value: T, index: number, arr: readonly T[]) => boolean,\n): (data: readonly T[]) => [T[], T[]];\nexport function partition<T, S extends T>(\n data: readonly T[],\n predicate: (value: T, index: number, arr: readonly T[]) => value is S,\n): [S[], T[]];\nexport function partition<T>(\n data: readonly T[],\n predicate: (value: T, index: number, arr: readonly T[]) => boolean,\n): [T[], T[]];\nexport function partition(...args: readonly unknown[]): unknown {\n return purry(partitionImplementation, args);\n}\n","import { EmptyArrayError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport type { ReadonlyNonEmptyArray } from '../types';\n\n/**\n * Array.pop\n */\nexport function pop<T>(arr: ReadonlyNonEmptyArray<T>): [T, T[]];\nexport function pop<T>(arr: readonly T[]): EmptyArrayError | [T, T[]];\nexport function pop<T>(arr: readonly T[]): EmptyArrayError | [T, T[]] {\n if (arr.length === 0) {\n return new EmptyArrayError('Arr.pop() :: array is empty');\n }\n const lastIndex = arr.length - 1;\n const last = arr[lastIndex]!;\n const tail = arr.slice(0, lastIndex);\n return [last, tail];\n}\n\nfunction popAssert<T>(arr: readonly T[]): [T, T[]] {\n // @ts-expect-error\n return orThrow(pop)(arr);\n}\n\npop.assert = popAssert;\n","import { purry } from '../function/purry';\n\nfunction prependImplementation<T>(arr: readonly T[], other: readonly T[]): T[] {\n return [...other, ...arr];\n}\n\nexport function prepend<T>(other: readonly T[]): (arr: readonly T[]) => T[];\nexport function prepend<T>(arr: readonly T[], other: readonly T[]): T[];\nexport function prepend(...args: readonly unknown[]): unknown {\n return purry(prependImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction pushImplementation<T>(arr: readonly T[], value: T): T[] {\n return [...arr, value];\n}\n\nexport function push<T>(value: T): (arr: readonly T[]) => T[];\nexport function push<T>(arr: readonly T[], value: T): T[];\nexport function push(...args: readonly unknown[]): unknown {\n return purry(pushImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduceImplementation<T, U>(\n arr: readonly T[],\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): U {\n return arr.reduce(callbackFn, initialValue);\n}\n\nexport function reduce<T, U>(\n arr: readonly T[],\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): U;\nexport function reduce<T, U>(\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): (arr: readonly T[]) => U;\nexport function reduce(...args: readonly unknown[]): unknown {\n return purry(reduceImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduce1Implementation<T>(\n arr: readonly T[],\n callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T,\n): T {\n return arr.reduce(callbackFn);\n}\n\nexport function reduce1<T>(\n arr: readonly T[],\n callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T,\n): T;\nexport function reduce1<T>(\n callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T,\n): (arr: readonly T[]) => T;\nexport function reduce1(...args: readonly unknown[]): unknown {\n return purry(reduce1Implementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduceRightImplementation<T, U>(\n arr: readonly T[],\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): U {\n return arr.reduceRight(callbackFn, initialValue);\n}\n\nexport function reduceRight<T, U>(\n arr: readonly T[],\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): U;\nexport function reduceRight<T, U>(\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): (arr: readonly T[]) => U;\nexport function reduceRight(...args: readonly unknown[]): unknown {\n return purry(reduceRightImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction reduceRight1Implementation<T>(\n arr: readonly T[],\n callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T,\n): T {\n return arr.reduceRight(callbackFn);\n}\n\nexport function reduceRight1<T>(\n arr: readonly T[],\n callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T,\n): T;\nexport function reduceRight1<T>(\n callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T,\n): (arr: readonly T[]) => T;\nexport function reduceRight1(...args: readonly unknown[]): unknown {\n return purry(reduceRight1Implementation, args);\n}\n","/**\n * Returns an array excluding the first entry\n * @param arr\n * @returns\n */\nexport function rest<T>(arr: readonly T[]): T[] {\n const [, ...tail] = arr;\n return tail;\n}\n","import { purry } from '../function/purry';\n\nfunction reverseImplementation<T>(arr: readonly T[]): T[] {\n return arr.toReversed();\n}\n\nexport function reverse(index: number): <T>(arr: readonly T[]) => T[];\nexport function reverse<T>(arr: readonly T[], index: number): T[];\nexport function reverse(...args: readonly unknown[]): unknown {\n return purry(reverseImplementation, args);\n}\n","import { purry } from '../function';\n\nfunction scanImplementation<T, U>(\n arr: T[],\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): U[] {\n const len = arr.length;\n const result = Array(len + 1) as U[];\n let acc = initialValue;\n result[0] = acc;\n for (let index = 0; index < len; index += 1) {\n acc = callbackFn(acc, arr[index]!, index, arr);\n result[index + 1] = acc;\n }\n return result;\n}\n\nexport function scan<T, U>(\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): (arr: T[]) => U[];\nexport function scan<T, U>(\n arr: T[],\n callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U,\n initialValue: U,\n): U[];\nexport function scan(...args: unknown[]): unknown {\n return purry(scanImplementation, args);\n}\n","import { EmptyArrayError } from '../errors';\nimport { orThrow } from '../function/orThrow';\nimport type { ReadonlyNonEmptyArray } from '../types';\n\n/**\n *\n */\nexport function shift<T>(arr: ReadonlyNonEmptyArray<T>): [T, T[]];\nexport function shift<T>(arr: readonly T[]): EmptyArrayError | [T, T[]] {\n if (arr.length === 0) {\n return new EmptyArrayError('Arr.shift() :: array is empty');\n }\n const [head, ...tail] = arr;\n return [head!, tail];\n}\n\nfunction shiftAssert<T>(arr: readonly T[]): [T, T[]] {\n // @ts-expect-error\n return orThrow(shift)(arr);\n}\n\nshift.assert = shiftAssert;\n","export function shuffle<T>(arr: T[]): T[] {\n const result = [...arr];\n const len = result.length;\n for (let i = 0; i < len; i += 1) {\n const rand = i + Math.floor(Math.random() * (len - i));\n const value = result[rand]!;\n result[rand] = result[i]!;\n result[i] = value;\n }\n return result;\n}\n","import { purry } from '../function/purry';\n\nfunction someImplementation<T>(\n arr: readonly T[],\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): boolean {\n return arr.some(predicate);\n}\n\nexport function some<T>(\n predicate: (value: T, index: number, array: readonly T[]) => boolean,\n): (arr: readonly T[]) => T[];\nexport function some<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T[];\nexport function some(...args: readonly unknown[]): unknown {\n return purry(someImplementation, args);\n}\n","import { purry } from '../function/purry';\nimport type { Order } from '../order/order.constants';\n\nfunction sortImplementation<T>(arr: T[], compareFn: (left: T, right: T) => Order): T[] {\n return arr.toSorted(compareFn);\n}\n\nexport function sort<T>(compareFn: (left: T, right: T) => Order): (arr: T[]) => T[];\nexport function sort<T>(arr: T[], compareFn: (left: T, right: T) => Order): T[];\nexport function sort(...args: readonly unknown[]): unknown {\n return purry(sortImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction sortByImplementation<T>(arr: T[], mapFn: (value: T) => Date | boolean | number | string): T[] {\n return arr.toSorted((left, right) => {\n const l = mapFn(left);\n const r = mapFn(right);\n if (l < r) return -1;\n if (l > r) return 0;\n return 0;\n });\n}\n\nexport function sortBy<T>(mapFn: (value: T) => Date | boolean | number | string): (arr: T[]) => T[];\nexport function sortBy<T>(arr: T[], mapFn: (value: T) => Date | boolean | number | string): T[];\nexport function sortBy(...args: readonly unknown[]): unknown {\n return purry(sortByImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction takeImplementation<T>(arr: readonly T[], limit: number): T[] {\n if (limit < 1) {\n throw new RangeError(`Arr.take() :: ${limit} must be a positive integer`);\n }\n\n return arr.slice(0, limit);\n}\n\n/**\n *\n * @throws {RangeError}\n */\nexport function take<T>(limit: number): (arr: readonly T[]) => T[];\nexport function take<T>(arr: readonly T[], limit: number): T[];\nexport function take(...args: readonly unknown[]): unknown {\n return purry(takeImplementation, args);\n}\n","export function transpose<T>(arr: T[][]): T[][] {\n // pre-populate result with empty arrays of max length of inners\n const maxLen = arr.reduce((acc, inner) => Math.max(acc, inner.length), 0);\n return Array(maxLen)\n .fill(undefined)\n .map((_, index) => arr.map(inner => inner[index]!));\n}\n","export function unique<T>(arr: readonly T[]): T[] {\n if (arr.length === 0) {\n return [];\n }\n return Array.from(new Set(arr));\n}\n","import { purry } from '../function/purry';\n\nfunction uniqueByImplementation<T>(arr: readonly T[], mapFn: (value: T) => unknown): T[] {\n if (arr.length === 0) {\n return [];\n }\n const map = new Map<unknown, T>();\n arr.forEach((_, index) => {\n const value = arr[index]!;\n const key = mapFn(value);\n if (!map.has(key)) {\n map.set(key, value);\n }\n });\n return Array.from(map.values());\n}\n\nexport function uniqueBy<T>(mapFn: (value: T) => unknown): (arr: T[]) => T[];\nexport function uniqueBy<T>(arr: T[], mapFn: (value: T) => unknown): T[];\nexport function uniqueBy(...args: unknown[]): unknown {\n return purry(uniqueByImplementation, args);\n}\n","export function uniqueWith<T>(arr: readonly T[], isEqual: (left: T, right: T) => boolean): T[] {\n if (arr.length === 0) {\n return [];\n }\n return arr.filter((value, index) => {\n const foundIndex = arr.find((otherValue, otherIndex) => index === otherIndex || isEqual(value, otherValue)) ?? -1; // logically this should never happen, but handle it to prevent runtime errors\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","import { purry } from '../function/purry';\n\nfunction unshiftImplementation<T>(arr: readonly T[], value: T): T[] {\n return [value, ...arr];\n}\n\n/**\n * Immutably inserts new elements at the start of an array. Returns the new array.\n */\nexport function unshift<T>(value: T): (arr: readonly T[]) => T[];\nexport function unshift<T>(arr: readonly T[], value: T): T[];\nexport function unshift(...args: readonly unknown[]): unknown {\n return purry(unshiftImplementation, args);\n}\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction updateImplementation<T>(arr: readonly T[], index: number, fn: (valueR: T) => T): RangeError | T[] {\n if (index >= arr.length || index < -arr.length) {\n return new RangeError(`Arr.update() :: Invalid index : ${index}`);\n }\n const value = arr.at(index) as T;\n\n const updatedValue = fn(value);\n\n return arr.with(index, updatedValue);\n}\n\n/**\n *\n */\nexport function update<T>(index: number, fn: (value: T) => T): (arr: readonly T[]) => RangeError | T[];\nexport function update<T>(arr: readonly T[], index: number, fn: (value: T) => T): RangeError | T[];\nexport function update(...args: readonly unknown[]): unknown {\n return purry(updateImplementation, args);\n}\n\nfunction updateAssert<T>(index: number, fn: (value: T) => T): (arr: readonly T[]) => T[];\nfunction updateAssert<T>(arr: readonly T[], index: number, fn: (value: T) => T): T[];\nfunction updateAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(updateImplementation), args);\n}\n\nupdate.assert = updateAssert;\n","import { orThrow } from '../function/orThrow';\nimport { purry } from '../function/purry';\n\nfunction windowImplementation<T>(arr: readonly T[], size: number): T[][] {\n if (size < 1) {\n throw new RangeError(`Arr.window() :: ${size} must be a positive integer`);\n }\n\n const limit = arr.length - (size - 1);\n\n if (limit < 0) return [];\n\n return Array(limit)\n .fill(undefined)\n .map((_, index) => arr.slice(index, index + size));\n}\n\n/**\n *\n * @throws {RangeError}\n */\nexport function window(size: number): <T>(arr: readonly T[]) => T[][];\nexport function window<T>(arr: readonly T[], size: number): T[][];\nexport function window(...args: unknown[]): unknown {\n return purry(windowImplementation, args);\n}\n\nfunction windowAssert<T>(size: number): (arr: readonly T[]) => T[][];\nfunction windowAssert<T>(arr: readonly T[], size: number): T[][];\nfunction windowAssert(...args: readonly unknown[]): unknown {\n return purry(orThrow(windowImplementation), args);\n}\n\nwindow.assert = windowAssert;\n","import { purry } from '../function/purry';\n\nfunction zipImplementation<L, R>(arr: readonly L[], other: readonly R[]): [L, R][] {\n return Array(Math.min(arr.length, other.length))\n .fill(undefined)\n .map<[L, R]>((_, index) => [arr[index]!, other[index]!] as const);\n}\n\nexport function zip<L, R>(other: readonly R[]): (arr: readonly L[]) => [L, R][];\nexport function zip<L, R>(arr: readonly L[], other: readonly R[]): [L, R][];\nexport function zip(...args: unknown[]): unknown {\n return purry(zipImplementation, args);\n}\n","import { purry } from '../function/purry';\n\nfunction zipWithImplementation<L, R, U>(arr: readonly L[], other: readonly R[], fn: (l: L, R: R) => U): U[] {\n return Array(Math.min(arr.length, other.length))\n .fill(undefined)\n .map<U>((_, index) => fn(arr[index]!, other[index]!));\n}\n\nexport function zipWith<L, R, U>(other: readonly R[], fn: (l: L, R: R) => U): (arr: readonly L[]) => U[];\nexport function zipWith<L, R, U>(arr: readonly L[], other: readonly R[], fn: (l: L, R: R) => U): U[];\nexport function zipWith(...args: unknown[]): unknown {\n return purry(zipWithImplementation, args);\n}\n"],"mappings":"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"}
@@ -0,0 +1,334 @@
1
+ import { r as NotFoundError, t as EmptyArrayError } from "../errors-CJsLpYo9.cjs";
2
+ import { a as NonEmptyArray, s as ReadonlyNonEmptyArray } from "../types-D8f67ZCe.cjs";
3
+ import { i as Order } from "../order.constants-BWSCg3C7.cjs";
4
+
5
+ //#region src/array/_globalAliases.d.ts
6
+ declare const from: {
7
+ <T>(arrayLike: ArrayLike<T>): T[];
8
+ <T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
9
+ <T>(iterable: Iterable<T> | ArrayLike<T>): T[];
10
+ <T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
11
+ }, fromAsync: {
12
+ <T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
13
+ <T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
14
+ }, isArray: (arg: any) => arg is any[], of: <T>(...items: T[]) => T[];
15
+ declare const arrayConstructor: ArrayConstructor;
16
+ //#endregion
17
+ //#region src/array/at.d.ts
18
+ /**
19
+ * Get an element from an array by index.
20
+ *
21
+ * @category Array
22
+ * @param arr - The array to get the element from.
23
+ * @param index - The index of the element to get.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * at([1, 2, 3], 1); // 2
28
+ * ```
29
+ */
30
+ declare function at<T>(index: number): (arr: readonly T[]) => RangeError | T;
31
+ declare function at<T>(arr: readonly T[], index: number): RangeError | T;
32
+ declare namespace at {
33
+ var assert: typeof atAssert;
34
+ }
35
+ declare function atAssert<T>(index: number): (arr: readonly T[]) => T;
36
+ declare function atAssert<T>(arr: readonly T[], index: number): T;
37
+ //#endregion
38
+ //#region src/array/chunk.d.ts
39
+ /**
40
+ *
41
+ * @throws {RangeError}
42
+ */
43
+ declare function chunk(size: number): <T>(arr: readonly T[]) => T[][];
44
+ declare function chunk<T>(arr: readonly T[], size: number): T[][];
45
+ declare namespace chunk {
46
+ var assert: typeof chunkAssert;
47
+ }
48
+ declare function chunkAssert<T>(size: number): (arr: readonly T[]) => T[][];
49
+ declare function chunkAssert<T>(arr: readonly T[], size: number): T[][];
50
+ //#endregion
51
+ //#region src/array/concat.d.ts
52
+ declare function concat<T>(other: readonly T[]): (arr: readonly T[]) => T;
53
+ declare function concat<T>(arr: readonly T[], other: readonly T[]): T;
54
+ //#endregion
55
+ //#region src/array/drop.d.ts
56
+ declare function drop<T>(n: number): (arr: readonly T[]) => T[];
57
+ declare function drop<T>(arr: readonly T[], n: number): T[];
58
+ //#endregion
59
+ //#region src/array/every.d.ts
60
+ declare function every<T, S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S): (arr: readonly T[]) => arr is S[];
61
+ declare function every<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => T[];
62
+ declare function every<T, S extends T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => value is S): arr is S[];
63
+ declare function every<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T[];
64
+ //#endregion
65
+ //#region src/array/find.d.ts
66
+ declare function find<T, S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S): (arr: readonly T[]) => NotFoundError | S;
67
+ declare function find<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => NotFoundError | T;
68
+ declare function find<T, S extends T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => value is S): NotFoundError | S;
69
+ declare function find<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): NotFoundError | T;
70
+ declare namespace find {
71
+ var assert: typeof findAssert;
72
+ }
73
+ declare function findAssert<T, S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S): (arr: readonly T[]) => S;
74
+ declare function findAssert<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => T;
75
+ declare function findAssert<T, S extends T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => value is S): S;
76
+ declare function findAssert<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T;
77
+ //#endregion
78
+ //#region src/array/findIndex.d.ts
79
+ declare function findIndex<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => NotFoundError | number;
80
+ declare function findIndex<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): NotFoundError | number;
81
+ declare namespace findIndex {
82
+ var assert: typeof findIndexAssert;
83
+ }
84
+ declare function findIndexAssert<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => number;
85
+ declare function findIndexAssert<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): number;
86
+ //#endregion
87
+ //#region src/array/findLast.d.ts
88
+ declare function findLast<T, S extends T>(predicate: (value: T, index: number, array: readonly T[]) => value is S): (arr: readonly T[]) => NotFoundError | S;
89
+ declare function findLast<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => NotFoundError | T;
90
+ declare function findLast<T, S extends T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => value is S): NotFoundError | S;
91
+ declare function findLast<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): NotFoundError | T;
92
+ declare namespace findLast {
93
+ var assert: typeof findLastAssert;
94
+ }
95
+ declare function findLastAssert<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => T;
96
+ declare function findLastAssert<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T;
97
+ //#endregion
98
+ //#region src/array/findLastIndex.d.ts
99
+ declare function findLastIndex<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => NotFoundError | number;
100
+ declare function findLastIndex<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): NotFoundError | number;
101
+ declare namespace findLastIndex {
102
+ var assert: typeof findLastIndexAssert;
103
+ }
104
+ declare function findLastIndexAssert<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => number;
105
+ declare function findLastIndexAssert<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): number;
106
+ //#endregion
107
+ //#region src/array/first.d.ts
108
+ /**
109
+ *
110
+ */
111
+ declare function first<T>(arr: ReadonlyNonEmptyArray<T>): T[];
112
+ declare function first<T>(arr: readonly T[]): EmptyArrayError | T;
113
+ declare namespace first {
114
+ var assert: typeof firstAssert;
115
+ }
116
+ declare function firstAssert<T>(arr: readonly T[]): T;
117
+ //#endregion
118
+ //#region src/array/flatMap.d.ts
119
+ declare function flatMap<T, U>(callbackfn: (value: T, index: number, array: readonly T[]) => U | readonly U[]): (arr: T[]) => U[];
120
+ declare function flatMap<T, U>(arr: T[], callbackfn: (value: T, index: number, array: readonly U[]) => U[]): U[];
121
+ //#endregion
122
+ //#region src/array/forEach.d.ts
123
+ declare function forEach<T>(callbackfn: (value: T, index: number, array: readonly T[]) => void): (arr: T[]) => T[];
124
+ declare function forEach<T>(arr: T[], callbackfn: (value: T, index: number, array: readonly T[]) => void): T[];
125
+ //#endregion
126
+ //#region src/array/init.d.ts
127
+ /**
128
+ *
129
+ */
130
+ declare function init<T>(arr: readonly T[]): T[];
131
+ declare namespace init {
132
+ var assert: typeof initAssert;
133
+ }
134
+ declare function initAssert<T>(arr: readonly T[]): T[];
135
+ //#endregion
136
+ //#region src/array/insert.d.ts
137
+ /**
138
+ * `with` is reserved word. So this function is uses `insert`
139
+ * @throws RangeError
140
+ */
141
+ declare function insert<T>(index: number, value: T): (arr: readonly T[]) => T[];
142
+ declare function insert<T>(arr: readonly T[], index: number, value: T): T[];
143
+ declare namespace insert {
144
+ var assert: typeof insertAssert;
145
+ }
146
+ declare function insertAssert<T>(index: number, value: T): (arr: readonly T[]) => T[];
147
+ declare function insertAssert<T>(arr: readonly T[], index: number, value: T): T[];
148
+ //#endregion
149
+ //#region src/array/isEmpty.d.ts
150
+ declare function isNotEmpty<T>(value: T[]): value is NonEmptyArray<T>;
151
+ declare function isNotEmpty<T>(value: readonly T[]): value is ReadonlyNonEmptyArray<T>;
152
+ declare function isEmpty<T>(value: T[]): value is [];
153
+ declare function isEmpty<T>(value: readonly T[]): value is readonly [];
154
+ //#endregion
155
+ //#region src/array/join.d.ts
156
+ declare function join(separator: string): (arr: string[]) => string;
157
+ declare function join(arr: string[], separator: string): string;
158
+ //#endregion
159
+ //#region src/array/last.d.ts
160
+ /**
161
+ *
162
+ */
163
+ declare function last<T>(arr: ReadonlyNonEmptyArray<T>): T;
164
+ declare function last<T>(arr: readonly T[]): EmptyArrayError | T;
165
+ declare namespace last {
166
+ var assert: typeof lastAssert;
167
+ }
168
+ declare function lastAssert<T>(arr: readonly T[]): T;
169
+ //#endregion
170
+ //#region src/array/length.d.ts
171
+ /**
172
+ * Returns length of array
173
+ * @param arr
174
+ * @returns
175
+ */
176
+ declare function length(arr: readonly unknown[]): number;
177
+ //#endregion
178
+ //#region src/array/map.d.ts
179
+ declare function map<T, U>(callbackfn: (value: T, index: number, array: readonly T[]) => U): (arr: T[]) => U[];
180
+ declare function map<T, U>(data: T[], callbackfn: (value: T, index: number, array: readonly T[]) => U): U[];
181
+ //#endregion
182
+ //#region src/array/ofLength.d.ts
183
+ /**
184
+ * Arr.ofLength
185
+ *
186
+ * @throws {RangeError}
187
+ */
188
+ declare function ofLength<T = unknown>(arrayLength: number): T[];
189
+ //#endregion
190
+ //#region src/array/partition.d.ts
191
+ declare function partition<T, S extends T>(predicate: (value: T, index: number, arr: readonly T[]) => value is S): (data: readonly T[]) => [S[], T[]];
192
+ declare function partition<T>(predicate: (value: T, index: number, arr: readonly T[]) => boolean): (data: readonly T[]) => [T[], T[]];
193
+ declare function partition<T, S extends T>(data: readonly T[], predicate: (value: T, index: number, arr: readonly T[]) => value is S): [S[], T[]];
194
+ declare function partition<T>(data: readonly T[], predicate: (value: T, index: number, arr: readonly T[]) => boolean): [T[], T[]];
195
+ //#endregion
196
+ //#region src/array/pop.d.ts
197
+ /**
198
+ * Array.pop
199
+ */
200
+ declare function pop<T>(arr: ReadonlyNonEmptyArray<T>): [T, T[]];
201
+ declare function pop<T>(arr: readonly T[]): EmptyArrayError | [T, T[]];
202
+ declare namespace pop {
203
+ var assert: typeof popAssert;
204
+ }
205
+ declare function popAssert<T>(arr: readonly T[]): [T, T[]];
206
+ //#endregion
207
+ //#region src/array/prepend.d.ts
208
+ declare function prepend<T>(other: readonly T[]): (arr: readonly T[]) => T[];
209
+ declare function prepend<T>(arr: readonly T[], other: readonly T[]): T[];
210
+ //#endregion
211
+ //#region src/array/push.d.ts
212
+ declare function push<T>(value: T): (arr: readonly T[]) => T[];
213
+ declare function push<T>(arr: readonly T[], value: T): T[];
214
+ //#endregion
215
+ //#region src/array/reduce.d.ts
216
+ declare function reduce<T, U>(arr: readonly T[], callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U, initialValue: U): U;
217
+ declare function reduce<T, U>(callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U, initialValue: U): (arr: readonly T[]) => U;
218
+ //#endregion
219
+ //#region src/array/reduce1.d.ts
220
+ declare function reduce1<T>(arr: readonly T[], callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T): T;
221
+ declare function reduce1<T>(callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T): (arr: readonly T[]) => T;
222
+ //#endregion
223
+ //#region src/array/reduceRight.d.ts
224
+ declare function reduceRight<T, U>(arr: readonly T[], callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U, initialValue: U): U;
225
+ declare function reduceRight<T, U>(callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U, initialValue: U): (arr: readonly T[]) => U;
226
+ //#endregion
227
+ //#region src/array/reduceRight1.d.ts
228
+ declare function reduceRight1<T>(arr: readonly T[], callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T): T;
229
+ declare function reduceRight1<T>(callbackFn: (acc: T, value: T, index: number, array: readonly T[]) => T): (arr: readonly T[]) => T;
230
+ //#endregion
231
+ //#region src/array/rest.d.ts
232
+ /**
233
+ * Returns an array excluding the first entry
234
+ * @param arr
235
+ * @returns
236
+ */
237
+ declare function rest<T>(arr: readonly T[]): T[];
238
+ //#endregion
239
+ //#region src/array/reverse.d.ts
240
+ declare function reverse(index: number): <T>(arr: readonly T[]) => T[];
241
+ declare function reverse<T>(arr: readonly T[], index: number): T[];
242
+ //#endregion
243
+ //#region src/array/scan.d.ts
244
+ declare function scan<T, U>(callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U, initialValue: U): (arr: T[]) => U[];
245
+ declare function scan<T, U>(arr: T[], callbackFn: (acc: U, value: T, index: number, array: readonly T[]) => U, initialValue: U): U[];
246
+ //#endregion
247
+ //#region src/array/shift.d.ts
248
+ /**
249
+ *
250
+ */
251
+ declare function shift<T>(arr: ReadonlyNonEmptyArray<T>): [T, T[]];
252
+ declare namespace shift {
253
+ var assert: typeof shiftAssert;
254
+ }
255
+ declare function shiftAssert<T>(arr: readonly T[]): [T, T[]];
256
+ //#endregion
257
+ //#region src/array/shuffle.d.ts
258
+ declare function shuffle<T>(arr: T[]): T[];
259
+ //#endregion
260
+ //#region src/array/some.d.ts
261
+ declare function some<T>(predicate: (value: T, index: number, array: readonly T[]) => boolean): (arr: readonly T[]) => T[];
262
+ declare function some<T>(arr: readonly T[], predicate: (value: T, index: number, array: readonly T[]) => boolean): T[];
263
+ //#endregion
264
+ //#region src/array/sort.d.ts
265
+ declare function sort<T>(compareFn: (left: T, right: T) => Order): (arr: T[]) => T[];
266
+ declare function sort<T>(arr: T[], compareFn: (left: T, right: T) => Order): T[];
267
+ //#endregion
268
+ //#region src/array/sortBy.d.ts
269
+ declare function sortBy<T>(mapFn: (value: T) => Date | boolean | number | string): (arr: T[]) => T[];
270
+ declare function sortBy<T>(arr: T[], mapFn: (value: T) => Date | boolean | number | string): T[];
271
+ //#endregion
272
+ //#region src/array/take.d.ts
273
+ /**
274
+ *
275
+ * @throws {RangeError}
276
+ */
277
+ declare function take<T>(limit: number): (arr: readonly T[]) => T[];
278
+ declare function take<T>(arr: readonly T[], limit: number): T[];
279
+ //#endregion
280
+ //#region src/array/transpose.d.ts
281
+ declare function transpose<T>(arr: T[][]): T[][];
282
+ //#endregion
283
+ //#region src/array/unique.d.ts
284
+ declare function unique<T>(arr: readonly T[]): T[];
285
+ //#endregion
286
+ //#region src/array/uniqueBy.d.ts
287
+ declare function uniqueBy<T>(mapFn: (value: T) => unknown): (arr: T[]) => T[];
288
+ declare function uniqueBy<T>(arr: T[], mapFn: (value: T) => unknown): T[];
289
+ //#endregion
290
+ //#region src/array/uniqueWith.d.ts
291
+ declare function uniqueWith<T>(arr: readonly T[], isEqual: (left: T, right: T) => boolean): T[];
292
+ //#endregion
293
+ //#region src/array/unshift.d.ts
294
+ /**
295
+ * Immutably inserts new elements at the start of an array. Returns the new array.
296
+ */
297
+ declare function unshift<T>(value: T): (arr: readonly T[]) => T[];
298
+ declare function unshift<T>(arr: readonly T[], value: T): T[];
299
+ //#endregion
300
+ //#region src/array/update.d.ts
301
+ /**
302
+ *
303
+ */
304
+ declare function update<T>(index: number, fn: (value: T) => T): (arr: readonly T[]) => RangeError | T[];
305
+ declare function update<T>(arr: readonly T[], index: number, fn: (value: T) => T): RangeError | T[];
306
+ declare namespace update {
307
+ var assert: typeof updateAssert;
308
+ }
309
+ declare function updateAssert<T>(index: number, fn: (value: T) => T): (arr: readonly T[]) => T[];
310
+ declare function updateAssert<T>(arr: readonly T[], index: number, fn: (value: T) => T): T[];
311
+ //#endregion
312
+ //#region src/array/window.d.ts
313
+ /**
314
+ *
315
+ * @throws {RangeError}
316
+ */
317
+ declare function window(size: number): <T>(arr: readonly T[]) => T[][];
318
+ declare function window<T>(arr: readonly T[], size: number): T[][];
319
+ declare namespace window {
320
+ var assert: typeof windowAssert;
321
+ }
322
+ declare function windowAssert<T>(size: number): (arr: readonly T[]) => T[][];
323
+ declare function windowAssert<T>(arr: readonly T[], size: number): T[][];
324
+ //#endregion
325
+ //#region src/array/zip.d.ts
326
+ declare function zip<L, R>(other: readonly R[]): (arr: readonly L[]) => [L, R][];
327
+ declare function zip<L, R>(arr: readonly L[], other: readonly R[]): [L, R][];
328
+ //#endregion
329
+ //#region src/array/zipWith.d.ts
330
+ declare function zipWith<L, R, U>(other: readonly R[], fn: (l: L, R: R) => U): (arr: readonly L[]) => U[];
331
+ declare function zipWith<L, R, U>(arr: readonly L[], other: readonly R[], fn: (l: L, R: R) => U): U[];
332
+ //#endregion
333
+ export { arrayConstructor as Array, at, atAssert, chunk, concat, drop, every, find, findIndex, findLast, findLastIndex, first, flatMap, forEach, from, fromAsync, init, insert, isArray, isEmpty, isNotEmpty, join, last, length, map, of, ofLength, partition, pop, prepend, push, reduce, reduce1, reduceRight, reduceRight1, rest, reverse, scan, shift, shuffle, some, sort, sortBy, take, transpose, unique, uniqueBy, uniqueWith, unshift, update, window, zip, zipWith };
334
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/array/_globalAliases.ts","../../src/array/at.ts","../../src/array/chunk.ts","../../src/array/concat.ts","../../src/array/drop.ts","../../src/array/every.ts","../../src/array/find.ts","../../src/array/findIndex.ts","../../src/array/findLast.ts","../../src/array/findLastIndex.ts","../../src/array/first.ts","../../src/array/flatMap.ts","../../src/array/forEach.ts","../../src/array/init.ts","../../src/array/insert.ts","../../src/array/isEmpty.ts","../../src/array/join.ts","../../src/array/last.ts","../../src/array/length.ts","../../src/array/map.ts","../../src/array/ofLength.ts","../../src/array/partition.ts","../../src/array/pop.ts","../../src/array/prepend.ts","../../src/array/push.ts","../../src/array/reduce.ts","../../src/array/reduce1.ts","../../src/array/reduceRight.ts","../../src/array/reduceRight1.ts","../../src/array/rest.ts","../../src/array/reverse.ts","../../src/array/scan.ts","../../src/array/shift.ts","../../src/array/shuffle.ts","../../src/array/some.ts","../../src/array/sort.ts","../../src/array/sortBy.ts","../../src/array/take.ts","../../src/array/transpose.ts","../../src/array/unique.ts","../../src/array/uniqueBy.ts","../../src/array/uniqueWith.ts","../../src/array/unshift.ts","../../src/array/update.ts","../../src/array/window.ts","../../src/array/zip.ts","../../src/array/zipWith.ts"],"mappings":"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"}