@oscarpalmer/atoms 0.220.0 → 0.222.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 (323) hide show
  1. package/dist/array/difference.d.mts +1 -3
  2. package/dist/array/difference.mjs +1 -2
  3. package/dist/array/exists.d.mts +1 -3
  4. package/dist/array/exists.mjs +1 -2
  5. package/dist/array/filter.d.mts +1 -3
  6. package/dist/array/filter.mjs +1 -2
  7. package/dist/array/find.d.mts +1 -3
  8. package/dist/array/find.mjs +1 -2
  9. package/dist/array/first.d.mts +1 -3
  10. package/dist/array/first.mjs +1 -2
  11. package/dist/array/flatten.d.mts +1 -3
  12. package/dist/array/flatten.mjs +1 -2
  13. package/dist/array/from.d.mts +1 -3
  14. package/dist/array/from.mjs +1 -2
  15. package/dist/array/group-by.d.mts +1 -3
  16. package/dist/array/group-by.mjs +1 -2
  17. package/dist/array/insert.d.mts +1 -3
  18. package/dist/array/insert.mjs +1 -2
  19. package/dist/array/intersection.d.mts +1 -3
  20. package/dist/array/intersection.mjs +1 -2
  21. package/dist/array/last.d.mts +1 -3
  22. package/dist/array/last.mjs +1 -2
  23. package/dist/array/move.d.mts +1 -3
  24. package/dist/array/move.mjs +1 -2
  25. package/dist/array/partition.d.mts +1 -3
  26. package/dist/array/partition.mjs +1 -2
  27. package/dist/array/push.d.mts +0 -2
  28. package/dist/array/push.mjs +1 -2
  29. package/dist/array/reverse.d.mts +1 -3
  30. package/dist/array/reverse.mjs +1 -2
  31. package/dist/array/select.d.mts +0 -2
  32. package/dist/array/select.mjs +1 -2
  33. package/dist/array/single.d.mts +1 -3
  34. package/dist/array/single.mjs +1 -2
  35. package/dist/array/slice.d.mts +1 -3
  36. package/dist/array/slice.mjs +1 -2
  37. package/dist/array/sort.d.mts +0 -2
  38. package/dist/array/sort.mjs +1 -2
  39. package/dist/array/splice.d.mts +1 -3
  40. package/dist/array/splice.mjs +1 -2
  41. package/dist/array/swap.d.mts +0 -2
  42. package/dist/array/swap.mjs +1 -2
  43. package/dist/array/to-map.d.mts +1 -3
  44. package/dist/array/to-map.mjs +1 -2
  45. package/dist/array/to-record.d.mts +1 -3
  46. package/dist/array/to-record.mjs +1 -2
  47. package/dist/array/to-set.d.mts +1 -3
  48. package/dist/array/to-set.mjs +1 -2
  49. package/dist/array/toggle.d.mts +1 -3
  50. package/dist/array/toggle.mjs +1 -2
  51. package/dist/array/union.d.mts +1 -3
  52. package/dist/array/union.mjs +1 -2
  53. package/dist/array/unique.d.mts +1 -3
  54. package/dist/array/unique.mjs +1 -2
  55. package/dist/array/update.d.mts +1 -3
  56. package/dist/array/update.mjs +1 -2
  57. package/dist/beacon.d.mts +0 -2
  58. package/dist/beacon.mjs +2 -3
  59. package/dist/color/constants.d.mts +0 -2
  60. package/dist/color/constants.mjs +1 -2
  61. package/dist/color/index.d.mts +0 -2
  62. package/dist/color/index.mjs +1 -2
  63. package/dist/color/instance.d.mts +1 -3
  64. package/dist/color/instance.mjs +1 -2
  65. package/dist/color/misc/alpha.d.mts +1 -3
  66. package/dist/color/misc/alpha.mjs +1 -2
  67. package/dist/color/misc/format.d.mts +1 -3
  68. package/dist/color/misc/format.mjs +1 -2
  69. package/dist/color/misc/get.d.mts +1 -3
  70. package/dist/color/misc/get.mjs +1 -2
  71. package/dist/color/misc/is.d.mts +1 -3
  72. package/dist/color/misc/is.mjs +1 -2
  73. package/dist/color/misc/state.d.mts +1 -3
  74. package/dist/color/misc/state.mjs +1 -2
  75. package/dist/color/space/hex.d.mts +1 -3
  76. package/dist/color/space/hex.mjs +1 -2
  77. package/dist/color/space/hsl.d.mts +1 -3
  78. package/dist/color/space/hsl.mjs +1 -2
  79. package/dist/color/space/hwb.d.mts +1 -3
  80. package/dist/color/space/hwb.mjs +1 -2
  81. package/dist/color/space/rgb.d.mts +1 -3
  82. package/dist/color/space/rgb.mjs +1 -2
  83. package/dist/function/limit.d.mts +0 -2
  84. package/dist/function/limit.mjs +1 -2
  85. package/dist/function/once.d.mts +0 -2
  86. package/dist/function/once.mjs +1 -2
  87. package/dist/function/retry.d.mts +0 -2
  88. package/dist/function/retry.mjs +1 -2
  89. package/dist/index.d.mts +8 -266
  90. package/dist/index.mjs +211 -370
  91. package/dist/internal/aborter.d.mts +1 -3
  92. package/dist/internal/aborter.mjs +1 -2
  93. package/dist/internal/array/callbacks.d.mts +1 -3
  94. package/dist/internal/array/callbacks.mjs +1 -2
  95. package/dist/internal/array/chunk.d.mts +1 -3
  96. package/dist/internal/array/chunk.mjs +1 -2
  97. package/dist/internal/array/compact.d.mts +1 -3
  98. package/dist/internal/array/compact.mjs +1 -2
  99. package/dist/internal/array/find.d.mts +1 -3
  100. package/dist/internal/array/find.mjs +1 -2
  101. package/dist/internal/array/get.d.mts +1 -3
  102. package/dist/internal/array/get.mjs +1 -2
  103. package/dist/internal/array/group.d.mts +1 -3
  104. package/dist/internal/array/group.mjs +1 -2
  105. package/dist/internal/array/index-of.d.mts +1 -3
  106. package/dist/internal/array/index-of.mjs +1 -2
  107. package/dist/internal/array/insert.d.mts +1 -3
  108. package/dist/internal/array/insert.mjs +1 -2
  109. package/dist/internal/array/match.d.mts +1 -3
  110. package/dist/internal/array/match.mjs +1 -2
  111. package/dist/internal/array/overlap.d.mts +1 -3
  112. package/dist/internal/array/overlap.mjs +1 -2
  113. package/dist/internal/array/sets.d.mts +1 -3
  114. package/dist/internal/array/sets.mjs +1 -2
  115. package/dist/internal/array/shuffle.d.mts +1 -3
  116. package/dist/internal/array/shuffle.mjs +1 -2
  117. package/dist/internal/array/update.d.mts +1 -3
  118. package/dist/internal/array/update.mjs +1 -2
  119. package/dist/internal/defaults.d.mts +1 -3
  120. package/dist/internal/defaults.mjs +1 -2
  121. package/dist/internal/function/assert.d.mts +0 -2
  122. package/dist/internal/function/assert.mjs +2 -5
  123. package/dist/internal/function/limit.d.mts +1 -3
  124. package/dist/internal/function/limit.mjs +1 -2
  125. package/dist/internal/function/memoize.d.mts +0 -2
  126. package/dist/internal/function/memoize.mjs +1 -2
  127. package/dist/internal/function/misc.d.mts +1 -2
  128. package/dist/internal/function/misc.mjs +7 -3
  129. package/dist/internal/function/work.d.mts +0 -2
  130. package/dist/internal/function/work.mjs +5 -13
  131. package/dist/internal/herald.d.mts +1 -3
  132. package/dist/internal/herald.mjs +1 -2
  133. package/dist/internal/is.d.mts +1 -3
  134. package/dist/internal/is.mjs +1 -2
  135. package/dist/internal/math/aggregate.d.mts +1 -3
  136. package/dist/internal/math/aggregate.mjs +1 -2
  137. package/dist/internal/math/misc.d.mts +1 -3
  138. package/dist/internal/math/misc.mjs +1 -2
  139. package/dist/internal/number.d.mts +1 -3
  140. package/dist/internal/number.mjs +1 -2
  141. package/dist/internal/plan/index.d.mts +1 -3
  142. package/dist/internal/plan/index.mjs +1 -2
  143. package/dist/internal/plan/plan.generate.d.mts +1 -3
  144. package/dist/internal/plan/plan.generate.mjs +2 -3
  145. package/dist/internal/random.d.mts +1 -3
  146. package/dist/internal/random.mjs +1 -2
  147. package/dist/internal/result/attempt.d.mts +1 -3
  148. package/dist/internal/result/attempt.mjs +1 -2
  149. package/dist/internal/result/misc.d.mts +1 -3
  150. package/dist/internal/result/misc.mjs +1 -2
  151. package/dist/internal/sized/map.d.mts +1 -3
  152. package/dist/internal/sized/map.mjs +1 -2
  153. package/dist/internal/sized/misc.d.mts +1 -3
  154. package/dist/internal/sized/misc.mjs +1 -2
  155. package/dist/internal/string/case.d.mts +3 -3
  156. package/dist/internal/string/case.mjs +37 -31
  157. package/dist/internal/string/misc.d.mts +1 -3
  158. package/dist/internal/string/misc.mjs +2 -3
  159. package/dist/internal/subscription.d.mts +1 -3
  160. package/dist/internal/subscription.mjs +3 -8
  161. package/dist/internal/value/compare.d.mts +1 -3
  162. package/dist/internal/value/compare.mjs +1 -2
  163. package/dist/internal/value/equal.d.mts +0 -2
  164. package/dist/internal/value/equal.mjs +1 -2
  165. package/dist/internal/value/get.d.mts +1 -3
  166. package/dist/internal/value/get.mjs +1 -2
  167. package/dist/internal/value/handlers.d.mts +1 -3
  168. package/dist/internal/value/handlers.mjs +1 -2
  169. package/dist/internal/value/has.d.mts +1 -3
  170. package/dist/internal/value/has.mjs +1 -2
  171. package/dist/internal/value/misc.d.mts +1 -3
  172. package/dist/internal/value/misc.mjs +2 -3
  173. package/dist/internal/value/partial.d.mts +1 -3
  174. package/dist/internal/value/partial.mjs +1 -2
  175. package/dist/internal/value/set.d.mts +1 -3
  176. package/dist/internal/value/set.mjs +1 -2
  177. package/dist/is.d.mts +0 -2
  178. package/dist/is.mjs +1 -2
  179. package/dist/logger.d.mts +0 -2
  180. package/dist/logger.mjs +1 -2
  181. package/dist/math.d.mts +0 -2
  182. package/dist/math.mjs +1 -2
  183. package/dist/models/aborter.model.d.mts +1 -3
  184. package/dist/models/aborter.model.mjs +1 -2
  185. package/dist/models/array/array.find.model.d.mts +1 -3
  186. package/dist/models/array/array.find.model.mjs +1 -2
  187. package/dist/models/array/array.match.model.d.mts +1 -3
  188. package/dist/models/array/array.match.model.mjs +1 -2
  189. package/dist/models/array/array.misc.model.d.mts +1 -3
  190. package/dist/models/array/array.misc.model.mjs +1 -2
  191. package/dist/models/array/array.sort.model.d.mts +1 -3
  192. package/dist/models/array/array.sort.model.mjs +1 -2
  193. package/dist/models/beacon.model.d.mts +1 -3
  194. package/dist/models/beacon.model.mjs +1 -2
  195. package/dist/models/color.model.d.mts +0 -2
  196. package/dist/models/function/assert.model.d.mts +1 -3
  197. package/dist/models/function/assert.model.mjs +1 -2
  198. package/dist/models/function/limiter.model.d.mts +1 -3
  199. package/dist/models/function/limiter.model.mjs +1 -2
  200. package/dist/models/function/memoize.model.d.mts +1 -3
  201. package/dist/models/function/memoize.model.mjs +1 -2
  202. package/dist/models/function/once.model.d.mts +0 -2
  203. package/dist/models/function/once.model.mjs +1 -2
  204. package/dist/models/function/retry.model.d.mts +1 -3
  205. package/dist/models/function/retry.model.mjs +1 -2
  206. package/dist/models/function/work.model.d.mts +1 -3
  207. package/dist/models/function/work.model.mjs +1 -2
  208. package/dist/models/herald.model.d.mts +1 -3
  209. package/dist/models/herald.model.mjs +1 -2
  210. package/dist/models/index.d.mts +0 -2
  211. package/dist/models/logger.model.d.mts +1 -3
  212. package/dist/models/logger.model.mjs +1 -2
  213. package/dist/models/math.model.d.mts +1 -3
  214. package/dist/models/math.model.mjs +1 -2
  215. package/dist/models/misc.model.d.mts +1 -3
  216. package/dist/models/misc.model.mjs +1 -2
  217. package/dist/models/plan.model.d.mts +0 -2
  218. package/dist/models/plan.model.mjs +1 -2
  219. package/dist/models/promise.model.d.mts +1 -3
  220. package/dist/models/promise.model.mjs +1 -2
  221. package/dist/models/query.model.d.mts +1 -3
  222. package/dist/models/query.model.mjs +1 -2
  223. package/dist/models/queue.model.d.mts +0 -2
  224. package/dist/models/queue.model.mjs +1 -2
  225. package/dist/models/random.model.d.mts +1 -3
  226. package/dist/models/random.model.mjs +1 -2
  227. package/dist/models/result.model.d.mts +0 -2
  228. package/dist/models/string/string.case.model.d.mts +8 -5
  229. package/dist/models/string/string.case.model.mjs +10 -6
  230. package/dist/models/string/string.fuzzy.model.d.mts +0 -2
  231. package/dist/models/string/string.fuzzy.model.mjs +1 -2
  232. package/dist/models/string/string.misc.model.d.mts +1 -3
  233. package/dist/models/string/string.misc.model.mjs +2 -3
  234. package/dist/models/string/string.normalize.model.d.mts +1 -3
  235. package/dist/models/string/string.normalize.model.mjs +1 -2
  236. package/dist/models/string/string.template.model.d.mts +1 -3
  237. package/dist/models/string/string.template.model.mjs +2 -3
  238. package/dist/models/subscription.model.d.mts +1 -3
  239. package/dist/models/subscription.model.mjs +1 -2
  240. package/dist/models/value/value.clone.model.d.mts +1 -3
  241. package/dist/models/value/value.clone.model.mjs +1 -2
  242. package/dist/models/value/value.diff.model.d.mts +1 -3
  243. package/dist/models/value/value.diff.model.mjs +1 -2
  244. package/dist/models/value/value.equal.model.d.mts +0 -2
  245. package/dist/models/value/value.equal.model.mjs +1 -2
  246. package/dist/models/value/value.handler.model.d.mts +1 -3
  247. package/dist/models/value/value.merge.model.d.mts +0 -2
  248. package/dist/models/value/value.merge.model.mjs +1 -2
  249. package/dist/models/value/value.misc.model.d.mts +0 -2
  250. package/dist/models/value/value.misc.model.mjs +1 -2
  251. package/dist/models/value/value.transform.model.d.mts +1 -3
  252. package/dist/models/value/value.transform.model.mjs +1 -2
  253. package/dist/plan/index.d.mts +1 -3
  254. package/dist/plan/index.mjs +1 -2
  255. package/dist/plan/is.d.mts +1 -3
  256. package/dist/plan/is.mjs +1 -2
  257. package/dist/plan/misc.d.mts +1 -3
  258. package/dist/plan/misc.mjs +1 -2
  259. package/dist/plan/result.d.mts +1 -3
  260. package/dist/plan/result.mjs +1 -2
  261. package/dist/plan/run.d.mts +1 -3
  262. package/dist/plan/run.mjs +1 -2
  263. package/dist/plan/use.d.mts +1 -3
  264. package/dist/plan/use.mjs +1 -2
  265. package/dist/promise/delay.d.mts +1 -3
  266. package/dist/promise/delay.mjs +1 -2
  267. package/dist/promise/helpers.d.mts +1 -3
  268. package/dist/promise/helpers.mjs +1 -2
  269. package/dist/promise/index.d.mts +0 -2
  270. package/dist/promise/index.mjs +1 -2
  271. package/dist/promise/misc.d.mts +0 -2
  272. package/dist/promise/misc.mjs +1 -2
  273. package/dist/promise/timed.d.mts +1 -3
  274. package/dist/promise/timed.mjs +1 -2
  275. package/dist/query.d.mts +1 -3
  276. package/dist/query.mjs +1 -2
  277. package/dist/queue.d.mts +0 -2
  278. package/dist/queue.mjs +1 -2
  279. package/dist/random.d.mts +0 -2
  280. package/dist/random.mjs +1 -2
  281. package/dist/result/match.d.mts +1 -3
  282. package/dist/result/match.mjs +1 -2
  283. package/dist/result/misc.d.mts +0 -2
  284. package/dist/result/misc.mjs +1 -2
  285. package/dist/result/work/flow.d.mts +1 -3
  286. package/dist/result/work/flow.mjs +4 -11
  287. package/dist/result/work/pipe.d.mts +0 -2
  288. package/dist/result/work/pipe.mjs +1 -2
  289. package/dist/sized/set.d.mts +1 -3
  290. package/dist/sized/set.mjs +1 -2
  291. package/dist/string/fuzzy.d.mts +0 -2
  292. package/dist/string/fuzzy.mjs +1 -2
  293. package/dist/string/index.d.mts +0 -2
  294. package/dist/string/index.mjs +1 -2
  295. package/dist/string/match.d.mts +1 -3
  296. package/dist/string/match.mjs +1 -2
  297. package/dist/string/normalize.d.mts +0 -2
  298. package/dist/string/normalize.mjs +1 -2
  299. package/dist/string/template.d.mts +0 -2
  300. package/dist/string/template.mjs +1 -2
  301. package/dist/value/clone.d.mts +0 -2
  302. package/dist/value/clone.mjs +1 -2
  303. package/dist/value/collection.d.mts +1 -3
  304. package/dist/value/collection.mjs +1 -2
  305. package/dist/value/diff.d.mts +0 -2
  306. package/dist/value/diff.mjs +1 -2
  307. package/dist/value/freeze.d.mts +1 -3
  308. package/dist/value/freeze.mjs +2 -3
  309. package/dist/value/merge.d.mts +0 -2
  310. package/dist/value/merge.mjs +1 -2
  311. package/dist/value/omit.d.mts +1 -3
  312. package/dist/value/omit.mjs +1 -2
  313. package/dist/value/pick.d.mts +1 -3
  314. package/dist/value/pick.mjs +1 -2
  315. package/dist/value/shake.d.mts +0 -2
  316. package/dist/value/shake.mjs +1 -2
  317. package/dist/value/smush.d.mts +0 -2
  318. package/dist/value/smush.mjs +1 -2
  319. package/dist/value/transform.d.mts +0 -2
  320. package/dist/value/transform.mjs +1 -2
  321. package/dist/value/unsmush.d.mts +0 -2
  322. package/dist/value/unsmush.mjs +1 -2
  323. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -1,9 +1,8 @@
1
- //#region src/models/array/array.find.model.ts
1
+ // src/models/array/array.find.model.ts
2
2
  const ARRAY_FIND_VALUE_INDEX = "index";
3
3
  const ARRAY_FIND_VALUE_ITEM = "item";
4
4
  const ARRAY_FIND_VALUES_UNIQUE = "unique";
5
- //#endregion
6
- //#region src/internal/array/callbacks.ts
5
+ // src/internal/array/callbacks.ts
7
6
  function getArrayCallback(value) {
8
7
  switch (typeof value) {
9
8
  case "function": return value;
@@ -19,8 +18,7 @@ function getArrayCallbacks(bool, key, value) {
19
18
  value: getArrayCallback(value)
20
19
  };
21
20
  }
22
- //#endregion
23
- //#region src/internal/array/find.ts
21
+ // src/internal/array/find.ts
24
22
  function addResult(result, mapped, flat) {
25
23
  if (!flat) {
26
24
  result.matched.push(mapped);
@@ -148,8 +146,7 @@ function findValues(type, array, parameters, options) {
148
146
  };
149
147
  return simple ? findSimpleValues(findParameters) : findComplexValues(findParameters);
150
148
  }
151
- //#endregion
152
- //#region src/array/filter.ts
149
+ // src/array/filter.ts
153
150
  function exclude(array, ...parameters) {
154
151
  return findValues("all", array, parameters).notMatched;
155
152
  }
@@ -157,8 +154,7 @@ function filter(array, ...parameters) {
157
154
  return findValues("all", array, parameters).matched;
158
155
  }
159
156
  filter.remove = exclude;
160
- //#endregion
161
- //#region src/array/find.ts
157
+ // src/array/find.ts
162
158
  function find(array, ...parameters) {
163
159
  return findValue(ARRAY_FIND_VALUE_ITEM, array, parameters, false);
164
160
  }
@@ -166,8 +162,7 @@ function findLast(array, ...parameters) {
166
162
  return findValue(ARRAY_FIND_VALUE_ITEM, array, parameters, true);
167
163
  }
168
164
  find.last = findLast;
169
- //#endregion
170
- //#region src/array/first.ts
165
+ // src/array/first.ts
171
166
  function first(array, ...parameters) {
172
167
  return findAbsoluteValueOrDefault(array, parameters, void 0, false, false);
173
168
  }
@@ -175,8 +170,7 @@ function firstOrDefault(array, defaultValue, ...parameters) {
175
170
  return findAbsoluteValueOrDefault(array, parameters, defaultValue, true, false);
176
171
  }
177
172
  first.defaulted = firstOrDefault;
178
- //#endregion
179
- //#region src/internal/array/group.ts
173
+ // src/internal/array/group.ts
180
174
  function groupValues(array, key, value, arrays) {
181
175
  if (!Array.isArray(array) || array.length === 0) return {};
182
176
  const { length } = array;
@@ -194,8 +188,7 @@ function groupValues(array, key, value, arrays) {
194
188
  }
195
189
  return record;
196
190
  }
197
- //#endregion
198
- //#region src/array/group-by.ts
191
+ // src/array/group-by.ts
199
192
  function groupBy(array, first, second) {
200
193
  return groupValues(array, first, second, false);
201
194
  }
@@ -203,8 +196,7 @@ function groupArraysBy(array, first, second) {
203
196
  return groupValues(array, first, second, true);
204
197
  }
205
198
  groupBy.arrays = groupArraysBy;
206
- //#endregion
207
- //#region src/models/array/array.misc.model.ts
199
+ // src/models/array/array.misc.model.ts
208
200
  const ARRAY_CHUNK_MAX_SIZE = 5e3;
209
201
  const ARRAY_INSERT_TYPE_INSERT = "insert";
210
202
  const ARRAY_INSERT_TYPE_PUSH = "push";
@@ -214,8 +206,7 @@ const ARRAY_SETS_COMPARE_INTERSECTION = "intersection";
214
206
  const ARRAY_SETS_COMPARE_UNION = "union";
215
207
  const ARRAY_SLICE_DROP = "drop";
216
208
  const ARRAY_SLICE_TAKE = "take";
217
- //#endregion
218
- //#region src/internal/array/chunk.ts
209
+ // src/internal/array/chunk.ts
219
210
  /**
220
211
  * Chunk an array into smaller arrays
221
212
  *
@@ -242,8 +233,7 @@ function chunk(array, size) {
242
233
  }
243
234
  return chunks;
244
235
  }
245
- //#endregion
246
- //#region src/internal/array/compact.ts
236
+ // src/internal/array/compact.ts
247
237
  function compact(array, strict) {
248
238
  if (!Array.isArray(array)) return [];
249
239
  if (strict === true) return array.filter(Boolean);
@@ -255,8 +245,7 @@ function compact(array, strict) {
255
245
  }
256
246
  return compacted;
257
247
  }
258
- //#endregion
259
- //#region src/internal/is.ts
248
+ // src/internal/is.ts
260
249
  /**
261
250
  * Is the value an array or a plain object?
262
251
  *
@@ -439,8 +428,7 @@ function isTypedArray(value) {
439
428
  ]);
440
429
  return isTypedArray.types.has(value?.constructor);
441
430
  }
442
- //#endregion
443
- //#region src/internal/array/get.ts
431
+ // src/internal/array/get.ts
444
432
  function getArray(value, indiced) {
445
433
  if (Array.isArray(value)) return value;
446
434
  if (value instanceof Map) return [...value.entries()];
@@ -468,8 +456,7 @@ const arrayMatchInvalid = [-1, ARRAY_MATCH_COMPARISON_INVALID];
468
456
  const arrayMatchOutside = [-1, ARRAY_MATCH_COMPARISON_OUTSIDE];
469
457
  const arrayMatchOutsides = /* @__PURE__ */ new Set([ARRAY_MATCH_COMPARISON_INVALID, ARRAY_MATCH_COMPARISON_OUTSIDE]);
470
458
  const arrayMatchStarts = /* @__PURE__ */ new Set([ARRAY_MATCH_COMPARISON_START, ARRAY_MATCH_COMPARISON_SAME]);
471
- //#endregion
472
- //#region src/internal/array/match.ts
459
+ // src/internal/array/match.ts
473
460
  function endsWithArray(haystack, needle, key) {
474
461
  return arrayMatchEndings.has(getPosition(haystack, needle, key)[1]);
475
462
  }
@@ -517,8 +504,7 @@ function indexOfArray(haystack, needle, key) {
517
504
  function startsWithArray(haystack, needle, key) {
518
505
  return arrayMatchStarts.has(getPosition(haystack, needle, key)[1]);
519
506
  }
520
- //#endregion
521
- //#region src/internal/math/misc.ts
507
+ // src/internal/math/misc.ts
522
508
  /**
523
509
  * Round a number down
524
510
  *
@@ -559,8 +545,7 @@ function roundNumber(callback, value, decimals) {
559
545
  const mod = 10 ** decimals;
560
546
  return callback((value + Number.EPSILON) * mod) / mod;
561
547
  }
562
- //#endregion
563
- //#region src/internal/random.ts
548
+ // src/internal/random.ts
564
549
  /**
565
550
  * Get a random number between 0 _(inclusive)_ and 1 _(exclusive)_
566
551
  *
@@ -599,8 +584,7 @@ function getRandomInteger(minimum, maximum) {
599
584
  return floor(getRandomFloatingNumberValue(true, minimum, maximum));
600
585
  }
601
586
  const RANDOM_DIVISOR = 2 ** 32;
602
- //#endregion
603
- //#region src/internal/array/shuffle.ts
587
+ // src/internal/array/shuffle.ts
604
588
  /**
605
589
  * Shuffle items in array
606
590
  *
@@ -623,8 +607,7 @@ function shuffle(array) {
623
607
  }
624
608
  return shuffled;
625
609
  }
626
- //#endregion
627
- //#region src/internal/array/sets.ts
610
+ // src/internal/array/sets.ts
628
611
  function compareSets(type, first, second, key) {
629
612
  if (!Array.isArray(first)) return [];
630
613
  const isDifference = type === ARRAY_SETS_COMPARE_DIFFERENCE;
@@ -656,19 +639,16 @@ function getComparison(first, second, isIntersection, isUnion, key) {
656
639
  }
657
640
  return result;
658
641
  }
659
- //#endregion
660
- //#region src/array/difference.ts
642
+ // src/array/difference.ts
661
643
  function difference(first, second, key) {
662
644
  return compareSets(ARRAY_SETS_COMPARE_DIFFERENCE, first, second, key);
663
645
  }
664
- //#endregion
665
- //#region src/array/exists.ts
646
+ // src/array/exists.ts
666
647
  function exists(array, ...parameters) {
667
648
  if (parameters.length === 1 && typeof parameters[0] !== "function") return Array.isArray(array) ? array.includes(parameters[0]) : false;
668
649
  return findValue(ARRAY_FIND_VALUE_INDEX, array, parameters, false) > -1;
669
650
  }
670
- //#endregion
671
- //#region src/array/flatten.ts
651
+ // src/array/flatten.ts
672
652
  /**
673
653
  * Flatten an array _(using native `flat` and maximum depth)_
674
654
  *
@@ -683,8 +663,7 @@ function exists(array, ...parameters) {
683
663
  function flatten(array) {
684
664
  return Array.isArray(array) ? array.flat(Number.POSITIVE_INFINITY) : [];
685
665
  }
686
- //#endregion
687
- //#region src/array/from.ts
666
+ // src/array/from.ts
688
667
  function range(first, second, third) {
689
668
  const start = typeof second === "number" ? first : 0;
690
669
  const end = typeof second === "number" ? second : first;
@@ -702,11 +681,9 @@ function times(length, value) {
702
681
  for (let index = 0; index < length; index += 1) values.push(isFunction ? value(index) : value ?? index);
703
682
  return values;
704
683
  }
705
- //#endregion
706
- //#region src/models/math.model.ts
684
+ // src/models/math.model.ts
707
685
  const AGGREGATION_AVERAGE = "average";
708
- //#endregion
709
- //#region src/internal/math/aggregate.ts
686
+ // src/internal/math/aggregate.ts
710
687
  function aggregate(type, array, key, first) {
711
688
  const length = Array.isArray(array) ? array.length : 0;
712
689
  const aggregation = {
@@ -778,8 +755,7 @@ const aggregators = {
778
755
  min: getAbsoluteValue.bind(void 0, isMinValue),
779
756
  sum: calculateSum
780
757
  };
781
- //#endregion
782
- //#region src/internal/array/insert.ts
758
+ // src/internal/array/insert.ts
783
759
  function insertChunkedValues(type, array, items, start, deleteCount) {
784
760
  const actualDeleteCount = max([deleteCount, 0]);
785
761
  const actualStart = min([max([0, start]), array.length]);
@@ -801,24 +777,20 @@ function insertValues(type, array, items, start, deleteCount) {
801
777
  if (!Array.isArray(array) || typeof start !== "number" || !Array.isArray(items) || items.length === 0) return spliceArray ? [] : 0;
802
778
  return insertChunkedValues(type, array, items, start, spliceArray ? deleteCount : 0);
803
779
  }
804
- //#endregion
805
- //#region src/array/insert.ts
780
+ // src/array/insert.ts
806
781
  function insert(array, indexOrItems, items) {
807
782
  return insertValues(ARRAY_INSERT_TYPE_INSERT, array, items ?? indexOrItems, typeof indexOrItems === "number" ? indexOrItems : array?.length, 0);
808
783
  }
809
- //#endregion
810
- //#region src/array/intersection.ts
784
+ // src/array/intersection.ts
811
785
  function intersection(first, second, key) {
812
786
  return compareSets(ARRAY_SETS_COMPARE_INTERSECTION, first, second, key);
813
787
  }
814
- //#endregion
815
- //#region src/array/partition.ts
788
+ // src/array/partition.ts
816
789
  function partition(array, ...parameters) {
817
790
  const { matched, notMatched } = findValues("all", array, parameters);
818
791
  return [matched, notMatched];
819
792
  }
820
- //#endregion
821
- //#region src/array/push.ts
793
+ // src/array/push.ts
822
794
  /**
823
795
  * Push items into an array _(at the end)_
824
796
  *
@@ -836,8 +808,7 @@ function partition(array, ...parameters) {
836
808
  function push(array, pushed) {
837
809
  return insertValues(ARRAY_INSERT_TYPE_PUSH, array, pushed, array.length, 0);
838
810
  }
839
- //#endregion
840
- //#region src/array/reverse.ts
811
+ // src/array/reverse.ts
841
812
  /**
842
813
  * Reverse the order of items in an array
843
814
  *
@@ -863,16 +834,14 @@ function reverse(array) {
863
834
  }
864
835
  return array;
865
836
  }
866
- //#endregion
867
- //#region src/array/single.ts
837
+ // src/array/single.ts
868
838
  function single(array, ...parameters) {
869
839
  const { matched } = findValues("all", array, parameters, { limit: 2 });
870
840
  if (matched.length > 1) throw new Error(SINGLE_MESSAGE);
871
841
  return matched[0];
872
842
  }
873
843
  const SINGLE_MESSAGE = "Multiple items were found";
874
- //#endregion
875
- //#region src/array/slice.ts
844
+ // src/array/slice.ts
876
845
  function drop(array, first, second) {
877
846
  return extract(ARRAY_SLICE_DROP, array, first, second);
878
847
  }
@@ -933,14 +902,12 @@ function slice(array, first, second) {
933
902
  function take(array, first, second) {
934
903
  return extract(ARRAY_SLICE_TAKE, array, first, second);
935
904
  }
936
- //#endregion
937
- //#region src/array/splice.ts
905
+ // src/array/splice.ts
938
906
  function splice(array, start, deleteCountOrItems, items) {
939
907
  const deleteCountIsNumber = typeof deleteCountOrItems === "number";
940
908
  return insertValues(ARRAY_INSERT_TYPE_SPLICE, array, deleteCountIsNumber ? items : deleteCountOrItems, start, deleteCountIsNumber ? deleteCountOrItems : 0);
941
909
  }
942
- //#endregion
943
- //#region src/array/to-set.ts
910
+ // src/array/to-set.ts
944
911
  function toSet(array, value) {
945
912
  if (!Array.isArray(array)) return /* @__PURE__ */ new Set();
946
913
  const callbacks = getArrayCallbacks(void 0, void 0, value);
@@ -950,8 +917,7 @@ function toSet(array, value) {
950
917
  for (let index = 0; index < length; index += 1) set.add(callbacks.value(array[index], index, array));
951
918
  return set;
952
919
  }
953
- //#endregion
954
- //#region src/internal/array/update.ts
920
+ // src/internal/array/update.ts
955
921
  function updateInArray(array, items, key, replace) {
956
922
  if (!Array.isArray(array)) return [];
957
923
  const itemsIsArray = Array.isArray(items);
@@ -972,29 +938,24 @@ function updateInArray(array, items, key, replace) {
972
938
  }
973
939
  return array;
974
940
  }
975
- //#endregion
976
- //#region src/array/toggle.ts
941
+ // src/array/toggle.ts
977
942
  function toggle(array, values, key) {
978
943
  return updateInArray(array, values, key, false);
979
944
  }
980
- //#endregion
981
- //#region src/array/union.ts
945
+ // src/array/union.ts
982
946
  function union(first, second, key) {
983
947
  return compareSets(ARRAY_SETS_COMPARE_UNION, first, second, key);
984
948
  }
985
- //#endregion
986
- //#region src/array/unique.ts
949
+ // src/array/unique.ts
987
950
  function unique(array, key) {
988
951
  if (!Array.isArray(array)) return [];
989
952
  return array.length > 1 ? findValues(ARRAY_FIND_VALUES_UNIQUE, array, [key, void 0]).matched : array;
990
953
  }
991
- //#endregion
992
- //#region src/array/update.ts
954
+ // src/array/update.ts
993
955
  function update(array, values, key) {
994
956
  return updateInArray(array, values, key, true);
995
957
  }
996
- //#endregion
997
- //#region src/array/last.ts
958
+ // src/array/last.ts
998
959
  function last(array, ...parameters) {
999
960
  return findAbsoluteValueOrDefault(array, parameters, void 0, false, true);
1000
961
  }
@@ -1002,8 +963,7 @@ function lastOrDefault(array, defaultValue, ...parameters) {
1002
963
  return findAbsoluteValueOrDefault(array, parameters, defaultValue, true, true);
1003
964
  }
1004
965
  last.defaulted = lastOrDefault;
1005
- //#endregion
1006
- //#region src/internal/array/overlap.ts
966
+ // src/internal/array/overlap.ts
1007
967
  function arraysOverlap(first, second) {
1008
968
  const firstArray = first.index < second.index ? first.array : second.array;
1009
969
  const secondArray = first.index < second.index ? second.array : first.array;
@@ -1022,8 +982,7 @@ function arraysOverlap(first, second) {
1022
982
  }
1023
983
  };
1024
984
  }
1025
- //#endregion
1026
- //#region src/array/move.ts
985
+ // src/array/move.ts
1027
986
  function move(array, from, to, key) {
1028
987
  if (!Array.isArray(array)) return [];
1029
988
  const firstArray = Array.isArray(from) ? from : [from];
@@ -1095,8 +1054,7 @@ function moveToIndex(array, value, index, key) {
1095
1054
  }
1096
1055
  move.indices = moveIndices;
1097
1056
  move.toIndex = moveToIndex;
1098
- //#endregion
1099
- //#region src/array/select.ts
1057
+ // src/array/select.ts
1100
1058
  function filterAndFlatMap(array, filter, mapper) {
1101
1059
  return selectValues(array, filter, mapper, true, false);
1102
1060
  }
@@ -1119,8 +1077,7 @@ function selectValues(array, filter, mapper, flat, reverse) {
1119
1077
  filterAndMap.flat = filterAndFlatMap;
1120
1078
  filterAndMap.reverse = mapAndFilter;
1121
1079
  mapAndFilter.flat = flatMapAndFilter;
1122
- //#endregion
1123
- //#region src/models/value/value.misc.model.ts
1080
+ // src/models/value/value.misc.model.ts
1124
1081
  const COMPARE_NAME = "compare";
1125
1082
  const VALUE_MISC_EXPRESSION_BRACKET = /\[(\w+)\]/g;
1126
1083
  const VALUE_MISC_EXPRESSION_DOTS = /^\.|\.$/g;
@@ -1129,16 +1086,14 @@ const VALUE_MISC_NESTED_MESSAGE_INPUT = "Expected data to be an object";
1129
1086
  const VALUE_MISC_NESTED_MESSAGE_MISSING = "Expected property to exist in object";
1130
1087
  const VALUE_MISC_NESTED_MESSAGE_PATH = "Expected path to be a string";
1131
1088
  const VALUE_MISC_NESTED_MESSAGE_UNSAFE = "Access to this property is not allowed";
1132
- //#endregion
1133
- //#region src/models/string/string.misc.model.ts
1089
+ // src/models/string/string.misc.model.ts
1134
1090
  const STRING_EXPRESSION_IGNORED = /(^|\.)(__proto__|constructor|prototype)(\.|$)/i;
1135
- const STRING_EXPRESSION_WORDS = /([^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+)/g;
1091
+ const STRING_EXPRESSION_WORDS = /[\dA-Za-z\P{ASCII}]+/gu;
1136
1092
  const STRING_EXPRESSION_WHITESPACE_PREFIX = /^(\s+)/;
1137
1093
  const STRING_MATCH_ENDS_WITH = "endsWith";
1138
1094
  const STRING_MATCH_INCLUDES = "includes";
1139
1095
  const STRING_MATCH_STARTS_WITH = "startsWith";
1140
- //#endregion
1141
- //#region src/internal/result/misc.ts
1096
+ // src/internal/result/misc.ts
1142
1097
  function error(value, original) {
1143
1098
  return getError(value, original);
1144
1099
  }
@@ -1187,8 +1142,7 @@ const RESULT_PROPERTY_ERROR = "error";
1187
1142
  const RESULT_PROPERTY_VALUE = "value";
1188
1143
  error.is = isError;
1189
1144
  ok.is = isOk;
1190
- //#endregion
1191
- //#region src/result/misc.ts
1145
+ // src/result/misc.ts
1192
1146
  async function toPromise(result) {
1193
1147
  const actual = typeof result === "function" ? result() : result;
1194
1148
  if (!isResult(actual)) throw new TypeError(RESULT_MESSAGE_PROMISE);
@@ -1196,8 +1150,7 @@ async function toPromise(result) {
1196
1150
  throw actual.error;
1197
1151
  }
1198
1152
  const RESULT_MESSAGE_PROMISE = "toPromise expected to receive a Result";
1199
- //#endregion
1200
- //#region src/internal/result/attempt.ts
1153
+ // src/internal/result/attempt.ts
1201
1154
  async function asyncAttempt(value, err) {
1202
1155
  try {
1203
1156
  let result;
@@ -1217,8 +1170,7 @@ function attempt(callback, err) {
1217
1170
  }
1218
1171
  }
1219
1172
  attempt.async = asyncAttempt;
1220
- //#endregion
1221
- //#region src/internal/string/misc.ts
1173
+ // src/internal/string/misc.ts
1222
1174
  /**
1223
1175
  * Get the string value from any value
1224
1176
  *
@@ -1315,8 +1267,7 @@ function words(value) {
1315
1267
  if (typeof value === "string") return value.match(STRING_EXPRESSION_WORDS) ?? [];
1316
1268
  return [];
1317
1269
  }
1318
- //#endregion
1319
- //#region src/internal/value/handlers.ts
1270
+ // src/internal/value/handlers.ts
1320
1271
  function BaseHandler(owner, options) {
1321
1272
  this.handlers = /* @__PURE__ */ new WeakMap();
1322
1273
  this.owner = owner;
@@ -1368,8 +1319,7 @@ function handleValue$1(value, ...parameters) {
1368
1319
  if (handler == null) return this.base.options.callback(value, ...parameters);
1369
1320
  return typeof handler === "function" ? handler(value) : value[handler]();
1370
1321
  }
1371
- //#endregion
1372
- //#region src/internal/value/compare.ts
1322
+ // src/internal/value/compare.ts
1373
1323
  /**
1374
1324
  * Compare two values _(for sorting purposes)_
1375
1325
  *
@@ -1452,8 +1402,7 @@ const compareHandler = createCompareHandler(compare, {
1452
1402
  compare.deregister = deregisterComparator;
1453
1403
  compare.handler = compareHandler;
1454
1404
  compare.register = registerComparator;
1455
- //#endregion
1456
- //#region src/models/array/array.sort.model.ts
1405
+ // src/models/array/array.sort.model.ts
1457
1406
  const SORT_DIRECTION_ASCENDING = "ascending";
1458
1407
  const SORT_DIRECTION_DESCENDING = "descending";
1459
1408
  const SORTER_SYMBOL = Symbol("sorter");
@@ -1461,8 +1410,7 @@ const arrayModifiers = {
1461
1410
  [SORT_DIRECTION_ASCENDING]: 1,
1462
1411
  [SORT_DIRECTION_DESCENDING]: -1
1463
1412
  };
1464
- //#endregion
1465
- //#region src/array/sort.ts
1413
+ // src/array/sort.ts
1466
1414
  function Sorter(sorters) {
1467
1415
  this[SORTER_SYMBOL] = sorters;
1468
1416
  }
@@ -1594,8 +1542,7 @@ function sortArray(array) {
1594
1542
  sort.getIndex = getSortedIndex;
1595
1543
  sort.initialize = initializeSorter;
1596
1544
  sort.is = isSorted;
1597
- //#endregion
1598
- //#region src/internal/array/index-of.ts
1545
+ // src/internal/array/index-of.ts
1599
1546
  function indexOf(array, ...parameters) {
1600
1547
  return findValue(ARRAY_FIND_VALUE_INDEX, array, parameters, false);
1601
1548
  }
@@ -1603,8 +1550,7 @@ function lastIndexOf(array, ...parameters) {
1603
1550
  return findValue(ARRAY_FIND_VALUE_INDEX, array, parameters, true);
1604
1551
  }
1605
1552
  indexOf.last = lastIndexOf;
1606
- //#endregion
1607
- //#region src/array/swap.ts
1553
+ // src/array/swap.ts
1608
1554
  function swap(array, first, second, third) {
1609
1555
  if (!Array.isArray(array)) return [];
1610
1556
  if (array.length === 0) return array;
@@ -1660,8 +1606,7 @@ function swapValues(array, from, to, key) {
1660
1606
  return swapIndices(array, first, second);
1661
1607
  }
1662
1608
  swap.indices = swapIndices;
1663
- //#endregion
1664
- //#region src/array/to-map.ts
1609
+ // src/array/to-map.ts
1665
1610
  function getMapValues(array, first, second, arrays) {
1666
1611
  if (!Array.isArray(array)) return /* @__PURE__ */ new Map();
1667
1612
  const { length } = array;
@@ -1686,8 +1631,7 @@ function toMapArrays(array, first, second) {
1686
1631
  return getMapValues(array, first, second, true);
1687
1632
  }
1688
1633
  toMap.arrays = toMapArrays;
1689
- //#endregion
1690
- //#region src/array/to-record.ts
1634
+ // src/array/to-record.ts
1691
1635
  function toRecord(array, first, second) {
1692
1636
  return groupValues(array, first, second, false);
1693
1637
  }
@@ -1695,14 +1639,16 @@ function toRecordArrays(array, first, second) {
1695
1639
  return groupValues(array, first, second, true);
1696
1640
  }
1697
1641
  toRecord.arrays = toRecordArrays;
1698
- //#endregion
1699
- //#region src/internal/function/misc.ts
1642
+ // src/internal/function/misc.ts
1700
1643
  /**
1701
1644
  * A function that does nothing, which can be useful, I guess…
1702
1645
  */
1703
1646
  function noop() {}
1704
- //#endregion
1705
- //#region src/models/function/limiter.model.ts
1647
+ function unwrapWork(value) {
1648
+ if (isError(value)) throw value.error;
1649
+ return isOk(value) ? value.value : value;
1650
+ }
1651
+ // src/models/function/limiter.model.ts
1706
1652
  const LIMITER_DEBOUNCE = "debounce";
1707
1653
  const LIMITER_NAME_ASYNC = "asyncLimiter";
1708
1654
  const LIMITER_NAME_SYNC = "limiter";
@@ -1714,16 +1660,14 @@ const LIMITER_WAIT = "wait";
1714
1660
  const clearTimer = typeof cancelAnimationFrame === "function" ? cancelAnimationFrame : clearTimeout;
1715
1661
  // istanbul ignore next
1716
1662
  const startTimer = typeof requestAnimationFrame === "function" ? requestAnimationFrame : setTimeout;
1717
- //#endregion
1718
- //#region src/internal/defaults.ts
1663
+ // src/internal/defaults.ts
1719
1664
  function getBooleanOrDefault(value, defaultValue) {
1720
1665
  return typeof value === "boolean" ? value : defaultValue;
1721
1666
  }
1722
1667
  function getNumberOrDefault(value, defaultValue, minimum) {
1723
1668
  return typeof value === "number" && !Number.isNaN(value) && value >= (minimum ?? 0) ? value : defaultValue;
1724
1669
  }
1725
- //#endregion
1726
- //#region src/internal/function/limit.ts
1670
+ // src/internal/function/limit.ts
1727
1671
  function AsyncLimiter(type, callback, time) {
1728
1672
  this[LIMITER_SYMBOL] = {
1729
1673
  callback,
@@ -1813,8 +1757,7 @@ function runLimiter(...parameters) {
1813
1757
  if (state.throttle) handleLimiter(state);
1814
1758
  else state.timer = startTimer(() => handleLimiter(state));
1815
1759
  }
1816
- //#endregion
1817
- //#region src/function/limit.ts
1760
+ // src/function/limit.ts
1818
1761
  /**
1819
1762
  * Debounce a function, ensuring it is only called after `time` milliseconds have passed
1820
1763
  *
@@ -1869,8 +1812,7 @@ function throttle(callback, time) {
1869
1812
  }
1870
1813
  debounce.async = asyncDebounce;
1871
1814
  throttle.async = asyncThrottle;
1872
- //#endregion
1873
- //#region src/internal/value/misc.ts
1815
+ // src/internal/value/misc.ts
1874
1816
  function findKey(needle, haystack) {
1875
1817
  const keys = Object.keys(haystack);
1876
1818
  const index = keys.map((key) => key.toLowerCase()).indexOf(needle.toLowerCase());
@@ -1907,8 +1849,7 @@ function handleValue(data, path, value, get, ignoreCase) {
1907
1849
  }
1908
1850
  if (get) return error(VALUE_MISC_NESTED_MESSAGE_MISSING);
1909
1851
  }
1910
- //#endregion
1911
- //#region src/internal/value/has.ts
1852
+ // src/internal/value/has.ts
1912
1853
  function hasValue(data, path, ignoreCase) {
1913
1854
  return getNestedValue(data, path, ignoreCase === true).ok;
1914
1855
  }
@@ -1916,8 +1857,7 @@ function hasValueResult(data, path, ignoreCase) {
1916
1857
  return getNestedValue(data, path, ignoreCase === true);
1917
1858
  }
1918
1859
  hasValue.get = hasValueResult;
1919
- //#endregion
1920
- //#region src/internal/function/assert.ts
1860
+ // src/internal/function/assert.ts
1921
1861
  /**
1922
1862
  * Asserts that a condition is true, throwing an error if it is not
1923
1863
  *
@@ -1981,9 +1921,7 @@ function assertInstanceOf(constructor, message, error) {
1981
1921
  * @returns _Asserter_
1982
1922
  */
1983
1923
  function assertIs(condition, message, error) {
1984
- return (value) => {
1985
- assert(() => condition(value), message, error);
1986
- };
1924
+ return assertCondition(condition, message, error);
1987
1925
  }
1988
1926
  /**
1989
1927
  * Creates an _Asserter_ that asserts a property of a value exists and satisfies a condition, throwing an error if it does not
@@ -2009,16 +1947,14 @@ assert.defined = assertDefined;
2009
1947
  assert.instanceOf = assertInstanceOf;
2010
1948
  assert.is = assertIs;
2011
1949
  assert.property = assertProperty;
2012
- //#endregion
2013
- //#region src/models/function/once.model.ts
1950
+ // src/models/function/once.model.ts
2014
1951
  const ONCE_NAME_ASYNC = "asyncOnce";
2015
1952
  const ONCE_NAME_SYNC = "once";
2016
1953
  const ONCE_PROPERTY = "$once";
2017
1954
  const ONCE_MESSAGE_CLEARED = "Once has been cleared";
2018
1955
  const ONCE_MESSAGE_EXPECTATION = "Once expected a function";
2019
1956
  const ONCE_SYMBOL = Symbol(ONCE_PROPERTY);
2020
- //#endregion
2021
- //#region src/function/once.ts
1957
+ // src/function/once.ts
2022
1958
  function AsyncOnce(callback) {
2023
1959
  this[ONCE_SYMBOL] = {
2024
1960
  callback,
@@ -2181,8 +2117,7 @@ asyncOnce.is = isAsyncOnce;
2181
2117
  once.async = asyncOnce;
2182
2118
  once.is = isOnce;
2183
2119
  once.isAsync = isAsyncOnce;
2184
- //#endregion
2185
- //#region src/models/function/retry.model.ts
2120
+ // src/models/function/retry.model.ts
2186
2121
  /**
2187
2122
  * An error thrown when a retry fails
2188
2123
  */
@@ -2197,8 +2132,7 @@ var RetryError = class extends Error {
2197
2132
  const RETRY_ERROR_NAME = "RetryError";
2198
2133
  const RETRY_MESSAGE_EXPECTATION = "Retry expected a function";
2199
2134
  const RETRY_MESSAGE_FAILED = "Retry failed";
2200
- //#endregion
2201
- //#region src/function/retry.ts
2135
+ // src/function/retry.ts
2202
2136
  /**
2203
2137
  * Retry a callback a specified number of times, with a delay between attempts
2204
2138
  *
@@ -2266,13 +2200,11 @@ function shouldRetry() {
2266
2200
  return true;
2267
2201
  }
2268
2202
  retry.async = asyncRetry;
2269
- //#endregion
2270
- //#region src/models/function/memoize.model.ts
2203
+ // src/models/function/memoize.model.ts
2271
2204
  const MEMOIZED_CACHE_SIZE_DEFAULT = 1024;
2272
2205
  const MEMOIZED_CALLBACK = "Memoized requires a callback function";
2273
2206
  const MEMOIZED_SYMBOL = Symbol("memoized");
2274
- //#endregion
2275
- //#region src/models/misc.model.ts
2207
+ // src/models/misc.model.ts
2276
2208
  const EXPRESSION_INTEGER = /^\d+$/;
2277
2209
  const EXPRESSION_NUMBER_BINARY = /^0b[01]+$/i;
2278
2210
  const EXPRESSION_NUMBER_OCTAL = /^0o[0-7]+$/i;
@@ -2280,8 +2212,7 @@ const EXPRESSION_NUMBER_ZEROISH = /^\s*0+\s*$/;
2280
2212
  const EXPRESSION_NUMERICAL_PREFIX = /^\d/;
2281
2213
  const EXPRESSION_WHITESPACE_MULTIPLE = /\s+/g;
2282
2214
  const EXPRESSION_WHITESPACE_ONLY = /^\s*$/;
2283
- //#endregion
2284
- //#region src/internal/number.ts
2215
+ // src/internal/number.ts
2285
2216
  /**
2286
2217
  * Is the number between a minimum and maximum value?
2287
2218
  *
@@ -2365,8 +2296,7 @@ function getNumber(value) {
2365
2296
  if (isBinary || EXPRESSION_NUMBER_OCTAL.test(trimmed)) return Number.parseInt(trimmed.slice(2), isBinary ? 2 : 8);
2366
2297
  return Number(trimmed);
2367
2298
  }
2368
- //#endregion
2369
- //#region src/internal/sized/misc.ts
2299
+ // src/internal/sized/misc.ts
2370
2300
  function getSizedMaximum(first, second) {
2371
2301
  let actual;
2372
2302
  if (typeof first === "number") actual = first;
@@ -2375,8 +2305,7 @@ function getSizedMaximum(first, second) {
2375
2305
  }
2376
2306
  const SIZED_MAXIMUM_ABSOLUTE = 16777216;
2377
2307
  const SIZED_MAXIMUM_DEFAULT = 1048576;
2378
- //#endregion
2379
- //#region src/internal/sized/map.ts
2308
+ // src/internal/sized/map.ts
2380
2309
  /**
2381
2310
  * A _Map_ with a maximum size
2382
2311
  *
@@ -2430,8 +2359,7 @@ var SizedMap = class extends Map {
2430
2359
  return this;
2431
2360
  }
2432
2361
  };
2433
- //#endregion
2434
- //#region src/internal/function/memoize.ts
2362
+ // src/internal/function/memoize.ts
2435
2363
  function Memoized(callback, options) {
2436
2364
  this[MEMOIZED_SYMBOL] = {
2437
2365
  options,
@@ -2503,8 +2431,7 @@ function memoize(callback, options) {
2503
2431
  function runMemoized(...parameters) {
2504
2432
  return this[MEMOIZED_SYMBOL].getter(...parameters);
2505
2433
  }
2506
- //#endregion
2507
- //#region src/models/function/work.model.ts
2434
+ // src/models/function/work.model.ts
2508
2435
  const WORK_MESSAGE_FLOW_ARRAY = "Flow expected to receive an array of functions";
2509
2436
  const WORK_MESSAGE_FLOW_PROMISE = "Synchronous Flow received a promise. Use `flow.async` instead.";
2510
2437
  const WORK_MESSAGE_NESTING = "Return values are too deeply nested.";
@@ -2512,21 +2439,14 @@ const WORK_MESSAGE_PIPE_ARRAY = "Pipe expected to receive an array of functions"
2512
2439
  const WORK_MESSAGE_PIPE_PROMISE = "Synchronous Pipe received a promise. Use `pipe.async` instead.";
2513
2440
  const assertFlowFunctions = assert.condition((value) => Array.isArray(value) && value.every((item) => typeof item === "function"), WORK_MESSAGE_FLOW_ARRAY, TypeError);
2514
2441
  const assertPipeFunctions = assert.condition((value) => Array.isArray(value) && value.every((item) => typeof item === "function"), WORK_MESSAGE_PIPE_ARRAY, TypeError);
2515
- //#endregion
2516
- //#region src/internal/function/work.ts
2442
+ // src/internal/function/work.ts
2517
2443
  function asyncFlow(...fns) {
2518
2444
  assertFlowFunctions(fns);
2519
- return (...args) => asyncWork(args.map((value) => {
2520
- if (isError(value)) throw value.error;
2521
- return isOk(value) ? value.value : value;
2522
- }), fns, true);
2445
+ return (...args) => asyncWork(args.map(unwrapWork), fns, true);
2523
2446
  }
2524
2447
  function flow(...fns) {
2525
2448
  assertFlowFunctions(fns);
2526
- return (...args) => work(args.map((value) => {
2527
- if (isError(value)) throw value.error;
2528
- return isOk(value) ? value.value : value;
2529
- }), fns, true);
2449
+ return (...args) => work(args.map(unwrapWork), fns, true);
2530
2450
  }
2531
2451
  async function asyncPipe(value, ...pipes) {
2532
2452
  assertPipeFunctions(pipes);
@@ -2551,8 +2471,7 @@ function unwrapValue(value, flow, nested) {
2551
2471
  return unwrapValue(value(), flow, true);
2552
2472
  }
2553
2473
  if (flow != null && value instanceof Promise) throw new TypeError(flow ? WORK_MESSAGE_FLOW_PROMISE : WORK_MESSAGE_PIPE_PROMISE);
2554
- if (isError(value)) throw value.error;
2555
- return isOk(value) ? value.value : value;
2474
+ return unwrapWork(value);
2556
2475
  }
2557
2476
  function work(initial, functions, flow) {
2558
2477
  const { length } = functions;
@@ -2565,17 +2484,20 @@ function work(initial, functions, flow) {
2565
2484
  }
2566
2485
  flow.async = asyncFlow;
2567
2486
  pipe.async = asyncPipe;
2568
- //#endregion
2569
- //#region src/models/string/string.case.model.ts
2487
+ // src/models/string/string.case.model.ts
2570
2488
  const STRING_CASE_CAMEL = "camel";
2489
+ const STRING_CASE_CAPITALIZE = "capitalize";
2571
2490
  const STRING_CASE_KEBAB = "kebab";
2491
+ const STRING_CASE_LOWER = "lower";
2572
2492
  const STRING_CASE_PASCAL = "pascal";
2573
2493
  const STRING_CASE_SNAKE = "snake";
2494
+ const STRING_CASE_TITLE = "title";
2495
+ const STRING_CASE_UPPER = "upper";
2574
2496
  const STRING_EXPRESSION_CAMEL_CASE = /(\p{Ll})(\p{Lu})/gu;
2575
- const STRING_EXPRESSION_ACRONYM = /(\p{Lu}*)(\p{Lu})(\p{Ll}+)/gu;
2497
+ const STRING_EXPRESSION_ACRONYM = /(?<=\p{Lu})(?=\p{Lu}\p{Ll})(?!\p{Lu}s(?!\p{Ll}))/gu;
2576
2498
  const STRING_REPLACEMENT_CAMEL_CASE = "$1-$2";
2577
- //#endregion
2578
- //#region src/internal/string/case.ts
2499
+ const ignoreCachingCases = /* @__PURE__ */ new Set(["lower", "upper"]);
2500
+ // src/internal/string/case.ts
2579
2501
  /**
2580
2502
  * Convert a string to camel case _(thisIsCamelCase)_
2581
2503
  *
@@ -2608,9 +2530,11 @@ function camelCase(value) {
2608
2530
  * ```
2609
2531
  */
2610
2532
  function capitalize(value) {
2611
- if (typeof value !== "string" || value.length === 0) return "";
2612
- memoizedCapitalize ??= memoize((v) => v.length === 1 ? v.toLocaleUpperCase() : `${v.charAt(0).toLocaleUpperCase()}${v.slice(1).toLocaleLowerCase()}`);
2613
- return memoizedCapitalize.run(value);
2533
+ return toCase(STRING_CASE_CAPITALIZE, value, true, true, capitalizeHandler);
2534
+ }
2535
+ function capitalizeHandler(value) {
2536
+ if (value.length === 1) return value.toLocaleUpperCase();
2537
+ return `${value.charAt(0).toLocaleUpperCase()}${value.slice(1).toLocaleLowerCase()}`;
2614
2538
  }
2615
2539
  /**
2616
2540
  * Convert a string to kebab case _(this-is-kebab-case)_
@@ -2643,9 +2567,10 @@ function kebabCase(value) {
2643
2567
  * ```
2644
2568
  */
2645
2569
  function lowerCase(value) {
2646
- if (typeof value !== "string") return "";
2647
- memoizedLowerCase ??= memoize((v) => v.toLocaleLowerCase());
2648
- return memoizedLowerCase.run(value);
2570
+ return toCase(STRING_CASE_LOWER, value, false, false, lowerCaseHandler);
2571
+ }
2572
+ function lowerCaseHandler(value) {
2573
+ return value.toLocaleLowerCase();
2649
2574
  }
2650
2575
  /**
2651
2576
  * Convert a string to pascal case _(ThisIsPascalCase)_
@@ -2696,33 +2621,39 @@ function snakeCase(value) {
2696
2621
  * ```
2697
2622
  */
2698
2623
  function titleCase(value) {
2699
- if (typeof value !== "string" || value.length === 0) return "";
2700
- memoizedTitleCase ??= memoize((v) => v.length < 2 ? capitalize(v) : join(words(v).map(capitalize), " "));
2701
- return memoizedTitleCase.run(value);
2624
+ return toCase(STRING_CASE_TITLE, value, true, true, titleCaseHandler);
2702
2625
  }
2703
- function toCase(type, value, capitalizeAny, capitalizeFirst) {
2704
- caseMemoizers[type] ??= memoize(toCaseCallback.bind({
2705
- type,
2706
- capitalizeAny,
2707
- capitalizeFirst
2708
- }));
2709
- return caseMemoizers[type].run(value);
2626
+ function titleCaseHandler(value) {
2627
+ if (value.length < 2) return capitalize(value);
2628
+ return join(words(value).map(capitalize), " ");
2710
2629
  }
2711
- function toCaseCallback(value) {
2630
+ function toCase(type, value, capitalizeAny, capitalizeFirst, handler) {
2712
2631
  if (typeof value !== "string") return "";
2713
- if (value.length < 1) return value;
2632
+ if (value.trim().length === 0) return value;
2633
+ if (handler == null) {
2634
+ caseMemoizers[type] ??= memoize(toCaseCallback.bind({
2635
+ type,
2636
+ capitalizeAny,
2637
+ capitalizeFirst
2638
+ }));
2639
+ return caseMemoizers[type].run(value);
2640
+ }
2641
+ if (ignoreCachingCases.has(type)) return handler(value);
2642
+ simpleMemoizers[type] ??= memoize(handler);
2643
+ return simpleMemoizers[type].run(value);
2644
+ }
2645
+ function toCaseCallback(value) {
2714
2646
  const { capitalizeAny, capitalizeFirst, type } = this;
2715
2647
  const parts = words(value);
2716
2648
  const partsLength = parts.length;
2717
2649
  const cased = [];
2718
2650
  for (let partIndex = 0; partIndex < partsLength; partIndex += 1) {
2719
- const items = parts[partIndex].replace(STRING_EXPRESSION_ACRONYM, (full, one, two, three) => three === "s" ? full : `${one}-${two}${three}`).replace(STRING_EXPRESSION_CAMEL_CASE, STRING_REPLACEMENT_CAMEL_CASE).split("-");
2651
+ const items = parts[partIndex].replace(STRING_EXPRESSION_ACRONYM, "-").replace(STRING_EXPRESSION_CAMEL_CASE, STRING_REPLACEMENT_CAMEL_CASE).split("-");
2720
2652
  const itemsLength = items.length;
2721
2653
  const partResult = [];
2722
2654
  let itemCount = 0;
2723
2655
  for (let itemIndex = 0; itemIndex < itemsLength; itemIndex += 1) {
2724
2656
  const item = items[itemIndex];
2725
- if (item.length === 0) continue;
2726
2657
  if (!capitalizeAny || itemCount === 0 && partIndex === 0 && !capitalizeFirst) partResult.push(item.toLocaleLowerCase());
2727
2658
  else partResult.push(capitalize(item));
2728
2659
  itemCount += 1;
@@ -2746,9 +2677,10 @@ function toCaseCallback(value) {
2746
2677
  * ```
2747
2678
  */
2748
2679
  function upperCase(value) {
2749
- if (typeof value !== "string" || value.length === 0) return "";
2750
- memoizedUpperCase ??= memoize((v) => v.toLocaleUpperCase());
2751
- return memoizedUpperCase.run(value);
2680
+ return toCase(STRING_CASE_UPPER, value, false, false, upperCaseHandler);
2681
+ }
2682
+ function upperCaseHandler(value) {
2683
+ return value.toLocaleUpperCase();
2752
2684
  }
2753
2685
  const caseMemoizers = {};
2754
2686
  const delimiters = {
@@ -2757,17 +2689,12 @@ const delimiters = {
2757
2689
  [STRING_CASE_PASCAL]: "",
2758
2690
  [STRING_CASE_SNAKE]: "_"
2759
2691
  };
2760
- let memoizedCapitalize;
2761
- let memoizedLowerCase;
2762
- let memoizedTitleCase;
2763
- let memoizedUpperCase;
2764
- //#endregion
2765
- //#region src/models/value/value.equal.model.ts
2692
+ const simpleMemoizers = {};
2693
+ // src/models/value/value.equal.model.ts
2766
2694
  const EQUAL_ERROR_PROPERTIES = ["name", "message"];
2767
2695
  const EQUAL_EXPRESSION_PROPERTIES = ["source", "flags"];
2768
2696
  const EQUAL_SYMBOL = Symbol("equal");
2769
- //#endregion
2770
- //#region src/internal/value/equal.ts
2697
+ // src/internal/value/equal.ts
2771
2698
  function Equalizer(options) {
2772
2699
  this[EQUAL_SYMBOL] = options;
2773
2700
  }
@@ -2940,13 +2867,11 @@ equal.deregister = deregisterEqualizer;
2940
2867
  equal.handler = equalHandler;
2941
2868
  equal.initialize = initializeEqualizer;
2942
2869
  equal.register = registerEqualizer;
2943
- //#endregion
2944
- //#region src/internal/value/get.ts
2870
+ // src/internal/value/get.ts
2945
2871
  function getValue(data, path, ignoreCase) {
2946
2872
  return getNestedValue(data, path, ignoreCase === true).value;
2947
2873
  }
2948
- //#endregion
2949
- //#region src/internal/value/set.ts
2874
+ // src/internal/value/set.ts
2950
2875
  function setValue(data, path, value, ignoreCase) {
2951
2876
  if (typeof data !== "object" || data === null || typeof path !== "string" || path.trim().length === 0) return data;
2952
2877
  const shouldIgnoreCase = ignoreCase === true;
@@ -2975,8 +2900,7 @@ function setValue(data, path, value, ignoreCase) {
2975
2900
  }
2976
2901
  return data;
2977
2902
  }
2978
- //#endregion
2979
- //#region src/models/plan.model.ts
2903
+ // src/models/plan.model.ts
2980
2904
  const GENERATOR_FUNCTION_TYPE_ASYNC = "[object AsyncGeneratorFunction]";
2981
2905
  const GENERATOR_FUNCTION_TYPE_SYNC = "[object GeneratorFunction]";
2982
2906
  const GENERATOR_TYPE_ASYNC = "[object AsyncGenerator]";
@@ -2994,12 +2918,10 @@ const PLAN_SUCCESS_SYNC = "success";
2994
2918
  const PLAN_SYMBOL = Symbol("plan");
2995
2919
  const PLAN_TYPE_ASYNC = "asyncPlan";
2996
2920
  const PLAN_TYPE_SYNC = "plan";
2997
- //#endregion
2998
- //#region src/models/aborter.model.ts
2921
+ // src/models/aborter.model.ts
2999
2922
  const ABORTER_EVENT = "abort";
3000
2923
  const ABORTER_OPTIONS = { once: true };
3001
- //#endregion
3002
- //#region src/internal/aborter.ts
2924
+ // src/internal/aborter.ts
3003
2925
  function createAborter(value, onAbort) {
3004
2926
  if (!(value instanceof AbortSignal)) return;
3005
2927
  value.addEventListener(ABORTER_EVENT, onAbort, ABORTER_OPTIONS);
@@ -3009,8 +2931,7 @@ function createAborter(value, onAbort) {
3009
2931
  cancel: () => value.removeEventListener(ABORTER_EVENT, onAbort)
3010
2932
  };
3011
2933
  }
3012
- //#endregion
3013
- //#region src/internal/plan/plan.generate.ts
2934
+ // src/internal/plan/plan.generate.ts
3014
2935
  async function asyncGenerate(input, unwrap, first, second) {
3015
2936
  const aborter = createAborter(second ?? first, noop);
3016
2937
  if (aborter?.signal.aborted) throw aborter.signal.reason;
@@ -3067,8 +2988,7 @@ function generate(input, parameters, unwrap) {
3067
2988
  if (success) return unwrap && isOk(lastValue) ? lastValue.value : lastValue;
3068
2989
  throw lastValue;
3069
2990
  }
3070
- //#endregion
3071
- //#region src/internal/plan/index.ts
2991
+ // src/internal/plan/index.ts
3072
2992
  function attemptRunPlan(...parameters) {
3073
2993
  return attempt(() => generate(this[PLAN_SYMBOL], parameters, true));
3074
2994
  }
@@ -3081,8 +3001,7 @@ function runAsyncPlan(first, second) {
3081
3001
  function runPlan(...parameters) {
3082
3002
  return generate(this[PLAN_SYMBOL], parameters, false);
3083
3003
  }
3084
- //#endregion
3085
- //#region src/plan/is.ts
3004
+ // src/plan/is.ts
3086
3005
  /**
3087
3006
  * Is the value an asynchronous, immediately failing plan?
3088
3007
  *
@@ -3197,8 +3116,7 @@ function isStep(value) {
3197
3116
  function isSuccess(value) {
3198
3117
  return isPlanInstance(PLAN_SUCCESS_SYNC, value);
3199
3118
  }
3200
- //#endregion
3201
- //#region src/plan/result.ts
3119
+ // src/plan/result.ts
3202
3120
  function asyncAttemptRun(input, first, second) {
3203
3121
  let generator;
3204
3122
  if (isAsyncPlan(input)) generator = input[PLAN_SYMBOL];
@@ -3214,8 +3132,7 @@ function attemptRun(input, ...parameters) {
3214
3132
  return attempt(() => generate(generator, parameters, true));
3215
3133
  }
3216
3134
  attemptRun.async = asyncAttemptRun;
3217
- //#endregion
3218
- //#region src/plan/index.ts
3135
+ // src/plan/index.ts
3219
3136
  function AsyncPlan(generator) {
3220
3137
  this[PLAN_SYMBOL] = {
3221
3138
  generator,
@@ -3242,8 +3159,7 @@ function plan(generator) {
3242
3159
  if (isGeneratorFunction(generator)) return new Plan(generator);
3243
3160
  throw new Error(PLAN_MESSAGE_PLAN_INPUT);
3244
3161
  }
3245
- //#endregion
3246
- //#region src/plan/misc.ts
3162
+ // src/plan/misc.ts
3247
3163
  function AsyncFailure(generator) {
3248
3164
  this[PLAN_SYMBOL] = {
3249
3165
  generator,
@@ -3294,8 +3210,7 @@ function succeed(value) {
3294
3210
  }
3295
3211
  fail.async = asyncFail;
3296
3212
  succeed.async = asyncSucceed;
3297
- //#endregion
3298
- //#region src/plan/run.ts
3213
+ // src/plan/run.ts
3299
3214
  function asyncRun(input, first, second) {
3300
3215
  if (isAsyncPlan(input)) return asyncGenerate(input[PLAN_SYMBOL], false, first, second);
3301
3216
  if (isAsyncGeneratorFunction(input)) return asyncGenerate(input, false, first, second);
@@ -3309,8 +3224,7 @@ function run(input, ...parameters) {
3309
3224
  asyncRun.attempt = asyncAttemptRun;
3310
3225
  run.async = asyncRun;
3311
3226
  run.attempt = attemptRun;
3312
- //#endregion
3313
- //#region src/plan/use.ts
3227
+ // src/plan/use.ts
3314
3228
  function AsyncStep(generator) {
3315
3229
  this[PLAN_SYMBOL] = {
3316
3230
  generator,
@@ -3372,8 +3286,7 @@ function validateUseInput(value, resolved) {
3372
3286
  if (resolved && typeof value === "function") throw new Error(PLAN_MESSAGE_USE_NESTED_FN);
3373
3287
  }
3374
3288
  use.async = asyncUse;
3375
- //#endregion
3376
- //#region src/models/promise.model.ts
3289
+ // src/models/promise.model.ts
3377
3290
  /**
3378
3291
  * A _Promise_ that can be canceled
3379
3292
  */
@@ -3416,8 +3329,7 @@ const PROMISE_STRATEGY_ALL = /* @__PURE__ */ new Set(["complete", "first"]);
3416
3329
  const PROMISE_STRATEGY_DEFAULT = "complete";
3417
3330
  const PROMISE_TYPE_FULFILLED = "fulfilled";
3418
3331
  const PROMISE_TYPE_REJECTED = "rejected";
3419
- //#endregion
3420
- //#region src/promise/helpers.ts
3332
+ // src/promise/helpers.ts
3421
3333
  function createPromiseOptions(input) {
3422
3334
  if (typeof input === "number") return { time: getNumberOrDefault(input, 0) };
3423
3335
  if (input instanceof AbortSignal) return {
@@ -3477,8 +3389,7 @@ function isPromiseResult(value, type) {
3477
3389
  function isRejected(value) {
3478
3390
  return isPromiseResult(value, PROMISE_TYPE_REJECTED);
3479
3391
  }
3480
- //#endregion
3481
- //#region src/promise/misc.ts
3392
+ // src/promise/misc.ts
3482
3393
  /**
3483
3394
  * Create a cancelable _Promise_
3484
3395
  *
@@ -3526,8 +3437,7 @@ async function toResult(value) {
3526
3437
  if (!(actual instanceof Promise)) throw new TypeError(PROMISE_MESSAGE_EXPECTATION_RESULT);
3527
3438
  return actual.then((result) => ok(result)).catch((reason) => error(reason));
3528
3439
  }
3529
- //#endregion
3530
- //#region src/promise/delay.ts
3440
+ // src/promise/delay.ts
3531
3441
  function delay(options) {
3532
3442
  const { signal, time } = createPromiseOptions(options);
3533
3443
  if (signal?.aborted ?? false) return Promise.reject(signal?.reason);
@@ -3545,8 +3455,7 @@ function delay(options) {
3545
3455
  else limiter.run();
3546
3456
  });
3547
3457
  }
3548
- //#endregion
3549
- //#region src/promise/timed.ts
3458
+ // src/promise/timed.ts
3550
3459
  /**
3551
3460
  * @internal
3552
3461
  */
@@ -3573,8 +3482,7 @@ async function timed(promise, options) {
3573
3482
  if (signal?.aborted ?? false) throw signal?.reason;
3574
3483
  return time > 0 ? getTimedPromise(promise, time, signal) : promise;
3575
3484
  }
3576
- //#endregion
3577
- //#region src/promise/index.ts
3485
+ // src/promise/index.ts
3578
3486
  async function attemptPromise(value, options) {
3579
3487
  const isFunction = typeof value === "function";
3580
3488
  if (!isFunction && !(value instanceof Promise)) throw new TypeError(PROMISE_MESSAGE_EXPECTATION_ATTEMPT);
@@ -3644,8 +3552,7 @@ async function resultPromises(items, signal) {
3644
3552
  return promises(items, signal).then(getResultsFromPromises);
3645
3553
  }
3646
3554
  promises.result = resultPromises;
3647
- //#endregion
3648
- //#region src/result/match.ts
3555
+ // src/result/match.ts
3649
3556
  async function asyncMatchResult(result, first, second) {
3650
3557
  let value;
3651
3558
  if (typeof result === "function") value = await result();
@@ -3680,31 +3587,23 @@ const MATCH_MESSAGE_ERROR = "`result.match` expected an Error callback";
3680
3587
  const MATCH_MESSAGE_OK = "`result.match` expected an Ok callback";
3681
3588
  const MATCH_MESSAGE_RESULT = "`result.match` expected a Result or a function that returns a Result";
3682
3589
  matchResult.async = asyncMatchResult;
3683
- //#endregion
3684
- //#region src/result/work/flow.ts
3590
+ // src/result/work/flow.ts
3685
3591
  function attemptAsyncFlow(...fns) {
3686
3592
  let Flow;
3687
3593
  return (...args) => asyncAttempt(() => {
3688
3594
  Flow ??= asyncFlow(...fns);
3689
- return Flow(...args.map((value) => {
3690
- if (isError(value)) throw value.error;
3691
- return isOk(value) ? value.value : value;
3692
- }));
3595
+ return Flow(...args.map(unwrapWork));
3693
3596
  });
3694
3597
  }
3695
3598
  function attemptFlow(...fns) {
3696
3599
  let Flow;
3697
3600
  return (...args) => attempt(() => {
3698
3601
  Flow ??= flow(...fns);
3699
- return Flow(...args.map((value) => {
3700
- if (isError(value)) throw value.error;
3701
- return isOk(value) ? value.value : value;
3702
- }));
3602
+ return Flow(...args.map(unwrapWork));
3703
3603
  });
3704
3604
  }
3705
3605
  attemptFlow.async = attemptAsyncFlow;
3706
- //#endregion
3707
- //#region src/result/work/pipe.ts
3606
+ // src/result/work/pipe.ts
3708
3607
  async function attemptAsyncPipe(initial, first, ...seconds) {
3709
3608
  return asyncAttempt(async () => {
3710
3609
  if (isError(initial)) throw initial.error;
@@ -3726,15 +3625,13 @@ function attemptPipe(initial, first, ...seconds) {
3726
3625
  });
3727
3626
  }
3728
3627
  attemptPipe.async = attemptAsyncPipe;
3729
- //#endregion
3730
- //#region src/models/string/string.fuzzy.model.ts
3628
+ // src/models/string/string.fuzzy.model.ts
3731
3629
  const FUZZY_BOUNDARY_SEPARATOR = /[\s./:\\_-]/;
3732
3630
  const FUZZY_MESSAGE_ARRAY = "Fuzzy requires an array of items";
3733
3631
  const FUZZY_MESSAGE_HANDLER = "Fuzzy requires a key or function to stringify items";
3734
3632
  const FUZZY_PROPERTY = "$fuzzy";
3735
3633
  const FUZZY_SYMBOL = Symbol(FUZZY_PROPERTY);
3736
- //#endregion
3737
- //#region src/string/fuzzy.ts
3634
+ // src/string/fuzzy.ts
3738
3635
  function Fuzzy(state) {
3739
3636
  this[FUZZY_SYMBOL] = state;
3740
3637
  }
@@ -3992,8 +3889,7 @@ function setItems(value) {
3992
3889
  let defaultSorter;
3993
3890
  fuzzy.is = isFuzzy;
3994
3891
  fuzzy.match = fuzzyMatch;
3995
- //#endregion
3996
- //#region src/string/index.ts
3892
+ // src/string/index.ts
3997
3893
  function dedent(value, ...values) {
3998
3894
  let actual;
3999
3895
  if (isTemplateStringsArray(value)) actual = interpolate(value, values);
@@ -4096,8 +3992,7 @@ function truncate(value, length, suffix) {
4096
3992
  const truncatedLength = length - actualSuffixLength;
4097
3993
  return `${value.slice(0, truncatedLength)}${actualSuffix}`;
4098
3994
  }
4099
- //#endregion
4100
- //#region src/string/match.ts
3995
+ // src/string/match.ts
4101
3996
  /**
4102
3997
  * Check if a string ends with a specified substring
4103
3998
  *
@@ -4164,8 +4059,7 @@ function startsWith(haystack, needle, ignoreCase) {
4164
4059
  return match(STRING_MATCH_STARTS_WITH, haystack, needle, ignoreCase === true);
4165
4060
  }
4166
4061
  const matchMemoizers = {};
4167
- //#endregion
4168
- //#region src/models/string/string.normalize.model.ts
4062
+ // src/models/string/string.normalize.model.ts
4169
4063
  const NORMALIZE_DEBURR_CHARACTERS = {
4170
4064
  Æ: "AE",
4171
4065
  æ: "ae",
@@ -4202,8 +4096,7 @@ const NORMALIZE_DEBURR_PATTERN_CHARACTERS = new RegExp(`(${Object.keys(NORMALIZE
4202
4096
  const NORMALIZE_DEBURR_PATTERN_SIMPLE = /[\u0300-\u036f]/g;
4203
4097
  const NORMALIZE_SPECIAL_PATTERN = /[\p{P}\p{S}]/gu;
4204
4098
  const NORMALIZE_SYMBOL = Symbol("normalize");
4205
- //#endregion
4206
- //#region src/string/normalize.ts
4099
+ // src/string/normalize.ts
4207
4100
  function Normalizer(options) {
4208
4101
  this[NORMALIZE_SYMBOL] = options;
4209
4102
  }
@@ -4269,12 +4162,10 @@ function normalizeString(value) {
4269
4162
  }
4270
4163
  let deburrMemoizer;
4271
4164
  normalize.initialize = initializeNormalizer;
4272
- //#endregion
4273
- //#region src/models/string/string.template.model.ts
4274
- const TEMPLATE_EXPRESSION_VARIABLE = /{{([\s\S]+?)}}/g;
4165
+ // src/models/string/string.template.model.ts
4166
+ const TEMPLATE_EXPRESSION_VARIABLE = /{{([^{}]+)}}/g;
4275
4167
  const TEMPLATE_SYMBOL = Symbol("template");
4276
- //#endregion
4277
- //#region src/string/template.ts
4168
+ // src/string/template.ts
4278
4169
  function Templater(options) {
4279
4170
  this[TEMPLATE_SYMBOL] = options;
4280
4171
  }
@@ -4325,8 +4216,7 @@ function template(value, ...parameters) {
4325
4216
  return handleTemplate(value, pattern, ignoreCase, parameters[0]);
4326
4217
  }
4327
4218
  template.initialize = initializeTemplater;
4328
- //#endregion
4329
- //#region src/models/value/value.clone.model.ts
4219
+ // src/models/value/value.clone.model.ts
4330
4220
  const CLONE_NAME = "clone";
4331
4221
  const CLONE_COPY_OPTIONS = {
4332
4222
  copyFunctions: true,
@@ -4347,8 +4237,7 @@ const CLONE_PRIMITIVES = {
4347
4237
  undefined: true
4348
4238
  };
4349
4239
  const CLONE_SYMBOL = Symbol(CLONE_NAME);
4350
- //#endregion
4351
- //#region src/value/clone.ts
4240
+ // src/value/clone.ts
4352
4241
  function Cloner(options) {
4353
4242
  this[CLONE_SYMBOL] = options;
4354
4243
  }
@@ -4513,8 +4402,7 @@ clone.deregister = deregisterCloner;
4513
4402
  clone.handlers = cloneHandler;
4514
4403
  clone.initialize = initializeCloner;
4515
4404
  clone.register = registerCloner;
4516
- //#endregion
4517
- //#region src/value/collection.ts
4405
+ // src/value/collection.ts
4518
4406
  function inMap(map, value, key) {
4519
4407
  const getKey = key === true;
4520
4408
  if (!(map instanceof Map)) return getKey ? void 0 : false;
@@ -4537,13 +4425,11 @@ function inSet(set, value) {
4537
4425
  for (const item of set) if (equal(item, value)) return true;
4538
4426
  return false;
4539
4427
  }
4540
- //#endregion
4541
- //#region src/models/value/value.diff.model.ts
4428
+ // src/models/value/value.diff.model.ts
4542
4429
  const DIFF_FULL = "full";
4543
4430
  const DIFF_NONE = "none";
4544
4431
  const DIFF_PARTIAL = "partial";
4545
- //#endregion
4546
- //#region src/value/diff.ts
4432
+ // src/value/diff.ts
4547
4433
  /**
4548
4434
  * Find the differences between two values
4549
4435
  *
@@ -4642,8 +4528,7 @@ function setChanges(parameters) {
4642
4528
  const diffsLength = diffs.length;
4643
4529
  for (let diffIndex = 0; diffIndex < diffsLength; diffIndex += 1) changes.push(diffs[diffIndex]);
4644
4530
  }
4645
- //#endregion
4646
- //#region src/value/freeze.ts
4531
+ // src/value/freeze.ts
4647
4532
  function fakeDelete() {
4648
4533
  return false;
4649
4534
  }
@@ -4721,8 +4606,7 @@ function isFrozen(value) {
4721
4606
  const frozenValues = /* @__PURE__ */ new WeakSet();
4722
4607
  freeze.flat = flatFreeze;
4723
4608
  freeze.is = isFrozen;
4724
- //#endregion
4725
- //#region src/internal/value/partial.ts
4609
+ // src/internal/value/partial.ts
4726
4610
  function partial(value, providedKeys, omit) {
4727
4611
  if (!isPlainObject(value)) return {};
4728
4612
  let keys;
@@ -4738,8 +4622,7 @@ function partial(value, providedKeys, omit) {
4738
4622
  }
4739
4623
  return partials;
4740
4624
  }
4741
- //#endregion
4742
- //#region src/value/omit.ts
4625
+ // src/value/omit.ts
4743
4626
  /**
4744
4627
  * Create a new object without the specified keys
4745
4628
  *
@@ -4750,8 +4633,7 @@ function partial(value, providedKeys, omit) {
4750
4633
  function omit(value, keys) {
4751
4634
  return partial(value, keys, true);
4752
4635
  }
4753
- //#endregion
4754
- //#region src/value/pick.ts
4636
+ // src/value/pick.ts
4755
4637
  /**
4756
4638
  * Create a new object with only the specified keys
4757
4639
  *
@@ -4762,8 +4644,7 @@ function omit(value, keys) {
4762
4644
  function pick(value, keys) {
4763
4645
  return partial(value, keys, false);
4764
4646
  }
4765
- //#endregion
4766
- //#region src/value/shake.ts
4647
+ // src/value/shake.ts
4767
4648
  /**
4768
4649
  * Shake an object, removing all keys with `undefined` values
4769
4650
  *
@@ -4782,8 +4663,7 @@ function shake(value) {
4782
4663
  }
4783
4664
  return shaken;
4784
4665
  }
4785
- //#endregion
4786
- //#region src/value/smush.ts
4666
+ // src/value/smush.ts
4787
4667
  function flattenObject(value, depth, smushed, prefix) {
4788
4668
  if (depth >= 100) return {};
4789
4669
  if (smushed.has(value)) return smushed.get(value);
@@ -4817,8 +4697,7 @@ function flattenObject(value, depth, smushed, prefix) {
4817
4697
  function smush(value) {
4818
4698
  return typeof value === "object" && value !== null ? flattenObject(value, 0, /* @__PURE__ */ new WeakMap()) : {};
4819
4699
  }
4820
- //#endregion
4821
- //#region src/value/unsmush.ts
4700
+ // src/value/unsmush.ts
4822
4701
  function getKeys(value) {
4823
4702
  const keys = Object.keys(value);
4824
4703
  const { length } = keys;
@@ -4852,12 +4731,10 @@ function unsmush(value) {
4852
4731
  }
4853
4732
  return unsmushed;
4854
4733
  }
4855
- //#endregion
4856
- //#region src/models/value/value.merge.model.ts
4734
+ // src/models/value/value.merge.model.ts
4857
4735
  const MERGE_SYMBOL_ASSIGN = Symbol("assign");
4858
4736
  const MERGE_SYMBOL_MERGE = Symbol("merge");
4859
- //#endregion
4860
- //#region src/value/merge.ts
4737
+ // src/value/merge.ts
4861
4738
  function Assigner(options) {
4862
4739
  this[MERGE_SYMBOL_ASSIGN] = {
4863
4740
  ...options,
@@ -4984,11 +4861,9 @@ function skipMerge(next, options, isArray) {
4984
4861
  }
4985
4862
  assign.initialize = initializeAssigner;
4986
4863
  merge.initialize = initializeMerger;
4987
- //#endregion
4988
- //#region src/models/value/value.transform.model.ts
4864
+ // src/models/value/value.transform.model.ts
4989
4865
  const TRANSFORM_SYMBOL = Symbol("transform");
4990
- //#endregion
4991
- //#region src/value/transform.ts
4866
+ // src/value/transform.ts
4992
4867
  function Transformer(transformer) {
4993
4868
  this[TRANSFORM_SYMBOL] = transformer;
4994
4869
  }
@@ -5027,8 +4902,7 @@ function transformValue(value) {
5027
4902
  return value;
5028
4903
  }
5029
4904
  transform.initialize = initializeTransformer;
5030
- //#endregion
5031
- //#region src/models/subscription.model.ts
4905
+ // src/models/subscription.model.ts
5032
4906
  const SUBSCRIPTION_DISALLOWED_KEY = "Disallowed key for subscription";
5033
4907
  const SUBSCRIPTION_INVALID_KEY = "Invalid key for subscription";
5034
4908
  const SUBSCRIPTION_INVALID_VALUE = "A subscription requires a non-null value to identify it";
@@ -5036,8 +4910,7 @@ const SUBSCRIPTION_NAME = "subscription";
5036
4910
  const SUBSCRIPTION_PROPERTY = "$subscription";
5037
4911
  const SUBSCRIPTION_STORE = "subscriptions";
5038
4912
  const SUBSCRIPTION_SYMBOL = Symbol(SUBSCRIPTION_PROPERTY);
5039
- //#endregion
5040
- //#region src/internal/subscription.ts
4913
+ // src/internal/subscription.ts
5041
4914
  function Subscription(state, property, parameters) {
5042
4915
  this[SUBSCRIPTION_SYMBOL] = state;
5043
4916
  this[property.key] = property.value;
@@ -5078,9 +4951,7 @@ function addSubscription(instance) {
5078
4951
  return;
5079
4952
  }
5080
4953
  /* istanbul ignore if */
5081
- if (items.keyed == null || values.from.keyed == null || values.to.keyed == null)
5082
- // istanbul ignore next
5083
- return;
4954
+ if (items.keyed == null || values.from.keyed == null || values.to.keyed == null) return;
5084
4955
  let keyedItems = items.keyed.get(key);
5085
4956
  if (keyedItems == null) {
5086
4957
  keyedItems = /* @__PURE__ */ new Set();
@@ -5230,9 +5101,7 @@ function removeSubscription() {
5230
5101
  }
5231
5102
  const keyed = items.keyed?.get(key);
5232
5103
  /* istanbul ignore if */
5233
- if (items.keyed == null || keyed == null)
5234
- // istanbul ignore next
5235
- return;
5104
+ if (items.keyed == null || keyed == null) return;
5236
5105
  removeFromStore(keyed, values, this, value, key);
5237
5106
  if (keyed.size === 0) items.keyed.delete(key);
5238
5107
  }
@@ -5245,8 +5114,7 @@ function removeSubscription() {
5245
5114
  function subscriptions(parameters) {
5246
5115
  return new Subscriptions(parameters);
5247
5116
  }
5248
- //#endregion
5249
- //#region src/models/beacon.model.ts
5117
+ // src/models/beacon.model.ts
5250
5118
  const BEACON_MESSAGE_RETRIEVE = "Cannot retrieve observable from a closed beacon";
5251
5119
  const BEACON_MESSAGE_SUBSCRIBE = "Cannot subscribe to a closed observable";
5252
5120
  const BEACON_PROPERTY = "$beacon";
@@ -5259,8 +5127,7 @@ const beaconSubscription = {
5259
5127
  key: BEACON_PROPERTY,
5260
5128
  value: SUBSCRIPTION_NAME
5261
5129
  };
5262
- //#endregion
5263
- //#region src/beacon.ts
5130
+ // src/beacon.ts
5264
5131
  function Beacon(value, options) {
5265
5132
  this[BEACON_SYMBOL] = {
5266
5133
  value,
@@ -5427,8 +5294,7 @@ function updateBeacon(instance, type, value, finish) {
5427
5294
  if (subscriptions != null && subscriptions.size > 0) for (const [, observer] of subscriptions) observer[type]?.(value);
5428
5295
  if (finish === true) closeBeacon(state, true);
5429
5296
  }
5430
- //#endregion
5431
- //#region src/models/herald.model.ts
5297
+ // src/models/herald.model.ts
5432
5298
  const HERALD_MESSAGE_ARRAY = "Herald requires an array of event names.";
5433
5299
  const HERALD_MESSAGE_ONCREATE = `Herald requires a valid onCreate callback for subscription creation`;
5434
5300
  const HERALD_MESSAGE_PROPERTY = `Herald requires valid property information for subscription identification`;
@@ -5440,8 +5306,7 @@ const heraldSubscription = {
5440
5306
  key: HERALD_PROPERTY,
5441
5307
  value: SUBSCRIPTION_NAME
5442
5308
  };
5443
- //#endregion
5444
- //#region src/internal/herald.ts
5309
+ // src/internal/herald.ts
5445
5310
  function Events(herald, state) {
5446
5311
  for (const key of state.keys) Object.defineProperty(this, key, { value: (callback, signal) => herald.subscribe(key, callback, signal) });
5447
5312
  }
@@ -5549,8 +5414,7 @@ function subscribeToHerald(key, callback, signal) {
5549
5414
  if (!existing) state.onCreate?.(key, callback, subscription);
5550
5415
  return subscription;
5551
5416
  }
5552
- //#endregion
5553
- //#region src/color/constants.ts
5417
+ // src/color/constants.ts
5554
5418
  const COLOR_ALPHA = {
5555
5419
  fullHexShort: "f",
5556
5420
  fullHexLong: "ff",
@@ -5660,8 +5524,7 @@ const colorSubscription = {
5660
5524
  key: COLOR_PROPERTY,
5661
5525
  value: SUBSCRIPTION_NAME
5662
5526
  };
5663
- //#endregion
5664
- //#region src/color/misc/alpha.ts
5527
+ // src/color/misc/alpha.ts
5665
5528
  function getAlpha(value, hex) {
5666
5529
  if (typeof value === "number") return getAlphaFromValue(value);
5667
5530
  if (typeof value !== "string" || value.toLowerCase() === COLOR_ALPHA.fullHexLong) return { ...COLOR_DEFAULTS.alpha };
@@ -5693,8 +5556,7 @@ function getAlphaValue(original) {
5693
5556
  function setColorAlpha(value) {
5694
5557
  if (typeof value === "number" && !Number.isNaN(value)) this[COLOR_SYMBOL].values.alpha = getAlpha(value, false);
5695
5558
  }
5696
- //#endregion
5697
- //#region src/color/misc/get.ts
5559
+ // src/color/misc/get.ts
5698
5560
  function getClampedValue(value, minimum, maximum, rounding) {
5699
5561
  if (typeof value !== "number" || Number.isNaN(value)) return minimum;
5700
5562
  return clamp(rounding ?? false ? round(value) : value, minimum, maximum);
@@ -5833,8 +5695,7 @@ function getRgbaColor(value) {
5833
5695
  function getRgbColor(value) {
5834
5696
  return getColorFromState(getColorState(value), COLOR_TYPE.rgb);
5835
5697
  }
5836
- //#endregion
5837
- //#region src/color/misc/is.ts
5698
+ // src/color/misc/is.ts
5838
5699
  function hasKeys(value, keys) {
5839
5700
  return typeof value === "object" && value !== null && keys.every((key) => key in value);
5840
5701
  }
@@ -5970,8 +5831,7 @@ const validators = {
5970
5831
  red: isBytey,
5971
5832
  whiteness: isPercentage
5972
5833
  };
5973
- //#endregion
5974
- //#region src/color/space/rgb.ts
5834
+ // src/color/space/rgb.ts
5975
5835
  function convertRgbToHex(rgb, alpha) {
5976
5836
  const hex = `${join([
5977
5837
  rgb.red,
@@ -6162,8 +6022,7 @@ function setRgbColorValueInState(instance, value, alpha) {
6162
6022
  function setRgbaValue(value) {
6163
6023
  setRgbColorValueInState(this, value, true);
6164
6024
  }
6165
- //#endregion
6166
- //#region src/color/space/hex.ts
6025
+ // src/color/space/hex.ts
6167
6026
  function convertHexToRgba(value) {
6168
6027
  const normalized = getNormalizedHex(value, true);
6169
6028
  const pairs = COLOR_EXPRESSION.hexLong.exec(normalized);
@@ -6312,8 +6171,7 @@ function setHexValueInState(instance, value, alpha) {
6312
6171
  function setHexaValue(value) {
6313
6172
  setHexValueInState(this, value, true);
6314
6173
  }
6315
- //#endregion
6316
- //#region src/color/space/hsl.ts
6174
+ // src/color/space/hsl.ts
6317
6175
  function convertHslToHwba(input) {
6318
6176
  let { hue, lightness, saturation } = isHslLike(input) ? getHslValues(input) : { ...COLOR_DEFAULTS.hsl };
6319
6177
  lightness /= COLOR_MAX.percent;
@@ -6458,8 +6316,7 @@ function setHSLValueInState(instance, value, alpha) {
6458
6316
  function setHslaValue(value) {
6459
6317
  setHSLValueInState(this, value, true);
6460
6318
  }
6461
- //#endregion
6462
- //#region src/color/space/hwb.ts
6319
+ // src/color/space/hwb.ts
6463
6320
  function convertHwbToHsl(input) {
6464
6321
  let { blackness, hue, whiteness } = isHwbLike(input) ? getHwbValues(input) : COLOR_DEFAULTS.hwb;
6465
6322
  blackness /= COLOR_MAX.percent;
@@ -6582,8 +6439,7 @@ function setHwbColorValueInState(instance, value, alpha) {
6582
6439
  function setHwbaValue(value) {
6583
6440
  setHwbColorValueInState(this, value, true);
6584
6441
  }
6585
- //#endregion
6586
- //#region src/color/misc/state.ts
6442
+ // src/color/misc/state.ts
6587
6443
  function getColorFromState(state, type) {
6588
6444
  const { origin } = state;
6589
6445
  if (type === origin) return state[origin];
@@ -6663,8 +6519,7 @@ const getters = {
6663
6519
  hwb: getColorFromHwb,
6664
6520
  rgb: getColorFromRgb
6665
6521
  };
6666
- //#endregion
6667
- //#region src/color/misc/format.ts
6522
+ // src/color/misc/format.ts
6668
6523
  function formatHexColor(alpha) {
6669
6524
  return `#${alpha === true ? this.hexa : this.hex}`;
6670
6525
  }
@@ -6686,8 +6541,7 @@ function formatRgbColor(alpha) {
6686
6541
  function getSuffix(state, alpha) {
6687
6542
  return alpha === true ? ` / ${state.alpha.value}%` : "";
6688
6543
  }
6689
- //#endregion
6690
- //#region src/color/instance.ts
6544
+ // src/color/instance.ts
6691
6545
  function Color(value) {
6692
6546
  this[COLOR_SYMBOL] = {
6693
6547
  changes: herald({
@@ -6783,8 +6637,7 @@ function subscribeToColor(callback, signal) {
6783
6637
  function unsubscribeFromColor() {
6784
6638
  this[COLOR_SYMBOL].changes.clear();
6785
6639
  }
6786
- //#endregion
6787
- //#region src/color/index.ts
6640
+ // src/color/index.ts
6788
6641
  /**
6789
6642
  * Get a _Color_ from any kind of value
6790
6643
  *
@@ -6797,8 +6650,7 @@ function unsubscribeFromColor() {
6797
6650
  function getColor(value) {
6798
6651
  return isColor(value) ? value : color(value);
6799
6652
  }
6800
- //#endregion
6801
- //#region src/is.ts
6653
+ // src/is.ts
6802
6654
  /**
6803
6655
  * Is the value empty, or only containing `null` or `undefined` values?
6804
6656
  *
@@ -6915,14 +6767,12 @@ function isNumerical(value) {
6915
6767
  function isObject(value) {
6916
6768
  return typeof value === "object" && value !== null || typeof value === "function";
6917
6769
  }
6918
- //#endregion
6919
- //#region src/models/logger.model.ts
6770
+ // src/models/logger.model.ts
6920
6771
  const LOGGER_NAME = "Logger";
6921
6772
  const LOGGER_NAME_TIMED = "TimedLogger";
6922
6773
  const LOGGER_PROPERTY = "$logger";
6923
6774
  const LOGGER_SYMBOL = Symbol(LOGGER_PROPERTY);
6924
- //#endregion
6925
- //#region src/logger.ts
6775
+ // src/logger.ts
6926
6776
  function Lumberjack() {}
6927
6777
  Lumberjack.prototype[LOGGER_PROPERTY] = LOGGER_NAME;
6928
6778
  Lumberjack.prototype.time = getTimeLogger;
@@ -7016,8 +6866,7 @@ function setLoggerEnabled(value) {
7016
6866
  */
7017
6867
  const Logger = new Lumberjack();
7018
6868
  let enabled = true;
7019
- //#endregion
7020
- //#region src/math.ts
6869
+ // src/math.ts
7021
6870
  function average(array, key) {
7022
6871
  const aggregated = aggregate(AGGREGATION_AVERAGE, array, key);
7023
6872
  return aggregated.count > 0 ? aggregated.value / aggregated.count : NaN;
@@ -7070,8 +6919,7 @@ function median(array, key) {
7070
6919
  function sum(array, key) {
7071
6920
  return getAggregated("sum", array, key);
7072
6921
  }
7073
- //#endregion
7074
- //#region src/models/query.model.ts
6922
+ // src/models/query.model.ts
7075
6923
  const QUERY_EXPRESSION_ARRAY_SUFFIX = /\[\]$/;
7076
6924
  const QUERY_EXPRESSION_BOOLEAN = /^(false|true)$/;
7077
6925
  const QUERY_TRUE = "true";
@@ -7080,8 +6928,7 @@ const QUERY_TYPES = /* @__PURE__ */ new Set([
7080
6928
  "number",
7081
6929
  "string"
7082
6930
  ]);
7083
- //#endregion
7084
- //#region src/query.ts
6931
+ // src/query.ts
7085
6932
  /**
7086
6933
  * Convert a query string to a plain _(nested)_ object
7087
6934
  *
@@ -7151,8 +6998,7 @@ function isDecodable(value) {
7151
6998
  function toQuery(parameters) {
7152
6999
  return isPlainObject(parameters) ? join(getParts(parameters, false).filter((part) => part.length > 0), "&") : "";
7153
7000
  }
7154
- //#endregion
7155
- //#region src/models/queue.model.ts
7001
+ // src/models/queue.model.ts
7156
7002
  /**
7157
7003
  * An error thrown by the Queue when an operation fails
7158
7004
  */
@@ -7179,8 +7025,7 @@ const QUEUE_STATUS_EMPTY = "empty";
7179
7025
  const QUEUE_STATUS_FULL = "full";
7180
7026
  const QUEUE_STATUS_PAUSED = "paused";
7181
7027
  const QUEUE_SYMBOL = Symbol(QUEUE_PROPERTY);
7182
- //#endregion
7183
- //#region src/queue.ts
7028
+ // src/queue.ts
7184
7029
  function KeyedQueue(callback, options) {
7185
7030
  this[QUEUE_SYMBOL] = {
7186
7031
  callback,
@@ -7536,13 +7381,11 @@ async function run$1(state) {
7536
7381
  state.runners -= 1;
7537
7382
  }
7538
7383
  queue.keyed = keyedQueue;
7539
- //#endregion
7540
- //#region src/models/random.model.ts
7384
+ // src/models/random.model.ts
7541
7385
  const RANDOM_ALPHABET = "abcdefghijklmnopqrstuvwxyz";
7542
7386
  const RANDOM_BOOLEAN_MODIFIER = .5;
7543
7387
  const RANDOM_HEX_CHARACTERS = "0123456789ABCDEF";
7544
- //#endregion
7545
- //#region src/random.ts
7388
+ // src/random.ts
7546
7389
  /**
7547
7390
  * Get a random boolean
7548
7391
  *
@@ -7598,8 +7441,7 @@ function getRandomItems(array, amount) {
7598
7441
  if (amount === 1) return [array[getRandomInteger(0, array.length - 1)]];
7599
7442
  return typeof amount !== "number" || amount <= 0 || amount >= array.length ? shuffle(array) : shuffle(array).slice(0, amount);
7600
7443
  }
7601
- //#endregion
7602
- //#region src/sized/set.ts
7444
+ // src/sized/set.ts
7603
7445
  /**
7604
7446
  * A _Set_ with a maximum size
7605
7447
  *
@@ -7653,5 +7495,4 @@ var SizedSet = class extends Set {
7653
7495
  return value;
7654
7496
  }
7655
7497
  };
7656
- //#endregion
7657
- export { CancelablePromise, Logger, PromiseTimeoutError, RetryError, SORT_DIRECTION_ASCENDING, SORT_DIRECTION_DESCENDING, SizedMap, SizedSet, push as append, push, assert, assertCondition, assertDefined, assertInstanceOf, assertIs, assertProperty, assign, asyncAttempt, asyncAttemptRun, asyncDebounce, asyncFail, asyncFlow, asyncMatchResult, asyncOnce, asyncPipe, asyncRun, asyncSucceed, asyncThrottle, asyncUse, attempt, attemptAsyncFlow, attemptAsyncPipe, attemptFlow, attemptPipe, attemptPromise, attemptRun, average, beacon, between, camelCase, cancelable, capitalize, ceil, chunk, clamp, clone, compact, compare, copy, count, debounce, deburr, dedent, delay, deregisterCloner, deregisterComparator, deregisterEqualizer, diff, difference, drop, endsWith, endsWithArray, equal, error, exclude, exists, fail, filter, filterAndFlatMap, filterAndMap, filterAndMap as select, find, findLast, first, firstOrDefault, flatFreeze, flatMapAndFilter, flatten, floor, flow, freeze, fromQuery, toPromise as fromResult, toPromise, fuzzy, fuzzyMatch, getArray, getArrayComparison, getColor, getForegroundColor, getHexColor, getHexaColor, getHslColor, getHslaColor, getHwbColor, getHwbaColor, getNormalizedHex, getNumber, getRandom, getRandomBoolean, getRandomCharacters, getRandomColor, getRandomFloatingNumber as getRandomFloat, getRandomHex, getRandomInteger, getRandomItem, getRandomItems, getRgbColor, getRgbaColor, getSortedIndex, getString, getTimedPromise, getUuid, getValue, groupArraysBy, groupBy, handleResult, hasValue, hasValueResult, herald, hexToHsl, hexToHsla, hexToHwb, hexToHwba, hexToRgb, hexToRgba, hslToHex, hslToHwb, hslToHwba, hslToRgb, hslToRgba, hwbToHex, hwbToHsl, hwbToHsla, hwbToRgb, hwbToRgba, ignoreKey, inMap, inSet, includes, includesArray, indexOf, indexOfArray, initializeAssigner, initializeCloner, initializeEqualizer, initializeMerger, initializeNormalizer, initializeSorter, initializeTemplater, initializeTransformer, insert, interpolate, intersection, isArrayOrPlainObject, isAsyncFailure, isAsyncGenerator, isAsyncGeneratorFunction, isAsyncOnce, isAsyncPlan, isAsyncStep, isAsyncSuccess, isBeacon, isBeaconSubscription, isColor, isConstructor, isEmpty, isError, isFailure, isFrozen, isFulfilled, isFuzzy, isGenerator, isGeneratorFunction, isHerald, isHeraldEvents, isHeraldSubscription, isHexColor, isHslColor, isHslaColor, isHwbColor, isHwbaColor, isInstanceOf, isKey, isKeyedQueue, isLogger, isNonArrayOrPlainObject, isNonConstructor, isNonEmpty, isNonInstanceOf, isNonKey, isNonNullable, isNonNullableOrEmpty, isNonNullableOrWhitespace, isNonNumber, isNonNumerical, isNonObject, isNonPlainObject, isNonPrimitive, isNonTemplateStringsArray, isNonTypedArray, isNullable, isNullableOrEmpty, isNullableOrWhitespace, isNumber, isNumerical, isObject, isObservable, isOk, isOnce, isPlainObject, isPlan, isPrimitive, isQueue, isRejected, isResult, isRgbColor, isRgbaColor, isSorted, isStep, isSubscription, isSubscriptions, isSuccess, isTemplateStringsArray, isTimeLogger, isTypedArray, join, kebabCase, keyedQueue, last, lastIndexOf, lastOrDefault, lowerCase, mapAndFilter, mapAndFilter as reverseSelect, matchResult, max, median, memoize, merge, min, move, moveIndices, moveToIndex, noop, normalize, ok, omit, once, parse, partition, pascalCase, pick, pipe, plan, promises, queue, range, registerCloner, registerComparator, registerEqualizer, resultPromises, retry, reverse, rgbToHex, rgbToHsl, rgbToHsla, rgbToHwb, rgbToHwba, round, run, setValue, settlePromise, shake, shuffle, single, slice, smush, snakeCase, sort, splice, startsWith, startsWithArray, subscriptions, succeed, sum, swap, take, template, throttle, timed, times, titleCase, toMap, toMapArrays, toQuery, toRecord, toRecordArrays, toResult, toSet, toggle, transform, trim, truncate, tryDecode, tryEncode, union, unique, unsmush, unwrap, update, upperCase, use, words };
7498
+ export { CancelablePromise, Logger, PromiseTimeoutError, RetryError, SORT_DIRECTION_ASCENDING, SORT_DIRECTION_DESCENDING, SizedMap, SizedSet, push as append, push, assert, assertCondition, assertDefined, assertInstanceOf, assertIs, assertProperty, assign, asyncAttempt, asyncAttemptRun, asyncDebounce, asyncFail, asyncFlow, asyncMatchResult, asyncOnce, asyncPipe, asyncRun, asyncSucceed, asyncThrottle, asyncUse, attempt, attemptAsyncFlow, attemptAsyncPipe, attemptFlow, attemptPipe, attemptPromise, attemptRun, average, beacon, between, camelCase, cancelable, capitalize, ceil, chunk, clamp, clone, compact, compare, copy, count, debounce, deburr, dedent, delay, deregisterCloner, deregisterComparator, deregisterEqualizer, diff, difference, drop, endsWith, endsWithArray, equal, error, exclude, exists, fail, filter, filterAndFlatMap, filterAndMap, filterAndMap as select, find, findLast, first, firstOrDefault, flatFreeze, flatMapAndFilter, flatten, floor, flow, freeze, fromQuery, toPromise as fromResult, toPromise, fuzzy, fuzzyMatch, getArray, getArrayComparison, getColor, getForegroundColor, getHexColor, getHexaColor, getHslColor, getHslaColor, getHwbColor, getHwbaColor, getNormalizedHex, getNumber, getRandom, getRandomBoolean, getRandomCharacters, getRandomColor, getRandomFloatingNumber as getRandomFloat, getRandomHex, getRandomInteger, getRandomItem, getRandomItems, getRgbColor, getRgbaColor, getSortedIndex, getString, getTimedPromise, getUuid, getValue, groupArraysBy, groupBy, handleResult, hasValue, hasValueResult, herald, hexToHsl, hexToHsla, hexToHwb, hexToHwba, hexToRgb, hexToRgba, hslToHex, hslToHwb, hslToHwba, hslToRgb, hslToRgba, hwbToHex, hwbToHsl, hwbToHsla, hwbToRgb, hwbToRgba, ignoreKey, inMap, inSet, includes, includesArray, indexOf, indexOfArray, initializeAssigner, initializeCloner, initializeEqualizer, initializeMerger, initializeNormalizer, initializeSorter, initializeTemplater, initializeTransformer, insert, interpolate, intersection, isArrayOrPlainObject, isAsyncFailure, isAsyncGenerator, isAsyncGeneratorFunction, isAsyncOnce, isAsyncPlan, isAsyncStep, isAsyncSuccess, isBeacon, isBeaconSubscription, isColor, isConstructor, isEmpty, isError, isFailure, isFrozen, isFulfilled, isFuzzy, isGenerator, isGeneratorFunction, isHerald, isHeraldEvents, isHeraldSubscription, isHexColor, isHslColor, isHslaColor, isHwbColor, isHwbaColor, isInstanceOf, isKey, isKeyedQueue, isLogger, isNonArrayOrPlainObject, isNonConstructor, isNonEmpty, isNonInstanceOf, isNonKey, isNonNullable, isNonNullableOrEmpty, isNonNullableOrWhitespace, isNonNumber, isNonNumerical, isNonObject, isNonPlainObject, isNonPrimitive, isNonTemplateStringsArray, isNonTypedArray, isNullable, isNullableOrEmpty, isNullableOrWhitespace, isNumber, isNumerical, isObject, isObservable, isOk, isOnce, isPlainObject, isPlan, isPrimitive, isQueue, isRejected, isResult, isRgbColor, isRgbaColor, isSorted, isStep, isSubscription, isSubscriptions, isSuccess, isTemplateStringsArray, isTimeLogger, isTypedArray, join, kebabCase, keyedQueue, last, lastIndexOf, lastOrDefault, lowerCase, mapAndFilter, mapAndFilter as reverseSelect, matchResult, max, median, memoize, merge, min, move, moveIndices, moveToIndex, noop, normalize, ok, omit, once, parse, partition, pascalCase, pick, pipe, plan, promises, queue, range, registerCloner, registerComparator, registerEqualizer, resultPromises, retry, reverse, rgbToHex, rgbToHsl, rgbToHsla, rgbToHwb, rgbToHwba, round, run, setValue, settlePromise, shake, shuffle, single, slice, smush, snakeCase, sort, splice, startsWith, startsWithArray, subscriptions, succeed, sum, swap, take, template, throttle, timed, times, titleCase, toCaseCallback, toMap, toMapArrays, toQuery, toRecord, toRecordArrays, toResult, toSet, toggle, transform, trim, truncate, tryDecode, tryEncode, union, unique, unsmush, unwrap, unwrapWork, update, upperCase, use, words };