@livestore/utils 0.0.54-dev.4 → 0.0.54

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 (132) hide show
  1. package/dist/.tsbuildinfo.json +1 -1
  2. package/dist/Deferred.d.ts.map +1 -1
  3. package/dist/NoopTracer.d.ts.map +1 -1
  4. package/dist/effect/Effect.d.ts +6 -5
  5. package/dist/effect/Effect.d.ts.map +1 -1
  6. package/dist/effect/Effect.js +47 -15
  7. package/dist/effect/Effect.js.map +1 -1
  8. package/dist/effect/Scheduler.d.ts +4 -0
  9. package/dist/effect/Scheduler.d.ts.map +1 -0
  10. package/dist/effect/Scheduler.js +10 -0
  11. package/dist/effect/Scheduler.js.map +1 -0
  12. package/dist/effect/Schema/debug-diff.d.ts +13 -0
  13. package/dist/effect/Schema/debug-diff.d.ts.map +1 -0
  14. package/dist/effect/Schema/debug-diff.js +51 -0
  15. package/dist/effect/Schema/debug-diff.js.map +1 -0
  16. package/dist/effect/Schema/debug-diff.test.d.ts +2 -0
  17. package/dist/effect/Schema/debug-diff.test.d.ts.map +1 -0
  18. package/dist/effect/Schema/debug-diff.test.js +91 -0
  19. package/dist/effect/Schema/debug-diff.test.js.map +1 -0
  20. package/dist/effect/Schema/index.d.ts +15 -0
  21. package/dist/effect/Schema/index.d.ts.map +1 -0
  22. package/dist/effect/Schema/index.js +46 -0
  23. package/dist/effect/Schema/index.js.map +1 -0
  24. package/dist/effect/ServiceContext.d.ts.map +1 -1
  25. package/dist/effect/Stream.d.ts +2 -0
  26. package/dist/effect/Stream.d.ts.map +1 -1
  27. package/dist/effect/Stream.js +11 -1
  28. package/dist/effect/Stream.js.map +1 -1
  29. package/dist/effect/SubscriptionRef.d.ts +8 -3
  30. package/dist/effect/SubscriptionRef.d.ts.map +1 -1
  31. package/dist/effect/SubscriptionRef.js +2 -2
  32. package/dist/effect/SubscriptionRef.js.map +1 -1
  33. package/dist/effect/WebLock.d.ts +5 -1
  34. package/dist/effect/WebLock.d.ts.map +1 -1
  35. package/dist/effect/WebLock.js +42 -11
  36. package/dist/effect/WebLock.js.map +1 -1
  37. package/dist/effect/browser-worker-tmp/BrowserWorker.d.ts +21 -0
  38. package/dist/effect/browser-worker-tmp/BrowserWorker.d.ts.map +1 -0
  39. package/dist/effect/browser-worker-tmp/BrowserWorker.js +17 -0
  40. package/dist/effect/browser-worker-tmp/BrowserWorker.js.map +1 -0
  41. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.d.ts +12 -0
  42. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.d.ts.map +1 -0
  43. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.js +8 -0
  44. package/dist/effect/browser-worker-tmp/BrowserWorkerRunner.js.map +1 -0
  45. package/dist/effect/browser-worker-tmp/internal/worker.d.ts +9 -0
  46. package/dist/effect/browser-worker-tmp/internal/worker.d.ts.map +1 -0
  47. package/dist/effect/browser-worker-tmp/internal/worker.js +56 -0
  48. package/dist/effect/browser-worker-tmp/internal/worker.js.map +1 -0
  49. package/dist/effect/browser-worker-tmp/internal/workerRunner.d.ts +5 -0
  50. package/dist/effect/browser-worker-tmp/internal/workerRunner.d.ts.map +1 -0
  51. package/dist/effect/browser-worker-tmp/internal/workerRunner.js +100 -0
  52. package/dist/effect/browser-worker-tmp/internal/workerRunner.js.map +1 -0
  53. package/dist/effect/browser-worker-tmp/port-platform-runner.d.ts +5 -0
  54. package/dist/effect/browser-worker-tmp/port-platform-runner.d.ts.map +1 -0
  55. package/dist/effect/browser-worker-tmp/port-platform-runner.js +54 -0
  56. package/dist/effect/browser-worker-tmp/port-platform-runner.js.map +1 -0
  57. package/dist/effect/index.d.ts +10 -5
  58. package/dist/effect/index.d.ts.map +1 -1
  59. package/dist/effect/index.js +12 -5
  60. package/dist/effect/index.js.map +1 -1
  61. package/dist/effect/worker-tmp/Worker.d.ts +290 -0
  62. package/dist/effect/worker-tmp/Worker.d.ts.map +1 -0
  63. package/dist/effect/worker-tmp/Worker.js +62 -0
  64. package/dist/effect/worker-tmp/Worker.js.map +1 -0
  65. package/dist/effect/worker-tmp/WorkerError.d.ts +63 -0
  66. package/dist/effect/worker-tmp/WorkerError.d.ts.map +1 -0
  67. package/dist/effect/worker-tmp/WorkerError.js +52 -0
  68. package/dist/effect/worker-tmp/WorkerError.js.map +1 -0
  69. package/dist/effect/worker-tmp/WorkerRunner.d.ts +119 -0
  70. package/dist/effect/worker-tmp/WorkerRunner.d.ts.map +1 -0
  71. package/dist/effect/worker-tmp/WorkerRunner.js +32 -0
  72. package/dist/effect/worker-tmp/WorkerRunner.js.map +1 -0
  73. package/dist/effect/worker-tmp/internal/worker.d.ts +36 -0
  74. package/dist/effect/worker-tmp/internal/worker.d.ts.map +1 -0
  75. package/dist/effect/worker-tmp/internal/worker.js +244 -0
  76. package/dist/effect/worker-tmp/internal/worker.js.map +1 -0
  77. package/dist/effect/worker-tmp/internal/workerError.d.ts +4 -0
  78. package/dist/effect/worker-tmp/internal/workerError.d.ts.map +1 -0
  79. package/dist/effect/worker-tmp/internal/workerError.js +3 -0
  80. package/dist/effect/worker-tmp/internal/workerError.js.map +1 -0
  81. package/dist/effect/worker-tmp/internal/workerRunner.d.ts +21 -0
  82. package/dist/effect/worker-tmp/internal/workerRunner.d.ts.map +1 -0
  83. package/dist/effect/worker-tmp/internal/workerRunner.js +137 -0
  84. package/dist/effect/worker-tmp/internal/workerRunner.js.map +1 -0
  85. package/dist/fast-deep-equal.d.ts +2 -0
  86. package/dist/fast-deep-equal.d.ts.map +1 -0
  87. package/dist/fast-deep-equal.js +79 -0
  88. package/dist/fast-deep-equal.js.map +1 -0
  89. package/dist/guards.d.ts.map +1 -1
  90. package/dist/index.d.ts +5 -5
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +20 -19
  93. package/dist/index.js.map +1 -1
  94. package/dist/misc.d.ts +2 -0
  95. package/dist/misc.d.ts.map +1 -0
  96. package/dist/misc.js +13 -0
  97. package/dist/misc.js.map +1 -0
  98. package/dist/object/index.d.ts.map +1 -1
  99. package/dist/object/omit.d.ts.map +1 -1
  100. package/dist/object/pick.d.ts +1 -1
  101. package/dist/object/pick.d.ts.map +1 -1
  102. package/dist/promise.d.ts.map +1 -1
  103. package/dist/set.d.ts.map +1 -1
  104. package/package.json +18 -17
  105. package/src/effect/Effect.ts +65 -22
  106. package/src/effect/Scheduler.ts +14 -0
  107. package/src/effect/Schema/debug-diff.test.ts +102 -0
  108. package/src/effect/Schema/debug-diff.ts +59 -0
  109. package/src/effect/Schema/index.ts +60 -0
  110. package/src/effect/Stream.ts +37 -1
  111. package/src/effect/SubscriptionRef.ts +22 -7
  112. package/src/effect/WebLock.ts +69 -31
  113. package/src/effect/browser-worker-tmp/BrowserWorker.ts +26 -0
  114. package/src/effect/browser-worker-tmp/BrowserWorkerRunner.ts +14 -0
  115. package/src/effect/browser-worker-tmp/internal/worker.ts +71 -0
  116. package/src/effect/browser-worker-tmp/internal/workerRunner.ts +119 -0
  117. package/src/effect/browser-worker-tmp/port-platform-runner.ts +74 -0
  118. package/src/effect/index.ts +13 -4
  119. package/src/effect/worker-tmp/Worker.ts +374 -0
  120. package/src/effect/worker-tmp/WorkerError.ts +79 -0
  121. package/src/effect/worker-tmp/WorkerRunner.ts +181 -0
  122. package/src/effect/worker-tmp/internal/worker.ts +417 -0
  123. package/src/effect/worker-tmp/internal/workerError.ts +6 -0
  124. package/src/effect/worker-tmp/internal/workerRunner.ts +237 -0
  125. package/src/fast-deep-equal.ts +72 -0
  126. package/src/index.ts +21 -22
  127. package/src/misc.ts +12 -0
  128. package/dist/effect/Schema.d.ts +0 -4
  129. package/dist/effect/Schema.d.ts.map +0 -1
  130. package/dist/effect/Schema.js +0 -15
  131. package/dist/effect/Schema.js.map +0 -1
  132. package/src/effect/Schema.ts +0 -18
package/dist/index.d.ts CHANGED
@@ -7,6 +7,8 @@ export * from './NoopTracer.js';
7
7
  export * from './set.js';
8
8
  export * from './browser.js';
9
9
  export * from './Deferred.js';
10
+ export * from './misc.js';
11
+ export * from './fast-deep-equal.js';
10
12
  export * as base64 from './base64.js';
11
13
  export { default as prettyBytes } from 'pretty-bytes';
12
14
  import type * as otel from '@opentelemetry/api';
@@ -37,12 +39,9 @@ export declare const ref: <T>(val: T) => {
37
39
  export declare const times: (n: number, fn: (index: number) => {}) => void;
38
40
  export declare const debugCatch: <T>(try_: () => T) => T;
39
41
  export declare const recRemoveUndefinedValues: (val: any) => void;
40
- export declare const debugDeepCopy: <T>(val: T) => T;
41
42
  export declare const prop: <T extends {}, K extends keyof T>(key: K) => (obj: T) => T[K];
42
- export declare const objectToString: (error: any) => string;
43
- export declare const errorToString: (error: any) => string;
44
43
  export declare const capitalizeFirstLetter: (str: string) => string;
45
- export declare const isReadonlyArray: <I, T>(value: ReadonlyArray<I> | T) => value is readonly I[];
44
+ export declare const isReadonlyArray: <I, T>(value: ReadonlyArray<I> | T) => value is ReadonlyArray<I>;
46
45
  /**
47
46
  * Use this to make assertion at end of if-else chain that all members of a
48
47
  * union have been accounted for.
@@ -71,7 +70,8 @@ export declare const assertTag: <TObj extends {
71
70
  }>;
72
71
  export declare const memoizeByStringifyArgs: <T extends (...args: any[]) => any>(fn: T) => T;
73
72
  export declare const memoizeByRef: <T extends (arg: any) => any>(fn: T) => T;
74
- export declare const isNonEmptyString: (str: string | undefined | null) => boolean;
73
+ export declare const isNonEmptyString: (str: string | undefined | null) => str is string;
75
74
  export declare const isPromise: (value: any) => value is Promise<unknown>;
76
75
  export declare const isIterable: <T>(value: any) => value is Iterable<T>;
76
+ export { objectToString as errorToString } from './misc.js';
77
77
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,8 +7,11 @@ export * from './NoopTracer.js';
7
7
  export * from './set.js';
8
8
  export * from './browser.js';
9
9
  export * from './Deferred.js';
10
+ export * from './misc.js';
11
+ export * from './fast-deep-equal.js';
10
12
  export * as base64 from './base64.js';
11
13
  export { default as prettyBytes } from 'pretty-bytes';
14
+ import { objectToString } from './misc.js';
12
15
  export * as dateFns from 'date-fns';
13
16
  export const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
14
17
  export const ref = (val) => ({ current: val });
@@ -41,23 +44,7 @@ export const recRemoveUndefinedValues = (val) => {
41
44
  });
42
45
  }
43
46
  };
44
- export const debugDeepCopy = (val) => JSON.parse(JSON.stringify(val));
45
47
  export const prop = (key) => (obj) => obj[key];
46
- export const objectToString = (error) => {
47
- const stack = error.stack;
48
- const str = error.toString();
49
- const stackStr = stack ? `\n${stack}` : '';
50
- if (str !== '[object Object]')
51
- return str + stackStr;
52
- try {
53
- return JSON.stringify({ ...error, stack }, null, 2);
54
- }
55
- catch (e) {
56
- console.log(error);
57
- return 'Error while printing error: ' + e;
58
- }
59
- };
60
- export const errorToString = objectToString;
61
48
  export const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);
62
49
  export const isReadonlyArray = (value) => Array.isArray(value);
63
50
  /**
@@ -70,8 +57,8 @@ export function casesHandled(unexpectedCase) {
70
57
  throw new Error(`A case was not handled for value: ${truncate(objectToString(unexpectedCase), 1000)}`);
71
58
  }
72
59
  export const shouldNeverHappen = (msg, ...args) => {
73
- if (import.meta.env.DEV || import.meta.env.VITE_DEV) {
74
- console.error(msg, ...args);
60
+ console.error(msg, ...args);
61
+ if (isDev()) {
75
62
  debugger;
76
63
  }
77
64
  throw new Error(`This should never happen: ${msg}`);
@@ -170,7 +157,21 @@ export const memoizeByRef = (fn) => {
170
157
  return result;
171
158
  });
172
159
  };
173
- export const isNonEmptyString = (str) => str === undefined || str === null || str === '';
160
+ export const isNonEmptyString = (str) => {
161
+ return typeof str === 'string' && str.length > 0;
162
+ };
174
163
  export const isPromise = (value) => typeof value?.then === 'function';
175
164
  export const isIterable = (value) => typeof value?.[Symbol.iterator] === 'function';
165
+ export { objectToString as errorToString } from './misc.js';
166
+ const isDev = memoizeByRef(() => {
167
+ if (import.meta.env !== undefined) {
168
+ return import.meta.env.DEV || import.meta.env.VITE_DEV;
169
+ }
170
+ else if (typeof process !== 'undefined' && process.env !== undefined) {
171
+ return process.env.DEV;
172
+ }
173
+ else {
174
+ return false;
175
+ }
176
+ });
176
177
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/misc.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare const objectToString: (error: any) => string;
2
+ //# sourceMappingURL=misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,UAAW,GAAG,KAAG,MAW3C,CAAA"}
package/dist/misc.js ADDED
@@ -0,0 +1,13 @@
1
+ export const objectToString = (error) => {
2
+ const str = error?.toString();
3
+ if (str !== '[object Object]')
4
+ return str;
5
+ try {
6
+ return JSON.stringify(error, null, 2);
7
+ }
8
+ catch (e) {
9
+ console.log(error);
10
+ return 'Error while printing error: ' + e;
11
+ }
12
+ };
13
+ //# sourceMappingURL=misc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":"AAAA,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,8BAA8B,GAAG,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAEzB,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE3F,eAAO,MAAM,eAAe,iDACrB,IAAI,YACC,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,cAAc,IAAI,CAAC,KAAK,KAAK,kCAI/D,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEjE,eAAO,MAAM,aAAa,uCAAwC,CAAC,KAAG,QAAQ,CAAC,CAAsC,CAAA;AAErH,eAAO,MAAM,mBAAmB,0CAA2C,IAAI,8BAIrE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAEA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AAEzB,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE3F,eAAO,MAAM,eAAe,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,OAChE,IAAI,YACC,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,KAAK,KAC7D,GAAG,CAAe,IAAV,MAAM,IAAI,GAAG,KAAK,GAG5B,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;AAEjE,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAG,OAAO,CAAC,CAAC,CAAsC,CAAA;AAErH,eAAO,MAAM,mBAAmB,GAAI,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,KAAG,GAAG,CAAe,IAAV,MAAM,IAAI,GAAG,CAAC,GAI9F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAKA,uEAAuE;AACvE,eAAO,MAAM,IAAI,iEACV,GAAG,QACF,IAAI,EAAE,KACX,KAAK,GAAG,EAAE,IAAI,CAOhB,CAAA"}
1
+ {"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAKA,uEAAuE;AACvE,eAAO,MAAM,IAAI,GAAI,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,SAAS,MAAM,GAAG,OACrE,GAAG,QACF,IAAI,EAAE,KACX,IAAI,CAAC,GAAG,EAAE,IAAI,CAOhB,CAAA"}
@@ -9,6 +9,6 @@ type PickRequired<T> = {
9
9
  };
10
10
  type ConvertPick<T> = ConvertUndefined<T> & PickRequired<T>;
11
11
  export declare const pick: <Obj, Keys extends keyof Obj>(obj: Obj, keys: Keys[]) => ConvertPick<{ [K in Keys]: Obj[K]; }>;
12
- export declare const pickAllOrElse: <Obj, Keys extends keyof Obj, TElse>(obj: Obj, keys: Keys[], elseValue: TElse) => TElse | ConvertPick<{ [K in Keys]: NonNullable<Obj[K]>; }>;
12
+ export declare const pickAllOrElse: <Obj, Keys extends keyof Obj, TElse>(obj: Obj, keys: Keys[], elseValue: TElse) => ConvertPick<{ [K in Keys]: NonNullable<Obj[K]>; }> | TElse;
13
13
  export {};
14
14
  //# sourceMappingURL=pick.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAA;AACxG,KAAK,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAAE,CAAA;AAC1D,KAAK,YAAY,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AACrF,KAAK,WAAW,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAE3D,eAAO,MAAM,IAAI,qCAAsC,GAAG,QAAQ,IAAI,EAAE,0CAKvE,CAAA;AAED,eAAO,MAAM,aAAa,4CACnB,GAAG,QACF,IAAI,EAAE,aACD,KAAK,+DAWjB,CAAA"}
1
+ {"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,CAAA;AACxG,KAAK,WAAW,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;CAAE,CAAA;AAC1D,KAAK,YAAY,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AACrF,KAAK,WAAW,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;AAE3D,eAAO,MAAM,IAAI,GAAI,GAAG,EAAE,IAAI,SAAS,MAAM,GAAG,OAAO,GAAG,QAAQ,IAAI,EAAE,KAAG,WAAW,CAAC,GAAG,CAAS,IAAJ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAE,CAK7G,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,GAAG,EAAE,IAAI,SAAS,MAAM,GAAG,EAAE,KAAK,OACzD,GAAG,QACF,IAAI,EAAE,aACD,KAAK,KACf,WAAW,CAAC,GAAG,CAAS,IAAJ,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,GAAG,KAUtD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,eAAO,MAAM,UAAU,gBAAiB,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,6CACpE,CAAA;AAE3B,eAAO,MAAM,cAAc,iBACnB,OAAO,MAAM,EAAE,CAAC,CAAC,OAClB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,KACjD,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CAG7B,CAAA;AAED,eAAO,MAAM,gBAAgB,gBACtB,CAAC,EAAE,YACE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,QAAQ,GAAG,CAAC,UAC/C,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,KACxC,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,CAI7B,CAAA;AAED,eAAO,MAAM,cAAc,gBACpB,CAAC,EAAE,OACH,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,QAAQ,GAAG,CAAC,aACjC,MAAM,KAChB,QAAQ,GAAG,EAAE,CAgBf,CAAA"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6CACpE,CAAA;AAE3B,eAAO,MAAM,cAAc,GAAU,CAAC,EAAE,GAAG,QACnC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAClB,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAG7B,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAU,CAAC,EAAE,GAAG,OACtC,CAAC,EAAE,YACE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAC/C,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,KACxC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI7B,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,CAAC,EAAE,GAAG,OACpC,CAAC,EAAE,OACH,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,aACjC,MAAM,KAChB,OAAO,CAAC,GAAG,EAAE,CAgBf,CAAA"}
package/dist/set.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,SAAU,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WASjD,CAAA"}
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../src/set.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WASjD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/utils",
3
- "version": "0.0.54-dev.4",
3
+ "version": "0.0.54",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -35,32 +35,33 @@
35
35
  "date-fns": "^3.6.0",
36
36
  "otel-websocket-exporter": "^0.0.29",
37
37
  "pretty-bytes": "^6.1.1",
38
- "effect-db-schema": "0.0.54-dev.4"
38
+ "effect-db-schema": "0.0.54"
39
39
  },
40
40
  "peerDependencies": {
41
- "@effect/experimental": "^0.16.24",
42
- "@effect/opentelemetry": "^0.34.17",
43
- "@effect/platform": "^0.57.0",
44
- "@effect/platform-browser": "^0.36.0",
45
- "@effect/schema": "^0.67.22",
41
+ "@effect/experimental": "^0.20.3",
42
+ "@effect/opentelemetry": "^0.34.40",
43
+ "@effect/platform": "^0.60.2",
44
+ "@effect/platform-browser": "^0.39.2",
45
+ "@effect/schema": "^0.69.2",
46
46
  "@opentelemetry/api": "^1.9.0",
47
- "effect": "^3.3.1"
47
+ "effect": "^3.5.8"
48
48
  },
49
49
  "devDependencies": {
50
- "@effect/experimental": "0.16.26",
51
- "@effect/opentelemetry": "0.34.19",
52
- "@effect/platform": "0.57.1",
53
- "@effect/platform-browser": "0.36.1",
54
- "@effect/schema": "0.67.23",
50
+ "@effect/experimental": "0.20.3",
51
+ "@effect/opentelemetry": "0.34.40",
52
+ "@effect/platform": "0.60.2",
53
+ "@effect/platform-browser": "0.39.2",
54
+ "@effect/schema": "0.69.2",
55
55
  "@opentelemetry/api": "^1.9.0",
56
- "@types/node": "^20.12.11",
57
- "@types/web": "^0.0.149",
58
- "effect": "3.3.2"
56
+ "@types/node": "^20.14.12",
57
+ "@types/web": "^0.0.151",
58
+ "effect": "3.5.8",
59
+ "vitest": "^2.0.4"
59
60
  },
60
61
  "publishConfig": {
61
62
  "access": "public"
62
63
  },
63
64
  "scripts": {
64
- "test": "echo No tests yet"
65
+ "test": "vitest"
65
66
  }
66
67
  }
@@ -1,5 +1,6 @@
1
- import type { Context, Duration } from 'effect'
2
- import { Cause, Deferred, Effect, pipe } from 'effect'
1
+ import type { Context, Duration, Scope } from 'effect'
2
+ import { Cause, Deferred, Effect, Fiber, pipe } from 'effect'
3
+ import { log } from 'effect/Console'
3
4
  import type { LazyArg } from 'effect/Function'
4
5
 
5
6
  import { isNonEmptyString } from '../index.js'
@@ -7,34 +8,75 @@ import { UnknownError } from './Error.js'
7
8
 
8
9
  export * from 'effect/Effect'
9
10
 
10
- export const log = <A>(message: A, ...rest: any[]): Effect.Effect<void> =>
11
- Effect.sync(() => {
12
- console.log(message, ...rest)
13
- })
11
+ // export const log = <A>(message: A, ...rest: any[]): Effect.Effect<void> =>
12
+ // Effect.sync(() => {
13
+ // console.log(message, ...rest)
14
+ // })
14
15
 
15
- export const logWarn = <A>(message: A, ...rest: any[]): Effect.Effect<void> =>
16
- Effect.sync(() => {
17
- console.warn(message, ...rest)
18
- })
16
+ // export const logWarn = <A>(message: A, ...rest: any[]): Effect.Effect<void> =>
17
+ // Effect.sync(() => {
18
+ // console.warn(message, ...rest)
19
+ // })
19
20
 
20
- export const logError = <A>(message: A, ...rest: any[]): Effect.Effect<void> =>
21
- Effect.sync(() => {
22
- console.error(message, ...rest)
23
- })
21
+ // export const logError = <A>(message: A, ...rest: any[]): Effect.Effect<void> =>
22
+ // Effect.sync(() => {
23
+ // console.error(message, ...rest)
24
+ // })
25
+
26
+ const getThreadName = () => {
27
+ // @ts-expect-error TODO fix types
28
+ const globalName = globalThis.name
29
+ return isNonEmptyString(globalName)
30
+ ? globalName
31
+ : typeof window === 'object'
32
+ ? 'Browser Main Thread'
33
+ : 'unknown-thread'
34
+ }
24
35
 
25
36
  /** Logs both on errors and defects */
26
37
  export const tapCauseLogPretty = <R, E, A>(eff: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
27
- Effect.tapErrorCause(eff, (err) => {
28
- if (Cause.isInterruptedOnly(err)) {
38
+ Effect.tapErrorCause(eff, (cause) => {
39
+ if (Cause.isInterruptedOnly(cause)) {
40
+ // console.log('interrupted', Cause.pretty(err), err)
29
41
  return Effect.void
30
42
  }
31
43
 
32
- const threadName =
33
- typeof window === 'undefined' ? 'NodeJS Main Thread' : isNonEmptyString(self.name) ? self.name : 'unknown-thread'
34
-
35
- return logError(`Error on ${threadName}`, Cause.pretty(err))
44
+ const threadName = getThreadName()
45
+ const firstErrLine = cause.toString().split('\n')[0]
46
+ return Effect.logError(`Error on ${threadName}: ${firstErrLine}`, cause)
36
47
  })
37
48
 
49
+ export const logWarnIfTakesLongerThan =
50
+ ({ label, duration }: { label: string; duration: Duration.DurationInput }) =>
51
+ <R, E, A>(eff: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
52
+ Effect.gen(function* () {
53
+ const runtime = yield* Effect.runtime<never>()
54
+
55
+ let timedOut = false
56
+
57
+ const timeoutFiber = Effect.sleep(duration).pipe(
58
+ Effect.tap(() => {
59
+ timedOut = true
60
+ // TODO include span info
61
+ return Effect.logWarning(`${label}: Took longer than ${duration}ms`)
62
+ }),
63
+ Effect.provide(runtime),
64
+ Effect.runFork,
65
+ )
66
+
67
+ const start = Date.now()
68
+ const res = yield* eff
69
+
70
+ if (timedOut) {
71
+ const end = Date.now()
72
+ yield* Effect.logWarning(`${label}: Actual duration: ${end - start}ms`)
73
+ }
74
+
75
+ yield* Fiber.interrupt(timeoutFiber)
76
+
77
+ return res
78
+ })
79
+
38
80
  export const tapSync =
39
81
  <A>(tapFn: (a: A) => unknown) =>
40
82
  <R, E>(eff: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
@@ -62,14 +104,15 @@ export const timeoutDieMsg =
62
104
 
63
105
  export const toForkedDeferred = <R, E, A>(
64
106
  eff: Effect.Effect<A, E, R>,
65
- ): Effect.Effect<Deferred.Deferred<A, E>, never, R> =>
107
+ ): Effect.Effect<Deferred.Deferred<A, E>, never, R | Scope.Scope> =>
66
108
  pipe(
67
109
  Deferred.make<A, E>(),
68
110
  Effect.tap((deferred) =>
69
111
  pipe(
70
112
  Effect.exit(eff),
71
113
  Effect.flatMap((ex) => Deferred.done(deferred, ex)),
72
- Effect.forkDaemon,
114
+ tapCauseLogPretty,
115
+ Effect.forkScoped,
73
116
  ),
74
117
  ),
75
118
  )
@@ -0,0 +1,14 @@
1
+ export * from 'effect/Scheduler'
2
+
3
+ import { Scheduler } from 'effect'
4
+
5
+ // Based on https://github.com/astoilkov/main-thread-scheduling/blob/4b99c26ab96781bc35a331f5c225ad9c8a62cb95/src/utils/waitNextTask.ts#L25
6
+ export const messageChannel = (shouldYield: Scheduler.Scheduler['shouldYield'] = Scheduler.defaultShouldYield) =>
7
+ Scheduler.makeBatched((task) => {
8
+ const messageChannel = new MessageChannel()
9
+
10
+ messageChannel.port1.postMessage(undefined)
11
+
12
+ // eslint-disable-next-line unicorn/prefer-add-event-listener
13
+ messageChannel.port2.onmessage = task
14
+ }, shouldYield)
@@ -0,0 +1,102 @@
1
+ import { Schema } from '@effect/schema'
2
+ import { describe, expect, test } from 'vitest'
3
+
4
+ import type { DiffItem } from './debug-diff.js'
5
+ import { debugDiff } from './debug-diff.js'
6
+
7
+ describe('debug-diff', () => {
8
+ test('simple object', () => {
9
+ const schema = Schema.Struct({
10
+ a: Schema.String,
11
+ b: Schema.Number,
12
+ })
13
+
14
+ const a = { a: 'hello', b: 1 }
15
+ const b = { a: 'world', b: 2 }
16
+
17
+ const diff = debugDiff(schema)(a, b)
18
+ expect(trimAst(diff)).toMatchInlineSnapshot(`
19
+ [
20
+ {
21
+ "a": "hello",
22
+ "b": "world",
23
+ "path": ".a",
24
+ },
25
+ {
26
+ "a": 1,
27
+ "b": 2,
28
+ "path": ".b",
29
+ },
30
+ ]
31
+ `)
32
+ })
33
+
34
+ test('simple object with nested object', () => {
35
+ const schema = Schema.Struct({
36
+ a: Schema.String,
37
+ b: Schema.Struct({
38
+ c: Schema.Number,
39
+ }),
40
+ })
41
+ const a = { a: 'hello', b: { c: 1 } }
42
+ const b = { a: 'world', b: { c: 2 } }
43
+ const diff = debugDiff(schema)(a, b)
44
+ expect(trimAst(diff)).toMatchInlineSnapshot(`
45
+ [
46
+ {
47
+ "a": "hello",
48
+ "b": "world",
49
+ "path": ".a",
50
+ },
51
+ {
52
+ "a": 1,
53
+ "b": 2,
54
+ "path": ".b.c",
55
+ },
56
+ ]
57
+ `)
58
+ })
59
+
60
+ test('union', () => {
61
+ const schema = Schema.Union(Schema.String, Schema.Number)
62
+ const a = 'hello'
63
+ const b = 1
64
+ const diff = debugDiff(schema)(a, b)
65
+ expect(trimAst(diff)).toMatchInlineSnapshot(`
66
+ [
67
+ {
68
+ "a": "hello",
69
+ "b": 1,
70
+ "path": "",
71
+ },
72
+ ]
73
+ `)
74
+ })
75
+
76
+ test('tagged union', () => {
77
+ const schema = Schema.Union(
78
+ Schema.Struct({ _tag: Schema.Literal('a'), a: Schema.String }),
79
+ Schema.Struct({ _tag: Schema.Literal('b'), b: Schema.Number }),
80
+ )
81
+ const a = { _tag: 'a', a: 'hello' } as const
82
+ const b = { _tag: 'b', b: 1 } as const
83
+ const diff = debugDiff(schema)(a, b)
84
+ expect(trimAst(diff)).toMatchInlineSnapshot(`
85
+ [
86
+ {
87
+ "a": {
88
+ "_tag": "a",
89
+ "a": "hello",
90
+ },
91
+ "b": {
92
+ "_tag": "b",
93
+ "b": 1,
94
+ },
95
+ "path": "",
96
+ },
97
+ ]
98
+ `)
99
+ })
100
+ })
101
+
102
+ const trimAst = (diffItems: DiffItem[]) => diffItems.map(({ ast: _ast, ...rest }) => rest)
@@ -0,0 +1,59 @@
1
+ import type { Schema } from '@effect/schema'
2
+ import { AST, Equivalence } from '@effect/schema'
3
+
4
+ export type DiffItem = {
5
+ path: string
6
+ a: any
7
+ b: any
8
+ ast: AST.AST
9
+ }
10
+
11
+ /**
12
+ * Diffs two values for a given schema and traverses downwards and returns a list of differences.
13
+ */
14
+ export const debugDiff =
15
+ <A, I, R>(base: Schema.Schema<A, I, R>) =>
16
+ (a: A, b: A): DiffItem[] => {
17
+ const bag = [] as DiffItem[]
18
+ debugDiffImpl(base.ast, a, b, '', bag)
19
+ return bag
20
+ }
21
+
22
+ const debugDiffImpl = (ast: AST.AST, a: any, b: any, path: string, bag: DiffItem[]) => {
23
+ const eq = Equivalence.make({ ast } as any)
24
+ if (eq(a, b) === false) {
25
+ // bag.push({ path, a, b, ast })
26
+
27
+ if (AST.isUnion(ast)) {
28
+ if (isTaggedUnion(ast)) {
29
+ bag.push({ path, a, b, ast })
30
+ return
31
+ } else {
32
+ for (const type of ast.types) {
33
+ try {
34
+ debugDiffImpl(type, a, b, path, bag)
35
+ return
36
+ } catch {}
37
+ }
38
+ }
39
+ } else if (AST.isTypeLiteral(ast)) {
40
+ const props = AST.getPropertySignatures(ast)
41
+ for (const prop of props) {
42
+ debugDiffImpl(prop.type, a[prop.name], b[prop.name], `${path}.${prop.name.toString()}`, bag)
43
+ }
44
+ } else {
45
+ // debugger
46
+ bag.push({ path, a, b, ast })
47
+ }
48
+ }
49
+ }
50
+
51
+ const isTaggedUnion = (ast: AST.AST) => {
52
+ if (AST.isUnion(ast)) {
53
+ return ast.types.every((type) => {
54
+ if (AST.isTypeLiteral(type) === false) return false
55
+ const props = AST.getPropertySignatures(type)
56
+ return props.some((prop) => prop.name.toString() === '_tag')
57
+ })
58
+ }
59
+ }
@@ -0,0 +1,60 @@
1
+ import { Transferable } from '@effect/platform'
2
+ import { Schema } from '@effect/schema'
3
+ import type { ParseOptions } from '@effect/schema/AST'
4
+ import type { ParseError } from '@effect/schema/ParseResult'
5
+ import { Effect, Hash } from 'effect'
6
+
7
+ import { objectToString } from '../../misc.js'
8
+
9
+ export * from '@effect/schema/Schema'
10
+ export * from './debug-diff.js'
11
+
12
+ // NOTE this is a temporary workaround until Effect schema has a better way to hash schemas
13
+ // https://github.com/Effect-TS/effect/issues/2719
14
+ // TODO remove this once the issue is resolved
15
+ export const hash = (schema: Schema.Schema<any>) => {
16
+ try {
17
+ return Hash.string(JSON.stringify(schema.ast, null, 2))
18
+ } catch {
19
+ console.warn(
20
+ `Schema hashing failed, falling back to hashing the shortend schema AST string. This is less reliable and may cause false positives.`,
21
+ )
22
+ return Hash.hash(schema.ast.toString())
23
+ }
24
+ }
25
+
26
+ const errorStructSchema = Schema.Struct({
27
+ message: Schema.String,
28
+ stack: Schema.optional(Schema.String),
29
+ })
30
+
31
+ export class AnyError extends Schema.transform(errorStructSchema, Schema.Any, {
32
+ decode: (errorStruct) => {
33
+ const { message, stack } = errorStruct
34
+ const previousLimit = Error.stackTraceLimit
35
+ Error.stackTraceLimit = 0
36
+ // eslint-disable-next-line unicorn/error-message
37
+ const error = new Error('')
38
+ Error.stackTraceLimit = previousLimit
39
+ error.message = message
40
+ error.stack = stack
41
+ return error
42
+ },
43
+ encode: (anyError) => ({
44
+ message: objectToString(anyError).replace(/^Error: /, ''),
45
+ stack: anyError.stack,
46
+ }),
47
+ }) {}
48
+
49
+ export const encodeWithTransferables =
50
+ <A, I, R>(schema: Schema.Schema<A, I, R>, options?: ParseOptions | undefined) =>
51
+ (a: A, overrideOptions?: ParseOptions | undefined): Effect.Effect<[I, Transferable[]], ParseError, R> =>
52
+ Effect.gen(function* () {
53
+ const collector = yield* Transferable.makeCollector
54
+
55
+ const encoded: I = yield* Schema.encode(schema, options)(a, overrideOptions).pipe(
56
+ Effect.provideService(Transferable.Collector, collector),
57
+ )
58
+
59
+ return [encoded, collector.unsafeRead() as Transferable[]]
60
+ })