@ls-stack/utils 3.65.0 → 3.67.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 (336) 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 +79 -0
  34. package/dist/diffParser.mjs +424 -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 -242
  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/keyedMap.cjs +0 -224
  230. package/dist/keyedMap.d.cts +0 -75
  231. package/dist/keyedMap.d.ts +0 -75
  232. package/dist/keyedMap.js +0 -145
  233. package/dist/keyedSet.cjs +0 -205
  234. package/dist/keyedSet.d.cts +0 -76
  235. package/dist/keyedSet.d.ts +0 -76
  236. package/dist/keyedSet.js +0 -126
  237. package/dist/levenshtein.cjs +0 -180
  238. package/dist/levenshtein.d.ts +0 -5
  239. package/dist/levenshtein.js +0 -153
  240. package/dist/main.cjs +0 -32
  241. package/dist/main.d.cts +0 -3
  242. package/dist/main.d.ts +0 -3
  243. package/dist/main.js +0 -7
  244. package/dist/matchPath.cjs +0 -155
  245. package/dist/matchPath.d.cts +0 -53
  246. package/dist/matchPath.d.ts +0 -53
  247. package/dist/matchPath.js +0 -108
  248. package/dist/mathUtils.cjs +0 -81
  249. package/dist/mathUtils.d.ts +0 -54
  250. package/dist/mathUtils.js +0 -22
  251. package/dist/mutationUtils.cjs +0 -153
  252. package/dist/mutationUtils.d.ts +0 -15
  253. package/dist/mutationUtils.js +0 -55
  254. package/dist/objUtils.cjs +0 -242
  255. package/dist/objUtils.d.cts +0 -28
  256. package/dist/objUtils.js +0 -38
  257. package/dist/parallelAsyncCalls.cjs +0 -162
  258. package/dist/parallelAsyncCalls.d.cts +0 -82
  259. package/dist/parallelAsyncCalls.d.ts +0 -82
  260. package/dist/parallelAsyncCalls.js +0 -126
  261. package/dist/partialEqual.cjs +0 -1196
  262. package/dist/partialEqual.d.cts +0 -141
  263. package/dist/partialEqual.d.ts +0 -141
  264. package/dist/partialEqual.js +0 -1168
  265. package/dist/promiseUtils.cjs +0 -38
  266. package/dist/promiseUtils.d.cts +0 -8
  267. package/dist/promiseUtils.d.ts +0 -8
  268. package/dist/promiseUtils.js +0 -6
  269. package/dist/regexUtils.cjs +0 -60
  270. package/dist/regexUtils.d.cts +0 -17
  271. package/dist/regexUtils.d.ts +0 -17
  272. package/dist/regexUtils.js +0 -33
  273. package/dist/retryOnError.cjs +0 -130
  274. package/dist/retryOnError.d.ts +0 -83
  275. package/dist/retryOnError.js +0 -101
  276. package/dist/runShellCmd.cjs +0 -127
  277. package/dist/runShellCmd.d.cts +0 -90
  278. package/dist/runShellCmd.js +0 -98
  279. package/dist/safeJson.cjs +0 -45
  280. package/dist/safeJson.d.ts +0 -16
  281. package/dist/safeJson.js +0 -8
  282. package/dist/saferTyping.cjs +0 -52
  283. package/dist/saferTyping.d.ts +0 -47
  284. package/dist/saferTyping.js +0 -23
  285. package/dist/serializeXML.cjs +0 -154
  286. package/dist/serializeXML.d.cts +0 -22
  287. package/dist/serializeXML.d.ts +0 -22
  288. package/dist/serializeXML.js +0 -116
  289. package/dist/shallowEqual.cjs +0 -88
  290. package/dist/shallowEqual.d.ts +0 -4
  291. package/dist/shallowEqual.js +0 -63
  292. package/dist/sleep.cjs +0 -32
  293. package/dist/sleep.d.cts +0 -3
  294. package/dist/sleep.d.ts +0 -3
  295. package/dist/sleep.js +0 -6
  296. package/dist/stringUtils.cjs +0 -155
  297. package/dist/stringUtils.d.ts +0 -55
  298. package/dist/stringUtils.js +0 -50
  299. package/dist/testUtils.cjs +0 -1490
  300. package/dist/testUtils.d.cts +0 -133
  301. package/dist/testUtils.js +0 -359
  302. package/dist/throttle.cjs +0 -282
  303. package/dist/throttle.d.cts +0 -98
  304. package/dist/throttle.js +0 -38
  305. package/dist/time.cjs +0 -152
  306. package/dist/time.d.cts +0 -25
  307. package/dist/time.js +0 -38
  308. package/dist/timers.cjs +0 -194
  309. package/dist/timers.d.ts +0 -121
  310. package/dist/timers.js +0 -156
  311. package/dist/tsResult.cjs +0 -226
  312. package/dist/tsResult.d.ts +0 -114
  313. package/dist/tsResult.js +0 -180
  314. package/dist/typeGuards.cjs +0 -70
  315. package/dist/typeGuards.d.ts +0 -111
  316. package/dist/typeGuards.js +0 -18
  317. package/dist/typeUtils.cjs +0 -18
  318. package/dist/typeUtils.d.cts +0 -61
  319. package/dist/typeUtils.js +0 -0
  320. package/dist/typedStrings.cjs +0 -90
  321. package/dist/typedStrings.d.ts +0 -163
  322. package/dist/typedStrings.js +0 -57
  323. package/dist/typingFnUtils.cjs +0 -96
  324. package/dist/typingFnUtils.d.ts +0 -100
  325. package/dist/typingFnUtils.js +0 -30
  326. package/dist/typingTestUtils.cjs +0 -52
  327. package/dist/typingTestUtils.d.ts +0 -79
  328. package/dist/typingTestUtils.js +0 -27
  329. package/dist/typingUtils.cjs +0 -18
  330. package/dist/typingUtils.d.cts +0 -35
  331. package/dist/typingUtils.d.ts +0 -35
  332. package/dist/typingUtils.js +0 -0
  333. package/dist/yamlStringify.cjs +0 -423
  334. package/dist/yamlStringify.d.cts +0 -10
  335. package/dist/yamlStringify.d.ts +0 -10
  336. 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
- });