@livestore/utils 0.4.0-dev.8 → 0.4.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 (226) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/NoopTracer.d.ts.map +1 -1
  3. package/dist/NoopTracer.js +17 -4
  4. package/dist/NoopTracer.js.map +1 -1
  5. package/dist/binary.js +1 -1
  6. package/dist/binary.js.map +1 -1
  7. package/dist/browser/Opfs/Opfs.d.ts +51 -0
  8. package/dist/browser/Opfs/Opfs.d.ts.map +1 -0
  9. package/dist/browser/Opfs/Opfs.js +345 -0
  10. package/dist/browser/Opfs/Opfs.js.map +1 -0
  11. package/dist/browser/Opfs/debug-utils.d.ts +20 -0
  12. package/dist/browser/Opfs/debug-utils.d.ts.map +1 -0
  13. package/dist/browser/Opfs/debug-utils.js +94 -0
  14. package/dist/browser/Opfs/debug-utils.js.map +1 -0
  15. package/dist/browser/Opfs/mod.d.ts +4 -0
  16. package/dist/browser/Opfs/mod.d.ts.map +1 -0
  17. package/dist/browser/Opfs/mod.js +4 -0
  18. package/dist/browser/Opfs/mod.js.map +1 -0
  19. package/dist/browser/Opfs/utils.d.ts +71 -0
  20. package/dist/browser/Opfs/utils.d.ts.map +1 -0
  21. package/dist/browser/Opfs/utils.js +218 -0
  22. package/dist/browser/Opfs/utils.js.map +1 -0
  23. package/dist/browser/QuotaExceededError.d.ts +59 -0
  24. package/dist/browser/QuotaExceededError.d.ts.map +1 -0
  25. package/dist/browser/QuotaExceededError.js +2 -0
  26. package/dist/browser/QuotaExceededError.js.map +1 -0
  27. package/dist/browser/WebChannelBrowser.d.ts +22 -0
  28. package/dist/browser/WebChannelBrowser.d.ts.map +1 -0
  29. package/dist/browser/WebChannelBrowser.js +76 -0
  30. package/dist/browser/WebChannelBrowser.js.map +1 -0
  31. package/dist/browser/WebError.d.ts +421 -0
  32. package/dist/browser/WebError.d.ts.map +1 -0
  33. package/dist/browser/WebError.js +416 -0
  34. package/dist/browser/WebError.js.map +1 -0
  35. package/dist/browser/WebError.test.d.ts +2 -0
  36. package/dist/browser/WebError.test.d.ts.map +1 -0
  37. package/dist/browser/WebError.test.js +46 -0
  38. package/dist/browser/WebError.test.js.map +1 -0
  39. package/dist/browser/WebLock.d.ts.map +1 -0
  40. package/dist/{effect → browser}/WebLock.js +9 -9
  41. package/dist/browser/WebLock.js.map +1 -0
  42. package/dist/{browser.d.ts → browser/detect.d.ts} +1 -1
  43. package/dist/browser/detect.d.ts.map +1 -0
  44. package/dist/{browser.js → browser/detect.js} +7 -7
  45. package/dist/browser/detect.js.map +1 -0
  46. package/dist/browser/mod.d.ts +8 -0
  47. package/dist/browser/mod.d.ts.map +1 -0
  48. package/dist/browser/mod.js +8 -0
  49. package/dist/browser/mod.js.map +1 -0
  50. package/dist/cuid/cuid.browser.js +1 -1
  51. package/dist/cuid/cuid.browser.js.map +1 -1
  52. package/dist/cuid/cuid.node.js +1 -1
  53. package/dist/cuid/cuid.node.js.map +1 -1
  54. package/dist/effect/BucketQueue.d.ts +1 -1
  55. package/dist/effect/BucketQueue.d.ts.map +1 -1
  56. package/dist/effect/BucketQueue.js.map +1 -1
  57. package/dist/effect/Debug.d.ts +41 -0
  58. package/dist/effect/Debug.d.ts.map +1 -0
  59. package/dist/effect/Debug.js +354 -0
  60. package/dist/effect/Debug.js.map +1 -0
  61. package/dist/effect/Effect.d.ts +72 -12
  62. package/dist/effect/Effect.d.ts.map +1 -1
  63. package/dist/effect/Effect.js +96 -12
  64. package/dist/effect/Effect.js.map +1 -1
  65. package/dist/effect/Error.js +1 -1
  66. package/dist/effect/Error.js.map +1 -1
  67. package/dist/effect/Logger.js +2 -2
  68. package/dist/effect/Logger.js.map +1 -1
  69. package/dist/effect/RpcClient.d.ts.map +1 -1
  70. package/dist/effect/RpcClient.js +11 -4
  71. package/dist/effect/RpcClient.js.map +1 -1
  72. package/dist/effect/Schema/debug-diff.js +5 -4
  73. package/dist/effect/Schema/debug-diff.js.map +1 -1
  74. package/dist/effect/Schema/debug-diff.test.js +1 -1
  75. package/dist/effect/Schema/debug-diff.test.js.map +1 -1
  76. package/dist/effect/Schema/index.d.ts +5 -3
  77. package/dist/effect/Schema/index.d.ts.map +1 -1
  78. package/dist/effect/Schema/index.js +2 -2
  79. package/dist/effect/Schema/index.js.map +1 -1
  80. package/dist/effect/ServiceContext.js +6 -6
  81. package/dist/effect/ServiceContext.js.map +1 -1
  82. package/dist/effect/Stream.test.js +3 -3
  83. package/dist/effect/Stream.test.js.map +1 -1
  84. package/dist/effect/SubscriptionRef.d.ts +4 -4
  85. package/dist/effect/SubscriptionRef.d.ts.map +1 -1
  86. package/dist/effect/WebChannel/WebChannel.d.ts +4 -23
  87. package/dist/effect/WebChannel/WebChannel.d.ts.map +1 -1
  88. package/dist/effect/WebChannel/WebChannel.js +9 -85
  89. package/dist/effect/WebChannel/WebChannel.js.map +1 -1
  90. package/dist/effect/WebChannel/WebChannel.test.js +1 -1
  91. package/dist/effect/WebChannel/WebChannel.test.js.map +1 -1
  92. package/dist/effect/WebChannel/broadcastChannelWithAck.js +4 -4
  93. package/dist/effect/WebChannel/broadcastChannelWithAck.js.map +1 -1
  94. package/dist/effect/WebChannel/common.d.ts +2 -2
  95. package/dist/effect/WebChannel/common.d.ts.map +1 -1
  96. package/dist/effect/WebChannel/common.js +2 -2
  97. package/dist/effect/WebChannel/common.js.map +1 -1
  98. package/dist/effect/WebSocket.d.ts.map +1 -1
  99. package/dist/effect/WebSocket.js +14 -14
  100. package/dist/effect/WebSocket.js.map +1 -1
  101. package/dist/effect/{index.d.ts → mod.d.ts} +4 -4
  102. package/dist/effect/mod.d.ts.map +1 -0
  103. package/dist/effect/{index.js → mod.js} +5 -5
  104. package/dist/effect/mod.js.map +1 -0
  105. package/dist/effect/spanEvent.d.ts +12 -0
  106. package/dist/effect/spanEvent.d.ts.map +1 -0
  107. package/dist/effect/spanEvent.js +12 -0
  108. package/dist/effect/spanEvent.js.map +1 -0
  109. package/dist/effect/spanEvent.test.d.ts +2 -0
  110. package/dist/effect/spanEvent.test.d.ts.map +1 -0
  111. package/dist/effect/spanEvent.test.js +82 -0
  112. package/dist/effect/spanEvent.test.js.map +1 -0
  113. package/dist/env.d.ts.map +1 -1
  114. package/dist/env.js +1 -1
  115. package/dist/env.js.map +1 -1
  116. package/dist/fast-deep-equal.js +9 -9
  117. package/dist/fast-deep-equal.js.map +1 -1
  118. package/dist/global.d.ts +3 -0
  119. package/dist/global.d.ts.map +1 -1
  120. package/dist/global.js.map +1 -1
  121. package/dist/guards.d.ts +14 -0
  122. package/dist/guards.d.ts.map +1 -1
  123. package/dist/guards.js +14 -0
  124. package/dist/guards.js.map +1 -1
  125. package/dist/misc.d.ts +9 -1
  126. package/dist/misc.d.ts.map +1 -1
  127. package/dist/misc.js +11 -3
  128. package/dist/misc.js.map +1 -1
  129. package/dist/mod.d.ts +197 -5
  130. package/dist/mod.d.ts.map +1 -1
  131. package/dist/mod.js +162 -17
  132. package/dist/mod.js.map +1 -1
  133. package/dist/node/ChildProcessRunner/ChildProcessRunner.d.ts.map +1 -1
  134. package/dist/node/ChildProcessRunner/ChildProcessRunner.js +15 -9
  135. package/dist/node/ChildProcessRunner/ChildProcessRunner.js.map +1 -1
  136. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts +8 -0
  137. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.d.ts.map +1 -1
  138. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js +16 -17
  139. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.js.map +1 -1
  140. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/schema.d.ts +4 -4
  141. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js +3 -3
  142. package/dist/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.js.map +1 -1
  143. package/dist/node/ChildProcessRunner/ChildProcessWorker.d.ts.map +1 -1
  144. package/dist/node/ChildProcessRunner/ChildProcessWorker.js +4 -4
  145. package/dist/node/ChildProcessRunner/ChildProcessWorker.js.map +1 -1
  146. package/dist/node/mod.d.ts +34 -1
  147. package/dist/node/mod.d.ts.map +1 -1
  148. package/dist/node/mod.js +37 -2
  149. package/dist/node/mod.js.map +1 -1
  150. package/dist/object/index.d.ts.map +1 -1
  151. package/dist/object/index.js.map +1 -1
  152. package/dist/object/omit.js +1 -1
  153. package/dist/object/omit.js.map +1 -1
  154. package/dist/object/stringify-object.js +2 -2
  155. package/dist/object/stringify-object.js.map +1 -1
  156. package/dist/object/stringify-object.test.js.map +1 -1
  157. package/dist/qr.d.ts +38 -0
  158. package/dist/qr.d.ts.map +1 -0
  159. package/dist/qr.js +109 -0
  160. package/dist/qr.js.map +1 -0
  161. package/dist/set.js +1 -1
  162. package/dist/set.js.map +1 -1
  163. package/dist/time.js +1 -1
  164. package/dist/time.js.map +1 -1
  165. package/package.json +78 -54
  166. package/src/NoopTracer.ts +22 -8
  167. package/src/binary.ts +1 -1
  168. package/src/browser/Opfs/Opfs.ts +436 -0
  169. package/src/browser/Opfs/debug-utils.ts +153 -0
  170. package/src/browser/Opfs/mod.ts +3 -0
  171. package/src/browser/Opfs/utils.ts +287 -0
  172. package/src/browser/QuotaExceededError.ts +57 -0
  173. package/src/browser/WebChannelBrowser.ts +131 -0
  174. package/src/browser/WebError.test.ts +66 -0
  175. package/src/browser/WebError.ts +613 -0
  176. package/src/{effect → browser}/WebLock.ts +15 -15
  177. package/src/{browser.ts → browser/detect.ts} +6 -6
  178. package/src/browser/mod.ts +8 -0
  179. package/src/cuid/cuid.browser.ts +1 -1
  180. package/src/cuid/cuid.node.ts +1 -1
  181. package/src/effect/BucketQueue.ts +1 -1
  182. package/src/effect/Debug.ts +470 -0
  183. package/src/effect/Effect.ts +118 -36
  184. package/src/effect/Error.ts +1 -1
  185. package/src/effect/Logger.ts +2 -2
  186. package/src/effect/RpcClient.ts +14 -6
  187. package/src/effect/Schema/debug-diff.test.ts +2 -2
  188. package/src/effect/Schema/debug-diff.ts +6 -5
  189. package/src/effect/Schema/index.ts +10 -7
  190. package/src/effect/ServiceContext.ts +6 -6
  191. package/src/effect/Stream.test.ts +5 -4
  192. package/src/effect/SubscriptionRef.ts +5 -5
  193. package/src/effect/WebChannel/WebChannel.test.ts +1 -1
  194. package/src/effect/WebChannel/WebChannel.ts +19 -141
  195. package/src/effect/WebChannel/broadcastChannelWithAck.ts +4 -4
  196. package/src/effect/WebChannel/common.ts +5 -5
  197. package/src/effect/WebSocket.ts +13 -12
  198. package/src/effect/{index.ts → mod.ts} +10 -2
  199. package/src/effect/spanEvent.test.ts +95 -0
  200. package/src/effect/spanEvent.ts +15 -0
  201. package/src/env.ts +2 -1
  202. package/src/fast-deep-equal.ts +9 -9
  203. package/src/global.ts +4 -2
  204. package/src/guards.ts +15 -0
  205. package/src/misc.ts +12 -4
  206. package/src/mod.ts +209 -17
  207. package/src/node/ChildProcessRunner/ChildProcessRunner.ts +23 -10
  208. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/ChildProcessRunner.test.ts +30 -21
  209. package/src/node/ChildProcessRunner/ChildProcessRunnerTest/serializedWorker.ts +10 -11
  210. package/src/node/ChildProcessRunner/ChildProcessWorker.ts +5 -4
  211. package/src/node/mod.ts +41 -2
  212. package/src/object/index.ts +1 -1
  213. package/src/object/omit.ts +1 -1
  214. package/src/object/stringify-object.test.ts +1 -0
  215. package/src/object/stringify-object.ts +2 -2
  216. package/src/qr.ts +125 -0
  217. package/src/set.ts +1 -1
  218. package/src/time.ts +1 -1
  219. package/dist/.tsbuildinfo.json +0 -1
  220. package/dist/browser.d.ts.map +0 -1
  221. package/dist/browser.js.map +0 -1
  222. package/dist/effect/WebLock.d.ts.map +0 -1
  223. package/dist/effect/WebLock.js.map +0 -1
  224. package/dist/effect/index.d.ts.map +0 -1
  225. package/dist/effect/index.js.map +0 -1
  226. /package/dist/{effect → browser}/WebLock.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/effect/mod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Effect } from 'effect';
2
+ /**
3
+ * Emits a span event on the current Effect span via the tracer logger.
4
+ *
5
+ * @remarks
6
+ *
7
+ * Unlike raw `otelSpan.addEvent`, this doesn't require manual span threading —
8
+ * it automatically targets the nearest enclosing `Effect.withSpan`. If no span
9
+ * is in context, the call is a no-op.
10
+ */
11
+ export declare const spanEvent: (message: any, attributes?: Record<string, unknown>) => Effect.Effect<void, never, never>;
12
+ //# sourceMappingURL=spanEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spanEvent.d.ts","sourceRoot":"","sources":["../../src/effect/spanEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,QAAQ,CAAA;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,GAAG,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,sCAGzE,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Effect, FiberRef, HashSet, Logger } from 'effect';
2
+ /**
3
+ * Emits a span event on the current Effect span via the tracer logger.
4
+ *
5
+ * @remarks
6
+ *
7
+ * Unlike raw `otelSpan.addEvent`, this doesn't require manual span threading —
8
+ * it automatically targets the nearest enclosing `Effect.withSpan`. If no span
9
+ * is in context, the call is a no-op.
10
+ */
11
+ export const spanEvent = (message, attributes) => Effect.locallyWith(Effect.log(message).pipe(Effect.annotateLogs(attributes ?? {})), FiberRef.currentLoggers, () => HashSet.make(Logger.tracerLogger));
12
+ //# sourceMappingURL=spanEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spanEvent.js","sourceRoot":"","sources":["../../src/effect/spanEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE1D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAY,EAAE,UAAoC,EAAE,EAAE,CAC9E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAChH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAClC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spanEvent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spanEvent.test.d.ts","sourceRoot":"","sources":["../../src/effect/spanEvent.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { it, describe, expect } from '@effect/vitest';
2
+ import { Effect, Tracer } from 'effect';
3
+ import { spanEvent } from "./spanEvent.js";
4
+ /**
5
+ * Creates a test tracer that captures span events for assertion,
6
+ * using only the public `Tracer` API (no internal NativeSpan access).
7
+ * Each span records its own events, retrievable by span name.
8
+ */
9
+ const makeTestTracer = () => {
10
+ const spanEvents = new Map();
11
+ const tracer = Tracer.make({
12
+ span(name, parent, context, links, startTime, kind) {
13
+ const events = [];
14
+ spanEvents.set(name, events);
15
+ const attributes = new Map();
16
+ return {
17
+ _tag: 'Span',
18
+ name,
19
+ spanId: `test-${name}`,
20
+ traceId: 'test-trace',
21
+ parent,
22
+ context,
23
+ status: { _tag: 'Started', startTime },
24
+ attributes,
25
+ links: [...links],
26
+ sampled: true,
27
+ kind,
28
+ end() { },
29
+ attribute(key, value) {
30
+ attributes.set(key, value);
31
+ },
32
+ event(eventName, _startTime, attrs) {
33
+ events.push({ name: eventName, attributes: attrs });
34
+ },
35
+ addLinks() { },
36
+ };
37
+ },
38
+ context(f) {
39
+ return f();
40
+ },
41
+ });
42
+ return {
43
+ tracer,
44
+ getEvents: (spanName) => spanEvents.get(spanName) ?? [],
45
+ };
46
+ };
47
+ describe('spanEvent', () => {
48
+ it.effect('should emit a span event with the given message', () => {
49
+ const { tracer, getEvents } = makeTestTracer();
50
+ return Effect.gen(function* () {
51
+ yield* spanEvent('test-event');
52
+ const events = getEvents('test-span');
53
+ expect(events).toHaveLength(1);
54
+ expect(events[0].name).toBe('test-event');
55
+ }).pipe(Effect.withSpan('test-span'), Effect.withTracer(tracer));
56
+ });
57
+ it.effect('should emit a span event with attributes', () => {
58
+ const { tracer, getEvents } = makeTestTracer();
59
+ return Effect.gen(function* () {
60
+ yield* spanEvent('event-with-attrs', { key1: 'value1', key2: 42 });
61
+ const events = getEvents('test-span');
62
+ expect(events).toHaveLength(1);
63
+ expect(events[0].name).toBe('event-with-attrs');
64
+ expect(events[0].attributes).toMatchObject({ key1: 'value1', key2: 42 });
65
+ }).pipe(Effect.withSpan('test-span'), Effect.withTracer(tracer));
66
+ });
67
+ it.effect('should emit to the nearest enclosing span', () => {
68
+ const { tracer, getEvents } = makeTestTracer();
69
+ return Effect.gen(function* () {
70
+ yield* spanEvent('outer-event');
71
+ yield* spanEvent('inner-event').pipe(Effect.withSpan('inner-span'));
72
+ const outerEvents = getEvents('outer-span');
73
+ const innerEvents = getEvents('inner-span');
74
+ expect(outerEvents).toHaveLength(1);
75
+ expect(outerEvents[0].name).toBe('outer-event');
76
+ expect(innerEvents).toHaveLength(1);
77
+ expect(innerEvents[0].name).toBe('inner-event');
78
+ }).pipe(Effect.withSpan('outer-span'), Effect.withTracer(tracer));
79
+ });
80
+ it.effect('should be a no-op when no span is in context', () => spanEvent('orphan-event'));
81
+ });
82
+ //# sourceMappingURL=spanEvent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spanEvent.test.js","sourceRoot":"","sources":["../../src/effect/spanEvent.test.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAY3C,CAAA;AAGD,eAAO,MAAM,aAAa,SAAsF,CAAA;AAEhH,iDAAiD;AACjD,eAAO,MAAM,MAAM,SAA4D,CAAA;AAE/E,eAAO,MAAM,KAAK,SAAuB,CAAA;AAEzC,eAAO,MAAM,MAAM,SAA6B,CAAA;AAEhD,eAAO,MAAM,eAAe,SAA0E,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAY3C,CAAA;AAGD,eAAO,MAAM,aAAa,SAAsF,CAAA;AAEhH,iDAAiD;AACjD,eAAO,MAAM,MAAM,SAA4D,CAAA;AAE/E,eAAO,MAAM,KAAK,SAAuB,CAAA;AAEzC,eAAO,MAAM,MAAM,SAA6B,CAAA;AAEhD,eAAO,MAAM,eAAe,SACwF,CAAA"}
package/dist/env.js CHANGED
@@ -17,5 +17,5 @@ export const TRACE_VERBOSE = env('LS_TRACE_VERBOSE') !== undefined || env('VITE_
17
17
  export const LS_DEV = envTruish(env('LS_DEV')) || envTruish(env('VITE_LS_DEV'));
18
18
  export const IS_CI = envTruish(env('CI'));
19
19
  export const IS_BUN = typeof Bun !== 'undefined';
20
- export const IS_REACT_NATIVE = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
20
+ export const IS_REACT_NATIVE = typeof navigator !== 'undefined' && navigator['product'] === 'ReactNative';
21
21
  //# sourceMappingURL=env.js.map
package/dist/env.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAsB,EAAE;IACtD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS,CAAA;AAEhH,iDAAiD;AACjD,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,WAAW,CAAA;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,WAAW,IAAI,SAAS,CAAC,OAAO,KAAK,aAAa,CAAA"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAsB,EAAE;IACtD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,oCAAoC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,uBAAuB,CAAC,KAAK,SAAS,CAAA;AAEhH,iDAAiD;AACjD,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,WAAW,CAAA;AAEhD,MAAM,CAAC,MAAM,eAAe,GAC1B,OAAO,SAAS,KAAK,WAAW,IAAK,SAAgD,CAAC,SAAS,CAAC,KAAK,aAAa,CAAA"}
@@ -3,20 +3,20 @@
3
3
  export const deepEqual = (a, b) => {
4
4
  if (a === b)
5
5
  return true;
6
- if (a && b && typeof a === 'object' && typeof b === 'object') {
6
+ if (a != null && b != null && typeof a === 'object' && typeof b === 'object') {
7
7
  if (a.constructor !== b.constructor)
8
8
  return false;
9
9
  let length;
10
10
  let i;
11
11
  let keys;
12
- if (Array.isArray(a)) {
12
+ if (Array.isArray(a) === true) {
13
13
  length = a.length;
14
14
  // @ts-expect-error ...
15
15
  if (length !== b.length)
16
16
  return false;
17
17
  for (i = length; i-- !== 0;)
18
18
  // @ts-expect-error ...
19
- if (!deepEqual(a[i], b[i]))
19
+ if (deepEqual(a[i], b[i]) === false)
20
20
  return false;
21
21
  return true;
22
22
  }
@@ -24,10 +24,10 @@ export const deepEqual = (a, b) => {
24
24
  if (a.size !== b.size)
25
25
  return false;
26
26
  for (i of a.entries())
27
- if (!b.has(i[0]))
27
+ if (b.has(i[0]) === false)
28
28
  return false;
29
29
  for (i of a.entries())
30
- if (!deepEqual(i[1], b.get(i[0])))
30
+ if (deepEqual(i[1], b.get(i[0])) === false)
31
31
  return false;
32
32
  return true;
33
33
  }
@@ -35,11 +35,11 @@ export const deepEqual = (a, b) => {
35
35
  if (a.size !== b.size)
36
36
  return false;
37
37
  for (i of a.entries())
38
- if (!b.has(i[0]))
38
+ if (b.has(i[0]) === false)
39
39
  return false;
40
40
  return true;
41
41
  }
42
- if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
42
+ if (ArrayBuffer.isView(a) === true && ArrayBuffer.isView(b) === true) {
43
43
  // @ts-expect-error ...
44
44
  length = a.length;
45
45
  // @ts-expect-error ...
@@ -63,12 +63,12 @@ export const deepEqual = (a, b) => {
63
63
  if (length !== Object.keys(b).length)
64
64
  return false;
65
65
  for (i = length; i-- !== 0;)
66
- if (!Object.hasOwn(b, keys[i]))
66
+ if (Object.prototype.hasOwnProperty.call(b, keys[i]) === false)
67
67
  return false;
68
68
  for (i = length; i-- !== 0;) {
69
69
  const key = keys[i];
70
70
  // @ts-expect-error ...
71
- if (!deepEqual(a[key], b[key]))
71
+ if (deepEqual(a[key], b[key]) === false)
72
72
  return false;
73
73
  }
74
74
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"fast-deep-equal.js","sourceRoot":"","sources":["../src/fast-deep-equal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fast-deep-equal.js","sourceRoot":"","sources":["../src/fast-deep-equal.ts"],"names":[],"mappings":"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"}
package/dist/global.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  declare global {
2
2
  export type TODO<_Reason extends string = 'unknown'> = any;
3
3
  export type UNUSED<_Reason extends string = 'unknown'> = any;
4
+ interface ImportMeta {
5
+ main: boolean;
6
+ }
4
7
  }
5
8
  export {};
6
9
  //# sourceMappingURL=global.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,MAAM,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI,GAAG,CAAA;IAC1D,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI,GAAG,CAAA;CAC7D;AAED,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,MAAM,IAAI,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI,GAAG,CAAA;IAC1D,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI,GAAG,CAAA;IAE5D,UAAU,UAAU;QAClB,IAAI,EAAE,OAAO,CAAA;KACd;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":""}
package/dist/guards.d.ts CHANGED
@@ -1,6 +1,20 @@
1
+ /** Type guard that narrows `T | undefined` to `T`. Useful for filtering arrays. */
1
2
  export declare const isNotUndefined: <T>(_: T | undefined) => _ is T;
3
+ /** Type guard that narrows `T | null` to `T`. */
2
4
  export declare const isNotNull: <T>(_: T | null) => _ is T;
5
+ /** Type guard that checks if a value is `undefined`. */
3
6
  export declare const isUndefined: <T>(_: T | undefined) => _ is undefined;
7
+ /** Type guard that checks if a value is `null` or `undefined`. */
4
8
  export declare const isNil: (val: any) => val is null | undefined;
9
+ /**
10
+ * Type guard that narrows `T | undefined | null` to `T`.
11
+ * Commonly used to filter out nullish values from arrays.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const values = [1, null, 2, undefined, 3]
16
+ * const nonNil = values.filter(isNotNil) // [1, 2, 3] (type: number[])
17
+ * ```
18
+ */
5
19
  export declare const isNotNil: <T>(val: T | undefined | null) => val is T;
6
20
  //# sourceMappingURL=guards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,KAAG,CAAC,IAAI,CAAoB,CAAA;AAE9E,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,KAAG,CAAC,IAAI,CAAe,CAAA;AAC/D,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,KAAG,CAAC,IAAI,SAA4B,CAAA;AAEnF,eAAO,MAAM,KAAK,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,IAAI,GAAG,SAA8C,CAAA;AAE7F,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI,KAAG,GAAG,IAAI,CAAsC,CAAA"}
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,KAAG,CAAC,IAAI,CAAoB,CAAA;AAE9E,iDAAiD;AACjD,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,KAAG,CAAC,IAAI,CAAe,CAAA;AAE/D,wDAAwD;AACxD,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,KAAG,CAAC,IAAI,SAA4B,CAAA;AAEnF,kEAAkE;AAClE,eAAO,MAAM,KAAK,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,IAAI,GAAG,SAA8C,CAAA;AAE7F;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,KAAK,CAAC,GAAG,SAAS,GAAG,IAAI,KAAG,GAAG,IAAI,CAAsC,CAAA"}
package/dist/guards.js CHANGED
@@ -1,6 +1,20 @@
1
+ /** Type guard that narrows `T | undefined` to `T`. Useful for filtering arrays. */
1
2
  export const isNotUndefined = (_) => _ !== undefined;
3
+ /** Type guard that narrows `T | null` to `T`. */
2
4
  export const isNotNull = (_) => _ !== null;
5
+ /** Type guard that checks if a value is `undefined`. */
3
6
  export const isUndefined = (_) => _ === undefined;
7
+ /** Type guard that checks if a value is `null` or `undefined`. */
4
8
  export const isNil = (val) => val === null || val === undefined;
9
+ /**
10
+ * Type guard that narrows `T | undefined | null` to `T`.
11
+ * Commonly used to filter out nullish values from arrays.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const values = [1, null, 2, undefined, 3]
16
+ * const nonNil = values.filter(isNotNil) // [1, 2, 3] (type: number[])
17
+ * ```
18
+ */
5
19
  export const isNotNil = (val) => val !== null && val !== undefined;
6
20
  //# sourceMappingURL=guards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,CAAgB,EAAU,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,CAAW,EAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,CAAgB,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAEnF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAA2B,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA;AAE7F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,GAAyB,EAAY,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,CAAgB,EAAU,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAE9E,iDAAiD;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,CAAW,EAAU,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;AAE/D,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,CAAgB,EAAkB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAEnF,kEAAkE;AAClE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAA2B,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA;AAE7F;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,GAAyB,EAAY,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAA"}
package/dist/misc.d.ts CHANGED
@@ -2,5 +2,13 @@ export declare const isDevEnv: () => string | boolean | undefined;
2
2
  export declare const objectToString: (error: any) => string;
3
3
  export declare const tryAsFunctionAndNew: <TArg, TResult>(fnOrConstructor: ((arg: TArg) => TResult) | (new (arg: TArg) => TResult), arg: TArg) => TResult;
4
4
  export declare const envTruish: (env: string | undefined) => boolean;
5
- export declare const shouldNeverHappen: (msg?: string, ...args: any[]) => never;
5
+ /**
6
+ * Logs and throws for impossible states, pausing at a breakpoint in development.
7
+ *
8
+ * @param msg - The error message to log and pass to the error.
9
+ * @param args - Arbitrary arguments to include in the log.
10
+ *
11
+ * @see {@link dieDebugger} for the Effect equivalent.
12
+ */
13
+ export declare const shouldNeverHappen: (msg?: string, ...args: ReadonlyArray<unknown>) => never;
6
14
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,oCAiBpB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,GAAG,KAAG,MAW3C,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,IAAI,EAAE,OAAO,EAC/C,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,EACxE,KAAK,IAAI,KACR,OAQF,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,SAAS,YACgC,CAAA;AAEjF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,KAAG,KAQhE,CAAA"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,oCAiBpB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,GAAG,KAAG,MAW3C,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,IAAI,EAAE,OAAO,EAC/C,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,EACxE,KAAK,IAAI,KACR,OAQF,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,GAAG,SAAS,YACgC,CAAA;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAAG,KAQjF,CAAA"}
package/dist/misc.js CHANGED
@@ -8,7 +8,7 @@ export const isDevEnv = () => {
8
8
  return import.meta.env.DEV;
9
9
  }
10
10
  // @ts-expect-error Only exists in Expo / RN
11
- if (globalThis?.__DEV__) {
11
+ if (globalThis?.__DEV__ === true) {
12
12
  return true;
13
13
  }
14
14
  return false;
@@ -36,10 +36,18 @@ export const tryAsFunctionAndNew = (fnOrConstructor, arg) => {
36
36
  }
37
37
  };
38
38
  export const envTruish = (env) => env !== undefined && env.toLowerCase() !== 'false' && env.toLowerCase() !== '0';
39
+ /**
40
+ * Logs and throws for impossible states, pausing at a breakpoint in development.
41
+ *
42
+ * @param msg - The error message to log and pass to the error.
43
+ * @param args - Arbitrary arguments to include in the log.
44
+ *
45
+ * @see {@link dieDebugger} for the Effect equivalent.
46
+ */
39
47
  export const shouldNeverHappen = (msg, ...args) => {
40
48
  console.error(msg, ...args);
41
- if (isDevEnv()) {
42
- // biome-ignore lint/suspicious/noDebugger: debugging
49
+ if (isDevEnv() === true) {
50
+ // oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint during development
43
51
  debugger;
44
52
  }
45
53
  throw new Error(`This should never happen: ${msg}`);
package/dist/misc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;IAC9C,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC5B,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC7B,IAAI,GAAG,KAAK,iBAAiB;QAAE,OAAO,GAAG,CAAA;IAEzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,+BAA+B,CAAC,EAAE,CAAA;IAC3C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,eAAwE,EACxE,GAAS,EACA,EAAE;IACX,IAAI,CAAC;QACH,0CAA0C;QAC1C,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,uCAAuC;QACvC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAuB,EAAE,EAAE,CACnD,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAA;AAEjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAAE,GAAG,IAAW,EAAS,EAAE;IACvE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3B,IAAI,QAAQ,EAAE,EAAE,CAAC;QACf,qDAAqD;QACrD,QAAQ,CAAA;IACV,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;IAC9C,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC5B,CAAC;IAED,4CAA4C;IAC5C,IAAI,UAAU,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAU,EAAE;IACnD,MAAM,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC7B,IAAI,GAAG,KAAK,iBAAiB;QAAE,OAAO,GAAG,CAAA;IAEzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,+BAA+B,CAAC,EAAE,CAAA;IAC3C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,eAAwE,EACxE,GAAS,EACA,EAAE;IACX,IAAI,CAAC;QACH,0CAA0C;QAC1C,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,uCAAuC;QACvC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAuB,EAAE,EAAE,CACnD,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,CAAA;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAY,EAAE,GAAG,IAA4B,EAAS,EAAE;IACxF,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC3B,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QACxB,4FAA4F;QAC5F,QAAQ,CAAA;IACV,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAA;AACrD,CAAC,CAAA"}