@duplojs/utils 1.2.18 → 1.3.19

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 (218) hide show
  1. package/dist/array/every.cjs +6 -3
  2. package/dist/array/every.d.ts +4 -3
  3. package/dist/array/every.mjs +6 -3
  4. package/dist/array/fill/all.d.ts +2 -2
  5. package/dist/array/filter.cjs +6 -3
  6. package/dist/array/filter.d.ts +6 -5
  7. package/dist/array/filter.mjs +6 -3
  8. package/dist/array/flatMap.cjs +6 -3
  9. package/dist/array/flatMap.d.ts +4 -3
  10. package/dist/array/flatMap.mjs +6 -3
  11. package/dist/array/index.cjs +11 -10
  12. package/dist/array/index.d.ts +2 -0
  13. package/dist/array/index.mjs +4 -4
  14. package/dist/array/insert.cjs +12 -0
  15. package/dist/array/insert.d.ts +2 -0
  16. package/dist/array/insert.mjs +10 -0
  17. package/dist/array/isLastIndex.cjs +12 -0
  18. package/dist/array/isLastIndex.d.ts +2 -0
  19. package/dist/array/isLastIndex.mjs +10 -0
  20. package/dist/array/map.cjs +6 -3
  21. package/dist/array/map.d.ts +4 -3
  22. package/dist/array/map.mjs +6 -3
  23. package/dist/array/push.cjs +3 -3
  24. package/dist/array/push.d.ts +2 -2
  25. package/dist/array/push.mjs +3 -3
  26. package/dist/array/reduce.cjs +22 -9
  27. package/dist/array/reduce.d.ts +7 -4
  28. package/dist/array/reduce.mjs +22 -10
  29. package/dist/array/reduceRight.cjs +7 -10
  30. package/dist/array/reduceRight.d.ts +2 -2
  31. package/dist/array/reduceRight.mjs +7 -10
  32. package/dist/array/some.cjs +6 -3
  33. package/dist/array/some.d.ts +4 -3
  34. package/dist/array/some.mjs +6 -3
  35. package/dist/array/types/ArrayCoalescing.d.ts +1 -1
  36. package/dist/clean/constraint/base.cjs +77 -0
  37. package/dist/clean/constraint/base.d.ts +36 -0
  38. package/dist/clean/constraint/base.mjs +72 -0
  39. package/dist/{array/sort → clean/constraint/defaultConstraint}/index.d.ts +0 -1
  40. package/dist/clean/constraint/defaultConstraint/number.cjs +15 -0
  41. package/dist/clean/constraint/defaultConstraint/number.d.ts +8 -0
  42. package/dist/clean/constraint/defaultConstraint/number.mjs +11 -0
  43. package/dist/clean/constraint/defaultConstraint/string.cjs +12 -0
  44. package/dist/clean/constraint/defaultConstraint/string.d.ts +6 -0
  45. package/dist/clean/constraint/defaultConstraint/string.mjs +9 -0
  46. package/dist/clean/constraint/index.d.ts +2 -0
  47. package/dist/clean/entity.cjs +125 -0
  48. package/dist/clean/entity.d.ts +74 -0
  49. package/dist/clean/entity.mjs +121 -0
  50. package/dist/clean/flag.cjs +26 -0
  51. package/dist/clean/flag.d.ts +16 -0
  52. package/dist/clean/flag.mjs +23 -0
  53. package/dist/clean/index.cjs +84 -0
  54. package/dist/clean/index.d.ts +8 -0
  55. package/dist/clean/index.mjs +29 -0
  56. package/dist/clean/kind.cjs +9 -0
  57. package/dist/clean/kind.d.ts +1 -0
  58. package/dist/clean/kind.mjs +7 -0
  59. package/dist/clean/newType.cjs +91 -0
  60. package/dist/clean/newType.d.ts +38 -0
  61. package/dist/clean/newType.mjs +86 -0
  62. package/dist/clean/primitive/base.cjs +72 -0
  63. package/dist/clean/primitive/base.d.ts +36 -0
  64. package/dist/clean/primitive/base.mjs +64 -0
  65. package/dist/clean/primitive/index.d.ts +2 -0
  66. package/dist/clean/primitive/operations/date/dateGreaterThan.cjs +15 -0
  67. package/dist/clean/primitive/operations/date/dateGreaterThan.d.ts +4 -0
  68. package/dist/clean/primitive/operations/date/dateGreaterThan.mjs +13 -0
  69. package/dist/clean/primitive/operations/date/dateLessThan.cjs +15 -0
  70. package/dist/clean/primitive/operations/date/dateLessThan.d.ts +4 -0
  71. package/dist/clean/primitive/operations/date/dateLessThan.mjs +13 -0
  72. package/dist/clean/primitive/operations/date/dateMax.cjs +15 -0
  73. package/dist/clean/primitive/operations/date/dateMax.d.ts +5 -0
  74. package/dist/clean/primitive/operations/date/dateMax.mjs +13 -0
  75. package/dist/clean/primitive/operations/date/dateMin.cjs +15 -0
  76. package/dist/clean/primitive/operations/date/dateMin.d.ts +5 -0
  77. package/dist/clean/primitive/operations/date/dateMin.mjs +13 -0
  78. package/dist/clean/primitive/operations/date/index.d.ts +8 -0
  79. package/dist/clean/primitive/operations/equal.cjs +14 -0
  80. package/dist/clean/primitive/operations/equal.d.ts +4 -0
  81. package/dist/clean/primitive/operations/equal.mjs +12 -0
  82. package/dist/clean/primitive/operations/index.d.ts +5 -0
  83. package/dist/clean/primitive/operations/number/add.cjs +15 -0
  84. package/dist/clean/primitive/operations/number/add.d.ts +3 -0
  85. package/dist/clean/primitive/operations/number/add.mjs +13 -0
  86. package/dist/clean/primitive/operations/number/divide.cjs +15 -0
  87. package/dist/clean/primitive/operations/number/divide.d.ts +3 -0
  88. package/dist/clean/primitive/operations/number/divide.mjs +13 -0
  89. package/dist/clean/primitive/operations/number/greaterThan.cjs +14 -0
  90. package/dist/clean/primitive/operations/number/greaterThan.d.ts +3 -0
  91. package/dist/clean/primitive/operations/number/greaterThan.mjs +12 -0
  92. package/dist/clean/primitive/operations/number/index.d.ts +8 -0
  93. package/dist/clean/primitive/operations/number/lessThan.cjs +14 -0
  94. package/dist/clean/primitive/operations/number/lessThan.d.ts +3 -0
  95. package/dist/clean/primitive/operations/number/lessThan.mjs +12 -0
  96. package/dist/clean/primitive/operations/number/max.cjs +10 -0
  97. package/dist/clean/primitive/operations/number/max.d.ts +3 -0
  98. package/dist/clean/primitive/operations/number/max.mjs +8 -0
  99. package/dist/clean/primitive/operations/number/min.cjs +10 -0
  100. package/dist/clean/primitive/operations/number/min.d.ts +3 -0
  101. package/dist/clean/primitive/operations/number/min.mjs +8 -0
  102. package/dist/clean/primitive/operations/number/multiply.cjs +15 -0
  103. package/dist/clean/primitive/operations/number/multiply.d.ts +3 -0
  104. package/dist/clean/primitive/operations/number/multiply.mjs +13 -0
  105. package/dist/clean/primitive/operations/number/subtract.cjs +15 -0
  106. package/dist/clean/primitive/operations/number/subtract.d.ts +3 -0
  107. package/dist/clean/primitive/operations/number/subtract.mjs +13 -0
  108. package/dist/clean/primitive/operations/sort.cjs +35 -0
  109. package/dist/clean/primitive/operations/sort.d.ts +9 -0
  110. package/dist/clean/primitive/operations/sort.mjs +33 -0
  111. package/dist/clean/primitive/operations/string/concat.cjs +16 -0
  112. package/dist/clean/primitive/operations/string/concat.d.ts +3 -0
  113. package/dist/clean/primitive/operations/string/concat.mjs +14 -0
  114. package/dist/clean/primitive/operations/string/index.d.ts +5 -0
  115. package/dist/clean/primitive/operations/string/length.cjs +10 -0
  116. package/dist/clean/primitive/operations/string/length.d.ts +2 -0
  117. package/dist/clean/primitive/operations/string/length.mjs +8 -0
  118. package/dist/clean/primitive/operations/string/lengthEqual.cjs +14 -0
  119. package/dist/clean/primitive/operations/string/lengthEqual.d.ts +3 -0
  120. package/dist/clean/primitive/operations/string/lengthEqual.mjs +12 -0
  121. package/dist/clean/primitive/operations/string/lengthGreaterThan.cjs +14 -0
  122. package/dist/clean/primitive/operations/string/lengthGreaterThan.d.ts +3 -0
  123. package/dist/clean/primitive/operations/string/lengthGreaterThan.mjs +12 -0
  124. package/dist/clean/primitive/operations/string/lengthLessThan.cjs +14 -0
  125. package/dist/clean/primitive/operations/string/lengthLessThan.d.ts +3 -0
  126. package/dist/clean/primitive/operations/string/lengthLessThan.mjs +12 -0
  127. package/dist/clean/repository.cjs +15 -0
  128. package/dist/clean/repository.d.ts +8 -0
  129. package/dist/clean/repository.mjs +12 -0
  130. package/dist/clean/useCase.cjs +25 -0
  131. package/dist/clean/useCase.d.ts +23 -0
  132. package/dist/clean/useCase.mjs +21 -0
  133. package/dist/common/index.d.ts +0 -1
  134. package/dist/common/kind.d.ts +1 -0
  135. package/dist/common/types/index.d.ts +1 -0
  136. package/dist/common/types/sortType.d.ts +1 -0
  137. package/dist/common/unwrap.d.ts +1 -2
  138. package/dist/dataParser/base.d.ts +5 -4
  139. package/dist/dataParser/baseExtended.d.ts +2 -1
  140. package/dist/dataParser/extended/index.d.ts +1 -0
  141. package/dist/dataParser/extended/number.cjs +3 -0
  142. package/dist/dataParser/extended/number.d.ts +3 -0
  143. package/dist/dataParser/extended/number.mjs +3 -0
  144. package/dist/dataParser/extended/object.cjs +8 -13
  145. package/dist/dataParser/extended/object.d.ts +2 -0
  146. package/dist/dataParser/extended/object.mjs +8 -13
  147. package/dist/dataParser/identifier.d.ts +40 -40
  148. package/dist/dataParser/index.cjs +4 -0
  149. package/dist/dataParser/index.mjs +2 -0
  150. package/dist/dataParser/parsers/array/index.cjs +2 -2
  151. package/dist/dataParser/parsers/array/index.mjs +2 -2
  152. package/dist/dataParser/parsers/literal.d.ts +1 -1
  153. package/dist/dataParser/parsers/object/index.cjs +3 -3
  154. package/dist/dataParser/parsers/object/index.d.ts +2 -0
  155. package/dist/dataParser/parsers/object/index.mjs +3 -3
  156. package/dist/dataParser/parsers/object/partial.cjs +20 -0
  157. package/dist/dataParser/parsers/object/partial.d.ts +14 -0
  158. package/dist/dataParser/parsers/object/partial.mjs +18 -0
  159. package/dist/dataParser/parsers/object/required.cjs +20 -0
  160. package/dist/dataParser/parsers/object/required.d.ts +10 -0
  161. package/dist/dataParser/parsers/object/required.mjs +18 -0
  162. package/dist/dataParser/parsers/record/index.cjs +2 -2
  163. package/dist/dataParser/parsers/record/index.mjs +2 -2
  164. package/dist/dataParser/parsers/recover.d.ts +1 -1
  165. package/dist/dataParser/parsers/refine.d.ts +1 -1
  166. package/dist/dataParser/parsers/tuple.cjs +2 -2
  167. package/dist/dataParser/parsers/tuple.mjs +2 -2
  168. package/dist/date/index.cjs +8 -0
  169. package/dist/date/index.d.ts +4 -0
  170. package/dist/date/index.mjs +4 -0
  171. package/dist/date/is.cjs +9 -0
  172. package/dist/date/is.d.ts +2 -0
  173. package/dist/date/is.mjs +7 -0
  174. package/dist/date/max.cjs +10 -0
  175. package/dist/date/max.d.ts +3 -0
  176. package/dist/date/max.mjs +8 -0
  177. package/dist/date/min.cjs +10 -0
  178. package/dist/date/min.d.ts +3 -0
  179. package/dist/date/min.mjs +8 -0
  180. package/dist/date/sort.cjs +20 -0
  181. package/dist/date/sort.d.ts +4 -0
  182. package/dist/date/sort.mjs +18 -0
  183. package/dist/generator/reduce.cjs +2 -6
  184. package/dist/generator/reduce.d.ts +1 -0
  185. package/dist/generator/reduce.mjs +2 -6
  186. package/dist/index.cjs +3 -2
  187. package/dist/index.d.ts +2 -0
  188. package/dist/index.mjs +3 -1
  189. package/dist/number/index.cjs +2 -0
  190. package/dist/number/index.d.ts +1 -0
  191. package/dist/number/index.mjs +1 -0
  192. package/dist/number/max.cjs +2 -7
  193. package/dist/number/max.d.ts +2 -2
  194. package/dist/number/max.mjs +2 -7
  195. package/dist/number/min.cjs +2 -7
  196. package/dist/number/min.d.ts +2 -2
  197. package/dist/number/min.mjs +2 -7
  198. package/dist/number/sort.cjs +14 -0
  199. package/dist/number/sort.d.ts +3 -0
  200. package/dist/number/sort.mjs +12 -0
  201. package/dist/pattern/when.d.ts +5 -5
  202. package/dist/string/index.cjs +2 -0
  203. package/dist/string/index.d.ts +1 -0
  204. package/dist/string/index.mjs +1 -0
  205. package/dist/{array/sort/string.cjs → string/sort.cjs} +6 -6
  206. package/dist/string/sort.d.ts +3 -0
  207. package/dist/{array/sort/string.mjs → string/sort.mjs} +6 -6
  208. package/package.json +7 -2
  209. package/dist/array/sort/number.cjs +0 -14
  210. package/dist/array/sort/number.d.ts +0 -4
  211. package/dist/array/sort/number.mjs +0 -12
  212. package/dist/array/sort/string.d.ts +0 -4
  213. package/dist/common/not.cjs +0 -12
  214. package/dist/common/not.d.ts +0 -2
  215. package/dist/common/not.mjs +0 -10
  216. /package/dist/array/{sort/default.cjs → sort.cjs} +0 -0
  217. /package/dist/array/{sort/default.d.ts → sort.d.ts} +0 -0
  218. /package/dist/array/{sort/default.mjs → sort.mjs} +0 -0
@@ -3,10 +3,13 @@
3
3
  function every(...args) {
4
4
  if (args.length === 1) {
5
5
  const [predicate] = args;
6
- return (array) => every(array, predicate);
6
+ return (input) => every(input, predicate);
7
7
  }
8
- const [array, predicate] = args;
9
- return array.every((element, index) => predicate(element, { index }));
8
+ const [input, predicate] = args;
9
+ return input.every((element, index) => predicate(element, {
10
+ index,
11
+ self: input,
12
+ }));
10
13
  }
11
14
 
12
15
  exports.every = every;
@@ -1,6 +1,7 @@
1
- interface ArrayEveryParams {
1
+ interface ArrayEveryParams<GenericInputArray extends readonly unknown[]> {
2
2
  index: number;
3
+ self: GenericInputArray;
3
4
  }
4
- export declare function every<GenericArray extends readonly unknown[]>(predicate: (element: GenericArray[number], params: ArrayEveryParams) => boolean): (array: GenericArray) => boolean;
5
- export declare function every<GenericElement extends unknown>(array: readonly GenericElement[], predicate: (element: GenericElement, params: ArrayEveryParams) => boolean): boolean;
5
+ export declare function every<GenericInput extends readonly unknown[]>(predicate: (element: GenericInput[number], params: ArrayEveryParams<GenericInput>) => boolean): (input: GenericInput) => boolean;
6
+ export declare function every<GenericInput extends readonly unknown[]>(input: GenericInput, predicate: (element: GenericInput[number], params: ArrayEveryParams<GenericInput>) => boolean): boolean;
6
7
  export {};
@@ -1,10 +1,13 @@
1
1
  function every(...args) {
2
2
  if (args.length === 1) {
3
3
  const [predicate] = args;
4
- return (array) => every(array, predicate);
4
+ return (input) => every(input, predicate);
5
5
  }
6
- const [array, predicate] = args;
7
- return array.every((element, index) => predicate(element, { index }));
6
+ const [input, predicate] = args;
7
+ return input.every((element, index) => predicate(element, {
8
+ index,
9
+ self: input,
10
+ }));
8
11
  }
9
12
 
10
13
  export { every };
@@ -1,2 +1,2 @@
1
- export declare function fillAll<GenericElement extends unknown>(value: GenericElement): (array: readonly GenericElement[]) => GenericElement[];
2
- export declare function fillAll<GenericElement extends unknown>(array: readonly GenericElement[], value: GenericElement): GenericElement[];
1
+ export declare function fillAll<GenericElement extends unknown>(element: GenericElement): (input: readonly unknown[]) => GenericElement[];
2
+ export declare function fillAll<GenericElement extends unknown>(input: readonly unknown[], element: GenericElement): GenericElement[];
@@ -3,10 +3,13 @@
3
3
  function filter(...args) {
4
4
  if (args.length === 1) {
5
5
  const [predicate] = args;
6
- return (array) => filter(array, predicate);
6
+ return (input) => filter(input, predicate);
7
7
  }
8
- const [array, predicate] = args;
9
- return array.filter((item, index) => predicate(item, { index }));
8
+ const [input, predicate] = args;
9
+ return input.filter((item, index) => predicate(item, {
10
+ index,
11
+ self: input,
12
+ }));
10
13
  }
11
14
 
12
15
  exports.filter = filter;
@@ -1,8 +1,9 @@
1
- interface ArrayFilterParams {
1
+ interface ArrayFilterParams<GenericInputArray extends readonly unknown[]> {
2
2
  index: number;
3
+ self: GenericInputArray;
3
4
  }
4
- export declare function filter<GenericArray extends readonly unknown[], GenericOutput extends GenericArray[number]>(predicate: (item: GenericArray[number], params: ArrayFilterParams) => item is GenericOutput): (array: GenericArray) => GenericOutput[];
5
- export declare function filter<GenericElement extends unknown, GenericOutput extends GenericElement>(array: readonly GenericElement[], predicate: (item: GenericElement, params: ArrayFilterParams) => item is GenericOutput): GenericOutput[];
6
- export declare function filter<GenericArray extends readonly unknown[]>(predicate: (item: GenericArray[number], params: ArrayFilterParams) => boolean): (array: GenericArray) => GenericArray[number][];
7
- export declare function filter<GenericElement extends unknown>(array: readonly GenericElement[], predicate: (item: GenericElement, params: ArrayFilterParams) => boolean): GenericElement[];
5
+ export declare function filter<GenericInput extends readonly unknown[], GenericOutput extends GenericInput[number]>(predicate: (item: GenericInput[number], params: ArrayFilterParams<GenericInput>) => item is GenericOutput): (input: GenericInput) => GenericOutput[];
6
+ export declare function filter<GenericInput extends readonly unknown[], GenericOutput extends GenericInput[number]>(input: GenericInput, predicate: (item: GenericInput[number], params: ArrayFilterParams<GenericInput>) => item is GenericOutput): GenericOutput[];
7
+ export declare function filter<GenericInput extends readonly unknown[]>(predicate: (item: GenericInput[number], params: ArrayFilterParams<GenericInput>) => boolean): (input: GenericInput) => GenericInput[number][];
8
+ export declare function filter<GenericInput extends readonly unknown[]>(input: GenericInput, predicate: (item: GenericInput[number], params: ArrayFilterParams<GenericInput>) => boolean): GenericInput[number][];
8
9
  export {};
@@ -1,10 +1,13 @@
1
1
  function filter(...args) {
2
2
  if (args.length === 1) {
3
3
  const [predicate] = args;
4
- return (array) => filter(array, predicate);
4
+ return (input) => filter(input, predicate);
5
5
  }
6
- const [array, predicate] = args;
7
- return array.filter((item, index) => predicate(item, { index }));
6
+ const [input, predicate] = args;
7
+ return input.filter((item, index) => predicate(item, {
8
+ index,
9
+ self: input,
10
+ }));
8
11
  }
9
12
 
10
13
  export { filter };
@@ -3,10 +3,13 @@
3
3
  function flatMap(...args) {
4
4
  if (args.length === 1) {
5
5
  const [theFunction] = args;
6
- return (array) => flatMap(array, theFunction);
6
+ return (input) => flatMap(input, theFunction);
7
7
  }
8
- const [array, theFunction] = args;
9
- return array.flatMap((element, index) => theFunction(element, { index }));
8
+ const [input, theFunction] = args;
9
+ return input.flatMap((element, index) => theFunction(element, {
10
+ index,
11
+ self: input,
12
+ }));
10
13
  }
11
14
 
12
15
  exports.flatMap = flatMap;
@@ -1,6 +1,7 @@
1
- interface ArrayMapParams {
1
+ interface ArrayFlatMapParams<GenericInputArray extends readonly unknown[]> {
2
2
  index: number;
3
+ self: GenericInputArray;
3
4
  }
4
- export declare function flatMap<GenericArray extends readonly unknown[], GenericOutput extends unknown>(theFunction: (element: GenericArray[number], params: ArrayMapParams) => GenericOutput): (array: GenericArray) => FlatArray<GenericOutput, 1>[];
5
- export declare function flatMap<GenericElement extends unknown, GenericOutput extends unknown>(array: readonly GenericElement[], theFunction: (element: GenericElement, params: ArrayMapParams) => GenericOutput): FlatArray<GenericOutput, 1>[];
5
+ export declare function flatMap<GenericInput extends readonly unknown[], GenericOutput extends unknown>(theFunction: (element: GenericInput[number], params: ArrayFlatMapParams<GenericInput>) => GenericOutput): (input: GenericInput) => FlatArray<GenericOutput, 1>[];
6
+ export declare function flatMap<GenericInput extends readonly unknown[], GenericOutput extends unknown>(input: GenericInput, theFunction: (element: GenericInput[number], params: ArrayFlatMapParams<GenericInput>) => GenericOutput): FlatArray<GenericOutput, 1>[];
6
7
  export {};
@@ -1,10 +1,13 @@
1
1
  function flatMap(...args) {
2
2
  if (args.length === 1) {
3
3
  const [theFunction] = args;
4
- return (array) => flatMap(array, theFunction);
4
+ return (input) => flatMap(input, theFunction);
5
5
  }
6
- const [array, theFunction] = args;
7
- return array.flatMap((element, index) => theFunction(element, { index }));
6
+ const [input, theFunction] = args;
7
+ return input.flatMap((element, index) => theFunction(element, {
8
+ index,
9
+ self: input,
10
+ }));
8
11
  }
9
12
 
10
13
  export { flatMap };
@@ -13,6 +13,7 @@ var minOf = require('./minOf.cjs');
13
13
  var push = require('./push.cjs');
14
14
  var reduce = require('./reduce.cjs');
15
15
  var some = require('./some.cjs');
16
+ var sort = require('./sort.cjs');
16
17
  var is = require('./is.cjs');
17
18
  var findIndex = require('./findIndex.cjs');
18
19
  var findLastIndex = require('./findLastIndex.cjs');
@@ -39,16 +40,15 @@ var coalescing = require('./coalescing.cjs');
39
40
  var toTuple = require('./toTuple.cjs');
40
41
  var notIncludes = require('./notIncludes.cjs');
41
42
  var chunk = require('./chunk.cjs');
42
- var _default = require('./sort/default.cjs');
43
- var number = require('./sort/number.cjs');
44
- var string = require('./sort/string.cjs');
43
+ var insert$2 = require('./insert.cjs');
44
+ var isLastIndex = require('./isLastIndex.cjs');
45
45
  var _delete = require('./splice/delete.cjs');
46
46
  var insert = require('./splice/insert.cjs');
47
47
  var replace = require('./splice/replace.cjs');
48
- var _default$1 = require('./at/default.cjs');
48
+ var _default = require('./at/default.cjs');
49
49
  var first = require('./at/first.cjs');
50
50
  var last = require('./at/last.cjs');
51
- var _default$2 = require('./fill/default.cjs');
51
+ var _default$1 = require('./fill/default.cjs');
52
52
  var all = require('./fill/all.cjs');
53
53
  var _delete$1 = require('./findAndSplice/delete.cjs');
54
54
  var insert$1 = require('./findAndSplice/insert.cjs');
@@ -70,7 +70,9 @@ exports.minOf = minOf.minOf;
70
70
  exports.push = push.push;
71
71
  exports.reduce = reduce.reduce;
72
72
  exports.reduceFrom = reduce.reduceFrom;
73
+ exports.reduceTools = reduce.reduceTools;
73
74
  exports.some = some.some;
75
+ exports.sort = sort.sort;
74
76
  exports.is = is.is;
75
77
  exports.findIndex = findIndex.findIndex;
76
78
  exports.findLastIndex = findLastIndex.findLastIndex;
@@ -97,16 +99,15 @@ exports.coalescing = coalescing.coalescing;
97
99
  exports.toTuple = toTuple.toTuple;
98
100
  exports.notIncludes = notIncludes.notIncludes;
99
101
  exports.chunk = chunk.chunk;
100
- exports.sort = _default.sort;
101
- exports.sortNumber = number.sortNumber;
102
- exports.sortString = string.sortString;
102
+ exports.insert = insert$2.insert;
103
+ exports.isLastIndex = isLastIndex.isLastIndex;
103
104
  exports.spliceDelete = _delete.spliceDelete;
104
105
  exports.spliceInsert = insert.spliceInsert;
105
106
  exports.spliceReplace = replace.spliceReplace;
106
- exports.at = _default$1.at;
107
+ exports.at = _default.at;
107
108
  exports.first = first.first;
108
109
  exports.last = last.last;
109
- exports.fill = _default$2.fill;
110
+ exports.fill = _default$1.fill;
110
111
  exports.fillAll = all.fillAll;
111
112
  exports.findAndSpliceDelete = _delete$1.findAndSpliceDelete;
112
113
  exports.findAndSpliceInsert = insert$1.findAndSpliceInsert;
@@ -43,3 +43,5 @@ export * from "./coalescing";
43
43
  export * from "./toTuple";
44
44
  export * from "./notIncludes";
45
45
  export * from "./chunk";
46
+ export * from "./insert";
47
+ export * from "./isLastIndex";
@@ -9,8 +9,9 @@ export { maxOf } from './maxOf.mjs';
9
9
  export { minElements } from './minElements.mjs';
10
10
  export { minOf } from './minOf.mjs';
11
11
  export { push } from './push.mjs';
12
- export { reduce, reduceFrom } from './reduce.mjs';
12
+ export { reduce, reduceFrom, reduceTools } from './reduce.mjs';
13
13
  export { some } from './some.mjs';
14
+ export { sort } from './sort.mjs';
14
15
  export { is } from './is.mjs';
15
16
  export { findIndex } from './findIndex.mjs';
16
17
  export { findLastIndex } from './findLastIndex.mjs';
@@ -37,9 +38,8 @@ export { coalescing } from './coalescing.mjs';
37
38
  export { toTuple } from './toTuple.mjs';
38
39
  export { notIncludes } from './notIncludes.mjs';
39
40
  export { chunk } from './chunk.mjs';
40
- export { sort } from './sort/default.mjs';
41
- export { sortNumber } from './sort/number.mjs';
42
- export { sortString } from './sort/string.mjs';
41
+ export { insert } from './insert.mjs';
42
+ export { isLastIndex } from './isLastIndex.mjs';
43
43
  export { spliceDelete } from './splice/delete.mjs';
44
44
  export { spliceInsert } from './splice/insert.mjs';
45
45
  export { spliceReplace } from './splice/replace.mjs';
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ function insert(...args) {
4
+ if (args.length === 1) {
5
+ const [array] = args;
6
+ return (input) => insert(input, array);
7
+ }
8
+ const [input, array] = args;
9
+ return [...array, input];
10
+ }
11
+
12
+ exports.insert = insert;
@@ -0,0 +1,2 @@
1
+ export declare function insert<GenericElement extends unknown>(array: readonly GenericElement[]): (input: GenericElement) => GenericElement[];
2
+ export declare function insert<GenericElement extends unknown>(input: GenericElement, array: readonly GenericElement[]): GenericElement[];
@@ -0,0 +1,10 @@
1
+ function insert(...args) {
2
+ if (args.length === 1) {
3
+ const [array] = args;
4
+ return (input) => insert(input, array);
5
+ }
6
+ const [input, array] = args;
7
+ return [...array, input];
8
+ }
9
+
10
+ export { insert };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ function isLastIndex(...args) {
4
+ if (args.length === 1) {
5
+ const [index] = args;
6
+ return (input) => isLastIndex(input, index);
7
+ }
8
+ const [input, index] = args;
9
+ return (input.length - 1) === index;
10
+ }
11
+
12
+ exports.isLastIndex = isLastIndex;
@@ -0,0 +1,2 @@
1
+ export declare function isLastIndex<GenericInput extends readonly unknown[]>(index: number): (input: GenericInput) => boolean;
2
+ export declare function isLastIndex<GenericInput extends readonly unknown[]>(input: GenericInput, index: number): boolean;
@@ -0,0 +1,10 @@
1
+ function isLastIndex(...args) {
2
+ if (args.length === 1) {
3
+ const [index] = args;
4
+ return (input) => isLastIndex(input, index);
5
+ }
6
+ const [input, index] = args;
7
+ return (input.length - 1) === index;
8
+ }
9
+
10
+ export { isLastIndex };
@@ -3,10 +3,13 @@
3
3
  function map(...args) {
4
4
  if (args.length === 1) {
5
5
  const [theFunction] = args;
6
- return (array) => map(array, theFunction);
6
+ return (input) => map(input, theFunction);
7
7
  }
8
- const [array, theFunction] = args;
9
- return array.map((element, index) => theFunction(element, { index }));
8
+ const [input, theFunction] = args;
9
+ return input.map((element, index) => theFunction(element, {
10
+ index,
11
+ self: input,
12
+ }));
10
13
  }
11
14
 
12
15
  exports.map = map;
@@ -1,6 +1,7 @@
1
- interface ArrayMapParams {
1
+ interface ArrayMapParams<GenericInputArray extends readonly unknown[]> {
2
2
  index: number;
3
+ self: GenericInputArray;
3
4
  }
4
- export declare function map<GenericArray extends readonly unknown[], GenericOutput extends unknown>(theFunction: (element: GenericArray[number], params: ArrayMapParams) => GenericOutput): (array: GenericArray) => GenericOutput[];
5
- export declare function map<GenericElement extends unknown, GenericOutput extends unknown>(array: readonly GenericElement[], theFunction: (element: GenericElement, params: ArrayMapParams) => GenericOutput): GenericOutput[];
5
+ export declare function map<GenericInput extends readonly unknown[], GenericOutput extends unknown>(theFunction: (element: GenericInput[number], params: ArrayMapParams<GenericInput>) => GenericOutput): (input: GenericInput) => GenericOutput[];
6
+ export declare function map<GenericInput extends readonly unknown[], GenericOutput extends unknown>(input: GenericInput, theFunction: (element: GenericInput[number], params: ArrayMapParams<GenericInput>) => GenericOutput): GenericOutput[];
6
7
  export {};
@@ -1,10 +1,13 @@
1
1
  function map(...args) {
2
2
  if (args.length === 1) {
3
3
  const [theFunction] = args;
4
- return (array) => map(array, theFunction);
4
+ return (input) => map(input, theFunction);
5
5
  }
6
- const [array, theFunction] = args;
7
- return array.map((element, index) => theFunction(element, { index }));
6
+ const [input, theFunction] = args;
7
+ return input.map((element, index) => theFunction(element, {
8
+ index,
9
+ self: input,
10
+ }));
8
11
  }
9
12
 
10
13
  export { map };
@@ -3,10 +3,10 @@
3
3
  function push(...args) {
4
4
  if (args.length === 1) {
5
5
  const [item] = args;
6
- return (array) => push(array, item);
6
+ return (input) => push(input, item);
7
7
  }
8
- const [array, ...items] = args;
9
- return [...array, ...items];
8
+ const [input, ...items] = args;
9
+ return [...input, ...items];
10
10
  }
11
11
 
12
12
  exports.push = push;
@@ -1,2 +1,2 @@
1
- export declare function push<GenericElement extends unknown>(item: NoInfer<GenericElement>): (array: readonly GenericElement[]) => GenericElement[];
2
- export declare function push<GenericElement extends unknown>(array: readonly GenericElement[], item: NoInfer<GenericElement>, ...items: NoInfer<GenericElement>[]): GenericElement[];
1
+ export declare function push<GenericElement extends unknown>(item: NoInfer<GenericElement>): (input: readonly GenericElement[]) => GenericElement[];
2
+ export declare function push<GenericElement extends unknown>(input: readonly GenericElement[], item: NoInfer<GenericElement>, ...items: NoInfer<GenericElement>[]): GenericElement[];
@@ -1,10 +1,10 @@
1
1
  function push(...args) {
2
2
  if (args.length === 1) {
3
3
  const [item] = args;
4
- return (array) => push(array, item);
4
+ return (input) => push(input, item);
5
5
  }
6
- const [array, ...items] = args;
7
- return [...array, ...items];
6
+ const [input, ...items] = args;
7
+ return [...input, ...items];
8
8
  }
9
9
 
10
10
  export { push };
@@ -3,30 +3,42 @@
3
3
  var kind = require('../common/kind.cjs');
4
4
  var wrapValue = require('../common/wrapValue.cjs');
5
5
  var unwrap = require('../common/unwrap.cjs');
6
+ var push = require('./push.cjs');
6
7
  var override = require('../object/override.cjs');
7
8
 
8
9
  const arrayReduceFromKind = kind.createKind("array-reduce-from");
9
10
  function reduceFrom(value) {
10
11
  return arrayReduceFromKind.setTo(wrapValue.wrapValue(value));
11
12
  }
13
+ const reduceTools = {
14
+ exit(output) {
15
+ return { "-exit": output };
16
+ },
17
+ next(output) {
18
+ return { "-next": output };
19
+ },
20
+ nextWithObject(object1, object2) {
21
+ return { "-next": override.override(object1, object2) };
22
+ },
23
+ nextPush(array, ...[value, ...values]) {
24
+ return { "-next": push.push(array, value, ...values) };
25
+ },
26
+ };
12
27
  function reduce(...args) {
13
28
  if (args.length === 2) {
14
29
  const [fromValue, theFunction] = args;
15
- return (array) => reduce(array, fromValue, theFunction);
30
+ return (input) => reduce(input, fromValue, theFunction);
16
31
  }
17
- const [array, fromValue, theFunction] = args;
32
+ const [input, fromValue, theFunction] = args;
18
33
  let lastValue = unwrap.unwrap(fromValue);
19
- for (let index = 0; index < array.length; index++) {
20
- const element = array[index];
34
+ for (let index = 0; index < input.length; index++) {
35
+ const element = input[index];
21
36
  const result = theFunction({
22
37
  element,
23
38
  index,
24
39
  lastValue,
25
- nextWithObject: ((object1, object2) => ({
26
- "-next": override.override(object1, object2),
27
- })),
28
- exit: (output) => ({ "-exit": output }),
29
- next: (output) => ({ "-next": output }),
40
+ self: input,
41
+ ...reduceTools,
30
42
  });
31
43
  if ("-exit" in result) {
32
44
  return result["-exit"];
@@ -38,3 +50,4 @@ function reduce(...args) {
38
50
 
39
51
  exports.reduce = reduce;
40
52
  exports.reduceFrom = reduceFrom;
53
+ exports.reduceTools = reduceTools;
@@ -8,20 +8,23 @@ export interface ArrayReduceNext<GenericOutput extends unknown = unknown> {
8
8
  export interface ArrayReduceExit<GenericOutput extends unknown = unknown> {
9
9
  "-exit": GenericOutput;
10
10
  }
11
- export interface ArrayReduceFunctionParams<GenericElement extends unknown = unknown, GenericOutput extends unknown = unknown> {
12
- element: GenericElement;
11
+ export interface ArrayReduceFunctionParams<GenericInputArray extends readonly unknown[] = unknown[], GenericOutput extends unknown = unknown> {
12
+ element: GenericInputArray[number];
13
13
  index: number;
14
14
  lastValue: GenericOutput;
15
15
  nextWithObject: GenericOutput extends object ? (object1: GenericOutput, object2: Partial<GenericOutput>) => ArrayReduceNext<GenericOutput> : undefined;
16
16
  next(output: GenericOutput): ArrayReduceNext<GenericOutput>;
17
17
  exit<GenericExitValue extends unknown>(output: GenericExitValue): ArrayReduceExit<GenericExitValue>;
18
+ self: GenericInputArray;
19
+ nextPush: GenericOutput extends readonly any[] ? (array: GenericOutput, ...values: GenericOutput) => ArrayReduceNext<GenericOutput> : undefined;
18
20
  }
19
21
  declare const arrayReduceFromKind: import("../common").KindHandler<import("../common").KindDefinition<"array-reduce-from", unknown>>;
20
22
  export interface ArrayReduceFromResult<GenericValue extends unknown = unknown> extends Kind<typeof arrayReduceFromKind.definition>, WrappedValue<GenericValue> {
21
23
  }
22
24
  export declare function reduceFrom<GenericValue extends unknown>(value: GenericValue): ArrayReduceFromResult<GenericValue>;
25
+ export declare const reduceTools: Pick<ArrayReduceFunctionParams<any, any>, "exit" | "next" | "nextWithObject" | "nextPush">;
23
26
  export type ArrayEligibleReduceFromValue = number | string | bigint | boolean | ArrayReduceFromResult;
24
27
  export type ArrayReduceFromValue<GenericValue extends ArrayEligibleReduceFromValue> = GenericValue extends ArrayReduceFromResult ? Unwrap<GenericValue> : ToLargeEnsemble<GenericValue>;
25
- export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends ArrayEligibleReduceFromValue, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericElement, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): (array: readonly GenericElement[]) => ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
26
- export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends number | string | bigint | boolean | ArrayReduceFromResult, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(array: readonly GenericElement[], startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericElement, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
28
+ export declare function reduce<GenericInput extends readonly unknown[], GenericReduceFrom extends ArrayEligibleReduceFromValue, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericInput, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): (input: GenericInput) => ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
29
+ export declare function reduce<GenericInput extends readonly unknown[], GenericReduceFrom extends number | string | bigint | boolean | ArrayReduceFromResult, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(input: GenericInput, startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericInput, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
27
30
  export {};
@@ -1,30 +1,42 @@
1
1
  import { createKind } from '../common/kind.mjs';
2
2
  import { wrapValue } from '../common/wrapValue.mjs';
3
3
  import { unwrap } from '../common/unwrap.mjs';
4
+ import { push } from './push.mjs';
4
5
  import { override } from '../object/override.mjs';
5
6
 
6
7
  const arrayReduceFromKind = createKind("array-reduce-from");
7
8
  function reduceFrom(value) {
8
9
  return arrayReduceFromKind.setTo(wrapValue(value));
9
10
  }
11
+ const reduceTools = {
12
+ exit(output) {
13
+ return { "-exit": output };
14
+ },
15
+ next(output) {
16
+ return { "-next": output };
17
+ },
18
+ nextWithObject(object1, object2) {
19
+ return { "-next": override(object1, object2) };
20
+ },
21
+ nextPush(array, ...[value, ...values]) {
22
+ return { "-next": push(array, value, ...values) };
23
+ },
24
+ };
10
25
  function reduce(...args) {
11
26
  if (args.length === 2) {
12
27
  const [fromValue, theFunction] = args;
13
- return (array) => reduce(array, fromValue, theFunction);
28
+ return (input) => reduce(input, fromValue, theFunction);
14
29
  }
15
- const [array, fromValue, theFunction] = args;
30
+ const [input, fromValue, theFunction] = args;
16
31
  let lastValue = unwrap(fromValue);
17
- for (let index = 0; index < array.length; index++) {
18
- const element = array[index];
32
+ for (let index = 0; index < input.length; index++) {
33
+ const element = input[index];
19
34
  const result = theFunction({
20
35
  element,
21
36
  index,
22
37
  lastValue,
23
- nextWithObject: ((object1, object2) => ({
24
- "-next": override(object1, object2),
25
- })),
26
- exit: (output) => ({ "-exit": output }),
27
- next: (output) => ({ "-next": output }),
38
+ self: input,
39
+ ...reduceTools,
28
40
  });
29
41
  if ("-exit" in result) {
30
42
  return result["-exit"];
@@ -34,4 +46,4 @@ function reduce(...args) {
34
46
  return lastValue;
35
47
  }
36
48
 
37
- export { reduce, reduceFrom };
49
+ export { reduce, reduceFrom, reduceTools };
@@ -1,26 +1,23 @@
1
1
  'use strict';
2
2
 
3
3
  var unwrap = require('../common/unwrap.cjs');
4
- var override = require('../object/override.cjs');
4
+ var reduce = require('./reduce.cjs');
5
5
 
6
6
  function reduceRight(...args) {
7
7
  if (args.length === 2) {
8
8
  const [fromValue, theFunction] = args;
9
- return (array) => reduceRight(array, fromValue, theFunction);
9
+ return (input) => reduceRight(input, fromValue, theFunction);
10
10
  }
11
- const [array, fromValue, theFunction] = args;
11
+ const [input, fromValue, theFunction] = args;
12
12
  let lastValue = unwrap.unwrap(fromValue);
13
- for (let index = array.length - 1; index >= 0; index--) {
14
- const element = array[index];
13
+ for (let index = input.length - 1; index >= 0; index--) {
14
+ const element = input[index];
15
15
  const result = theFunction({
16
16
  element,
17
17
  index,
18
18
  lastValue,
19
- nextWithObject: ((object1, object2) => ({
20
- "-next": override.override(object1, object2),
21
- })),
22
- exit: (output) => ({ "-exit": output }),
23
- next: (output) => ({ "-next": output }),
19
+ self: input,
20
+ ...reduce.reduceTools,
24
21
  });
25
22
  if ("-exit" in result) {
26
23
  return result["-exit"];
@@ -1,4 +1,4 @@
1
1
  import { type ArrayReduceFunctionParams, type ArrayReduceFromResult, type ArrayReduceFromValue, type ArrayReduceExit, type ArrayReduceNext } from "./reduce";
2
2
  import { type IsEqual } from "../common";
3
- export declare function reduceRight<GenericElement extends unknown, GenericReduceFrom extends number | string | bigint | boolean | ArrayReduceFromResult, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericElement, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): (array: readonly GenericElement[]) => ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
4
- export declare function reduceRight<GenericElement extends unknown, GenericReduceFrom extends number | string | bigint | boolean | ArrayReduceFromResult, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(array: readonly GenericElement[], startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericElement, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
3
+ export declare function reduceRight<GenericInput extends readonly unknown[], GenericReduceFrom extends number | string | bigint | boolean | ArrayReduceFromResult, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericInput, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): (input: GenericInput) => ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
4
+ export declare function reduceRight<GenericInput extends readonly unknown[], GenericReduceFrom extends number | string | bigint | boolean | ArrayReduceFromResult, GenericExit extends ArrayReduceExit = ArrayReduceExit<never>>(input: GenericInput, startValue: GenericReduceFrom, theFunction: (params: ArrayReduceFunctionParams<GenericInput, ArrayReduceFromValue<GenericReduceFrom>>) => ArrayReduceNext<ArrayReduceFromValue<GenericReduceFrom>> | GenericExit): ArrayReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, ArrayReduceExit> extends true ? never : GenericExit["-exit"]);
@@ -1,24 +1,21 @@
1
1
  import { unwrap } from '../common/unwrap.mjs';
2
- import { override } from '../object/override.mjs';
2
+ import { reduceTools } from './reduce.mjs';
3
3
 
4
4
  function reduceRight(...args) {
5
5
  if (args.length === 2) {
6
6
  const [fromValue, theFunction] = args;
7
- return (array) => reduceRight(array, fromValue, theFunction);
7
+ return (input) => reduceRight(input, fromValue, theFunction);
8
8
  }
9
- const [array, fromValue, theFunction] = args;
9
+ const [input, fromValue, theFunction] = args;
10
10
  let lastValue = unwrap(fromValue);
11
- for (let index = array.length - 1; index >= 0; index--) {
12
- const element = array[index];
11
+ for (let index = input.length - 1; index >= 0; index--) {
12
+ const element = input[index];
13
13
  const result = theFunction({
14
14
  element,
15
15
  index,
16
16
  lastValue,
17
- nextWithObject: ((object1, object2) => ({
18
- "-next": override(object1, object2),
19
- })),
20
- exit: (output) => ({ "-exit": output }),
21
- next: (output) => ({ "-next": output }),
17
+ self: input,
18
+ ...reduceTools,
22
19
  });
23
20
  if ("-exit" in result) {
24
21
  return result["-exit"];