@wovin/core 0.0.9-RC3 → 0.0.10

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 (78) hide show
  1. package/LICENSE +661 -0
  2. package/dist/applog/applog-helpers.d.ts +26 -7
  3. package/dist/applog/applog-helpers.d.ts.map +1 -1
  4. package/dist/applog/applog-utils.d.ts +11 -2
  5. package/dist/applog/applog-utils.d.ts.map +1 -1
  6. package/dist/applog/datom-types.d.ts +24 -13
  7. package/dist/applog/datom-types.d.ts.map +1 -1
  8. package/dist/applog.min.js +11 -3
  9. package/dist/chunk-4432UCLM.min.js +544 -0
  10. package/dist/chunk-4432UCLM.min.js.map +1 -0
  11. package/dist/{chunk-PTGUFZ3Q.min.js → chunk-5UN776TZ.min.js} +1 -5
  12. package/dist/{chunk-PTGUFZ3Q.min.js.map → chunk-5UN776TZ.min.js.map} +1 -1
  13. package/dist/{chunk-RMPMFLPZ.min.js → chunk-BLAIQY2K.min.js} +345 -296
  14. package/dist/chunk-BLAIQY2K.min.js.map +1 -0
  15. package/dist/chunk-DF3UOPRV.min.js +5085 -0
  16. package/dist/chunk-DF3UOPRV.min.js.map +1 -0
  17. package/dist/{chunk-QXKFFDHN.min.js → chunk-ITYJ7DMX.min.js} +5931 -5722
  18. package/dist/chunk-ITYJ7DMX.min.js.map +1 -0
  19. package/dist/chunk-QPGEBDMJ.min.js +9 -0
  20. package/dist/chunk-QPGEBDMJ.min.js.map +1 -0
  21. package/dist/index.min.js +99 -50
  22. package/dist/ipfs/car.d.ts +47 -7
  23. package/dist/ipfs/car.d.ts.map +1 -1
  24. package/dist/ipfs/ipfs-utils.d.ts +18 -7
  25. package/dist/ipfs/ipfs-utils.d.ts.map +1 -1
  26. package/dist/ipfs.min.js +26 -7
  27. package/dist/mobx/mobx-utils.d.ts +23 -17
  28. package/dist/mobx/mobx-utils.d.ts.map +1 -1
  29. package/dist/mobx.d.ts +2 -0
  30. package/dist/mobx.d.ts.map +1 -0
  31. package/dist/mobx.min.js +141 -0
  32. package/dist/pubsub/connector.d.ts +3 -1
  33. package/dist/pubsub/connector.d.ts.map +1 -1
  34. package/dist/pubsub/pub-pull.d.ts +14 -0
  35. package/dist/pubsub/pub-pull.d.ts.map +1 -0
  36. package/dist/pubsub/pub-push.d.ts +41 -0
  37. package/dist/pubsub/pub-push.d.ts.map +1 -0
  38. package/dist/pubsub/pubsub-types.d.ts +25 -0
  39. package/dist/pubsub/pubsub-types.d.ts.map +1 -1
  40. package/dist/pubsub.d.ts +2 -1
  41. package/dist/pubsub.d.ts.map +1 -1
  42. package/dist/pubsub.min.js +18 -7
  43. package/dist/query/basic.d.ts +40 -8
  44. package/dist/query/basic.d.ts.map +1 -1
  45. package/dist/query/divergences.d.ts.map +1 -1
  46. package/dist/query.min.js +36 -20
  47. package/dist/thread/basic.d.ts +24 -4
  48. package/dist/thread/basic.d.ts.map +1 -1
  49. package/dist/thread/filters.d.ts +1 -1
  50. package/dist/thread/filters.d.ts.map +1 -1
  51. package/dist/thread/mapped.d.ts +10 -3
  52. package/dist/thread/mapped.d.ts.map +1 -1
  53. package/dist/thread/utils.d.ts +16 -0
  54. package/dist/thread/utils.d.ts.map +1 -0
  55. package/dist/thread/writeable.d.ts +4 -3
  56. package/dist/thread/writeable.d.ts.map +1 -1
  57. package/dist/thread.d.ts +1 -0
  58. package/dist/thread.d.ts.map +1 -1
  59. package/dist/thread.min.js +13 -3
  60. package/dist/types/typescript-utils.d.ts +5 -4
  61. package/dist/types/typescript-utils.d.ts.map +1 -1
  62. package/dist/types.min.js +1 -5
  63. package/dist/utils.d.ts +3 -0
  64. package/dist/utils.d.ts.map +1 -1
  65. package/dist/utils.min.js +9 -0
  66. package/package.json +16 -11
  67. package/dist/chunk-GJGWIEIE.min.js +0 -66
  68. package/dist/chunk-GJGWIEIE.min.js.map +0 -1
  69. package/dist/chunk-PG6EJTCU.min.js +0 -4411
  70. package/dist/chunk-PG6EJTCU.min.js.map +0 -1
  71. package/dist/chunk-QXKFFDHN.min.js.map +0 -1
  72. package/dist/chunk-RMPMFLPZ.min.js.map +0 -1
  73. package/dist/chunk-RPPZKO5L.min.js +0 -1
  74. package/dist/chunk-WIE7ME3N.min.js +0 -120
  75. package/dist/chunk-WIE7ME3N.min.js.map +0 -1
  76. package/dist/pubsub/publication.d.ts +0 -15
  77. package/dist/pubsub/publication.d.ts.map +0 -1
  78. /package/dist/{chunk-RPPZKO5L.min.js.map → mobx.min.js.map} +0 -0
@@ -1,18 +1,25 @@
1
- import { Applog } from '../applog/datom-types';
1
+ import { Applog, ApplogForInsert } from '../applog/datom-types';
2
2
  import { Thread, ThreadEvent } from './basic';
3
3
  export type ApplogEventMapper = (this: MappedThread, event: ThreadEvent, sourceThread: Thread) => ThreadEvent;
4
+ export type ApplogWriteMapper = (this: MappedThread, applogs: Applog[] | ApplogForInsert[]) => Applog[] | ApplogForInsert[] | null;
4
5
  export declare class MappedThread extends Thread {
5
6
  readonly name: string;
6
- readonly _initialLogs: readonly Applog[];
7
+ readonly _initialLogs: Applog[];
7
8
  private _eventMapper;
9
+ private _writeMapper;
10
+ static mapWrites(parent: Thread, name: string, mapper: ApplogWriteMapper): MappedThread;
8
11
  private _parentSubscriptions;
9
- constructor(name: string, parents: Thread | readonly Thread[], filters: string[], _initialLogs: readonly Applog[], _eventMapper: ApplogEventMapper);
12
+ constructor(name: string, parents: Thread | readonly Thread[], filters: readonly string[], _initialLogs: Applog[], _eventMapper: ApplogEventMapper | null, _writeMapper?: ApplogWriteMapper);
13
+ insert(appLogsToInsert: ApplogForInsert[]): void;
14
+ insertRaw(appLogsToInsert: Applog[]): void;
10
15
  private subscribeToParents;
16
+ subscribe(callback: (event: ThreadEvent) => void): () => void;
11
17
  /**
12
18
  * // HACK to trigger remap on pattern change in rollingFilter
13
19
  * should not be used lightly
14
20
  */
15
21
  triggerRemap(): void;
16
22
  protected onParentUpdate(thread: Thread, event: ThreadEvent): void;
23
+ get readOnly(): boolean;
17
24
  }
18
25
  //# sourceMappingURL=mapped.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapped.d.ts","sourceRoot":"","sources":["../../src/thread/mapped.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1D,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,WAAW,CAAA;AAE7G,qBAAa,YAAa,SAAQ,MAAM;IAItC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAGrB,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE;IACxC,OAAO,CAAC,YAAY;IAPrB,OAAO,CAAC,oBAAoB,CAAuC;gBAGzD,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACnC,OAAO,EAAE,MAAM,EAAE,EACR,YAAY,EAAE,SAAS,MAAM,EAAE,EAChC,YAAY,EAAE,iBAAiB;IAkBxC,OAAO,CAAC,kBAAkB;IAwC1B;;;OAGG;IACH,YAAY;IAUZ,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;CA8B3D"}
1
+ {"version":3,"file":"mapped.d.ts","sourceRoot":"","sources":["../../src/thread/mapped.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAe,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI1D,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,WAAW,CAAA;AAE7G,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,KAAK,MAAM,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,CAAA;AAElI,qBAAa,YAAa,SAAQ,MAAM;IAetC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAGrB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE;IAC/B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IAnBrB,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;IAWxE,OAAO,CAAC,oBAAoB,CAAkC;gBAGpD,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EACjB,YAAY,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,iBAAiB,GAAG,IAAI,EACtC,YAAY,GAAE,iBAAwB;IAsBxC,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IAKzC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IAM1C,OAAO,CAAC,kBAAkB;IA0C1B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI;IAQhD;;;OAGG;IACH,YAAY;IAWZ,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IAgC3D,IAAI,QAAQ,YAEX;CACD"}
@@ -0,0 +1,16 @@
1
+ import { compareApplogsByEnAt } from '../applog/applog-utils';
2
+ import { Applog, ApplogForInsert } from '../applog/datom-types';
3
+ import { Thread } from './basic';
4
+ import { MappedThread } from './mapped';
5
+ export declare function entityCount(thread: Thread): number;
6
+ export declare function allEntityIDs(thread: Thread): Set<string>;
7
+ export declare function debounceWrites(thread: Thread, wait?: number, removeDuplicatesWith?: (objA: object, objB: object) => boolean): MappedThread;
8
+ /**
9
+ * @param deduplicateHoldItemsWith called with (heldLog, realLog), if it returns true, the held log is skipped
10
+ * @param onFirstWrite called with held logs about to be inserted, if it returns an array, those logs will be inserted instead
11
+ */
12
+ export declare function holdTillFirstWrite(thread: Thread, applogsToHold: ApplogForInsert[], opts: {
13
+ deduplicateHoldItemsWith?: typeof compareApplogsByEnAt;
14
+ onFirstWrite: (heldLogsToInsert: Applog[]) => Applog[] | undefined;
15
+ }): MappedThread;
16
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/thread/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAsC,MAAM,wBAAwB,CAAA;AACjG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAY,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAKvC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;AACD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,eAE1C;AAcD,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,IAAI,SAAM,EACV,oBAAoB,0CAAuB,gBA4B3C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,eAAe,EAAE,EAChC,IAAI,EAAE;IACL,wBAAwB,CAAC,EAAE,OAAO,oBAAoB,CAAA;IACtD,YAAY,EAAE,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAA;CAClE,gBA8CD"}
@@ -1,11 +1,12 @@
1
- import { type Applog, ApplogForInsert } from '../applog/datom-types';
1
+ import { type Applog, ApplogForInsert, CidString } from '../applog/datom-types';
2
2
  import { Thread } from './basic';
3
3
  export declare abstract class WriteableThread extends Thread {
4
4
  constructor(name: string, applogs: Applog[], filters: readonly string[]);
5
+ purge(cidsToPurge: CidString[]): number;
5
6
  insert(appLogsToInsert: ApplogForInsert[]): Applog[];
6
7
  insertRaw(appLogsToInsert: Applog[]): Applog[];
7
8
  get readOnly(): boolean;
8
- protected abstract persist(logs: Applog[]): any;
9
+ protected abstract persist(logs: Applog[]): Promise<void>;
9
10
  }
10
11
  export declare class ThreadInMemory extends WriteableThread {
11
12
  readonly _readOnly: boolean;
@@ -13,6 +14,6 @@ export declare class ThreadInMemory extends WriteableThread {
13
14
  static fromArray(applogs: Applog[], name?: string, readOnly?: boolean): ThreadInMemory;
14
15
  constructor(name: string, applogs: Applog[], filters: readonly string[], _readOnly: boolean);
15
16
  get readOnly(): boolean;
16
- protected persist(logs: Applog[]): void;
17
+ protected persist(logs: Applog[]): Promise<void>;
17
18
  }
18
19
  //# sourceMappingURL=writeable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeable.d.ts","sourceRoot":"","sources":["../../src/thread/writeable.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,KAAK,MAAM,EACX,eAAe,EAKf,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIhC,8BAAsB,eAAgB,SAAQ,MAAM;gBAElD,IAAI,EAAE,MAAM,EAEZ,OAAO,EAAE,MAAM,EAAO,EACtB,OAAO,EAAE,SAAS,MAAM,EAAE;IASpB,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IASzC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IAsC1C,IAAI,QAAQ,YAEX;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CACzC;AACD,qBAAa,cAAe,SAAQ,eAAe;IAYjD,QAAQ,CAAC,SAAS,EAAE,OAAO;IAX5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IAG1B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ;gBAKlE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EACjB,SAAS,EAAE,OAAO;IAU5B,IAAI,QAAQ,YAEX;IAED,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAMhC"}
1
+ {"version":3,"file":"writeable.d.ts","sourceRoot":"","sources":["../../src/thread/writeable.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,eAAe,EAAiB,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIhC,8BAAsB,eAAgB,SAAQ,MAAM;gBAElD,IAAI,EAAE,MAAM,EAEZ,OAAO,EAAE,MAAM,EAAO,EACtB,OAAO,EAAE,SAAS,MAAM,EAAE;IASpB,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE;IAM9B,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE;IAKzC,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE;IA0C1C,IAAI,QAAQ,YAEX;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACzD;AACD,qBAAa,cAAe,SAAQ,eAAe;IAYjD,QAAQ,CAAC,SAAS,EAAE,OAAO;IAX5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM;IAG1B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ;gBAKlE,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EACjB,SAAS,EAAE,OAAO;IAU5B,IAAI,QAAQ,YAEX;cAEe,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;CAMtC"}
package/dist/thread.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from './thread/basic';
2
2
  export * from './thread/filters';
3
3
  export * from './thread/mapped';
4
4
  export * from './thread/writeable';
5
+ export * from './thread/utils';
5
6
  //# sourceMappingURL=thread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA"}
@@ -1,35 +1,45 @@
1
1
  import {
2
2
  MappedThread,
3
+ StaticThread,
3
4
  Thread,
4
5
  ThreadInMemory,
5
6
  WriteableThread,
7
+ allEntityIDs,
6
8
  assertOnlyCurrent,
7
9
  assertRaw,
10
+ debounceWrites,
11
+ entityCount,
8
12
  getLogsFromThread,
9
13
  getUntrackedFilterResults,
10
14
  getUntrackedPattern,
11
15
  hasFilter,
16
+ holdTillFirstWrite,
12
17
  isInitEvent,
13
18
  makeFilter,
14
19
  rollingAcc,
15
20
  rollingFilter,
16
21
  rollingMapper,
17
22
  simpleApplogMapper
18
- } from "./chunk-QXKFFDHN.min.js";
19
- import "./chunk-PG6EJTCU.min.js";
20
- import "./chunk-PTGUFZ3Q.min.js";
23
+ } from "./chunk-ITYJ7DMX.min.js";
24
+ import "./chunk-DF3UOPRV.min.js";
25
+ import "./chunk-5UN776TZ.min.js";
21
26
  import "./chunk-KRQZ6V4Y.min.js";
22
27
  export {
23
28
  MappedThread,
29
+ StaticThread,
24
30
  Thread,
25
31
  ThreadInMemory,
26
32
  WriteableThread,
33
+ allEntityIDs,
27
34
  assertOnlyCurrent,
28
35
  assertRaw,
36
+ debounceWrites,
37
+ entityCount,
29
38
  getLogsFromThread,
30
39
  getUntrackedFilterResults,
31
40
  getUntrackedPattern,
32
41
  hasFilter,
42
+ holdTillFirstWrite,
33
43
  isInitEvent,
34
44
  makeFilter,
35
45
  rollingAcc,
@@ -9,10 +9,6 @@ export declare const Bool: typeof BooleanTB;
9
9
  export declare const STR: ReturnType<typeof T.String>;
10
10
  export declare const NUM: ReturnType<typeof T.Number>;
11
11
  export declare const BOOL: ReturnType<typeof T.Boolean>;
12
- export type DefaultTrue = true | boolean;
13
- export declare const DefaultTrue: DefaultTrue;
14
- export type DefaultFalse = false | boolean;
15
- export declare const DefaultFalse: DefaultFalse;
16
12
  export type GenericObject = Record<string, any>;
17
13
  export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
18
14
  export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
@@ -31,7 +27,12 @@ export type GenericSetter<T> = (newValue: T) => void;
31
27
  export type ArrayOrSingle<T> = T | T[] | readonly T[];
32
28
  export declare function arrayIfSingle<T>(arrOrSingle: ArrayOrSingle<T>): readonly T[];
33
29
  export type ArrayType<T> = T extends (infer U)[] ? U : T;
30
+ export type ArrayElementType<T> = T extends readonly (infer U)[] ? Extract<U, string> : never;
34
31
  export type X<T> = ArrayType<IObservableArray<T>>;
35
32
  export type ReadonlyObservableArray<T> = ReadonlyArray<T>;
33
+ export type ReadonlyObservableSet<T> = ReadonlySet<T>;
34
+ export type ConstructorType<T, S = {}> = {
35
+ new (...args: any[]): T;
36
+ } & S;
36
37
  export {};
37
38
  //# sourceMappingURL=typescript-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-utils.d.ts","sourceRoot":"","sources":["../../src/types/typescript-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-utils.d.ts","sourceRoot":"","sources":["../../src/types/typescript-utils.ts"],"names":[],"mappings":"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"}
package/dist/types.min.js CHANGED
@@ -2,8 +2,6 @@ import "./chunk-5MMGBK2U.min.js";
2
2
  import {
3
3
  BOOL,
4
4
  Bool,
5
- DefaultFalse,
6
- DefaultTrue,
7
5
  NUM,
8
6
  Num,
9
7
  Obj,
@@ -12,13 +10,11 @@ import {
12
10
  Str,
13
11
  arrayIfSingle,
14
12
  checkParityTB
15
- } from "./chunk-PTGUFZ3Q.min.js";
13
+ } from "./chunk-5UN776TZ.min.js";
16
14
  import "./chunk-KRQZ6V4Y.min.js";
17
15
  export {
18
16
  BOOL,
19
17
  Bool,
20
- DefaultFalse,
21
- DefaultTrue,
22
18
  NUM,
23
19
  Num,
24
20
  Obj,
package/dist/utils.d.ts CHANGED
@@ -1 +1,4 @@
1
+ import { Applog, ApplogEncNoCid } from './applog/datom-types';
2
+ export declare const isTruthy: (l: Applog | ApplogEncNoCid) => boolean;
3
+ export declare const keepTruthy: (arr: readonly any[]) => any[];
1
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE7D,eAAO,MAAM,QAAQ,MAAO,MAAM,GAAG,cAAc,KAAG,OAAc,CAAA;AACpE,eAAO,MAAM,UAAU,QAAS,SAAS,GAAG,EAAE,KAAG,GAAG,EAA0B,CAAA"}
package/dist/utils.min.js CHANGED
@@ -1 +1,10 @@
1
+ import {
2
+ isTruthy,
3
+ keepTruthy
4
+ } from "./chunk-QPGEBDMJ.min.js";
5
+ import "./chunk-KRQZ6V4Y.min.js";
6
+ export {
7
+ isTruthy,
8
+ keepTruthy
9
+ };
1
10
  //# sourceMappingURL=utils.min.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wovin/core",
3
- "version": "0.0.9-RC3",
3
+ "version": "0.0.10",
4
4
  "type": "module",
5
5
  "main": "./dist/index.min.js",
6
6
  "module": "./dist/index.min.js",
@@ -38,6 +38,10 @@
38
38
  "./utils": {
39
39
  "import": "./dist/utils.min.js",
40
40
  "types": "./dist/utils.d.ts"
41
+ },
42
+ "./mobx": {
43
+ "import": "./dist/mobx.min.js",
44
+ "types": "./dist/mobx.d.ts"
41
45
  }
42
46
  },
43
47
  "files": [
@@ -47,27 +51,28 @@
47
51
  "bundle": false
48
52
  },
49
53
  "peerDependencies": {
50
- "mobx": "^6.12.0",
51
54
  "@sinclair/typebox": "^0.31.28"
52
55
  },
53
56
  "dependencies": {
54
- "@ipld/car": "^5.2.4",
55
- "@ipld/dag-json": "^10.1.5",
56
- "@noble/hashes": "^1.3.2",
57
- "besonders-logger": "1.0.0-RC11",
58
- "date-fns": "^2.30.0",
57
+ "@ipld/car": "^5.2.6",
58
+ "@ipld/dag-json": "^10.1.7",
59
+ "@noble/hashes": "^1.3.3",
60
+ "@oddjs/odd": "^0.37.2",
61
+ "besonders-logger": "1.0.1",
62
+ "date-fns": "^3.3.1",
59
63
  "lodash-es": "^4.17.21",
64
+ "mobx": "^6.12.0",
60
65
  "mobx-utils": "^6.0.8",
61
- "multiformats": "^12.1.3",
66
+ "multiformats": "^13.0.1",
62
67
  "safe-stable-stringify": "^2.4.3"
63
68
  },
64
69
  "devDependencies": {
65
70
  "@types/lodash-es": "^4.17.12",
66
71
  "concurrently": "^8.2.2",
67
72
  "esbuild-plugin-polyfill-node": "^0.3.0",
68
- "tsup": "^8.0.1",
69
- "typescript": "^5.0.2",
70
- "vite": "^4.4.5",
73
+ "tsup": "^8.0.2",
74
+ "typescript": "^5.4.5",
75
+ "vite": "^5.2.11",
71
76
  "tsupconfig": "^0.0.0"
72
77
  },
73
78
  "scripts": {
@@ -1,66 +0,0 @@
1
- import {
2
- ThreadInMemory,
3
- autorun,
4
- comparer,
5
- computedFnDeepCompare,
6
- createDebugName,
7
- observableArrayMap,
8
- toJS
9
- } from "./chunk-QXKFFDHN.min.js";
10
- import {
11
- Logger
12
- } from "./chunk-PG6EJTCU.min.js";
13
-
14
- // src/query/divergences.ts
15
- var { WARN, LOG, DEBUG, VERBOSE, ERROR } = Logger.setup(Logger.INFO);
16
- var queryDivergencesByPrev = computedFnDeepCompare("queryDivergencesByPrev", function queryConflictingByPrev(sourceThread) {
17
- DEBUG(`queryDivergencesByPrev<${sourceThread.nameAndSizeUntracked}>`);
18
- if (sourceThread.filters.includes("lastWriteWins"))
19
- WARN(`queryDivergencesByPrev on thread lastWriteWins`, sourceThread);
20
- const divergences = observableArrayMap(() => {
21
- const logsForNode = /* @__PURE__ */ new Map();
22
- const leafs = /* @__PURE__ */ new Set();
23
- VERBOSE("all applogs:", sourceThread.applogs);
24
- for (const log of sourceThread.applogs) {
25
- let prevLogs;
26
- if (log.pv) {
27
- prevLogs = log.pv && logsForNode.get(log.pv.toString());
28
- leafs.delete(log.pv.toString());
29
- }
30
- VERBOSE("traversing log", { log, prevLogs, leafs: Array.from(leafs) });
31
- logsForNode.set(log.cid, prevLogs ? [...prevLogs, log] : [log]);
32
- leafs.add(log.cid);
33
- }
34
- return Array.from(leafs).map((leafID) => {
35
- const thread = new ThreadInMemory(
36
- createDebugName({
37
- caller: "DivergenceLeaf",
38
- thread: sourceThread,
39
- pattern: `leaf: ${leafID}`
40
- }),
41
- logsForNode.get(leafID),
42
- sourceThread.filters,
43
- true
44
- // TODO: sourceThread,
45
- );
46
- return { log: thread.latestLog, thread };
47
- });
48
- }, { name: createDebugName({ caller: "queryDivergencesByPrev", thread: sourceThread }) });
49
- VERBOSE.isDisabled || autorun(() => VERBOSE(`[queryDivergencesByPrev] result:`, toJS(divergences)));
50
- return divergences;
51
- }, { equals: comparer.structural });
52
-
53
- // src/query/matchers.ts
54
- function includes(str) {
55
- return (vl) => vl?.includes?.(str);
56
- }
57
- function includedIn(arr) {
58
- return (vl) => arr?.includes?.(vl);
59
- }
60
-
61
- export {
62
- queryDivergencesByPrev,
63
- includes,
64
- includedIn
65
- };
66
- //# sourceMappingURL=chunk-GJGWIEIE.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/query/divergences.ts","../src/query/matchers.ts"],"sourcesContent":["import { Logger } from 'besonders-logger'\nimport { autorun, comparer, toJS } from 'mobx'\nimport { Applog } from '../applog/datom-types'\nimport { computedFnDeepCompare, createDebugName, observableArrayMap } from '../mobx/mobx-utils'\nimport { Thread } from '../thread/basic'\nimport { ThreadInMemory } from '../thread/writeable'\n\nconst { WARN, LOG, DEBUG, VERBOSE, ERROR } = Logger.setup(Logger.INFO) // eslint-disable-line no-unused-vars\n\nexport interface DivergenceLeaf {\n\tlog: Applog\n\tthread: Thread\n}\n\nexport const queryDivergencesByPrev = computedFnDeepCompare('queryDivergencesByPrev', function queryConflictingByPrev(\n\tsourceThread: Thread,\n) {\n\tDEBUG(`queryDivergencesByPrev<${sourceThread.nameAndSizeUntracked}>`)\n\tif (sourceThread.filters.includes('lastWriteWins')) WARN(`queryDivergencesByPrev on thread lastWriteWins`, sourceThread)\n\n\tconst divergences = observableArrayMap(() => {\n\t\tconst logsForNode = new Map<string, Applog[]>()\n\t\tconst leafs = new Set<string>()\n\t\tVERBOSE('all applogs:', sourceThread.applogs)\n\t\tfor (const log of sourceThread.applogs) {\n\t\t\tlet prevLogs\n\t\t\tif (log.pv) {\n\t\t\t\tprevLogs = log.pv && logsForNode.get(log.pv.toString())\n\t\t\t\tleafs.delete(log.pv.toString())\n\t\t\t}\n\t\t\tVERBOSE('traversing log', { log, prevLogs, leafs: Array.from(leafs) })\n\t\t\tlogsForNode.set(log.cid, prevLogs ? [...prevLogs, log] : [log])\n\t\t\tleafs.add(log.cid)\n\t\t}\n\t\treturn Array.from(leafs).map(leafID => {\n\t\t\t// TODO use MappedThread?\n\t\t\tconst thread = new ThreadInMemory(\n\t\t\t\tcreateDebugName({\n\t\t\t\t\tcaller: 'DivergenceLeaf',\n\t\t\t\t\tthread: sourceThread,\n\t\t\t\t\tpattern: `leaf: ${leafID}`,\n\t\t\t\t}),\n\t\t\t\tlogsForNode.get(leafID),\n\t\t\t\tsourceThread.filters,\n\t\t\t\ttrue,\n\t\t\t\t// TODO: sourceThread,\n\t\t\t)\n\t\t\treturn ({ log: thread.latestLog, thread })\n\t\t})\n\t}, { name: createDebugName({ caller: 'queryDivergencesByPrev', thread: sourceThread }) })\n\tVERBOSE.isDisabled || autorun(() => VERBOSE(`[queryDivergencesByPrev] result:`, toJS(divergences)))\n\treturn divergences\n}, { equals: comparer.structural })\n","import { DatomPart } from '../applog/datom-types'\n\nexport function includes(str: string) {\n\treturn (vl: DatomPart) => vl?.includes?.(str)\n}\nexport function includedIn(arr: string[]) {\n\treturn (vl: DatomPart) => arr?.includes?.(vl)\n}\n"],"mappings":";;;;;;;;;;;;;;AAOA,IAAM,EAAE,MAAM,KAAK,OAAO,SAAS,MAAM,IAAI,OAAO,MAAM,OAAO,IAAI;AAO9D,IAAM,yBAAyB,sBAAsB,0BAA0B,SAAS,uBAC9F,cACC;AACD,QAAM,0BAA0B,aAAa,oBAAoB,GAAG;AACpE,MAAI,aAAa,QAAQ,SAAS,eAAe;AAAG,SAAK,kDAAkD,YAAY;AAEvH,QAAM,cAAc,mBAAmB,MAAM;AAC5C,UAAM,cAAc,oBAAI,IAAsB;AAC9C,UAAM,QAAQ,oBAAI,IAAY;AAC9B,YAAQ,gBAAgB,aAAa,OAAO;AAC5C,eAAW,OAAO,aAAa,SAAS;AACvC,UAAI;AACJ,UAAI,IAAI,IAAI;AACX,mBAAW,IAAI,MAAM,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC;AACtD,cAAM,OAAO,IAAI,GAAG,SAAS,CAAC;AAAA,MAC/B;AACA,cAAQ,kBAAkB,EAAE,KAAK,UAAU,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC;AACrE,kBAAY,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;AAC9D,YAAM,IAAI,IAAI,GAAG;AAAA,IAClB;AACA,WAAO,MAAM,KAAK,KAAK,EAAE,IAAI,YAAU;AAEtC,YAAM,SAAS,IAAI;AAAA,QAClB,gBAAgB;AAAA,UACf,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,SAAS,SAAS,MAAM;AAAA,QACzB,CAAC;AAAA,QACD,YAAY,IAAI,MAAM;AAAA,QACtB,aAAa;AAAA,QACb;AAAA;AAAA,MAED;AACA,aAAQ,EAAE,KAAK,OAAO,WAAW,OAAO;AAAA,IACzC,CAAC;AAAA,EACF,GAAG,EAAE,MAAM,gBAAgB,EAAE,QAAQ,0BAA0B,QAAQ,aAAa,CAAC,EAAE,CAAC;AACxF,UAAQ,cAAc,QAAQ,MAAM,QAAQ,oCAAoC,KAAK,WAAW,CAAC,CAAC;AAClG,SAAO;AACR,GAAG,EAAE,QAAQ,SAAS,WAAW,CAAC;;;AClD3B,SAAS,SAAS,KAAa;AACrC,SAAO,CAAC,OAAkB,IAAI,WAAW,GAAG;AAC7C;AACO,SAAS,WAAW,KAAe;AACzC,SAAO,CAAC,OAAkB,KAAK,WAAW,EAAE;AAC7C;","names":[]}