@kdtlabs/utils 0.0.3

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 (311) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/SKILL.md +251 -0
  3. package/arrays/accessors.d.ts +11 -0
  4. package/arrays/accessors.d.ts.map +1 -0
  5. package/arrays/conversions.d.ts +6 -0
  6. package/arrays/conversions.d.ts.map +1 -0
  7. package/arrays/factories.d.ts +5 -0
  8. package/arrays/factories.d.ts.map +1 -0
  9. package/arrays/guards.d.ts +5 -0
  10. package/arrays/guards.d.ts.map +1 -0
  11. package/arrays/index.d.ts +8 -0
  12. package/arrays/index.d.ts.map +1 -0
  13. package/arrays/index.js +4 -0
  14. package/arrays/index.js.map +9 -0
  15. package/arrays/operations.d.ts +16 -0
  16. package/arrays/operations.d.ts.map +1 -0
  17. package/arrays/set-operations.d.ts +6 -0
  18. package/arrays/set-operations.d.ts.map +1 -0
  19. package/arrays/types.d.ts +12 -0
  20. package/arrays/types.d.ts.map +1 -0
  21. package/buffers/conversions.d.ts +4 -0
  22. package/buffers/conversions.d.ts.map +1 -0
  23. package/buffers/guards.d.ts +7 -0
  24. package/buffers/guards.d.ts.map +1 -0
  25. package/buffers/index.d.ts +5 -0
  26. package/buffers/index.d.ts.map +1 -0
  27. package/buffers/index.js +4 -0
  28. package/buffers/index.js.map +9 -0
  29. package/buffers/operations.d.ts +4 -0
  30. package/buffers/operations.d.ts.map +1 -0
  31. package/buffers/types.d.ts +2 -0
  32. package/buffers/types.d.ts.map +1 -0
  33. package/chunk-4w1emwv7.js +6 -0
  34. package/chunk-4w1emwv7.js.map +14 -0
  35. package/chunk-6kdnnxe0.js +4 -0
  36. package/chunk-6kdnnxe0.js.map +17 -0
  37. package/chunk-6whsm14p.js +4 -0
  38. package/chunk-6whsm14p.js.map +13 -0
  39. package/chunk-6wkh99v0.js +4 -0
  40. package/chunk-6wkh99v0.js.map +11 -0
  41. package/chunk-84hxmrk7.js +4 -0
  42. package/chunk-84hxmrk7.js.map +12 -0
  43. package/chunk-bham5jvm.js +5 -0
  44. package/chunk-bham5jvm.js.map +13 -0
  45. package/chunk-bjmntg2y.js +4 -0
  46. package/chunk-bjmntg2y.js.map +18 -0
  47. package/chunk-bx5gjsp0.js +4 -0
  48. package/chunk-bx5gjsp0.js.map +17 -0
  49. package/chunk-c0p3wm8m.js +4 -0
  50. package/chunk-c0p3wm8m.js.map +15 -0
  51. package/chunk-c9mm50vv.js +4 -0
  52. package/chunk-c9mm50vv.js.map +11 -0
  53. package/chunk-f2rvwnb6.js +4 -0
  54. package/chunk-f2rvwnb6.js.map +26 -0
  55. package/chunk-kbzgn0z4.js +4 -0
  56. package/chunk-kbzgn0z4.js.map +10 -0
  57. package/chunk-m4svr349.js +4 -0
  58. package/chunk-m4svr349.js.map +12 -0
  59. package/chunk-qn6n0ff5.js +4 -0
  60. package/chunk-qn6n0ff5.js.map +17 -0
  61. package/chunk-sajy7qk7.js +4 -0
  62. package/chunk-sajy7qk7.js.map +14 -0
  63. package/chunk-xp18wdk6.js +4 -0
  64. package/chunk-xp18wdk6.js.map +12 -0
  65. package/collections/fifo-map.d.ts +7 -0
  66. package/collections/fifo-map.d.ts.map +1 -0
  67. package/collections/fifo-set.d.ts +7 -0
  68. package/collections/fifo-set.d.ts.map +1 -0
  69. package/collections/guards.d.ts +7 -0
  70. package/collections/guards.d.ts.map +1 -0
  71. package/collections/index.d.ts +10 -0
  72. package/collections/index.d.ts.map +1 -0
  73. package/collections/index.js +4 -0
  74. package/collections/index.js.map +9 -0
  75. package/collections/linked-base.d.ts +24 -0
  76. package/collections/linked-base.d.ts.map +1 -0
  77. package/collections/linked-map.d.ts +25 -0
  78. package/collections/linked-map.d.ts.map +1 -0
  79. package/collections/linked-set.d.ts +23 -0
  80. package/collections/linked-set.d.ts.map +1 -0
  81. package/collections/lru-map.d.ts +6 -0
  82. package/collections/lru-map.d.ts.map +1 -0
  83. package/collections/lru-set.d.ts +5 -0
  84. package/collections/lru-set.d.ts.map +1 -0
  85. package/collections/types.d.ts +11 -0
  86. package/collections/types.d.ts.map +1 -0
  87. package/common/assertions.d.ts +4 -0
  88. package/common/assertions.d.ts.map +1 -0
  89. package/common/guards.d.ts +2 -0
  90. package/common/guards.d.ts.map +1 -0
  91. package/common/index.d.ts +3 -0
  92. package/common/index.d.ts.map +1 -0
  93. package/common/index.js +4 -0
  94. package/common/index.js.map +9 -0
  95. package/core/constants.d.ts +2 -0
  96. package/core/constants.d.ts.map +1 -0
  97. package/core/guards.d.ts +24 -0
  98. package/core/guards.d.ts.map +1 -0
  99. package/core/index.d.ts +4 -0
  100. package/core/index.d.ts.map +1 -0
  101. package/core/index.js +4 -0
  102. package/core/index.js.map +9 -0
  103. package/core/types.d.ts +11 -0
  104. package/core/types.d.ts.map +1 -0
  105. package/errors/base-error.d.ts +22 -0
  106. package/errors/base-error.d.ts.map +1 -0
  107. package/errors/factories.d.ts +12 -0
  108. package/errors/factories.d.ts.map +1 -0
  109. package/errors/guards.d.ts +7 -0
  110. package/errors/guards.d.ts.map +1 -0
  111. package/errors/index.d.ts +7 -0
  112. package/errors/index.d.ts.map +1 -0
  113. package/errors/index.js +4 -0
  114. package/errors/index.js.map +9 -0
  115. package/errors/operations.d.ts +3 -0
  116. package/errors/operations.d.ts.map +1 -0
  117. package/errors/stringify.d.ts +36 -0
  118. package/errors/stringify.d.ts.map +1 -0
  119. package/errors/types.d.ts +10 -0
  120. package/errors/types.d.ts.map +1 -0
  121. package/events/emitter.d.ts +16 -0
  122. package/events/emitter.d.ts.map +1 -0
  123. package/events/index.d.ts +3 -0
  124. package/events/index.d.ts.map +1 -0
  125. package/events/index.js +4 -0
  126. package/events/index.js.map +9 -0
  127. package/events/types.d.ts +7 -0
  128. package/events/types.d.ts.map +1 -0
  129. package/functions/compositions.d.ts +4 -0
  130. package/functions/compositions.d.ts.map +1 -0
  131. package/functions/debounce.d.ts +4 -0
  132. package/functions/debounce.d.ts.map +1 -0
  133. package/functions/executions.d.ts +6 -0
  134. package/functions/executions.d.ts.map +1 -0
  135. package/functions/guards.d.ts +3 -0
  136. package/functions/guards.d.ts.map +1 -0
  137. package/functions/index.d.ts +11 -0
  138. package/functions/index.d.ts.map +1 -0
  139. package/functions/index.js +4 -0
  140. package/functions/index.js.map +9 -0
  141. package/functions/memoize.d.ts +15 -0
  142. package/functions/memoize.d.ts.map +1 -0
  143. package/functions/once.d.ts +6 -0
  144. package/functions/once.d.ts.map +1 -0
  145. package/functions/pipe.d.ts +24 -0
  146. package/functions/pipe.d.ts.map +1 -0
  147. package/functions/throttle.d.ts +4 -0
  148. package/functions/throttle.d.ts.map +1 -0
  149. package/functions/timer-state.d.ts +11 -0
  150. package/functions/timer-state.d.ts.map +1 -0
  151. package/functions/types.d.ts +7 -0
  152. package/functions/types.d.ts.map +1 -0
  153. package/index.d.ts +17 -0
  154. package/index.d.ts.map +1 -0
  155. package/index.js +4 -0
  156. package/index.js.map +9 -0
  157. package/json-rpc/constants.d.ts +9 -0
  158. package/json-rpc/constants.d.ts.map +1 -0
  159. package/json-rpc/factories.d.ts +7 -0
  160. package/json-rpc/factories.d.ts.map +1 -0
  161. package/json-rpc/guards.d.ts +13 -0
  162. package/json-rpc/guards.d.ts.map +1 -0
  163. package/json-rpc/index.d.ts +5 -0
  164. package/json-rpc/index.d.ts.map +1 -0
  165. package/json-rpc/index.js +4 -0
  166. package/json-rpc/index.js.map +9 -0
  167. package/json-rpc/types.d.ts +36 -0
  168. package/json-rpc/types.d.ts.map +1 -0
  169. package/meta.json +2944 -0
  170. package/meta.md +1782 -0
  171. package/numbers/bigint-math.d.ts +22 -0
  172. package/numbers/bigint-math.d.ts.map +1 -0
  173. package/numbers/constants.d.ts +3 -0
  174. package/numbers/constants.d.ts.map +1 -0
  175. package/numbers/conversions.d.ts +6 -0
  176. package/numbers/conversions.d.ts.map +1 -0
  177. package/numbers/factories.d.ts +2 -0
  178. package/numbers/factories.d.ts.map +1 -0
  179. package/numbers/formats.d.ts +9 -0
  180. package/numbers/formats.d.ts.map +1 -0
  181. package/numbers/guards.d.ts +6 -0
  182. package/numbers/guards.d.ts.map +1 -0
  183. package/numbers/index.d.ts +10 -0
  184. package/numbers/index.d.ts.map +1 -0
  185. package/numbers/index.js +4 -0
  186. package/numbers/index.js.map +9 -0
  187. package/numbers/maths.d.ts +7 -0
  188. package/numbers/maths.d.ts.map +1 -0
  189. package/numbers/ranges.d.ts +3 -0
  190. package/numbers/ranges.d.ts.map +1 -0
  191. package/numbers/types.d.ts +7 -0
  192. package/numbers/types.d.ts.map +1 -0
  193. package/objects/deep-merge.d.ts +7 -0
  194. package/objects/deep-merge.d.ts.map +1 -0
  195. package/objects/guards.d.ts +7 -0
  196. package/objects/guards.d.ts.map +1 -0
  197. package/objects/index.d.ts +5 -0
  198. package/objects/index.d.ts.map +1 -0
  199. package/objects/index.js +4 -0
  200. package/objects/index.js.map +9 -0
  201. package/objects/transformations.d.ts +10 -0
  202. package/objects/transformations.d.ts.map +1 -0
  203. package/objects/types.d.ts +28 -0
  204. package/objects/types.d.ts.map +1 -0
  205. package/package.json +129 -0
  206. package/promises/abortable.d.ts +3 -0
  207. package/promises/abortable.d.ts.map +1 -0
  208. package/promises/compositions.d.ts +7 -0
  209. package/promises/compositions.d.ts.map +1 -0
  210. package/promises/deferred.d.ts +26 -0
  211. package/promises/deferred.d.ts.map +1 -0
  212. package/promises/guards.d.ts +3 -0
  213. package/promises/guards.d.ts.map +1 -0
  214. package/promises/index.d.ts +10 -0
  215. package/promises/index.d.ts.map +1 -0
  216. package/promises/index.js +4 -0
  217. package/promises/index.js.map +9 -0
  218. package/promises/pipe.d.ts +24 -0
  219. package/promises/pipe.d.ts.map +1 -0
  220. package/promises/poll.d.ts +11 -0
  221. package/promises/poll.d.ts.map +1 -0
  222. package/promises/retry.d.ts +29 -0
  223. package/promises/retry.d.ts.map +1 -0
  224. package/promises/timers.d.ts +8 -0
  225. package/promises/timers.d.ts.map +1 -0
  226. package/promises/types.d.ts +2 -0
  227. package/promises/types.d.ts.map +1 -0
  228. package/serializer/constants.d.ts +4 -0
  229. package/serializer/constants.d.ts.map +1 -0
  230. package/serializer/context.d.ts +5 -0
  231. package/serializer/context.d.ts.map +1 -0
  232. package/serializer/index.d.ts +8 -0
  233. package/serializer/index.d.ts.map +1 -0
  234. package/serializer/index.js +4 -0
  235. package/serializer/index.js.map +9 -0
  236. package/serializer/serialize.d.ts +6 -0
  237. package/serializer/serialize.d.ts.map +1 -0
  238. package/serializer/serializers/array.d.ts +6 -0
  239. package/serializer/serializers/array.d.ts.map +1 -0
  240. package/serializer/serializers/binary.d.ts +4 -0
  241. package/serializer/serializers/binary.d.ts.map +1 -0
  242. package/serializer/serializers/blob.d.ts +4 -0
  243. package/serializer/serializers/blob.d.ts.map +1 -0
  244. package/serializer/serializers/collection.d.ts +4 -0
  245. package/serializer/serializers/collection.d.ts.map +1 -0
  246. package/serializer/serializers/compound.d.ts +5 -0
  247. package/serializer/serializers/compound.d.ts.map +1 -0
  248. package/serializer/serializers/error.d.ts +7 -0
  249. package/serializer/serializers/error.d.ts.map +1 -0
  250. package/serializer/serializers/function.d.ts +4 -0
  251. package/serializer/serializers/function.d.ts.map +1 -0
  252. package/serializer/serializers/index.d.ts +13 -0
  253. package/serializer/serializers/index.d.ts.map +1 -0
  254. package/serializer/serializers/leaf-object.d.ts +4 -0
  255. package/serializer/serializers/leaf-object.d.ts.map +1 -0
  256. package/serializer/serializers/number.d.ts +4 -0
  257. package/serializer/serializers/number.d.ts.map +1 -0
  258. package/serializer/serializers/object.d.ts +7 -0
  259. package/serializer/serializers/object.d.ts.map +1 -0
  260. package/serializer/serializers/opaque.d.ts +4 -0
  261. package/serializer/serializers/opaque.d.ts.map +1 -0
  262. package/serializer/serializers/primitive.d.ts +4 -0
  263. package/serializer/serializers/primitive.d.ts.map +1 -0
  264. package/serializer/symbol-registry.d.ts +2 -0
  265. package/serializer/symbol-registry.d.ts.map +1 -0
  266. package/serializer/types.d.ts +35 -0
  267. package/serializer/types.d.ts.map +1 -0
  268. package/serializer/utils.d.ts +5 -0
  269. package/serializer/utils.d.ts.map +1 -0
  270. package/strings/constants.d.ts +2 -0
  271. package/strings/constants.d.ts.map +1 -0
  272. package/strings/factories.d.ts +2 -0
  273. package/strings/factories.d.ts.map +1 -0
  274. package/strings/guards.d.ts +15 -0
  275. package/strings/guards.d.ts.map +1 -0
  276. package/strings/index.d.ts +6 -0
  277. package/strings/index.d.ts.map +1 -0
  278. package/strings/index.js +4 -0
  279. package/strings/index.js.map +9 -0
  280. package/strings/manipulations.d.ts +17 -0
  281. package/strings/manipulations.d.ts.map +1 -0
  282. package/strings/types.d.ts +3 -0
  283. package/strings/types.d.ts.map +1 -0
  284. package/system/env.d.ts +8 -0
  285. package/system/env.d.ts.map +1 -0
  286. package/system/fetch.d.ts +11 -0
  287. package/system/fetch.d.ts.map +1 -0
  288. package/system/graceful-exit.d.ts +5 -0
  289. package/system/graceful-exit.d.ts.map +1 -0
  290. package/system/index.d.ts +6 -0
  291. package/system/index.d.ts.map +1 -0
  292. package/system/index.js +4 -0
  293. package/system/index.js.map +9 -0
  294. package/system/path.d.ts +4 -0
  295. package/system/path.d.ts.map +1 -0
  296. package/system/types.d.ts +3 -0
  297. package/system/types.d.ts.map +1 -0
  298. package/times/constants.d.ts +7 -0
  299. package/times/constants.d.ts.map +1 -0
  300. package/times/conversions.d.ts +9 -0
  301. package/times/conversions.d.ts.map +1 -0
  302. package/times/factories.d.ts +2 -0
  303. package/times/factories.d.ts.map +1 -0
  304. package/times/guards.d.ts +2 -0
  305. package/times/guards.d.ts.map +1 -0
  306. package/times/index.d.ts +6 -0
  307. package/times/index.d.ts.map +1 -0
  308. package/times/index.js +4 -0
  309. package/times/index.js.map +9 -0
  310. package/times/operations.d.ts +3 -0
  311. package/times/operations.d.ts.map +1 -0
@@ -0,0 +1,4 @@
1
+ import{isArray as y}from"@/arrays";import{unique as b}from"@/arrays/set-operations";import{isArray as d}from"@/arrays";import{toString as m}from"@/core";var g=(e)=>e!==null&&typeof e==="object"&&!d(e),i=(e)=>{if(m(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype},K=(e)=>Object.keys(e).length===0,l=(e,t)=>(t in e),w=(e,...t)=>t.every((r)=>l(e,r));var O=new Set(["__proto__","constructor","prototype"]);function k(e,t,r){if(r==="replace")return t.map(s);let n=[...e,...t];return(r==="merge-dedupe"?b(n):n).map(s)}function s(e){if(i(e)){let t={};for(let r of Object.keys(e))if(!O.has(r))t[r]=s(e[r]);return t}if(y(e))return e.map(s);return e}function a(e,t,r){let n={};for(let o of Object.keys(e))if(!O.has(o))n[o]=s(e[o]);for(let o of Object.keys(t)){if(O.has(o))continue;let p=n[o],c=t[o];if(i(p)&&i(c))n[o]=a(p,c,r);else if(y(p)&&y(c))n[o]=k(p,c,r);else n[o]=s(c)}return n}var N=(e,t,{arrayMode:r="replace"}={})=>a(e,t,r);import{isNullish as j}from"@/core";var u=(e)=>Object.entries(e),f=(e,t)=>Object.fromEntries(u(e).filter(([r,n],o)=>t(r,n,o))),D=(e,t)=>f(e,(r,n)=>t(n)),S=(e,...t)=>{let r=new Set(t);return f(e,(n)=>r.has(n))},_=(e,...t)=>{let r=new Set(t);return f(e,(n)=>!r.has(n))},E=(e,t)=>Object.fromEntries(u(e).map(([r,n],o)=>t(r,n,o)));function U(e,t){if(e===!1)return!1;return j(e)||e===!0?t:e}export{g as pd,i as qd,K as rd,l as sd,w as td,N as ud,u as vd,f as wd,D as xd,S as yd,_ as zd,E as Ad,U as Bd};
2
+
3
+ //# debugId=9B60E3B6BE3FE31C64756E2164756E21
4
+ //# sourceMappingURL=chunk-m4svr349.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/objects/deep-merge.ts", "../src/objects/guards.ts", "../src/objects/transformations.ts"],
4
+ "sourcesContent": [
5
+ "import type { AnyObject, DeepPartial } from './types'\nimport { isArray } from '@/arrays'\nimport { unique } from '@/arrays/set-operations'\nimport { isPlainObject } from './guards'\n\nexport type DeepMergeArrayMode = 'merge' | 'merge-dedupe' | 'replace'\n\nexport interface DeepMergeOptions {\n arrayMode?: DeepMergeArrayMode\n}\n\nconst DANGEROUS_KEYS = new Set(['__proto__', 'constructor', 'prototype'])\n\nfunction mergeArrays(base: unknown[], override: unknown[], arrayMode: DeepMergeArrayMode): unknown[] {\n if (arrayMode === 'replace') {\n return override.map(deepCloneValue)\n }\n\n const merged = [...base, ...override]\n const deduped = arrayMode === 'merge-dedupe' ? unique(merged) : merged\n\n return deduped.map(deepCloneValue)\n}\n\nfunction deepCloneValue(value: unknown): unknown {\n if (isPlainObject(value)) {\n const cloned: Record<string, unknown> = {}\n\n for (const key of Object.keys(value)) {\n if (!DANGEROUS_KEYS.has(key)) {\n cloned[key] = deepCloneValue(value[key])\n }\n }\n\n return cloned\n }\n\n if (isArray(value)) {\n return value.map(deepCloneValue)\n }\n\n return value\n}\n\nfunction mergeRecursive(base: Record<string, unknown>, override: Record<string, unknown>, arrayMode: DeepMergeArrayMode): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n for (const key of Object.keys(base)) {\n if (!DANGEROUS_KEYS.has(key)) {\n result[key] = deepCloneValue(base[key])\n }\n }\n\n for (const key of Object.keys(override)) {\n if (DANGEROUS_KEYS.has(key)) {\n continue\n }\n\n const baseVal = result[key]\n const overrideVal = override[key]\n\n if (isPlainObject(baseVal) && isPlainObject(overrideVal)) {\n result[key] = mergeRecursive(baseVal, overrideVal, arrayMode)\n } else if (isArray(baseVal) && isArray(overrideVal)) {\n result[key] = mergeArrays(baseVal, overrideVal, arrayMode)\n } else {\n result[key] = deepCloneValue(overrideVal)\n }\n }\n\n return result\n}\n\nexport const deepMerge = <T extends AnyObject>(base: T, override: DeepPartial<T>, { arrayMode = 'replace' }: DeepMergeOptions = {}): T => (\n mergeRecursive(base, override as Record<string, unknown>, arrayMode) as T\n)\n",
6
+ "import type { AnyObject, UnknownObject } from './types'\nimport { isArray } from '@/arrays'\nimport { toString } from '@/core'\n\nexport const isObject = (value: unknown): value is AnyObject => value !== null && typeof value === 'object' && !isArray(value)\n\nexport const isPlainObject = (value: unknown): value is UnknownObject => {\n if (toString(value) !== '[object Object]') {\n return false\n }\n\n const proto = Object.getPrototypeOf(value)\n\n return proto === null || proto === Object.prototype\n}\n\nexport const isEmptyObject = (value: AnyObject) => Object.keys(value).length === 0\n\nexport const isKeyOf = <T extends AnyObject>(obj: T, name: PropertyKey): name is keyof T => name in obj\n\nexport const isKeysOf = <T extends PropertyKey>(data: AnyObject, ...keys: T[]): data is Record<T, unknown> => keys.every((key) => isKeyOf(data, key))\n",
7
+ "import type { AnyObject, FilterPredicate } from './types'\nimport { isNullish, type Nullish } from '@/core'\n\nexport const entries = <O extends AnyObject>(obj: O) => Object.entries(obj) as Array<[keyof O, O[keyof O]]>\n\nexport const filter = <O extends AnyObject>(obj: O, predicate: FilterPredicate<O, keyof O>): Partial<O> => (\n Object.fromEntries(entries(obj).filter(([key, value], index) => predicate(key, value, index))) as Partial<O>\n)\n\nexport const filterByValue = <O extends AnyObject>(obj: O, predicate: (value: O[keyof O]) => boolean) => filter(obj, (_, value) => predicate(value))\n\nexport const pick = <O extends AnyObject, K extends keyof O>(obj: O, ...keys: K[]) => {\n const set = new Set<PropertyKey>(keys)\n\n return filter(obj, (key) => set.has(key)) as Pick<O, K>\n}\n\nexport const omit = <O extends AnyObject, K extends keyof O>(object: O, ...keys: K[]) => {\n const set = new Set<PropertyKey>(keys)\n\n return filter(object, (key) => !set.has(key)) as Omit<O, K>\n}\n\nexport const map = <K extends PropertyKey, V, NK extends PropertyKey, NV>(obj: Record<K, V>, fn: (k: K, v: V, i: number) => [NK, NV]) => (\n Object.fromEntries(entries(obj).map(([k, v], i) => fn(k, v, i))) as Record<NK, NV>\n)\n\nexport function resolveOptions<T extends AnyObject>(options: Nullish<T | boolean>, defaultValue: T | false): T | false {\n if (options === false) {\n return false\n }\n\n return isNullish(options) || options === true ? defaultValue : options\n}\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "9B60E3B6BE3FE31C64756E2164756E21",
11
+ "names": []
12
+ }
@@ -0,0 +1,4 @@
1
+ class s{maxSize;nodeMap=new Map;currentSize=0;head=null;tail=null;constructor(e){this.maxSize=e;if(e!=null&&(e<1||!Number.isInteger(e)))throw RangeError("maxSize must be a positive integer")}get size(){return this.currentSize}get[Symbol.toStringTag](){return this.constructor.name}clear(){this.nodeMap.clear(),this.head=null,this.tail=null,this.currentSize=0}addToHead(e){if(e.prev=null,e.next=this.head,this.head)this.head.prev=e;else this.tail=e;this.head=e}addToTail(e){if(e.next=null,e.prev=this.tail,this.tail)this.tail.next=e;else this.head=e;this.tail=e}deleteByKey(e){let t=this.nodeMap.get(e);if(!t)return!1;return this.nodeMap.delete(e),this.removeNode(t),this.currentSize--,!0}moveToHead(e){this.removeNode(e),this.addToHead(e)}removeHead(){if(!this.head)return;this.nodeMap.delete(this.getNodeKey(this.head)),this.removeNode(this.head),this.currentSize--}removeNode(e){if(e.prev)e.prev.next=e.next;else this.head=e.next;if(e.next)e.next.prev=e.prev;else this.tail=e.prev;e.prev=null,e.next=null}removeTail(){if(!this.tail)return;this.nodeMap.delete(this.getNodeKey(this.tail)),this.removeNode(this.tail),this.currentSize--}}class n extends s{delete(e){return this.deleteByKey(e)}*entries(){let e=this.head;while(e)yield[e.key,e.value],e=e.next}forEach(e){for(let[t,i]of this.entries())e(i,t,this)}get(e){return this.nodeMap.get(e)?.value}has(e){return this.nodeMap.has(e)}*keys(){let e=this.head;while(e)yield e.key,e=e.next}peekNewest(){return this.head?[this.head.key,this.head.value]:void 0}peekOldest(){return this.tail?[this.tail.key,this.tail.value]:void 0}[Symbol.iterator](){return this.entries()}toJSON(){return[...this.entries()]}*values(){let e=this.head;while(e)yield e.value,e=e.next}createNode(e,t){return{key:e,next:null,prev:null,value:t}}getNodeKey(e){return e.key}}class d extends n{peekNewest(){return this.tail?[this.tail.key,this.tail.value]:void 0}peekOldest(){return this.head?[this.head.key,this.head.value]:void 0}set(e,t){let i=this.nodeMap.get(e);if(i)return i.value=t,this;let r=this.createNode(e,t);if(this.nodeMap.set(e,r),this.addToTail(r),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeHead();return this}}class o extends s{delete(e){return this.deleteByKey(e)}*entries(){for(let e of this.values())yield[e,e]}forEach(e){for(let t of this.values())e(t,t,this)}has(e){return this.nodeMap.has(e)}keys(){return this.values()}peekNewest(){return this.head?.value}peekOldest(){return this.tail?.value}[Symbol.iterator](){return this.values()}toJSON(){return[...this.values()]}*values(){let e=this.head;while(e)yield e.value,e=e.next}createNode(e){return{next:null,prev:null,value:e}}getNodeKey(e){return e.value}}class l extends o{add(e){if(this.nodeMap.has(e))return this;let t=this.createNode(e);if(this.nodeMap.set(e,t),this.addToTail(t),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeHead();return this}peekOldest(){return this.head?.value}peekNewest(){return this.tail?.value}}var h=(e)=>e!=null&&typeof e==="object"&&(Symbol.iterator in e)&&typeof e[Symbol.iterator]==="function",a=(e)=>h(e)&&("size"in e)&&typeof e.size==="number",y=(e)=>e.size===0,K=(e)=>a(e)&&("has"in e)&&typeof e.has==="function",L=(e)=>a(e)&&("get"in e)&&typeof e.get==="function"&&("entries"in e)&&typeof e.entries==="function";class u extends n{get(e){let t=this.nodeMap.get(e);if(t)this.moveToHead(t);return t?.value}set(e,t){let i=this.nodeMap.get(e);if(i)return i.value=t,this.moveToHead(i),this;let r=this.createNode(e,t);if(this.nodeMap.set(e,r),this.addToHead(r),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeTail();return this}}class p extends o{add(e){let t=this.nodeMap.get(e);if(t)return this.moveToHead(t),this;let i=this.createNode(e);if(this.nodeMap.set(e,i),this.addToHead(i),this.currentSize++,this.maxSize&&this.currentSize>this.maxSize)this.removeTail();return this}}export{s as cc,n as dc,d as ec,o as fc,l as gc,h as hc,a as ic,y as jc,K as kc,L as lc,u as mc,p as nc};
2
+
3
+ //# debugId=124BAE85557E121964756E2164756E21
4
+ //# sourceMappingURL=chunk-qn6n0ff5.js.map
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/collections/linked-base.ts", "../src/collections/linked-map.ts", "../src/collections/fifo-map.ts", "../src/collections/linked-set.ts", "../src/collections/fifo-set.ts", "../src/collections/guards.ts", "../src/collections/lru-map.ts", "../src/collections/lru-set.ts"],
4
+ "sourcesContent": [
5
+ "export interface LinkedBaseNode {\n next: LinkedBaseNode | null\n prev: LinkedBaseNode | null\n}\n\nexport abstract class LinkedBase<NodeKey, N extends LinkedBaseNode> {\n protected readonly nodeMap = new Map<NodeKey, N>()\n\n protected currentSize = 0\n protected head: N | null = null\n protected tail: N | null = null\n\n public constructor(public readonly maxSize?: number) {\n if (maxSize != null && (maxSize < 1 || !Number.isInteger(maxSize))) {\n throw new RangeError('maxSize must be a positive integer')\n }\n }\n\n public get size() {\n return this.currentSize\n }\n\n public get [Symbol.toStringTag]() {\n return this.constructor.name\n }\n\n public clear() {\n this.nodeMap.clear()\n this.head = null\n this.tail = null\n this.currentSize = 0\n }\n\n protected abstract getNodeKey(node: N): NodeKey\n\n protected addToHead(node: N) {\n node.prev = null\n node.next = this.head\n\n if (this.head) {\n this.head.prev = node\n } else {\n this.tail = node\n }\n\n this.head = node\n }\n\n protected addToTail(node: N) {\n node.next = null\n node.prev = this.tail\n\n if (this.tail) {\n this.tail.next = node\n } else {\n this.head = node\n }\n\n this.tail = node\n }\n\n protected deleteByKey(key: NodeKey) {\n const node = this.nodeMap.get(key)\n\n if (!node) {\n return false\n }\n\n this.nodeMap.delete(key)\n this.removeNode(node)\n this.currentSize--\n\n return true\n }\n\n protected moveToHead(node: N) {\n this.removeNode(node)\n this.addToHead(node)\n }\n\n protected removeHead() {\n if (!this.head) {\n return\n }\n\n this.nodeMap.delete(this.getNodeKey(this.head))\n this.removeNode(this.head)\n this.currentSize--\n }\n\n protected removeNode(node: N) {\n if (node.prev) {\n node.prev.next = node.next\n } else {\n this.head = node.next as N | null\n }\n\n if (node.next) {\n node.next.prev = node.prev\n } else {\n this.tail = node.prev as N | null\n }\n\n node.prev = null\n node.next = null\n }\n\n protected removeTail() {\n if (!this.tail) {\n return\n }\n\n this.nodeMap.delete(this.getNodeKey(this.tail))\n this.removeNode(this.tail)\n this.currentSize--\n }\n}\n",
6
+ "import type { MapLike } from './types'\nimport { LinkedBase, type LinkedBaseNode } from './linked-base'\n\nexport interface LinkedMapNode<K, V> extends LinkedBaseNode {\n key: K\n next: LinkedMapNode<K, V> | null\n prev: LinkedMapNode<K, V> | null\n value: V\n}\n\nexport abstract class LinkedMap<K, V> extends LinkedBase<K, LinkedMapNode<K, V>> implements MapLike<K, V> {\n public delete(key: K) {\n return this.deleteByKey(key)\n }\n\n public * entries(): IterableIterator<[K, V]> {\n let current = this.head\n\n while (current) {\n yield [current.key, current.value]\n current = current.next\n }\n }\n\n public forEach(callback: (value: V, key: K, map: this) => void) {\n for (const [key, value] of this.entries()) {\n callback(value, key, this)\n }\n }\n\n public get(key: K) {\n return this.nodeMap.get(key)?.value\n }\n\n public has(key: K) {\n return this.nodeMap.has(key)\n }\n\n public * keys(): IterableIterator<K> {\n let current = this.head\n\n while (current) {\n yield current.key\n current = current.next\n }\n }\n\n public peekNewest(): [K, V] | undefined {\n return this.head ? [this.head.key, this.head.value] : undefined\n }\n\n public peekOldest(): [K, V] | undefined {\n return this.tail ? [this.tail.key, this.tail.value] : undefined\n }\n\n public abstract set(key: K, value: V): this\n\n public [Symbol.iterator](): IterableIterator<[K, V]> {\n return this.entries()\n }\n\n public toJSON(): Array<[K, V]> {\n return [...this.entries()]\n }\n\n public * values(): IterableIterator<V> {\n let current = this.head\n\n while (current) {\n yield current.value\n current = current.next\n }\n }\n\n protected createNode(key: K, value: V): LinkedMapNode<K, V> {\n return { key, next: null, prev: null, value }\n }\n\n protected getNodeKey(node: LinkedMapNode<K, V>) {\n return node.key\n }\n}\n",
7
+ "import { LinkedMap } from './linked-map'\n\nexport class FifoMap<K, V> extends LinkedMap<K, V> {\n public override peekNewest(): [K, V] | undefined {\n return this.tail ? [this.tail.key, this.tail.value] : undefined\n }\n\n public override peekOldest(): [K, V] | undefined {\n return this.head ? [this.head.key, this.head.value] : undefined\n }\n\n public set(key: K, value: V): this {\n const existingNode = this.nodeMap.get(key)\n\n if (existingNode) {\n existingNode.value = value\n\n return this\n }\n\n const newNode = this.createNode(key, value)\n\n this.nodeMap.set(key, newNode)\n this.addToTail(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeHead()\n }\n\n return this\n }\n}\n",
8
+ "import type { SetLike } from './types'\nimport { LinkedBase, type LinkedBaseNode } from './linked-base'\n\nexport interface LinkedSetNode<T> extends LinkedBaseNode {\n next: LinkedSetNode<T> | null\n prev: LinkedSetNode<T> | null\n value: T\n}\n\nexport abstract class LinkedSet<T> extends LinkedBase<T, LinkedSetNode<T>> implements SetLike<T> {\n public abstract add(value: T): this\n\n public delete(value: T) {\n return this.deleteByKey(value)\n }\n\n public * entries(): IterableIterator<[T, T]> {\n for (const value of this.values()) {\n yield [value, value]\n }\n }\n\n public forEach(callback: (value: T, value2: T, set: this) => void) {\n for (const value of this.values()) {\n callback(value, value, this)\n }\n }\n\n public has(value: T) {\n return this.nodeMap.has(value)\n }\n\n public keys() {\n return this.values()\n }\n\n public peekNewest(): T | undefined {\n return this.head?.value\n }\n\n public peekOldest(): T | undefined {\n return this.tail?.value\n }\n\n public [Symbol.iterator]() {\n return this.values()\n }\n\n public toJSON(): T[] {\n return [...this.values()]\n }\n\n public * values(): IterableIterator<T> {\n let current = this.head\n\n while (current) {\n yield current.value\n current = current.next\n }\n }\n\n protected createNode(value: T): LinkedSetNode<T> {\n return { next: null, prev: null, value }\n }\n\n protected getNodeKey(node: LinkedSetNode<T>) {\n return node.value\n }\n}\n",
9
+ "import { LinkedSet } from './linked-set'\n\nexport class FifoSet<T> extends LinkedSet<T> {\n public add(value: T): this {\n if (this.nodeMap.has(value)) {\n return this\n }\n\n const newNode = this.createNode(value)\n\n this.nodeMap.set(value, newNode)\n this.addToTail(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeHead()\n }\n\n return this\n }\n\n public override peekOldest(): T | undefined {\n return this.head?.value\n }\n\n public override peekNewest(): T | undefined {\n return this.tail?.value\n }\n}\n",
10
+ "import type { CollectionLike, MapLike, SetLike } from './types'\n\nexport const isIterable = <T>(value: unknown): value is Iterable<T> => value != null && typeof value === 'object' && Symbol.iterator in value && typeof value[Symbol.iterator] === 'function'\n\nexport const isCollectionLike = <T>(value: unknown): value is CollectionLike<T> => isIterable(value) && 'size' in value && typeof value.size === 'number'\n\nexport const isEmptyCollection = (value: CollectionLike) => value.size === 0\n\nexport const isSetLike = <T>(value: unknown): value is SetLike<T> => isCollectionLike(value) && 'has' in value && typeof value.has === 'function'\n\nexport const isMapLike = <K, V>(value: unknown): value is MapLike<K, V> => isCollectionLike(value) && 'get' in value && typeof value.get === 'function' && 'entries' in value && typeof value.entries === 'function'\n",
11
+ "import { LinkedMap } from './linked-map'\n\nexport class LruMap<K, V> extends LinkedMap<K, V> {\n public override get(key: K) {\n const node = this.nodeMap.get(key)\n\n if (node) {\n this.moveToHead(node)\n }\n\n return node?.value\n }\n\n public set(key: K, value: V): this {\n const existingNode = this.nodeMap.get(key)\n\n if (existingNode) {\n existingNode.value = value\n this.moveToHead(existingNode)\n\n return this\n }\n\n const newNode = this.createNode(key, value)\n\n this.nodeMap.set(key, newNode)\n this.addToHead(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeTail()\n }\n\n return this\n }\n}\n",
12
+ "import { LinkedSet } from './linked-set'\n\nexport class LruSet<T> extends LinkedSet<T> {\n public add(value: T): this {\n const existingNode = this.nodeMap.get(value)\n\n if (existingNode) {\n this.moveToHead(existingNode)\n\n return this\n }\n\n const newNode = this.createNode(value)\n\n this.nodeMap.set(value, newNode)\n this.addToHead(newNode)\n this.currentSize++\n\n if (this.maxSize && this.currentSize > this.maxSize) {\n this.removeTail()\n }\n\n return this\n }\n}\n"
13
+ ],
14
+ "mappings": "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",
15
+ "debugId": "124BAE85557E121964756E2164756E21",
16
+ "names": []
17
+ }
@@ -0,0 +1,4 @@
1
+ var M=1000,D=60000,N=3600000,h=86400000,l=2592000000,b=31536000000;import{isString as m}from"@/core";import{BigIntMath as g,isSpecialNumberString as p}from"@/numbers";import{padZeroStart as s}from"@/strings/manipulations";var _=(t)=>Math.floor(t.getTime()/1000),H=(t)=>new Date(t*1000),f=/y{4}|S{3}|MM|dd|HH|mm|ss/gu,r=(t)=>s(t,2);function d(t,e="HH:mm:ss.SSS dd/MM/yyyy"){if(Number.isNaN(t.getTime()))throw TypeError("Invalid Date");let o={dd:()=>r(t.getDate()),HH:()=>r(t.getHours()),MM:()=>r(t.getMonth()+1),mm:()=>r(t.getMinutes()),ss:()=>r(t.getSeconds()),SSS:()=>s(t.getMilliseconds(),3),yyyy:()=>s(t.getFullYear(),4)};return e.replaceAll(f,(n)=>o[n]())}var S=[["h",3600000000000n],["m",60000000000n],["s",1000000000n],["ms",1000000n],["μs",1000n],["ns",1n]];function x(t){if(m(t)&&p(t))return t;let e;try{e=BigInt(t)}catch{return t.toString()}if(e===0n)return"0ns";let o=e<0n?"-":"",n=[];e=g.abs(e);for(let[u,i]of S)if(e>=i)n.push(`${e/i}${u}`),e%=i;return o+n.join(" ")}function a(t,e){if(m(t)&&p(t))return t;try{return x(BigInt(t)*e)}catch{return t.toString()}}var O=(t)=>a(t,1000000n),A=(t)=>a(t,1000000000n);var I=()=>_(new Date);var Y=(t)=>t instanceof Date&&!Number.isNaN(t.getTime());import{tap as c}from"@/functions";var C=(t)=>c(new Date(t),(e)=>{e.setHours(0,0,0,0)}),k=(t)=>c(new Date(t),(e)=>{e.setHours(23,59,59,999)});export{M as s,D as t,N as u,h as v,l as w,b as x,_ as y,H as z,d as A,x as B,a as C,O as D,A as E,I as F,Y as G,C as H,k as I};
2
+
3
+ //# debugId=82049ECCEC0683B364756E2164756E21
4
+ //# sourceMappingURL=chunk-sajy7qk7.js.map
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/times/constants.ts", "../src/times/conversions.ts", "../src/times/factories.ts", "../src/times/guards.ts", "../src/times/operations.ts"],
4
+ "sourcesContent": [
5
+ "export const MS_PER_SECOND = 1000\nexport const MS_PER_MINUTE = 60_000\nexport const MS_PER_HOUR = 3_600_000\nexport const MS_PER_DAY = 86_400_000\nexport const MS_PER_MONTH = MS_PER_DAY * 30\nexport const MS_PER_YEAR = MS_PER_DAY * 365\n",
6
+ "import { isString } from '@/core'\nimport { BigIntMath, isSpecialNumberString, type Numberish } from '@/numbers'\nimport { padZeroStart } from '@/strings/manipulations'\n\nexport const toUnixTimestamp = (date: Date) => Math.floor(date.getTime() / 1000)\n\nexport const fromUnixTimestamp = (timestamp: number) => new Date(timestamp * 1000)\n\nconst FORMAT_TOKEN_REGEX = /y{4}|S{3}|MM|dd|HH|mm|ss/gu\nconst pad2 = (n: number) => padZeroStart(n, 2)\n\nexport function formatDate(date: Date, format = 'HH:mm:ss.SSS dd/MM/yyyy') {\n if (Number.isNaN(date.getTime())) {\n throw new TypeError('Invalid Date')\n }\n\n const tokens: Record<string, () => string> = {\n dd: () => pad2(date.getDate()),\n HH: () => pad2(date.getHours()),\n MM: () => pad2(date.getMonth() + 1),\n mm: () => pad2(date.getMinutes()),\n ss: () => pad2(date.getSeconds()),\n SSS: () => padZeroStart(date.getMilliseconds(), 3),\n yyyy: () => padZeroStart(date.getFullYear(), 4),\n }\n\n return format.replaceAll(FORMAT_TOKEN_REGEX, (match) => tokens[match]!())\n}\n\nconst NANOSECOND_UNITS: Array<[label: string, value: bigint]> = [\n ['h', 3_600_000_000_000n],\n ['m', 60_000_000_000n],\n ['s', 1_000_000_000n],\n ['ms', 1_000_000n],\n ['\\u03BCs', 1000n],\n ['ns', 1n],\n]\n\nexport function humanizeNanoseconds(ns: Numberish) {\n if (isString(ns) && isSpecialNumberString(ns)) {\n return ns\n }\n\n let remaining: bigint\n\n try {\n remaining = BigInt(ns)\n } catch {\n return ns.toString()\n }\n\n if (remaining === 0n) {\n return '0ns'\n }\n\n const sign = remaining < 0n ? '-' : ''\n const parts: string[] = []\n\n remaining = BigIntMath.abs(remaining)\n\n for (const [label, value] of NANOSECOND_UNITS) {\n if (remaining >= value) {\n parts.push(`${remaining / value}${label}`)\n remaining %= value\n }\n }\n\n return sign + parts.join(' ')\n}\n\nexport function humanizeWithMultiplier(value: Numberish, multiplier: bigint) {\n if (isString(value) && isSpecialNumberString(value)) {\n return value\n }\n\n try {\n return humanizeNanoseconds(BigInt(value) * multiplier)\n } catch {\n return value.toString()\n }\n}\n\nexport const humanizeMilliseconds = (ms: Numberish) => humanizeWithMultiplier(ms, 1_000_000n)\n\nexport const humanizeSeconds = (s: Numberish) => humanizeWithMultiplier(s, 1_000_000_000n)\n",
7
+ "import { toUnixTimestamp } from './conversions'\n\nexport const timestamp = () => toUnixTimestamp(new Date())\n",
8
+ "export const isValidDate = (value: unknown): value is Date => (\n value instanceof Date && !Number.isNaN(value.getTime())\n)\n",
9
+ "import { tap } from '@/functions'\n\nexport const startOfDay = (date: Date) => tap(new Date(date), (r) => {\n r.setHours(0, 0, 0, 0)\n})\n\nexport const endOfDay = (date: Date) => tap(new Date(date), (r) => {\n r.setHours(23, 59, 59, 999)\n})\n"
10
+ ],
11
+ "mappings": "AAAO,IAAM,EAAgB,KAChB,EAAgB,MAChB,EAAc,QACd,EAAa,SACb,EAAe,WACf,EAAc,YCL3B,mBAAS,eACT,qBAAS,2BAAY,kBACrB,uBAAS,gCAEF,IAAM,EAAkB,CAAC,IAAe,KAAK,MAAM,EAAK,QAAQ,EAAI,IAAI,EAElE,EAAoB,CAAC,IAAsB,IAAI,KAAK,EAAY,IAAI,EAE3E,EAAqB,6BACrB,EAAO,CAAC,IAAc,EAAa,EAAG,CAAC,EAEtC,SAAS,CAAU,CAAC,EAAY,EAAS,0BAA2B,CACvE,GAAI,OAAO,MAAM,EAAK,QAAQ,CAAC,EAC3B,MAAU,UAAU,cAAc,EAGtC,IAAM,EAAuC,CACzC,GAAI,IAAM,EAAK,EAAK,QAAQ,CAAC,EAC7B,GAAI,IAAM,EAAK,EAAK,SAAS,CAAC,EAC9B,GAAI,IAAM,EAAK,EAAK,SAAS,EAAI,CAAC,EAClC,GAAI,IAAM,EAAK,EAAK,WAAW,CAAC,EAChC,GAAI,IAAM,EAAK,EAAK,WAAW,CAAC,EAChC,IAAK,IAAM,EAAa,EAAK,gBAAgB,EAAG,CAAC,EACjD,KAAM,IAAM,EAAa,EAAK,YAAY,EAAG,CAAC,CAClD,EAEA,OAAO,EAAO,WAAW,EAAoB,CAAC,IAAU,EAAO,GAAQ,CAAC,EAG5E,IAAM,EAA0D,CAC5D,CAAC,IAAK,cAAkB,EACxB,CAAC,IAAK,YAAe,EACrB,CAAC,IAAK,WAAc,EACpB,CAAC,KAAM,QAAU,EACjB,CAAC,KAAW,KAAK,EACjB,CAAC,KAAM,EAAE,CACb,EAEO,SAAS,CAAmB,CAAC,EAAe,CAC/C,GAAI,EAAS,CAAE,GAAK,EAAsB,CAAE,EACxC,OAAO,EAGX,IAAI,EAEJ,GAAI,CACA,EAAY,OAAO,CAAE,EACvB,KAAM,CACJ,OAAO,EAAG,SAAS,EAGvB,GAAI,IAAc,GACd,MAAO,MAGX,IAAM,EAAO,EAAY,GAAK,IAAM,GAC9B,EAAkB,CAAC,EAEzB,EAAY,EAAW,IAAI,CAAS,EAEpC,QAAY,EAAO,KAAU,EACzB,GAAI,GAAa,EACb,EAAM,KAAK,GAAG,EAAY,IAAQ,GAAO,EACzC,GAAa,EAIrB,OAAO,EAAO,EAAM,KAAK,GAAG,EAGzB,SAAS,CAAsB,CAAC,EAAkB,EAAoB,CACzE,GAAI,EAAS,CAAK,GAAK,EAAsB,CAAK,EAC9C,OAAO,EAGX,GAAI,CACA,OAAO,EAAoB,OAAO,CAAK,EAAI,CAAU,EACvD,KAAM,CACJ,OAAO,EAAM,SAAS,GAIvB,IAAM,EAAuB,CAAC,IAAkB,EAAuB,EAAI,QAAU,EAE/E,EAAkB,CAAC,IAAiB,EAAuB,EAAG,WAAc,EClFlF,IAAM,EAAY,IAAM,EAAgB,IAAI,IAAM,ECFlD,IAAM,EAAc,CAAC,IACxB,aAAiB,MAAQ,CAAC,OAAO,MAAM,EAAM,QAAQ,CAAC,ECD1D,cAAS,oBAEF,IAAM,EAAa,CAAC,IAAe,EAAI,IAAI,KAAK,CAAI,EAAG,CAAC,IAAM,CACjE,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACxB,EAEY,EAAW,CAAC,IAAe,EAAI,IAAI,KAAK,CAAI,EAAG,CAAC,IAAM,CAC/D,EAAE,SAAS,GAAI,GAAI,GAAI,GAAG,EAC7B",
12
+ "debugId": "82049ECCEC0683B364756E2164756E21",
13
+ "names": []
14
+ }
@@ -0,0 +1,4 @@
1
+ var i=(r)=>Buffer.isBuffer(r),s=(r)=>r instanceof ArrayBuffer,y=(r)=>r instanceof SharedArrayBuffer,a=(r)=>ArrayBuffer.isView(r),B=(r)=>i(r)||s(r)||y(r)||a(r);function m(r,e="utf8"){if(i(r))return r.toString(e);if(s(r)||y(r))return Buffer.from(r).toString(e);return Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString(e)}function u(r){if(r instanceof Uint8Array)return r;if(r instanceof ArrayBuffer||r instanceof SharedArrayBuffer)return new Uint8Array(r);return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function h(r){if(r.length===0)return new Uint8Array(0);let e=r.map(u),f=0,t=0;for(let n of e)f+=n.byteLength;let o=new Uint8Array(f);for(let n of e)o.set(n,t),t+=n.byteLength;return o}function k(r,e){if(r===e)return!0;let f=u(r),t=u(e);if(f.byteLength!==t.byteLength)return!1;let o=Buffer.from(f.buffer,f.byteOffset,f.byteLength),n=Buffer.from(t.buffer,t.byteOffset,t.byteLength);return o.equals(n)}export{i as gb,s as hb,y as ib,a as jb,B as kb,m as lb,u as mb,h as nb,k as ob};
2
+
3
+ //# debugId=E3DED33CA86B5E9664756E2164756E21
4
+ //# sourceMappingURL=chunk-xp18wdk6.js.map
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/buffers/guards.ts", "../src/buffers/conversions.ts", "../src/buffers/operations.ts"],
4
+ "sourcesContent": [
5
+ "import type { BufferLike } from './types'\n\nexport const isBuffer = (value: unknown): value is Buffer => Buffer.isBuffer(value)\n\nexport const isArrayBuffer = (value: unknown): value is ArrayBuffer => value instanceof ArrayBuffer\n\nexport const isSharedArrayBuffer = (value: unknown): value is SharedArrayBuffer => value instanceof SharedArrayBuffer\n\nexport const isArrayBufferView = (value: unknown): value is ArrayBufferView => ArrayBuffer.isView(value)\n\nexport const isBufferLike = (value: unknown): value is BufferLike => (\n isBuffer(value) || isArrayBuffer(value) || isSharedArrayBuffer(value) || isArrayBufferView(value)\n)\n",
6
+ "import type { BufferLike } from './types'\nimport { isArrayBuffer, isBuffer, isSharedArrayBuffer } from './guards'\n\nexport function bufferToString(buffer: BufferLike, encoding: BufferEncoding = 'utf8') {\n if (isBuffer(buffer)) {\n return buffer.toString(encoding)\n }\n\n if (isArrayBuffer(buffer) || isSharedArrayBuffer(buffer)) {\n return Buffer.from(buffer).toString(encoding)\n }\n\n return Buffer.from(buffer.buffer, buffer.byteOffset, buffer.byteLength).toString(encoding)\n}\n\nexport function toUint8Array(input: BufferLike) {\n if (input instanceof Uint8Array) {\n return input\n }\n\n if (input instanceof ArrayBuffer || input instanceof SharedArrayBuffer) {\n return new Uint8Array(input)\n }\n\n return new Uint8Array(input.buffer, input.byteOffset, input.byteLength)\n}\n",
7
+ "import type { BufferLike } from './types'\nimport { toUint8Array } from './conversions'\n\nexport function concatBuffers(buffers: BufferLike[]) {\n if (buffers.length === 0) {\n return new Uint8Array(0)\n }\n\n const normalized = buffers.map(toUint8Array)\n\n let totalLength = 0\n let offset = 0\n\n for (const buf of normalized) {\n totalLength += buf.byteLength\n }\n\n const result = new Uint8Array(totalLength)\n\n for (const buf of normalized) {\n result.set(buf, offset)\n offset += buf.byteLength\n }\n\n return result\n}\n\nexport function bufferEquals(a: BufferLike, b: BufferLike) {\n if (a === b) {\n return true\n }\n\n const u8a = toUint8Array(a)\n const u8b = toUint8Array(b)\n\n if (u8a.byteLength !== u8b.byteLength) {\n return false\n }\n\n const bufA = Buffer.from(u8a.buffer, u8a.byteOffset, u8a.byteLength)\n const bufB = Buffer.from(u8b.buffer, u8b.byteOffset, u8b.byteLength)\n\n return bufA.equals(bufB)\n}\n"
8
+ ],
9
+ "mappings": "AAEO,IAAM,EAAW,CAAC,IAAoC,OAAO,SAAS,CAAK,EAErE,EAAgB,CAAC,IAAyC,aAAiB,YAE3E,EAAsB,CAAC,IAA+C,aAAiB,kBAEvF,EAAoB,CAAC,IAA6C,YAAY,OAAO,CAAK,EAE1F,EAAe,CAAC,IACzB,EAAS,CAAK,GAAK,EAAc,CAAK,GAAK,EAAoB,CAAK,GAAK,EAAkB,CAAK,ECR7F,SAAS,CAAc,CAAC,EAAoB,EAA2B,OAAQ,CAClF,GAAI,EAAS,CAAM,EACf,OAAO,EAAO,SAAS,CAAQ,EAGnC,GAAI,EAAc,CAAM,GAAK,EAAoB,CAAM,EACnD,OAAO,OAAO,KAAK,CAAM,EAAE,SAAS,CAAQ,EAGhD,OAAO,OAAO,KAAK,EAAO,OAAQ,EAAO,WAAY,EAAO,UAAU,EAAE,SAAS,CAAQ,EAGtF,SAAS,CAAY,CAAC,EAAmB,CAC5C,GAAI,aAAiB,WACjB,OAAO,EAGX,GAAI,aAAiB,aAAe,aAAiB,kBACjD,OAAO,IAAI,WAAW,CAAK,EAG/B,OAAO,IAAI,WAAW,EAAM,OAAQ,EAAM,WAAY,EAAM,UAAU,ECrBnE,SAAS,CAAa,CAAC,EAAuB,CACjD,GAAI,EAAQ,SAAW,EACnB,OAAO,IAAI,WAAW,CAAC,EAG3B,IAAM,EAAa,EAAQ,IAAI,CAAY,EAEvC,EAAc,EACd,EAAS,EAEb,QAAW,KAAO,EACd,GAAe,EAAI,WAGvB,IAAM,EAAS,IAAI,WAAW,CAAW,EAEzC,QAAW,KAAO,EACd,EAAO,IAAI,EAAK,CAAM,EACtB,GAAU,EAAI,WAGlB,OAAO,EAGJ,SAAS,CAAY,CAAC,EAAe,EAAe,CACvD,GAAI,IAAM,EACN,MAAO,GAGX,IAAM,EAAM,EAAa,CAAC,EACpB,EAAM,EAAa,CAAC,EAE1B,GAAI,EAAI,aAAe,EAAI,WACvB,MAAO,GAGX,IAAM,EAAO,OAAO,KAAK,EAAI,OAAQ,EAAI,WAAY,EAAI,UAAU,EAC7D,EAAO,OAAO,KAAK,EAAI,OAAQ,EAAI,WAAY,EAAI,UAAU,EAEnE,OAAO,EAAK,OAAO,CAAI",
10
+ "debugId": "E3DED33CA86B5E9664756E2164756E21",
11
+ "names": []
12
+ }
@@ -0,0 +1,7 @@
1
+ import { LinkedMap } from './linked-map';
2
+ export declare class FifoMap<K, V> extends LinkedMap<K, V> {
3
+ peekNewest(): [K, V] | undefined;
4
+ peekOldest(): [K, V] | undefined;
5
+ set(key: K, value: V): this;
6
+ }
7
+ //# sourceMappingURL=fifo-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fifo-map.d.ts","sourceRoot":"","sources":["../../src/collections/fifo-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,qBAAa,OAAO,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9B,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAIhC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAIzC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAqBrC"}
@@ -0,0 +1,7 @@
1
+ import { LinkedSet } from './linked-set';
2
+ export declare class FifoSet<T> extends LinkedSet<T> {
3
+ add(value: T): this;
4
+ peekOldest(): T | undefined;
5
+ peekNewest(): T | undefined;
6
+ }
7
+ //# sourceMappingURL=fifo-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fifo-set.d.ts","sourceRoot":"","sources":["../../src/collections/fifo-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,qBAAa,OAAO,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACjC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAkBV,UAAU,IAAI,CAAC,GAAG,SAAS;IAI3B,UAAU,IAAI,CAAC,GAAG,SAAS;CAG9C"}
@@ -0,0 +1,7 @@
1
+ import type { CollectionLike, MapLike, SetLike } from './types';
2
+ export declare const isIterable: <T>(value: unknown) => value is Iterable<T>;
3
+ export declare const isCollectionLike: <T>(value: unknown) => value is CollectionLike<T>;
4
+ export declare const isEmptyCollection: (value: CollectionLike) => boolean;
5
+ export declare const isSetLike: <T>(value: unknown) => value is SetLike<T>;
6
+ export declare const isMapLike: <K, V>(value: unknown) => value is MapLike<K, V>;
7
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/collections/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAE/D,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,CAA2H,CAAA;AAE7L,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,cAAc,CAAC,CAAC,CAA2E,CAAA;AAEzJ,eAAO,MAAM,iBAAiB,GAAI,OAAO,cAAc,YAAqB,CAAA;AAE5E,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAiF,CAAA;AAEjJ,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8I,CAAA"}
@@ -0,0 +1,10 @@
1
+ export * from './fifo-map';
2
+ export * from './fifo-set';
3
+ export * from './guards';
4
+ export * from './linked-base';
5
+ export * from './linked-map';
6
+ export * from './linked-set';
7
+ export * from './lru-map';
8
+ export * from './lru-set';
9
+ export type * from './types';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collections/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAEzB,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ import{cc as a,dc as b,ec as c,fc as d,gc as e,hc as f,ic as g,jc as h,kc as i,lc as j,mc as k,nc as l}from"../chunk-qn6n0ff5.js";export{i as isSetLike,j as isMapLike,f as isIterable,h as isEmptyCollection,g as isCollectionLike,l as LruSet,k as LruMap,d as LinkedSet,b as LinkedMap,a as LinkedBase,e as FifoSet,c as FifoMap};
2
+
3
+ //# debugId=BB58FD23935152E464756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "BB58FD23935152E464756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,24 @@
1
+ export interface LinkedBaseNode {
2
+ next: LinkedBaseNode | null;
3
+ prev: LinkedBaseNode | null;
4
+ }
5
+ export declare abstract class LinkedBase<NodeKey, N extends LinkedBaseNode> {
6
+ readonly maxSize?: number | undefined;
7
+ protected readonly nodeMap: Map<NodeKey, N>;
8
+ protected currentSize: number;
9
+ protected head: N | null;
10
+ protected tail: N | null;
11
+ constructor(maxSize?: number | undefined);
12
+ get size(): number;
13
+ get [Symbol.toStringTag](): string;
14
+ clear(): void;
15
+ protected abstract getNodeKey(node: N): NodeKey;
16
+ protected addToHead(node: N): void;
17
+ protected addToTail(node: N): void;
18
+ protected deleteByKey(key: NodeKey): boolean;
19
+ protected moveToHead(node: N): void;
20
+ protected removeHead(): void;
21
+ protected removeNode(node: N): void;
22
+ protected removeTail(): void;
23
+ }
24
+ //# sourceMappingURL=linked-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-base.d.ts","sourceRoot":"","sources":["../../src/collections/linked-base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;CAC9B;AAED,8BAAsB,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,cAAc;aAO3B,OAAO,CAAC,EAAE,MAAM;IANnD,SAAS,CAAC,QAAQ,CAAC,OAAO,kBAAwB;IAElD,SAAS,CAAC,WAAW,SAAI;IACzB,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAO;IAC/B,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAO;gBAEI,OAAO,CAAC,EAAE,MAAM,YAAA;IAMnD,IAAW,IAAI,WAEd;IAED,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,WAE9B;IAEM,KAAK;IAOZ,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAE/C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAa3B,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAa3B,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO;IAclC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAK5B,SAAS,CAAC,UAAU;IAUpB,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAiB5B,SAAS,CAAC,UAAU;CASvB"}
@@ -0,0 +1,25 @@
1
+ import type { MapLike } from './types';
2
+ import { LinkedBase, type LinkedBaseNode } from './linked-base';
3
+ export interface LinkedMapNode<K, V> extends LinkedBaseNode {
4
+ key: K;
5
+ next: LinkedMapNode<K, V> | null;
6
+ prev: LinkedMapNode<K, V> | null;
7
+ value: V;
8
+ }
9
+ export declare abstract class LinkedMap<K, V> extends LinkedBase<K, LinkedMapNode<K, V>> implements MapLike<K, V> {
10
+ delete(key: K): boolean;
11
+ entries(): IterableIterator<[K, V]>;
12
+ forEach(callback: (value: V, key: K, map: this) => void): void;
13
+ get(key: K): V | undefined;
14
+ has(key: K): boolean;
15
+ keys(): IterableIterator<K>;
16
+ peekNewest(): [K, V] | undefined;
17
+ peekOldest(): [K, V] | undefined;
18
+ abstract set(key: K, value: V): this;
19
+ [Symbol.iterator](): IterableIterator<[K, V]>;
20
+ toJSON(): Array<[K, V]>;
21
+ values(): IterableIterator<V>;
22
+ protected createNode(key: K, value: V): LinkedMapNode<K, V>;
23
+ protected getNodeKey(node: LinkedMapNode<K, V>): K;
24
+ }
25
+ //# sourceMappingURL=linked-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-map.d.ts","sourceRoot":"","sources":["../../src/collections/linked-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc;IACvD,GAAG,EAAE,CAAC,CAAA;IACN,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAChC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,CAAC,CAAA;CACX;AAED,8BAAsB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,GAAG,EAAE,CAAC;IAIX,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IASrC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI;IAMvD,GAAG,CAAC,GAAG,EAAE,CAAC;IAIV,GAAG,CAAC,GAAG,EAAE,CAAC;IAIR,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAS7B,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAIhC,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;aAIvB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAEpC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAI7C,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAIrB,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAStC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAI3D,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;CAGjD"}
@@ -0,0 +1,23 @@
1
+ import type { SetLike } from './types';
2
+ import { LinkedBase, type LinkedBaseNode } from './linked-base';
3
+ export interface LinkedSetNode<T> extends LinkedBaseNode {
4
+ next: LinkedSetNode<T> | null;
5
+ prev: LinkedSetNode<T> | null;
6
+ value: T;
7
+ }
8
+ export declare abstract class LinkedSet<T> extends LinkedBase<T, LinkedSetNode<T>> implements SetLike<T> {
9
+ abstract add(value: T): this;
10
+ delete(value: T): boolean;
11
+ entries(): IterableIterator<[T, T]>;
12
+ forEach(callback: (value: T, value2: T, set: this) => void): void;
13
+ has(value: T): boolean;
14
+ keys(): IterableIterator<T>;
15
+ peekNewest(): T | undefined;
16
+ peekOldest(): T | undefined;
17
+ [Symbol.iterator](): IterableIterator<T>;
18
+ toJSON(): T[];
19
+ values(): IterableIterator<T>;
20
+ protected createNode(value: T): LinkedSetNode<T>;
21
+ protected getNodeKey(node: LinkedSetNode<T>): T;
22
+ }
23
+ //# sourceMappingURL=linked-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-set.d.ts","sourceRoot":"","sources":["../../src/collections/linked-set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,cAAc;IACpD,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC7B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC7B,KAAK,EAAE,CAAC,CAAA;CACX;AAED,8BAAsB,SAAS,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;aAC5E,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAE5B,MAAM,CAAC,KAAK,EAAE,CAAC;IAIb,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAMrC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,KAAK,IAAI;IAM1D,GAAG,CAAC,KAAK,EAAE,CAAC;IAIZ,IAAI;IAIJ,UAAU,IAAI,CAAC,GAAG,SAAS;IAI3B,UAAU,IAAI,CAAC,GAAG,SAAS;IAI3B,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,MAAM,IAAI,CAAC,EAAE;IAIX,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAStC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAIhD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;CAG9C"}
@@ -0,0 +1,6 @@
1
+ import { LinkedMap } from './linked-map';
2
+ export declare class LruMap<K, V> extends LinkedMap<K, V> {
3
+ get(key: K): V | undefined;
4
+ set(key: K, value: V): this;
5
+ }
6
+ //# sourceMappingURL=lru-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-map.d.ts","sourceRoot":"","sources":["../../src/collections/lru-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,EAAE,CAAC;IAUnB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAsBrC"}
@@ -0,0 +1,5 @@
1
+ import { LinkedSet } from './linked-set';
2
+ export declare class LruSet<T> extends LinkedSet<T> {
3
+ add(value: T): this;
4
+ }
5
+ //# sourceMappingURL=lru-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru-set.d.ts","sourceRoot":"","sources":["../../src/collections/lru-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,qBAAa,MAAM,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;CAqB7B"}
@@ -0,0 +1,11 @@
1
+ export type CollectionLike<T = unknown> = Iterable<T> & {
2
+ readonly size: number;
3
+ };
4
+ export type SetLike<T = unknown> = CollectionLike<T> & {
5
+ has(value: T): boolean;
6
+ };
7
+ export type MapLike<K = unknown, V = unknown> = CollectionLike<[K, V]> & {
8
+ entries(): Iterable<[K, V]>;
9
+ get(key: K): V | undefined;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/collections/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG;IACnD,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;IACrE,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAC7B,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Errorable, type ErrorCtor } from '@/errors';
2
+ export declare function assert(condition: unknown, message: Errorable, ctor?: ErrorCtor): asserts condition;
3
+ export declare function assertParam(condition: unknown, message: Errorable, ctor?: ErrorCtor): asserts condition;
4
+ //# sourceMappingURL=assertions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["../../src/common/assertions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAA;AAEtE,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAIlG;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAEvG"}
@@ -0,0 +1,2 @@
1
+ export declare function isEmpty(value: unknown): boolean;
2
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/common/guards.ts"],"names":[],"mappings":"AAKA,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,WA0BrC"}
@@ -0,0 +1,3 @@
1
+ export * from './assertions';
2
+ export * from './guards';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ import{oc as a,pc as b,qc as c}from"../chunk-6wkh99v0.js";export{c as isEmpty,b as assertParam,a as assert};
2
+
3
+ //# debugId=6ADC59FD4115837D64756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "6ADC59FD4115837D64756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_TRUE_STRINGS: Set<string>;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,aAAsC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import type { JsonablePrimitive, Primitive } from './types';
2
+ export declare const toString: (value: unknown) => string;
3
+ export declare function typeOf(value: unknown): string;
4
+ export declare const isNull: (value: unknown) => value is null;
5
+ export declare const isUndefined: (value: unknown) => value is undefined;
6
+ export declare const isNullish: (value: unknown) => value is null | undefined;
7
+ export declare const notNull: <T>(value: T) => value is Exclude<T, null>;
8
+ export declare const notUndefined: <T>(value: T) => value is Exclude<T, undefined>;
9
+ export declare const notNullish: <T>(value: T) => value is NonNullable<T>;
10
+ export declare const isBoolean: (value: unknown) => value is boolean;
11
+ export declare const isSymbol: (value: unknown) => value is symbol;
12
+ export declare const isBigInt: (value: unknown) => value is bigint;
13
+ export declare const isNumber: (value: unknown) => value is number;
14
+ export declare const isString: (value: unknown) => value is string;
15
+ export declare const isDate: (value: unknown) => value is Date;
16
+ export declare const isPrimitive: (value: unknown) => value is Primitive;
17
+ export declare const isJsonablePrimitive: (value: unknown) => value is JsonablePrimitive;
18
+ export interface IsTrueLikeOptions {
19
+ anyNonZeroNumber?: boolean;
20
+ trueStrings?: Set<string>;
21
+ }
22
+ export declare function isTrueLike(value: unknown, options?: IsTrueLikeOptions): boolean;
23
+ export declare const isGenerator: (value: unknown) => boolean;
24
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/core/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAG3D,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,WAA0C,CAAA;AAEjF,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM7C;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,IAAsB,CAAA;AACvE,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAgC,CAAA;AACtF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,IAAI,GAAG,SAAgD,CAAA;AAE3G,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,CAAmB,CAAA;AACjF,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,SAAS,CAAwB,CAAA;AAChG,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAsB,CAAA;AAErF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OAAqC,CAAA;AACzF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAmC,CAAA;AACtF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAmC,CAAA;AACtF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAmC,CAAA;AACtF,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAAmC,CAAA;AACtF,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,IAA6B,CAAA;AAE9E,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAyF,CAAA;AAE/I,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,iBAE7D,CAAA;AAED,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC5B;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,WAoBzE;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,OAK5C,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './constants';
2
+ export * from './guards';
3
+ export type * from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AAExB,mBAAmB,SAAS,CAAA"}
package/core/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import{Cd as a,Dd as b,Ed as c,Fd as d,Gd as e,Hd as f,Id as g,Jd as h,Kd as i,Ld as j,Md as k,Nd as l,Od as m,Pd as n,Qd as o,Rd as p,Sd as q,Td as r,Ud as s}from"../chunk-c9mm50vv.js";export{c as typeOf,b as toString,h as notUndefined,i as notNullish,g as notNull,e as isUndefined,r as isTrueLike,k as isSymbol,n as isString,p as isPrimitive,m as isNumber,f as isNullish,d as isNull,q as isJsonablePrimitive,s as isGenerator,o as isDate,j as isBoolean,l as isBigInt,a as DEFAULT_TRUE_STRINGS};
2
+
3
+ //# debugId=1FFA46F7881092C864756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "1FFA46F7881092C864756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,11 @@
1
+ export type Primitive = bigint | boolean | number | string | symbol | null | undefined;
2
+ export type Optional<T> = T | undefined;
3
+ export type Nullable<T> = T | null;
4
+ export type Nullish<T> = T | null | undefined;
5
+ export type Never<T extends never = never> = T;
6
+ export type IsContainsType<T, U> = Extract<T, U> extends never ? false : true;
7
+ export type JsonablePrimitive = boolean | number | string | null;
8
+ export type Jsonable = Jsonable[] | JsonablePrimitive | {
9
+ [key: string]: Jsonable;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAEtF,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;AAEvC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAElC,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;AAE7C,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,CAAC,CAAA;AAE9C,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAA;AAE7E,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;AAEhE,MAAM,MAAM,QAAQ,GAAG,QAAQ,EAAE,GAAG,iBAAiB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAA"}
@@ -0,0 +1,22 @@
1
+ export type BaseErrorCode = number | string;
2
+ export interface BaseErrorOptions extends ErrorOptions {
3
+ cause?: unknown;
4
+ code?: BaseErrorCode;
5
+ details?: string;
6
+ exitCode?: number;
7
+ name?: string;
8
+ retryable?: boolean;
9
+ timestamp?: Date;
10
+ }
11
+ export declare class BaseError extends Error {
12
+ readonly timestamp: Date;
13
+ readonly code?: BaseErrorCode;
14
+ readonly cause?: unknown;
15
+ readonly details?: string;
16
+ readonly exitCode?: number;
17
+ readonly retryable?: boolean;
18
+ constructor(message: string, { code, details, exitCode, name, retryable, timestamp, ...options }?: BaseErrorOptions);
19
+ withValue<K extends string, V>(key: K, value: V): Record<K, V> & this;
20
+ protected defineValue(key: string, value: unknown): this;
21
+ }
22
+ //# sourceMappingURL=base-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-error.d.ts","sourceRoot":"","sources":["../../src/errors/base-error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAE3C,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IAClD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,IAAI,CAAA;CACnB;AAED,qBAAa,SAAU,SAAQ,KAAK;IAChC,SAAwB,SAAS,EAAE,IAAI,CAAA;IACvC,SAAwB,IAAI,CAAC,EAAE,aAAa,CAAA;IAC5C,SAAwB,KAAK,CAAC,EAAE,OAAO,CAAA;IACvC,SAAwB,OAAO,CAAC,EAAE,MAAM,CAAA;IACxC,SAAwB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACzC,SAAwB,SAAS,CAAC,EAAE,OAAO,CAAA;gBAExB,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,GAAE,gBAAqB;IAcvH,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAQ5E,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAKpD"}
@@ -0,0 +1,12 @@
1
+ import type { Errorable, ErrorCtor, ErrorLike } from './types';
2
+ export declare const createAbortError: (message?: string, name?: string) => DOMException;
3
+ export declare const createTimeoutError: (message?: string, name?: string) => DOMException;
4
+ export declare function createAbortController(timeout?: number, timeoutError?: Errorable): AbortController;
5
+ export declare function ensureError(input: Errorable, ctor?: ErrorCtor): Error;
6
+ export declare function fromErrorLike({ cause, message, name, stack, ...properties }: ErrorLike, ctor?: ErrorCtor): Error;
7
+ export interface NormalizeErrorOptions {
8
+ defaultMessage?: string;
9
+ errorConstructor?: ErrorCtor;
10
+ }
11
+ export declare function normalizeError(error: unknown, { defaultMessage, errorConstructor }?: NormalizeErrorOptions): Error;
12
+ //# sourceMappingURL=factories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/errors/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAI9D,eAAO,MAAM,gBAAgB,GAAI,gBAAsC,EAAE,aAAmB,iBAAoC,CAAA;AAEhI,eAAO,MAAM,kBAAkB,GAAI,gBAAsD,EAAE,aAAqB,iBAAoC,CAAA;AAEpJ,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,mBAgB/E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,SAU7D;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,SAAS,SAYxG;AAED,MAAM,WAAW,qBAAqB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAA;CAC/B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,cAAgC,EAAE,gBAAgB,EAAE,GAAE,qBAA0B,SAgBhI"}
@@ -0,0 +1,7 @@
1
+ import type { ErrorLike } from './types';
2
+ import { BaseError } from './base-error';
3
+ export declare const isError: (value: unknown) => value is Error;
4
+ export declare const isBaseError: (value: unknown) => value is BaseError;
5
+ export declare const isAbortError: (error: unknown) => error is DOMException;
6
+ export declare const isErrorLike: (value: unknown) => value is ErrorLike;
7
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/errors/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,KAA+B,CAAA;AAEjF,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAuC,CAAA;AAE7F,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAA4E,CAAA;AAEnI,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAA+E,CAAA"}
@@ -0,0 +1,7 @@
1
+ export * from './base-error';
2
+ export * from './factories';
3
+ export * from './guards';
4
+ export * from './operations';
5
+ export * from './stringify';
6
+ export type * from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAE3B,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,4 @@
1
+ import{$c as c,Zc as a,_c as b,ad as d,bd as e,cd as f,dd as g,ed as h,fd as i,gd as j,hd as k,id as l,jd as m,kd as n,ld as o,md as p,nd as q,od as r}from"../chunk-4w1emwv7.js";import"../chunk-m4svr349.js";import"../chunk-c9mm50vv.js";export{q as stringifyErrorNode,r as stringifyError,k as normalizeError,e as isErrorLike,b as isError,c as isBaseError,d as isAbortError,j as fromErrorLike,i as ensureError,g as createTimeoutError,f as createAbortError,h as createAbortController,l as combineSignals,n as collectCauses,p as buildErrorParts,o as appendCauses,m as DEFAULT_STRINGIFY_FORMATTERS,a as BaseError};
2
+
3
+ //# debugId=E28DC19DE2460E8764756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "E28DC19DE2460E8764756E2164756E21",
8
+ "names": []
9
+ }
@@ -0,0 +1,3 @@
1
+ import { type Nullish } from '../core';
2
+ export declare function combineSignals(...signals: Array<Nullish<AbortSignal>>): AbortSignal;
3
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/errors/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,SAAS,CAAA;AAElD,wBAAgB,cAAc,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,eAYrE"}