@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,155 +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/matchPath.ts
21
- var matchPath_exports = {};
22
- __export(matchPath_exports, {
23
- matchPath: () => matchPath,
24
- matchPathWith: () => matchPathWith
25
- });
26
- module.exports = __toCommonJS(matchPath_exports);
27
-
28
- // src/cache.ts
29
- function fastCache({ maxCacheSize = 1e3 } = {}) {
30
- const cache2 = /* @__PURE__ */ new Map();
31
- function trimCache() {
32
- const cacheSize = cache2.size;
33
- if (cacheSize > maxCacheSize) {
34
- const keys = Array.from(cache2.keys());
35
- for (let i = 0; i < cacheSize - maxCacheSize; i++) {
36
- cache2.delete(keys[i]);
37
- }
38
- }
39
- }
40
- function getOrInsert(cacheKey, val) {
41
- if (!cache2.has(cacheKey)) {
42
- const value = val();
43
- cache2.set(cacheKey, value);
44
- trimCache();
45
- return cache2.get(cacheKey) ?? value;
46
- }
47
- return cache2.get(cacheKey);
48
- }
49
- return {
50
- getOrInsert,
51
- /** Clears all cached values */
52
- clear: () => cache2.clear()
53
- };
54
- }
55
-
56
- // src/matchPath.ts
57
- function matchPath(pattern, pathname) {
58
- if (typeof pattern === "string") {
59
- pattern = { path: pattern, caseSensitive: false, end: true };
60
- }
61
- const normalizedPathname = pathname === "" ? "" : pathname.replace(/^\/*/, "/");
62
- const [matcher, compiledParams] = compilePath(
63
- pattern.path,
64
- pattern.caseSensitive,
65
- pattern.end
66
- );
67
- const match = normalizedPathname.match(matcher);
68
- if (!match) return null;
69
- const matchedPathname = match[0];
70
- let pathnameBase = matchedPathname.replace(/(.)\/+$/, "$1");
71
- const captureGroups = match.slice(1);
72
- const params = compiledParams.reduce(
73
- (memo, { paramName, isOptional }, index) => {
74
- if (paramName === "*") {
75
- const splatValue = captureGroups[index] || "";
76
- pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\/+$/, "$1");
77
- }
78
- const value = captureGroups[index];
79
- if (isOptional && !value) {
80
- memo[paramName] = void 0;
81
- } else {
82
- memo[paramName] = (value || "").replace(/%2F/g, "/");
83
- }
84
- return memo;
85
- },
86
- {}
87
- );
88
- const glob = params["*"];
89
- const globPath = glob && `/${glob}`;
90
- return {
91
- params,
92
- pathname: matchedPathname,
93
- pathnameBase,
94
- pattern,
95
- glob: globPath ? {
96
- matchPath: (subPattern) => matchPath(subPattern, globPath),
97
- path: globPath
98
- } : null
99
- };
100
- }
101
- function warning(condition, message) {
102
- if (process.env.NODE_ENV === "development" && !condition) {
103
- console.warn(message);
104
- }
105
- }
106
- var cache = fastCache({ maxCacheSize: 5e3 });
107
- function compilePath(path, caseSensitive = false, end = true) {
108
- return cache.getOrInsert(
109
- `${path}-${caseSensitive ? "s" : "i"}${end ? "e" : ""}`,
110
- () => {
111
- warning(
112
- path === "*" || !path.endsWith("*") || path.endsWith("/*"),
113
- `Route path "${path}" will be treated as if it were "${path.replace(/\*$/, "/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${path.replace(/\*$/, "/*")}".`
114
- );
115
- const params = [];
116
- let regexpSource = `^${path.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(
117
- /\/:([\w-]+)(\?)?/g,
118
- (_, paramName, isOptional) => {
119
- params.push({ paramName, isOptional: isOptional != null });
120
- return isOptional ? "/?([^\\/]+)?" : "/([^\\/]+)";
121
- }
122
- )}`;
123
- if (path.endsWith("*")) {
124
- params.push({ paramName: "*" });
125
- regexpSource += path === "*" || path === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$";
126
- } else if (end) {
127
- regexpSource += "\\/*$";
128
- } else if (path !== "" && path !== "/") {
129
- regexpSource += "(?:(?=\\/|$))";
130
- } else {
131
- }
132
- const matcher = new RegExp(regexpSource, caseSensitive ? void 0 : "i");
133
- return [matcher, params];
134
- }
135
- );
136
- }
137
- function matchPathWith(path) {
138
- return {
139
- patterns: (patternsToMatch) => {
140
- if (!path) return null;
141
- for (const [key, pattern] of Object.entries(patternsToMatch)) {
142
- const match = matchPath(key, path);
143
- if (match) {
144
- return pattern(match);
145
- }
146
- }
147
- return null;
148
- }
149
- };
150
- }
151
- // Annotate the CommonJS export names for ESM import in node:
152
- 0 && (module.exports = {
153
- matchPath,
154
- matchPathWith
155
- });
@@ -1,53 +0,0 @@
1
- type _PathParam<Path extends string> = Path extends `${infer L}/${infer R}` ? _PathParam<L> | _PathParam<R> : Path extends `:${infer Param}` ? Param extends `${infer Optional}?` ? Optional : Param : never;
2
- type PathParam<Path extends string> = Path extends '*' | '/*' ? '*' : Path extends `${infer Rest}/*` ? '*' | _PathParam<Rest> : _PathParam<Path>;
3
- type ParamParseKey<Segment extends string> = [
4
- PathParam<Segment>
5
- ] extends [never] ? string : PathParam<Segment>;
6
- /** A PathPattern is used to match on some portion of a URL pathname. */
7
- interface PathPattern<Path extends string = string> {
8
- /**
9
- * A string to match against a URL pathname. May contain `:id`-style segments
10
- * to indicate placeholders for dynamic parameters. May also end with `/*` to
11
- * indicate matching the rest of the URL pathname.
12
- */
13
- path: Path;
14
- /**
15
- * Should be `true` if the static portions of the `path` should be matched in
16
- * the same case.
17
- */
18
- caseSensitive?: boolean;
19
- /** Should be `true` if this pattern should match the entire URL pathname. */
20
- end?: boolean;
21
- }
22
- /** The parameters that were parsed from the URL path. */
23
- type Params<Key extends string = string> = {
24
- readonly [key in Key]: string | undefined;
25
- };
26
- type PathMatchGlob = {
27
- matchPath: <K extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path) => PathMatch<K> | null;
28
- path: string;
29
- };
30
- /** A PathMatch contains info about how a PathPattern matched on a URL pathname. */
31
- interface PathMatch<ParamKey extends string = string> {
32
- /** The names and values of dynamic parameters in the URL. */
33
- params: Params<ParamKey>;
34
- /** The portion of the URL pathname that was matched. */
35
- pathname: string;
36
- /** The portion of the URL pathname that was matched before child routes. */
37
- pathnameBase: string;
38
- /** The pattern that was used to match. */
39
- pattern: PathPattern;
40
- glob: null | PathMatchGlob;
41
- }
42
- /**
43
- * Performs pattern matching on a URL pathname and returns information about the
44
- * match.
45
- *
46
- * @see https://reactrouter.com/utils/match-path
47
- */
48
- declare function matchPath<ParamKey extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path, pathname: string): PathMatch<ParamKey> | null;
49
- declare function matchPathWith(path: string | undefined | null): {
50
- patterns: <R>(patterns: Record<string, (match: PathMatch) => R>) => R | null;
51
- };
52
-
53
- export { type ParamParseKey, type Params, type PathMatch, type PathMatchGlob, type PathParam, type PathPattern, matchPath, matchPathWith };
@@ -1,53 +0,0 @@
1
- type _PathParam<Path extends string> = Path extends `${infer L}/${infer R}` ? _PathParam<L> | _PathParam<R> : Path extends `:${infer Param}` ? Param extends `${infer Optional}?` ? Optional : Param : never;
2
- type PathParam<Path extends string> = Path extends '*' | '/*' ? '*' : Path extends `${infer Rest}/*` ? '*' | _PathParam<Rest> : _PathParam<Path>;
3
- type ParamParseKey<Segment extends string> = [
4
- PathParam<Segment>
5
- ] extends [never] ? string : PathParam<Segment>;
6
- /** A PathPattern is used to match on some portion of a URL pathname. */
7
- interface PathPattern<Path extends string = string> {
8
- /**
9
- * A string to match against a URL pathname. May contain `:id`-style segments
10
- * to indicate placeholders for dynamic parameters. May also end with `/*` to
11
- * indicate matching the rest of the URL pathname.
12
- */
13
- path: Path;
14
- /**
15
- * Should be `true` if the static portions of the `path` should be matched in
16
- * the same case.
17
- */
18
- caseSensitive?: boolean;
19
- /** Should be `true` if this pattern should match the entire URL pathname. */
20
- end?: boolean;
21
- }
22
- /** The parameters that were parsed from the URL path. */
23
- type Params<Key extends string = string> = {
24
- readonly [key in Key]: string | undefined;
25
- };
26
- type PathMatchGlob = {
27
- matchPath: <K extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path) => PathMatch<K> | null;
28
- path: string;
29
- };
30
- /** A PathMatch contains info about how a PathPattern matched on a URL pathname. */
31
- interface PathMatch<ParamKey extends string = string> {
32
- /** The names and values of dynamic parameters in the URL. */
33
- params: Params<ParamKey>;
34
- /** The portion of the URL pathname that was matched. */
35
- pathname: string;
36
- /** The portion of the URL pathname that was matched before child routes. */
37
- pathnameBase: string;
38
- /** The pattern that was used to match. */
39
- pattern: PathPattern;
40
- glob: null | PathMatchGlob;
41
- }
42
- /**
43
- * Performs pattern matching on a URL pathname and returns information about the
44
- * match.
45
- *
46
- * @see https://reactrouter.com/utils/match-path
47
- */
48
- declare function matchPath<ParamKey extends ParamParseKey<Path>, Path extends string>(pattern: PathPattern<Path> | Path, pathname: string): PathMatch<ParamKey> | null;
49
- declare function matchPathWith(path: string | undefined | null): {
50
- patterns: <R>(patterns: Record<string, (match: PathMatch) => R>) => R | null;
51
- };
52
-
53
- export { type ParamParseKey, type Params, type PathMatch, type PathMatchGlob, type PathParam, type PathPattern, matchPath, matchPathWith };
package/dist/matchPath.js DELETED
@@ -1,108 +0,0 @@
1
- import {
2
- fastCache
3
- } from "./chunk-DX2524CZ.js";
4
- import "./chunk-6FBIEPWU.js";
5
- import "./chunk-DBOWTYR4.js";
6
- import "./chunk-II4R3VVX.js";
7
- import "./chunk-C2SVCIWE.js";
8
- import "./chunk-JF2MDHOJ.js";
9
-
10
- // src/matchPath.ts
11
- function matchPath(pattern, pathname) {
12
- if (typeof pattern === "string") {
13
- pattern = { path: pattern, caseSensitive: false, end: true };
14
- }
15
- const normalizedPathname = pathname === "" ? "" : pathname.replace(/^\/*/, "/");
16
- const [matcher, compiledParams] = compilePath(
17
- pattern.path,
18
- pattern.caseSensitive,
19
- pattern.end
20
- );
21
- const match = normalizedPathname.match(matcher);
22
- if (!match) return null;
23
- const matchedPathname = match[0];
24
- let pathnameBase = matchedPathname.replace(/(.)\/+$/, "$1");
25
- const captureGroups = match.slice(1);
26
- const params = compiledParams.reduce(
27
- (memo, { paramName, isOptional }, index) => {
28
- if (paramName === "*") {
29
- const splatValue = captureGroups[index] || "";
30
- pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\/+$/, "$1");
31
- }
32
- const value = captureGroups[index];
33
- if (isOptional && !value) {
34
- memo[paramName] = void 0;
35
- } else {
36
- memo[paramName] = (value || "").replace(/%2F/g, "/");
37
- }
38
- return memo;
39
- },
40
- {}
41
- );
42
- const glob = params["*"];
43
- const globPath = glob && `/${glob}`;
44
- return {
45
- params,
46
- pathname: matchedPathname,
47
- pathnameBase,
48
- pattern,
49
- glob: globPath ? {
50
- matchPath: (subPattern) => matchPath(subPattern, globPath),
51
- path: globPath
52
- } : null
53
- };
54
- }
55
- function warning(condition, message) {
56
- if (process.env.NODE_ENV === "development" && !condition) {
57
- console.warn(message);
58
- }
59
- }
60
- var cache = fastCache({ maxCacheSize: 5e3 });
61
- function compilePath(path, caseSensitive = false, end = true) {
62
- return cache.getOrInsert(
63
- `${path}-${caseSensitive ? "s" : "i"}${end ? "e" : ""}`,
64
- () => {
65
- warning(
66
- path === "*" || !path.endsWith("*") || path.endsWith("/*"),
67
- `Route path "${path}" will be treated as if it were "${path.replace(/\*$/, "/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${path.replace(/\*$/, "/*")}".`
68
- );
69
- const params = [];
70
- let regexpSource = `^${path.replace(/\/*\*?$/, "").replace(/^\/*/, "/").replace(/[\\.*+^${}|()[\]]/g, "\\$&").replace(
71
- /\/:([\w-]+)(\?)?/g,
72
- (_, paramName, isOptional) => {
73
- params.push({ paramName, isOptional: isOptional != null });
74
- return isOptional ? "/?([^\\/]+)?" : "/([^\\/]+)";
75
- }
76
- )}`;
77
- if (path.endsWith("*")) {
78
- params.push({ paramName: "*" });
79
- regexpSource += path === "*" || path === "/*" ? "(.*)$" : "(?:\\/(.+)|\\/*)$";
80
- } else if (end) {
81
- regexpSource += "\\/*$";
82
- } else if (path !== "" && path !== "/") {
83
- regexpSource += "(?:(?=\\/|$))";
84
- } else {
85
- }
86
- const matcher = new RegExp(regexpSource, caseSensitive ? void 0 : "i");
87
- return [matcher, params];
88
- }
89
- );
90
- }
91
- function matchPathWith(path) {
92
- return {
93
- patterns: (patternsToMatch) => {
94
- if (!path) return null;
95
- for (const [key, pattern] of Object.entries(patternsToMatch)) {
96
- const match = matchPath(key, path);
97
- if (match) {
98
- return pattern(match);
99
- }
100
- }
101
- return null;
102
- }
103
- };
104
- }
105
- export {
106
- matchPath,
107
- matchPathWith
108
- };
@@ -1,81 +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/mathUtils.ts
21
- var mathUtils_exports = {};
22
- __export(mathUtils_exports, {
23
- ceilToStep: () => ceilToStep,
24
- clamp: () => clamp,
25
- clampMax: () => clampMax,
26
- clampMin: () => clampMin,
27
- clampRange: () => clampRange,
28
- fixFloatingPointNumber: () => fixFloatingPointNumber,
29
- floorToStep: () => floorToStep,
30
- round: () => round,
31
- roundToStep: () => roundToStep
32
- });
33
- module.exports = __toCommonJS(mathUtils_exports);
34
- function clampMax(value, max) {
35
- return value > max ? max : value;
36
- }
37
- function clampMin(value, min) {
38
- return value < min ? min : value;
39
- }
40
- function clampRange(num, v1, v2) {
41
- if (v2 > v1) {
42
- return clamp(num, v1, v2);
43
- }
44
- return clamp(num, v2, v1);
45
- }
46
- function clamp(num, min, max) {
47
- return num > max ? max : num < min ? min : num;
48
- }
49
- function fixFloatingPointNumber(value) {
50
- return Number(value.toPrecision(15));
51
- }
52
- function roundToStep(value, step, offset = 0) {
53
- const inv = 1 / step;
54
- const snapped = Math.round((value - offset) * inv) / inv + offset;
55
- return Number(snapped.toFixed(12));
56
- }
57
- function floorToStep(value, step, offset = 0) {
58
- const inv = 1 / step;
59
- const snapped = Math.floor((value - offset) * inv) / inv + offset;
60
- return Number(snapped.toFixed(12));
61
- }
62
- function ceilToStep(value, step, offset = 0) {
63
- const inv = 1 / step;
64
- const snapped = Math.ceil((value - offset) * inv) / inv + offset;
65
- return Number(snapped.toFixed(12));
66
- }
67
- function round(num, precision) {
68
- return Math.round(num * 10 ** precision) / 10 ** precision;
69
- }
70
- // Annotate the CommonJS export names for ESM import in node:
71
- 0 && (module.exports = {
72
- ceilToStep,
73
- clamp,
74
- clampMax,
75
- clampMin,
76
- clampRange,
77
- fixFloatingPointNumber,
78
- floorToStep,
79
- round,
80
- roundToStep
81
- });
@@ -1,54 +0,0 @@
1
- declare function clampMax(value: number, max: number): number;
2
- declare function clampMin(value: number, min: number): number;
3
- declare function clampRange(num: number, v1: number, v2: number): number;
4
- declare function clamp(num: number, min: number, max: number): number;
5
- declare function fixFloatingPointNumber(value: number): number;
6
- /**
7
- * Rounds a number to the nearest multiple of the specified step value.
8
- *
9
- * @param value - The number to round
10
- * @param step - The step size to round to
11
- * @param offset - Optional offset to shift the rounding grid
12
- * @returns The rounded value
13
- *
14
- * @example
15
- * roundToStep(23, 5) // 25 (nearest multiple of 5)
16
- */
17
- declare function roundToStep(value: number, step: number, offset?: number): number;
18
- /**
19
- * Floors a number down to the nearest multiple of the specified step value.
20
- *
21
- * @param value - The number to floor
22
- * @param step - The step size to floor to
23
- * @param offset - Optional offset to shift the flooring grid
24
- * @returns The floored value
25
- *
26
- * @example
27
- * floorToStep(23, 5) // 20 (largest multiple of 5 ≤ 23)
28
- */
29
- declare function floorToStep(value: number, step: number, offset?: number): number;
30
- /**
31
- * Ceils a number up to the nearest multiple of the specified step value.
32
- *
33
- * @param value - The number to ceil
34
- * @param step - The step size to ceil to
35
- * @param offset - Optional offset to shift the ceiling grid
36
- * @returns The ceiled value
37
- *
38
- * @example
39
- * ceilToStep(23, 5) // 25 (smallest multiple of 5 ≥ 23)
40
- */
41
- declare function ceilToStep(value: number, step: number, offset?: number): number;
42
- /**
43
- * Rounds a number to the specified number of decimal places.
44
- *
45
- * @param num - The number to round
46
- * @param precision - Number of decimal places
47
- * @returns The rounded number
48
- *
49
- * @example
50
- * round(3.14159, 2) // 3.14
51
- */
52
- declare function round(num: number, precision: number): number;
53
-
54
- export { ceilToStep, clamp, clampMax, clampMin, clampRange, fixFloatingPointNumber, floorToStep, round, roundToStep };
package/dist/mathUtils.js DELETED
@@ -1,22 +0,0 @@
1
- import {
2
- ceilToStep,
3
- clamp,
4
- clampMax,
5
- clampMin,
6
- clampRange,
7
- fixFloatingPointNumber,
8
- floorToStep,
9
- round,
10
- roundToStep
11
- } from "./chunk-DBOWTYR4.js";
12
- export {
13
- ceilToStep,
14
- clamp,
15
- clampMax,
16
- clampMin,
17
- clampRange,
18
- fixFloatingPointNumber,
19
- floorToStep,
20
- round,
21
- roundToStep
22
- };
@@ -1,153 +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/mutationUtils.ts
21
- var mutationUtils_exports = {};
22
- __export(mutationUtils_exports, {
23
- getArrayMethodsFromProduce: () => getArrayMethodsFromProduce,
24
- updateObject: () => updateObject
25
- });
26
- module.exports = __toCommonJS(mutationUtils_exports);
27
-
28
- // src/deepEqual.ts
29
- var has = Object.prototype.hasOwnProperty;
30
- function find(iter, tar, maxDepth) {
31
- for (const key of iter.keys()) {
32
- if (deepEqual(key, tar, maxDepth)) return key;
33
- }
34
- }
35
- function deepEqual(foo, bar, maxDepth = 20) {
36
- let ctor, len, tmp;
37
- if (foo === bar) return true;
38
- if (maxDepth && maxDepth <= 0) return false;
39
- if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
40
- if (ctor === Date)
41
- return deepEqual(foo.getTime(), bar.getTime(), maxDepth - 1);
42
- if (ctor === RegExp) return foo.toString() === bar.toString();
43
- if (ctor === Array) {
44
- if ((len = foo.length) === bar.length) {
45
- while (len-- && deepEqual(foo[len], bar[len], maxDepth - 1)) ;
46
- }
47
- return len === -1;
48
- }
49
- if (ctor === Set) {
50
- if (foo.size !== bar.size) {
51
- return false;
52
- }
53
- for (len of foo) {
54
- tmp = len;
55
- if (tmp && typeof tmp === "object") {
56
- tmp = find(bar, tmp, maxDepth - 1);
57
- if (!tmp) return false;
58
- }
59
- if (!bar.has(tmp)) return false;
60
- }
61
- return true;
62
- }
63
- if (ctor === Map) {
64
- if (foo.size !== bar.size) {
65
- return false;
66
- }
67
- for (len of foo) {
68
- tmp = len[0];
69
- if (tmp && typeof tmp === "object") {
70
- tmp = find(bar, tmp, maxDepth - 1);
71
- if (!tmp) return false;
72
- }
73
- if (!deepEqual(len[1], bar.get(tmp), maxDepth - 1)) {
74
- return false;
75
- }
76
- }
77
- return true;
78
- }
79
- if (!ctor || typeof foo === "object") {
80
- len = 0;
81
- for (ctor in foo) {
82
- if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
83
- if (!(ctor in bar) || !deepEqual(foo[ctor], bar[ctor], maxDepth - 1))
84
- return false;
85
- }
86
- return Object.keys(bar).length === len;
87
- }
88
- }
89
- return foo !== foo && bar !== bar;
90
- }
91
-
92
- // src/keepPrevIfUnchanged.ts
93
- function keepPrevIfUnchanged({
94
- prev,
95
- newValue,
96
- equalityFn = deepEqual
97
- }) {
98
- return equalityFn(prev, newValue) ? prev : newValue;
99
- }
100
-
101
- // src/typeGuards.ts
102
- function isFunction(value) {
103
- return typeof value === "function";
104
- }
105
-
106
- // src/mutationUtils.ts
107
- function updateObject(object, updates) {
108
- if (!object || typeof object !== "object") {
109
- return;
110
- }
111
- for (const key of Object.keys(updates)) {
112
- const value = updates[key];
113
- if (value !== void 0) {
114
- object[key] = keepPrevIfUnchanged({
115
- prev: object[key],
116
- newValue: value
117
- });
118
- }
119
- }
120
- }
121
- function getArrayMethodsFromProduce(produceFn, getItemId) {
122
- return {
123
- add: (item) => produceFn((draft) => {
124
- draft.push(item);
125
- }),
126
- remove: (id) => produceFn((draft) => {
127
- const index = draft.findIndex((item) => getItemId(item) === id);
128
- if (index !== -1) {
129
- draft.splice(index, 1);
130
- }
131
- }),
132
- update: (id, updateItem) => produceFn((draft) => {
133
- const index = draft.findIndex((item2) => getItemId(item2) === id);
134
- const item = draft[index];
135
- if (!item) {
136
- throw new Error(`Item with id ${id} not found`);
137
- }
138
- if (isFunction(updateItem)) {
139
- const updatedItem = updateItem(item);
140
- if (updatedItem) {
141
- draft[index] = updatedItem;
142
- }
143
- } else {
144
- updateObject(item, updateItem);
145
- }
146
- })
147
- };
148
- }
149
- // Annotate the CommonJS export names for ESM import in node:
150
- 0 && (module.exports = {
151
- getArrayMethodsFromProduce,
152
- updateObject
153
- });