@ls-stack/utils 3.63.0 → 3.66.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 (328) hide show
  1. package/dist/{arrayUtils.d.cts → arrayUtils.d.mts} +24 -23
  2. package/dist/arrayUtils.mjs +249 -0
  3. package/dist/assertions-qMxfVhSu.mjs +207 -0
  4. package/dist/{assertions.d.ts → assertions.d.mts} +4 -3
  5. package/dist/assertions.mjs +3 -0
  6. package/dist/asyncQueue.d.mts +497 -0
  7. package/dist/asyncQueue.mjs +757 -0
  8. package/dist/{awaitDebounce.d.cts → awaitDebounce.d.mts} +11 -6
  9. package/dist/awaitDebounce.mjs +54 -0
  10. package/dist/{cache.d.ts → cache.d.mts} +76 -68
  11. package/dist/cache.mjs +355 -0
  12. package/dist/castValues-DfICShCc.mjs +19 -0
  13. package/dist/{castValues.d.cts → castValues.d.mts} +3 -2
  14. package/dist/castValues.mjs +3 -0
  15. package/dist/{concurrentCalls.d.ts → concurrentCalls.d.mts} +74 -65
  16. package/dist/concurrentCalls.mjs +295 -0
  17. package/dist/consoleFmt.d.mts +55 -0
  18. package/dist/consoleFmt.mjs +63 -0
  19. package/dist/conversions-DTmwEMIu.mjs +12 -0
  20. package/dist/conversions.d.mts +4 -0
  21. package/dist/conversions.mjs +3 -0
  22. package/dist/createThrottleController.d.mts +18 -0
  23. package/dist/createThrottleController.mjs +40 -0
  24. package/dist/debounce.d.mts +47 -0
  25. package/dist/debounce.mjs +117 -0
  26. package/dist/dedent.d.mts +74 -0
  27. package/dist/dedent.mjs +80 -0
  28. package/dist/deepEqual-C7EZEixx.mjs +78 -0
  29. package/dist/{deepEqual.d.cts → deepEqual.d.mts} +3 -2
  30. package/dist/deepEqual.mjs +3 -0
  31. package/dist/{deepReplaceValues.d.cts → deepReplaceValues.d.mts} +4 -3
  32. package/dist/deepReplaceValues.mjs +61 -0
  33. package/dist/diffParser.d.mts +63 -0
  34. package/dist/diffParser.mjs +410 -0
  35. package/dist/enhancedMap.d.mts +21 -0
  36. package/dist/enhancedMap.mjs +69 -0
  37. package/dist/exhaustiveMatch.d.mts +10 -0
  38. package/dist/exhaustiveMatch.mjs +48 -0
  39. package/dist/{filterObjectOrArrayKeys.d.cts → filterObjectOrArrayKeys.d.mts} +15 -8
  40. package/dist/filterObjectOrArrayKeys.mjs +497 -0
  41. package/dist/{getAutoIncrementId.d.cts → getAutoIncrementId.d.mts} +9 -5
  42. package/dist/getAutoIncrementId.mjs +53 -0
  43. package/dist/{getCompositeKey.d.cts → getCompositeKey.d.mts} +3 -2
  44. package/dist/getCompositeKey.mjs +50 -0
  45. package/dist/{getValueStableKey.d.cts → getValueStableKey.d.mts} +5 -3
  46. package/dist/getValueStableKey.mjs +17 -0
  47. package/dist/{hash.d.cts → hash.d.mts} +3 -2
  48. package/dist/hash.mjs +28 -0
  49. package/dist/interpolate.d.mts +17 -0
  50. package/dist/interpolate.mjs +28 -0
  51. package/dist/{iteratorUtils.d.cts → iteratorUtils.d.mts} +5 -4
  52. package/dist/iteratorUtils.mjs +39 -0
  53. package/dist/keepPrevIfUnchanged.d.mts +12 -0
  54. package/dist/keepPrevIfUnchanged.mjs +9 -0
  55. package/dist/keyedMap.d.mts +76 -0
  56. package/dist/keyedMap.mjs +139 -0
  57. package/dist/keyedSet.d.mts +77 -0
  58. package/dist/keyedSet.mjs +129 -0
  59. package/dist/{levenshtein.d.cts → levenshtein.d.mts} +3 -2
  60. package/dist/levenshtein.mjs +121 -0
  61. package/dist/main.d.mts +4 -0
  62. package/dist/main.mjs +7 -0
  63. package/dist/matchPath.d.mts +50 -0
  64. package/dist/matchPath.mjs +81 -0
  65. package/dist/mathUtils-BDP1lM_z.mjs +81 -0
  66. package/dist/{mathUtils.d.cts → mathUtils.d.mts} +3 -2
  67. package/dist/mathUtils.mjs +3 -0
  68. package/dist/{mutationUtils.d.cts → mutationUtils.d.mts} +6 -5
  69. package/dist/mutationUtils.mjs +44 -0
  70. package/dist/{objUtils.d.ts → objUtils.d.mts} +8 -6
  71. package/dist/objUtils.mjs +115 -0
  72. package/dist/parallelAsyncCalls.d.mts +83 -0
  73. package/dist/parallelAsyncCalls.mjs +121 -0
  74. package/dist/partialEqual.d.mts +139 -0
  75. package/dist/partialEqual.mjs +1055 -0
  76. package/dist/promiseUtils.d.mts +9 -0
  77. package/dist/promiseUtils.mjs +17 -0
  78. package/dist/regexUtils.d.mts +18 -0
  79. package/dist/regexUtils.mjs +34 -0
  80. package/dist/{retryOnError.d.cts → retryOnError.d.mts} +38 -37
  81. package/dist/retryOnError.mjs +91 -0
  82. package/dist/{runShellCmd.d.ts → runShellCmd.d.mts} +24 -15
  83. package/dist/runShellCmd.mjs +151 -0
  84. package/dist/{safeJson.d.cts → safeJson.d.mts} +3 -2
  85. package/dist/safeJson.mjs +30 -0
  86. package/dist/{saferTyping.d.cts → saferTyping.d.mts} +4 -3
  87. package/dist/saferTyping.mjs +45 -0
  88. package/dist/serializeXML.d.mts +23 -0
  89. package/dist/serializeXML.mjs +74 -0
  90. package/dist/{shallowEqual.d.cts → shallowEqual.d.mts} +3 -2
  91. package/dist/shallowEqual.mjs +54 -0
  92. package/dist/sleep.d.mts +4 -0
  93. package/dist/sleep.mjs +7 -0
  94. package/dist/stringUtils-DjhWOiYn.mjs +113 -0
  95. package/dist/{stringUtils.d.cts → stringUtils.d.mts} +3 -2
  96. package/dist/stringUtils.mjs +3 -0
  97. package/dist/{testUtils.d.ts → testUtils.d.mts} +83 -52
  98. package/dist/testUtils.mjs +310 -0
  99. package/dist/{throttle.d.ts → throttle.d.mts} +18 -17
  100. package/dist/throttle.mjs +102 -0
  101. package/dist/time-sr2lhQRw.mjs +67 -0
  102. package/dist/{time.d.ts → time.d.mts} +8 -7
  103. package/dist/time.mjs +3 -0
  104. package/dist/{timers.d.cts → timers.d.mts} +22 -13
  105. package/dist/timers.mjs +220 -0
  106. package/dist/{tsResult.d.cts → tsResult.d.mts} +52 -48
  107. package/dist/tsResult.mjs +142 -0
  108. package/dist/typeGuards-B1mzA-Rz.mjs +128 -0
  109. package/dist/{typeGuards.d.cts → typeGuards.d.mts} +3 -2
  110. package/dist/typeGuards.mjs +3 -0
  111. package/dist/{typeUtils.d.ts → typeUtils.d.mts} +13 -34
  112. package/dist/typeUtils.mjs +1 -0
  113. package/dist/{typedStrings.d.cts → typedStrings.d.mts} +5 -4
  114. package/dist/typedStrings.mjs +131 -0
  115. package/dist/typingFnUtils-Bb8drgKF.mjs +101 -0
  116. package/dist/{typingFnUtils.d.cts → typingFnUtils.d.mts} +13 -22
  117. package/dist/typingFnUtils.mjs +3 -0
  118. package/dist/{typingTestUtils.d.cts → typingTestUtils.d.mts} +11 -15
  119. package/dist/typingTestUtils.mjs +80 -0
  120. package/dist/typingUtils.d.mts +20 -0
  121. package/dist/typingUtils.mjs +1 -0
  122. package/dist/yamlStringify.d.mts +17 -0
  123. package/dist/yamlStringify.mjs +189 -0
  124. package/package.json +65 -234
  125. package/dist/arrayUtils.cjs +0 -229
  126. package/dist/arrayUtils.d.ts +0 -171
  127. package/dist/arrayUtils.js +0 -42
  128. package/dist/assertions.cjs +0 -107
  129. package/dist/assertions.d.cts +0 -192
  130. package/dist/assertions.js +0 -25
  131. package/dist/asyncQueue.cjs +0 -672
  132. package/dist/asyncQueue.d.cts +0 -488
  133. package/dist/asyncQueue.d.ts +0 -488
  134. package/dist/asyncQueue.js +0 -631
  135. package/dist/awaitDebounce.cjs +0 -106
  136. package/dist/awaitDebounce.d.ts +0 -41
  137. package/dist/awaitDebounce.js +0 -28
  138. package/dist/cache.cjs +0 -367
  139. package/dist/cache.d.cts +0 -228
  140. package/dist/cache.js +0 -19
  141. package/dist/castValues.cjs +0 -50
  142. package/dist/castValues.d.ts +0 -4
  143. package/dist/castValues.js +0 -8
  144. package/dist/chunk-5DZT3Z5Z.js +0 -8
  145. package/dist/chunk-6FBIEPWU.js +0 -96
  146. package/dist/chunk-6FIBVC2P.js +0 -56
  147. package/dist/chunk-7CQPOM5I.js +0 -100
  148. package/dist/chunk-B6DNOZCP.js +0 -369
  149. package/dist/chunk-BM4PYVOX.js +0 -109
  150. package/dist/chunk-C2SVCIWE.js +0 -57
  151. package/dist/chunk-CCUPDGSZ.js +0 -132
  152. package/dist/chunk-DBOWTYR4.js +0 -49
  153. package/dist/chunk-DFXNVEH6.js +0 -14
  154. package/dist/chunk-DX2524CZ.js +0 -314
  155. package/dist/chunk-GMJTLFM6.js +0 -60
  156. package/dist/chunk-IATIXMCE.js +0 -20
  157. package/dist/chunk-II4R3VVX.js +0 -25
  158. package/dist/chunk-JF2MDHOJ.js +0 -40
  159. package/dist/chunk-JQFUKJU5.js +0 -71
  160. package/dist/chunk-MI4UE2PQ.js +0 -561
  161. package/dist/chunk-PUKVXYYL.js +0 -52
  162. package/dist/chunk-QQS7I7ZL.js +0 -16
  163. package/dist/chunk-VAAMRG4K.js +0 -20
  164. package/dist/chunk-WFQJUJTC.js +0 -182
  165. package/dist/chunk-ZXIKIA5B.js +0 -178
  166. package/dist/concurrentCalls.cjs +0 -406
  167. package/dist/concurrentCalls.d.cts +0 -116
  168. package/dist/concurrentCalls.js +0 -346
  169. package/dist/consoleFmt.cjs +0 -85
  170. package/dist/consoleFmt.d.cts +0 -54
  171. package/dist/consoleFmt.d.ts +0 -54
  172. package/dist/consoleFmt.js +0 -60
  173. package/dist/conversions.cjs +0 -44
  174. package/dist/conversions.d.cts +0 -3
  175. package/dist/conversions.d.ts +0 -3
  176. package/dist/conversions.js +0 -6
  177. package/dist/createThrottleController.cjs +0 -193
  178. package/dist/createThrottleController.d.cts +0 -13
  179. package/dist/createThrottleController.d.ts +0 -13
  180. package/dist/createThrottleController.js +0 -61
  181. package/dist/debounce.cjs +0 -157
  182. package/dist/debounce.d.cts +0 -46
  183. package/dist/debounce.d.ts +0 -46
  184. package/dist/debounce.js +0 -8
  185. package/dist/dedent.cjs +0 -104
  186. package/dist/dedent.d.cts +0 -73
  187. package/dist/dedent.d.ts +0 -73
  188. package/dist/dedent.js +0 -79
  189. package/dist/deepEqual.cjs +0 -96
  190. package/dist/deepEqual.d.ts +0 -21
  191. package/dist/deepEqual.js +0 -8
  192. package/dist/deepReplaceValues.cjs +0 -87
  193. package/dist/deepReplaceValues.d.ts +0 -27
  194. package/dist/deepReplaceValues.js +0 -7
  195. package/dist/enhancedMap.cjs +0 -131
  196. package/dist/enhancedMap.d.cts +0 -20
  197. package/dist/enhancedMap.d.ts +0 -20
  198. package/dist/enhancedMap.js +0 -10
  199. package/dist/exhaustiveMatch.cjs +0 -66
  200. package/dist/exhaustiveMatch.d.cts +0 -9
  201. package/dist/exhaustiveMatch.d.ts +0 -9
  202. package/dist/exhaustiveMatch.js +0 -40
  203. package/dist/filterObjectOrArrayKeys.cjs +0 -619
  204. package/dist/filterObjectOrArrayKeys.d.ts +0 -88
  205. package/dist/filterObjectOrArrayKeys.js +0 -9
  206. package/dist/getAutoIncrementId.cjs +0 -44
  207. package/dist/getAutoIncrementId.d.ts +0 -46
  208. package/dist/getAutoIncrementId.js +0 -18
  209. package/dist/getCompositeKey.cjs +0 -86
  210. package/dist/getCompositeKey.d.ts +0 -11
  211. package/dist/getCompositeKey.js +0 -8
  212. package/dist/getValueStableKey.cjs +0 -89
  213. package/dist/getValueStableKey.d.ts +0 -15
  214. package/dist/getValueStableKey.js +0 -11
  215. package/dist/hash.cjs +0 -57
  216. package/dist/hash.d.ts +0 -7
  217. package/dist/hash.js +0 -32
  218. package/dist/interpolate.cjs +0 -88
  219. package/dist/interpolate.d.cts +0 -11
  220. package/dist/interpolate.d.ts +0 -11
  221. package/dist/interpolate.js +0 -46
  222. package/dist/iteratorUtils.cjs +0 -73
  223. package/dist/iteratorUtils.d.ts +0 -10
  224. package/dist/iteratorUtils.js +0 -44
  225. package/dist/keepPrevIfUnchanged.cjs +0 -102
  226. package/dist/keepPrevIfUnchanged.d.cts +0 -7
  227. package/dist/keepPrevIfUnchanged.d.ts +0 -7
  228. package/dist/keepPrevIfUnchanged.js +0 -7
  229. package/dist/levenshtein.cjs +0 -180
  230. package/dist/levenshtein.d.ts +0 -5
  231. package/dist/levenshtein.js +0 -153
  232. package/dist/main.cjs +0 -32
  233. package/dist/main.d.cts +0 -3
  234. package/dist/main.d.ts +0 -3
  235. package/dist/main.js +0 -7
  236. package/dist/matchPath.cjs +0 -155
  237. package/dist/matchPath.d.cts +0 -53
  238. package/dist/matchPath.d.ts +0 -53
  239. package/dist/matchPath.js +0 -108
  240. package/dist/mathUtils.cjs +0 -81
  241. package/dist/mathUtils.d.ts +0 -54
  242. package/dist/mathUtils.js +0 -22
  243. package/dist/mutationUtils.cjs +0 -153
  244. package/dist/mutationUtils.d.ts +0 -15
  245. package/dist/mutationUtils.js +0 -55
  246. package/dist/objUtils.cjs +0 -242
  247. package/dist/objUtils.d.cts +0 -28
  248. package/dist/objUtils.js +0 -38
  249. package/dist/parallelAsyncCalls.cjs +0 -162
  250. package/dist/parallelAsyncCalls.d.cts +0 -82
  251. package/dist/parallelAsyncCalls.d.ts +0 -82
  252. package/dist/parallelAsyncCalls.js +0 -126
  253. package/dist/partialEqual.cjs +0 -1196
  254. package/dist/partialEqual.d.cts +0 -141
  255. package/dist/partialEqual.d.ts +0 -141
  256. package/dist/partialEqual.js +0 -1168
  257. package/dist/promiseUtils.cjs +0 -38
  258. package/dist/promiseUtils.d.cts +0 -8
  259. package/dist/promiseUtils.d.ts +0 -8
  260. package/dist/promiseUtils.js +0 -6
  261. package/dist/regexUtils.cjs +0 -60
  262. package/dist/regexUtils.d.cts +0 -17
  263. package/dist/regexUtils.d.ts +0 -17
  264. package/dist/regexUtils.js +0 -33
  265. package/dist/retryOnError.cjs +0 -130
  266. package/dist/retryOnError.d.ts +0 -83
  267. package/dist/retryOnError.js +0 -101
  268. package/dist/runShellCmd.cjs +0 -127
  269. package/dist/runShellCmd.d.cts +0 -90
  270. package/dist/runShellCmd.js +0 -98
  271. package/dist/safeJson.cjs +0 -45
  272. package/dist/safeJson.d.ts +0 -16
  273. package/dist/safeJson.js +0 -8
  274. package/dist/saferTyping.cjs +0 -52
  275. package/dist/saferTyping.d.ts +0 -47
  276. package/dist/saferTyping.js +0 -23
  277. package/dist/serializeXML.cjs +0 -154
  278. package/dist/serializeXML.d.cts +0 -22
  279. package/dist/serializeXML.d.ts +0 -22
  280. package/dist/serializeXML.js +0 -116
  281. package/dist/shallowEqual.cjs +0 -88
  282. package/dist/shallowEqual.d.ts +0 -4
  283. package/dist/shallowEqual.js +0 -63
  284. package/dist/sleep.cjs +0 -32
  285. package/dist/sleep.d.cts +0 -3
  286. package/dist/sleep.d.ts +0 -3
  287. package/dist/sleep.js +0 -6
  288. package/dist/stringUtils.cjs +0 -155
  289. package/dist/stringUtils.d.ts +0 -55
  290. package/dist/stringUtils.js +0 -50
  291. package/dist/testUtils.cjs +0 -1490
  292. package/dist/testUtils.d.cts +0 -133
  293. package/dist/testUtils.js +0 -359
  294. package/dist/throttle.cjs +0 -282
  295. package/dist/throttle.d.cts +0 -98
  296. package/dist/throttle.js +0 -38
  297. package/dist/time.cjs +0 -152
  298. package/dist/time.d.cts +0 -25
  299. package/dist/time.js +0 -38
  300. package/dist/timers.cjs +0 -194
  301. package/dist/timers.d.ts +0 -121
  302. package/dist/timers.js +0 -156
  303. package/dist/tsResult.cjs +0 -226
  304. package/dist/tsResult.d.ts +0 -114
  305. package/dist/tsResult.js +0 -180
  306. package/dist/typeGuards.cjs +0 -70
  307. package/dist/typeGuards.d.ts +0 -111
  308. package/dist/typeGuards.js +0 -18
  309. package/dist/typeUtils.cjs +0 -18
  310. package/dist/typeUtils.d.cts +0 -61
  311. package/dist/typeUtils.js +0 -0
  312. package/dist/typedStrings.cjs +0 -90
  313. package/dist/typedStrings.d.ts +0 -163
  314. package/dist/typedStrings.js +0 -57
  315. package/dist/typingFnUtils.cjs +0 -96
  316. package/dist/typingFnUtils.d.ts +0 -100
  317. package/dist/typingFnUtils.js +0 -30
  318. package/dist/typingTestUtils.cjs +0 -52
  319. package/dist/typingTestUtils.d.ts +0 -79
  320. package/dist/typingTestUtils.js +0 -27
  321. package/dist/typingUtils.cjs +0 -18
  322. package/dist/typingUtils.d.cts +0 -35
  323. package/dist/typingUtils.d.ts +0 -35
  324. package/dist/typingUtils.js +0 -0
  325. package/dist/yamlStringify.cjs +0 -423
  326. package/dist/yamlStringify.d.cts +0 -10
  327. package/dist/yamlStringify.d.ts +0 -10
  328. package/dist/yamlStringify.js +0 -9
@@ -1,229 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/arrayUtils.ts
21
- var arrayUtils_exports = {};
22
- __export(arrayUtils_exports, {
23
- arrayOps: () => arrayOps,
24
- arrayWithPrev: () => arrayWithPrev,
25
- arrayWithPrevAndIndex: () => arrayWithPrevAndIndex,
26
- filterAndMap: () => filterAndMap,
27
- findAfterIndex: () => findAfterIndex,
28
- findAndMap: () => findAndMap,
29
- findBeforeIndex: () => findBeforeIndex,
30
- getAscIndexOrder: () => getAscIndexOrder,
31
- hasDuplicates: () => hasDuplicates,
32
- intersperse: () => intersperse,
33
- isInArray: () => isInArray,
34
- isInArrayWithoutNarrowing: () => isInArrayWithoutNarrowing,
35
- looseIsInArray: () => looseIsInArray,
36
- rejectArrayUndefinedValues: () => rejectArrayUndefinedValues,
37
- rejectDuplicates: () => rejectDuplicates,
38
- repeat: () => repeat,
39
- sortBy: () => sortBy,
40
- truncateArray: () => truncateArray
41
- });
42
- module.exports = __toCommonJS(arrayUtils_exports);
43
-
44
- // src/typeGuards.ts
45
- function isFunction(value) {
46
- return typeof value === "function";
47
- }
48
-
49
- // src/assertions.ts
50
- var isFunction2 = isFunction;
51
-
52
- // src/arrayUtils.ts
53
- function filterAndMap(array, mapFilter) {
54
- const result = [];
55
- let i = -1;
56
- for (const item of array) {
57
- i += 1;
58
- const filterResult = mapFilter(item, i);
59
- if (filterResult !== false) {
60
- result.push(filterResult);
61
- }
62
- }
63
- return result;
64
- }
65
- function sortBy(arr, sortByValue, props = "asc") {
66
- const order = Array.isArray(props) || typeof props === "string" ? props : props.order ?? "asc";
67
- return [...arr].sort((a, b) => {
68
- const _aPriority = sortByValue(a);
69
- const _bPriority = sortByValue(b);
70
- const aPriority = Array.isArray(_aPriority) ? _aPriority : [_aPriority];
71
- const bPriority = Array.isArray(_bPriority) ? _bPriority : [_bPriority];
72
- for (let i = 0; i < aPriority.length; i++) {
73
- const levelOrder = typeof order === "string" ? order : order[i] ?? "asc";
74
- const aP = aPriority[i] ?? 0;
75
- const bP = bPriority[i] ?? 0;
76
- if (aP === bP) {
77
- continue;
78
- }
79
- if (bP === Infinity || aP === -Infinity || aP < bP) {
80
- return levelOrder === "asc" ? -1 : 1;
81
- }
82
- if (aP === Infinity || bP === -Infinity || aP > bP) {
83
- return levelOrder === "asc" ? 1 : -1;
84
- }
85
- }
86
- return 0;
87
- });
88
- }
89
- function getAscIndexOrder(index) {
90
- return index === -1 ? Infinity : index ?? Infinity;
91
- }
92
- function arrayWithPrev(array) {
93
- return array.map((item, i) => [item, array[i - 1] ?? null]);
94
- }
95
- function arrayWithPrevAndIndex(array) {
96
- return array.map((item, i) => ({
97
- item,
98
- prev: array[i - 1] ?? null,
99
- index: i
100
- }));
101
- }
102
- function isInArray(value, oneOf) {
103
- for (let i = 0; i < oneOf.length; i++) {
104
- if (oneOf[i] === value) {
105
- return true;
106
- }
107
- }
108
- return false;
109
- }
110
- function isInArrayWithoutNarrowing(value, oneOf) {
111
- return oneOf.includes(value);
112
- }
113
- function looseIsInArray(value, array) {
114
- return array.includes(value);
115
- }
116
- function findAfterIndex(array, index, predicate) {
117
- for (let i = index + 1; i < array.length; i++) {
118
- if (predicate(array[i])) {
119
- return array[i];
120
- }
121
- }
122
- return void 0;
123
- }
124
- function findBeforeIndex(array, index, predicate) {
125
- let indexToUse = index;
126
- if (indexToUse >= array.length) {
127
- indexToUse = array.length;
128
- }
129
- for (let i = indexToUse - 1; i >= 0; i--) {
130
- if (predicate(array[i])) {
131
- return array[i];
132
- }
133
- }
134
- return void 0;
135
- }
136
- function rejectArrayUndefinedValues(array) {
137
- return array.filter((item) => item !== void 0);
138
- }
139
- function hasDuplicates(array, getKey = (item) => item) {
140
- const seen = /* @__PURE__ */ new Set();
141
- for (const item of array) {
142
- const key = getKey(item);
143
- if (seen.has(key)) {
144
- return true;
145
- }
146
- seen.add(key);
147
- }
148
- return false;
149
- }
150
- function rejectDuplicates(array, getKey = (item) => item) {
151
- const seen = /* @__PURE__ */ new Set();
152
- const result = [];
153
- for (const item of array) {
154
- const key = getKey(item);
155
- if (seen.has(key)) {
156
- continue;
157
- }
158
- seen.add(key);
159
- result.push(item);
160
- }
161
- return result;
162
- }
163
- function truncateArray(array, maxLength, appendIfTruncated) {
164
- const truncate = array.length > maxLength;
165
- const result = truncate ? [...array.slice(0, maxLength)] : array;
166
- if (truncate && appendIfTruncated) {
167
- if (isFunction2(appendIfTruncated)) {
168
- return [...result, appendIfTruncated(array.length - maxLength)];
169
- }
170
- return [...result, appendIfTruncated];
171
- }
172
- return result;
173
- }
174
- function findAndMap(array, predicate) {
175
- for (const item of array) {
176
- const value = predicate(item);
177
- if (value !== false) return value;
178
- }
179
- return void 0;
180
- }
181
- function arrayOps(array) {
182
- return {
183
- filterAndMap: (mapFilter) => filterAndMap(array, mapFilter),
184
- sortBy: (sortByValue, props) => sortBy(array, sortByValue, props),
185
- rejectDuplicates: (getKey) => rejectDuplicates(array, getKey),
186
- findAndMap: (predicate) => findAndMap(array, predicate)
187
- };
188
- }
189
- function intersperse(array, separator) {
190
- const result = [];
191
- for (let i = 0; i < array.length; i++) {
192
- result.push(array[i]);
193
- if (i < array.length - 1) {
194
- result.push(separator);
195
- }
196
- }
197
- return result;
198
- }
199
- function repeat(value, count, separator) {
200
- const result = [];
201
- for (let i = 0; i < count; i++) {
202
- result.push(value);
203
- if (separator !== void 0 && i < count - 1) {
204
- result.push(separator);
205
- }
206
- }
207
- return result;
208
- }
209
- // Annotate the CommonJS export names for ESM import in node:
210
- 0 && (module.exports = {
211
- arrayOps,
212
- arrayWithPrev,
213
- arrayWithPrevAndIndex,
214
- filterAndMap,
215
- findAfterIndex,
216
- findAndMap,
217
- findBeforeIndex,
218
- getAscIndexOrder,
219
- hasDuplicates,
220
- intersperse,
221
- isInArray,
222
- isInArrayWithoutNarrowing,
223
- looseIsInArray,
224
- rejectArrayUndefinedValues,
225
- rejectDuplicates,
226
- repeat,
227
- sortBy,
228
- truncateArray
229
- });
@@ -1,171 +0,0 @@
1
- /**
2
- * Allow to filter and map with better typing ergonomics
3
- *
4
- * In the `mapFilter` function return `false` to reject the item, or any other
5
- * value to map it.
6
- *
7
- * @example
8
- * // Filter reject and turn value into `value mapped`
9
- * const items = ['value', 'value', 'reject', 'reject'];
10
- *
11
- * const mappedItems = filterAndMap(items, (item) =>
12
- * item === 'reject' ? false : `${item} mapped`,
13
- * );
14
- *
15
- * mappedItems; // ['value mapped', 'value mapped']
16
- *
17
- * @param array
18
- * @param mapFilter
19
- */
20
- declare function filterAndMap<T, R>(array: IterableIterator<T> | readonly T[], mapFilter: (item: T, index: number) => false | R): R[];
21
- type FilterAndMapReturn<T> = false | T;
22
- type SortOrder = 'desc' | 'asc';
23
- type SortByValueFn<T> = (item: T) => (number | string)[] | number | string;
24
- type SortByProps = {
25
- order?: SortOrder | SortOrder[];
26
- } | SortOrder | SortOrder[];
27
- /**
28
- * Sort an array based on a value
29
- *
30
- * Sort by `ascending` order by default
31
- *
32
- * Use `Infinity` as as wildcard to absolute max and min values
33
- *
34
- * @example
35
- * const items = [1, 3, 2, 4];
36
- *
37
- * const sortedItems = sortBy(items, (item) => item);
38
- * // [1, 2, 3, 4]
39
- *
40
- * const items2 = [
41
- * { a: 1, b: 2 },
42
- * { a: 2, b: 1 },
43
- * { a: 1, b: 1 },
44
- * ];
45
- *
46
- * // return a array to sort by multiple values
47
- * const sortedItems = sortBy(items, (item) => [item.a, item.b]);
48
- *
49
- * @param arr
50
- * @param sortByValue
51
- * @param props
52
- */
53
- declare function sortBy<T>(arr: T[], sortByValue: SortByValueFn<T>, props?: SortByProps): T[];
54
- /**
55
- * Get the correct 0 based value for sync with other array in ascending order
56
- *
57
- * @example
58
- * ```ts
59
- * const items = [1, 2, 3];
60
- *
61
- * const index = sortBy(
62
- * items,
63
- * (item) => getAscIndexOrder(
64
- * followOrder.findIndex((order) => order === item)
65
- * )
66
- * );
67
- * ```;
68
- *
69
- * @param index
70
- */
71
- declare function getAscIndexOrder(index: number | undefined): number;
72
- declare function arrayWithPrev<T>(array: T[]): [current: T, prev: T | null][];
73
- declare function arrayWithPrevAndIndex<T>(array: T[]): {
74
- item: T;
75
- prev: T | null;
76
- index: number;
77
- }[];
78
- declare function isInArray<T, const U extends T>(value: T, oneOf: readonly U[]): value is U;
79
- declare function isInArrayWithoutNarrowing<T, const U extends T>(value: T, oneOf: readonly U[]): boolean;
80
- declare function looseIsInArray(value: unknown, array: readonly unknown[]): boolean;
81
- declare function findAfterIndex<T>(array: T[], index: number, predicate: (item: T) => boolean): T | undefined;
82
- declare function findBeforeIndex<T>(array: T[], index: number, predicate: (item: T) => boolean): T | undefined;
83
- declare function rejectArrayUndefinedValues<T extends unknown[]>(array: T): T;
84
- declare function hasDuplicates<T>(array: T[], getKey?: (item: T) => unknown): boolean;
85
- declare function rejectDuplicates<T>(array: T[], getKey?: (item: T) => unknown): T[];
86
- declare function truncateArray<T>(array: T[], maxLength: number, appendIfTruncated?: T | ((truncatedCount: number) => T)): T[];
87
- /**
88
- * Finds the first item in an array where the predicate returns a non-false
89
- * value and returns that mapped value.
90
- *
91
- * Combines find and map operations - applies the predicate to each item until
92
- * one returns a value that is not `false`, then returns that mapped value. If
93
- * no item matches, returns `undefined`.
94
- *
95
- * @example
96
- * const users = [
97
- * { id: 1, name: 'Alice' },
98
- * { id: 2, name: 'Bob' },
99
- * ];
100
- *
101
- * const foundName = findAndMap(users, (user) =>
102
- * user.id === 2 ? user.name.toUpperCase() : false,
103
- * );
104
- * // foundName is 'BOB'
105
- *
106
- * @param array - The array to search through
107
- * @param predicate - Function that returns a mapped value or `false` to skip
108
- * the item
109
- * @returns The first mapped value that is not `false`, or `undefined` if no
110
- * item matches
111
- */
112
- declare function findAndMap<T, R>(array: T[], predicate: (value: T) => R | false): R | undefined;
113
- type ArrayOps<T> = {
114
- /**
115
- * Filter and map an array
116
- *
117
- * @example
118
- * const items = [1, 2, 3];
119
- *
120
- * const enhancedItems = arrayOps(items);
121
- *
122
- * enhancedItems.filterAndMap((item) => (item === 2 ? false : item));
123
- *
124
- * @param mapFilter - A function that takes an item and returns a value or
125
- * `false` to reject the item.
126
- */
127
- filterAndMap: <R>(mapFilter: (item: T, index: number) => false | R) => R[];
128
- sortBy: (sortByValue: SortByValueFn<T>, props: SortByProps) => T[];
129
- rejectDuplicates: (getKey: (item: T) => unknown) => T[];
130
- findAndMap: <R>(predicate: (value: T) => R | false) => R | undefined;
131
- };
132
- /**
133
- * Enhance an array with extra methods
134
- *
135
- * @example
136
- * const enhancedItems = arrayOps(array);
137
- *
138
- * enhancedItems.filterAndMap((item) => (item === 2 ? false : item));
139
- * enhancedItems.sortBy((item) => item);
140
- * enhancedItems.rejectDuplicates((item) => item);
141
- *
142
- * @param array
143
- */
144
- declare function arrayOps<T>(array: T[]): ArrayOps<T>;
145
- /**
146
- * Inserts a separator value between each element in an array.
147
- *
148
- * @example
149
- * intersperse([1, 2, 3], 0); // [1, 0, 2, 0, 3]
150
- *
151
- * @param array - The array to intersperse
152
- * @param separator - The value to insert between elements
153
- * @returns A new array with separator values inserted between elements
154
- */
155
- declare function intersperse<T, I>(array: T[], separator: I): (T | I)[];
156
- /**
157
- * Creates an array by repeating a value a specified number of times, optionally
158
- * with a separator between each repetition.
159
- *
160
- * @example
161
- * repeat('x', 3); // ['x', 'x', 'x']
162
- * repeat('x', 3, '-'); // ['x', '-', 'x', '-', 'x']
163
- *
164
- * @param value - The value to repeat
165
- * @param count - Number of times to repeat the value
166
- * @param separator - Optional separator to insert between repetitions
167
- * @returns A new array with the repeated values
168
- */
169
- declare function repeat<T>(value: T, count: number, separator?: T): T[];
170
-
171
- export { type FilterAndMapReturn, type SortByProps, type SortByValueFn, arrayOps, arrayWithPrev, arrayWithPrevAndIndex, filterAndMap, findAfterIndex, findAndMap, findBeforeIndex, getAscIndexOrder, hasDuplicates, intersperse, isInArray, isInArrayWithoutNarrowing, looseIsInArray, rejectArrayUndefinedValues, rejectDuplicates, repeat, sortBy, truncateArray };
@@ -1,42 +0,0 @@
1
- import {
2
- arrayOps,
3
- arrayWithPrev,
4
- arrayWithPrevAndIndex,
5
- filterAndMap,
6
- findAfterIndex,
7
- findAndMap,
8
- findBeforeIndex,
9
- getAscIndexOrder,
10
- hasDuplicates,
11
- intersperse,
12
- isInArray,
13
- isInArrayWithoutNarrowing,
14
- looseIsInArray,
15
- rejectArrayUndefinedValues,
16
- rejectDuplicates,
17
- repeat,
18
- sortBy,
19
- truncateArray
20
- } from "./chunk-WFQJUJTC.js";
21
- import "./chunk-C2SVCIWE.js";
22
- import "./chunk-JF2MDHOJ.js";
23
- export {
24
- arrayOps,
25
- arrayWithPrev,
26
- arrayWithPrevAndIndex,
27
- filterAndMap,
28
- findAfterIndex,
29
- findAndMap,
30
- findBeforeIndex,
31
- getAscIndexOrder,
32
- hasDuplicates,
33
- intersperse,
34
- isInArray,
35
- isInArrayWithoutNarrowing,
36
- looseIsInArray,
37
- rejectArrayUndefinedValues,
38
- rejectDuplicates,
39
- repeat,
40
- sortBy,
41
- truncateArray
42
- };
@@ -1,107 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/assertions.ts
21
- var assertions_exports = {};
22
- __export(assertions_exports, {
23
- assertIsNotNullish: () => assertIsNotNullish,
24
- assertIsNotUndefined: () => assertIsNotUndefined,
25
- exhaustiveCheck: () => exhaustiveCheck,
26
- invariant: () => invariant,
27
- isFunction: () => isFunction2,
28
- isObject: () => isObject2,
29
- isPlainObject: () => isPlainObject2,
30
- isPromise: () => isPromise2,
31
- notNullish: () => notNullish,
32
- notUndefined: () => notUndefined
33
- });
34
- module.exports = __toCommonJS(assertions_exports);
35
-
36
- // src/typeGuards.ts
37
- function isObject(value) {
38
- return typeof value === "object" && value !== null && !Array.isArray(value);
39
- }
40
- function isFunction(value) {
41
- return typeof value === "function";
42
- }
43
- function isPromise(value) {
44
- return isObject(value) && "then" in value && isFunction(value.then);
45
- }
46
- function isPlainObject(value) {
47
- if (!value || typeof value !== "object") return false;
48
- const proto = Object.getPrototypeOf(value);
49
- if (proto === null) {
50
- return true;
51
- }
52
- const Ctor = Object.hasOwnProperty.call(proto, "constructor") && proto.constructor;
53
- if (Ctor === Object) return true;
54
- const objectCtorString = Object.prototype.constructor.toString();
55
- return typeof Ctor == "function" && Function.toString.call(Ctor) === objectCtorString;
56
- }
57
-
58
- // src/assertions.ts
59
- var undefErrMsg = "not undefined assertion failed";
60
- var nullishErrMsg = "not nullish assertion failed";
61
- function notUndefined(value, error = undefErrMsg) {
62
- if (value === void 0) {
63
- throw typeof error === "function" ? error() : new Error(error);
64
- }
65
- return value;
66
- }
67
- function notNullish(value, error = nullishErrMsg) {
68
- if (value === void 0 || value === null) {
69
- throw typeof error === "function" ? error() : new Error(error);
70
- }
71
- return value;
72
- }
73
- function assertIsNotNullish(value, error = nullishErrMsg) {
74
- if (value === void 0 || value === null) {
75
- throw typeof error === "function" ? error() : new Error(error);
76
- }
77
- }
78
- function assertIsNotUndefined(value, error = undefErrMsg) {
79
- if (value === void 0) {
80
- throw typeof error === "function" ? error() : new Error(error);
81
- }
82
- }
83
- function invariant(condition, error = "Invariant violation") {
84
- if (!condition) {
85
- throw typeof error === "function" ? error() : new Error(`Invariant violation: ${error}`);
86
- }
87
- }
88
- function exhaustiveCheck(narrowedType) {
89
- return new Error("This should never happen");
90
- }
91
- var isFunction2 = isFunction;
92
- var isObject2 = isObject;
93
- var isPlainObject2 = isPlainObject;
94
- var isPromise2 = isPromise;
95
- // Annotate the CommonJS export names for ESM import in node:
96
- 0 && (module.exports = {
97
- assertIsNotNullish,
98
- assertIsNotUndefined,
99
- exhaustiveCheck,
100
- invariant,
101
- isFunction,
102
- isObject,
103
- isPlainObject,
104
- isPromise,
105
- notNullish,
106
- notUndefined
107
- });