@livequery/core 2.0.81 → 2.0.83

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.
@@ -11,7 +11,8 @@ export type LivequeryCollectionOptions<T extends Doc> = {
11
11
  export declare class LivequeryCollection<T extends Doc> {
12
12
  #private;
13
13
  readonly id: string;
14
- ref: string;
14
+ ref: string | undefined;
15
+ collection_ref: string | undefined;
15
16
  readonly items: BehaviorSubject<LivequeryDocument<DocState<T>>[]>;
16
17
  readonly summary: BehaviorSubject<Record<string, any>>;
17
18
  readonly metadata: BehaviorSubject<Record<string, any>>;
@@ -44,12 +45,24 @@ export declare class LivequeryCollection<T extends Doc> {
44
45
  _adding?: boolean;
45
46
  _remotes?: Record<string, string | number>;
46
47
  _prev?: Partial<T> | undefined;
48
+ } & {
49
+ _deleting?: boolean;
50
+ _updating?: boolean;
51
+ _adding?: boolean;
52
+ _remotes?: Record<string, string | number>;
53
+ _prev?: Partial<DocState<T>> | undefined;
47
54
  }, T & {
48
55
  _deleting?: boolean;
49
56
  _updating?: boolean;
50
57
  _adding?: boolean;
51
58
  _remotes?: Record<string, string | number>;
52
59
  _prev?: Partial<T> | undefined;
60
+ } & {
61
+ _deleting?: boolean;
62
+ _updating?: boolean;
63
+ _adding?: boolean;
64
+ _remotes?: Record<string, string | number>;
65
+ _prev?: Partial<DocState<T>> | undefined;
53
66
  }]>;
54
67
  }
55
68
  //# sourceMappingURL=LivequeryCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryCollection.d.ts","sourceRoot":"","sources":["../src/LivequeryCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgD,UAAU,EAAqB,YAAY,EAAkB,MAAM,MAAM,CAAA;AACjJ,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAmB,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,GAAG,IAAI;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,GAAG;;IAE1C,SAAgB,EAAE,SAAsC;IAMjD,GAAG,EAAE,MAAM,CAAA;IAElB,SAAgB,KAAK,EAAE,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxE,SAAgB,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7D,SAAgB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC9D,SAAgB,OAAO,EAAE,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;IACtE,SAAgB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,SAAgB,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,CAAA;IACxD,SAAgB,KAAK,EAAE,eAAe,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAEhF,OAAO,CAAC,OAAO,CAA+B;gBAElC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAyBlD,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAiJrC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAK3C,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAInD,QAAQ;IAYR,QAAQ;IAWR,UAAU,CAAC,MAAM,EAAE,MAAM;IAU/B,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAMvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAMtC,MAAM,CAAC,EAAE,EAAE,MAAM;IAKjB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAM9C,UAAU,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;IAGhD,UAAU;IAIV,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO;;;;;;;;;;;;;CAYvC"}
1
+ {"version":3,"file":"LivequeryCollection.d.ts","sourceRoot":"","sources":["../src/LivequeryCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAgD,UAAU,EAAqB,YAAY,EAAkB,MAAM,MAAM,CAAA;AACjJ,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,KAAK,EAAmB,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAIvD,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,GAAG,IAAI;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,qBAAa,mBAAmB,CAAC,CAAC,SAAS,GAAG;;IAE1C,SAAgB,EAAE,SAAsC;IAMjD,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAEzC,SAAgB,KAAK,EAAE,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxE,SAAgB,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC7D,SAAgB,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC9D,SAAgB,OAAO,EAAE,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;IACtE,SAAgB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,SAAgB,MAAM,EAAE,eAAe,CAAC,eAAe,CAAC,CAAA;IACxD,SAAgB,KAAK,EAAE,eAAe,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAA;IAEhF,OAAO,CAAC,OAAO,CAA+B;gBAElC,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAyBlD,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAqJrC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAK3C,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAInD,QAAQ;IAYR,QAAQ;IAWR,UAAU,CAAC,MAAM,EAAE,MAAM;IAU/B,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAOvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAOtC,MAAM,CAAC,EAAE,EAAE,MAAM;IAMjB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAO9C,UAAU,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;IAGhD,UAAU;IAIV,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;CAYvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryCore.d.ts","sourceRoot":"","sources":["../src/LivequeryCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyH,UAAU,EAAmB,OAAO,EAAmB,MAAM,MAAM,CAAA;AACnM,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,EAAY,MAAM,SAAS,CAAA;AAGpG,MAAM,MAAM,oBAAoB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAClD,OAAO,EAAE,eAAe,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAKlE,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAA;CAChC,CAAA;AAID,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IAC/C,YAAY,EAAE,CAAC,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;CAC1B,KAAK;IACF,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,CAAA;CACd,CAAA;AAGD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG;QACvC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;KACxC,CAAC,CAAA;CACL,CAAA;AAED,qBAAa,aAAa;;IAOV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAgExD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;cA3E9B,OAAO,GAAG,UAAU,GAAG,QAAQ;;IAmGnC,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE;IA0F7E,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAenE,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA2BnF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAyB9D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe;CAK5C"}
1
+ {"version":3,"file":"LivequeryCore.d.ts","sourceRoot":"","sources":["../src/LivequeryCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyH,UAAU,EAAmB,OAAO,EAAmB,MAAM,MAAM,CAAA;AACnM,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,oBAAoB,EAAY,MAAM,SAAS,CAAA;AAGpG,MAAM,MAAM,oBAAoB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAClD,OAAO,EAAE,eAAe,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;AAKlE,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAA;CAChC,CAAA;AAID,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;IAC/C,YAAY,EAAE,CAAC,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;CAC1B,KAAK;IACF,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,CAAA;CACd,CAAA;AAGD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG;QACvC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;KACxC,CAAC,CAAA;CACL,CAAA;AAED,qBAAa,aAAa;;IAOV,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAgExD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;cA3E9B,OAAO,GAAG,UAAU,GAAG,QAAQ;;IAmGnC,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE;IA0F7E,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAenE,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA4BnF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAyB9D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe;CAK5C"}
@@ -1,7 +1,7 @@
1
1
  import { BehaviorSubject } from "rxjs";
2
2
  import type { LivequeryCollection } from "./LivequeryCollection";
3
- import type { Doc } from "./types";
4
- export declare class LivequeryDocument<T extends Doc> extends BehaviorSubject<T> {
3
+ import type { Doc, DocState } from "./types";
4
+ export declare class LivequeryDocument<T extends Doc> extends BehaviorSubject<DocState<T>> {
5
5
  readonly collection: LivequeryCollection<T>;
6
6
  document: T;
7
7
  constructor(collection: LivequeryCollection<T>, document: T);
@@ -1 +1 @@
1
- {"version":3,"file":"LivequeryDocument.d.ts","sourceRoot":"","sources":["../src/LivequeryDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAInC,qBAAa,iBAAiB,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;aAGhD,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC;gBADF,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC3C,QAAQ,EAAE,CAAC;IAKtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAKvB,GAAG;IAKH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;CAG1D"}
1
+ {"version":3,"file":"LivequeryDocument.d.ts","sourceRoot":"","sources":["../src/LivequeryDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI7C,qBAAa,iBAAiB,CAAC,CAAC,SAAS,GAAG,CAAE,SAAQ,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAG1D,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC;gBADF,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC3C,QAAQ,EAAE,CAAC;IAKtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAKvB,GAAG;IAKH,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;CAG1D"}
package/dist/index.js CHANGED
@@ -2191,6 +2191,7 @@ class LivequeryCollection {
2191
2191
  #core;
2192
2192
  #filters = new Subject;
2193
2193
  ref;
2194
+ collection_ref;
2194
2195
  items;
2195
2196
  summary;
2196
2197
  metadata;
@@ -2225,6 +2226,8 @@ class LivequeryCollection {
2225
2226
  if (typeof window == "undefined")
2226
2227
  return;
2227
2228
  this.ref = ref;
2229
+ const refs = ref.split("/");
2230
+ this.collection_ref = refs.length % 2 == 0 ? refs.slice(0, -1).join("/") : ref;
2228
2231
  this.#core = core;
2229
2232
  const timer2 = this.options.lazy !== true && setTimeout(() => this.query(this.filters.value || {}));
2230
2233
  this.#subscription?.unsubscribe();
@@ -2316,10 +2319,13 @@ class LivequeryCollection {
2316
2319
  }))).subscribe();
2317
2320
  return this.#subscription;
2318
2321
  }
2319
- async#query(filters) {
2322
+ async#query(filters, flush) {
2320
2323
  if (!this.#core)
2321
2324
  return;
2325
+ if (!this.ref)
2326
+ return;
2322
2327
  this.error.next(null);
2328
+ flush && this.items.next([]);
2323
2329
  this.#keys = Object.entries(filters).reduce((p, [k, v]) => {
2324
2330
  if (k.endsWith(":sort")) {
2325
2331
  const field = k.split(":")[0];
@@ -2340,7 +2346,7 @@ class LivequeryCollection {
2340
2346
  }
2341
2347
  async query(filters) {
2342
2348
  this.loading.next("all");
2343
- await this.#query(filters);
2349
+ await this.#query(filters, true);
2344
2350
  }
2345
2351
  async debounceQuery(filters) {
2346
2352
  this.#filters.next(filters);
@@ -2354,7 +2360,7 @@ class LivequeryCollection {
2354
2360
  ":after": next.cursor
2355
2361
  };
2356
2362
  this.loading.next("next");
2357
- await this.#query(filters || {});
2363
+ await this.#query(filters || {}, false);
2358
2364
  }
2359
2365
  async loadPrev() {
2360
2366
  const prev = this.paging.value.prev;
@@ -2365,7 +2371,7 @@ class LivequeryCollection {
2365
2371
  ":before": prev.cursor
2366
2372
  };
2367
2373
  this.loading.next("prev");
2368
- await this.#query(filters || {});
2374
+ await this.#query(filters || {}, false);
2369
2375
  }
2370
2376
  async loadAround(cursor) {
2371
2377
  const filters = {
@@ -2374,26 +2380,34 @@ class LivequeryCollection {
2374
2380
  ":before": cursor
2375
2381
  };
2376
2382
  this.loading.next("all");
2377
- await this.#query(filters || {});
2383
+ await this.#query(filters || {}, false);
2378
2384
  }
2379
2385
  add(payload) {
2380
2386
  if (!this.#core)
2381
2387
  throw new Error("LivequeryCollection is not initialized with a core instance");
2382
- return this.#core.add(this.ref, payload);
2388
+ if (!this.collection_ref)
2389
+ throw new Error("LivequeryCollection is not initialized with a ref");
2390
+ return this.#core.add(this.collection_ref, payload);
2383
2391
  }
2384
2392
  update(id, payload) {
2385
2393
  if (!this.#core)
2386
2394
  throw new Error("LivequeryCollection is not initialized with a core instance");
2387
- return this.#core.update(this.ref, id, payload);
2395
+ if (!this.collection_ref)
2396
+ throw new Error("LivequeryCollection is not initialized with a ref");
2397
+ return this.#core.update(this.collection_ref, id, payload);
2388
2398
  }
2389
2399
  delete(id) {
2390
2400
  if (!this.#core)
2391
2401
  throw new Error("LivequeryCollection is not initialized with a core instance");
2392
- return this.#core.delete(this.ref, id);
2402
+ if (!this.collection_ref)
2403
+ throw new Error("LivequeryCollection is not initialized with a ref");
2404
+ return this.#core.delete(this.collection_ref, id);
2393
2405
  }
2394
2406
  trigger(action, payload) {
2395
2407
  if (!this.#core)
2396
2408
  throw new Error("LivequeryCollection is not initialized with a core instance");
2409
+ if (!this.ref)
2410
+ throw new Error("LivequeryCollection is not initialized with a ref");
2397
2411
  return this.#core.trigger({
2398
2412
  action,
2399
2413
  payload,
@@ -2547,19 +2561,19 @@ class LivequeryCore {
2547
2561
  [key]: doc[key]
2548
2562
  }), {});
2549
2563
  await transporter.update(collection_ref, id, changedFields);
2550
- await this.config.storage.update(collection_ref, id, { _prev: undefined });
2564
+ await this.config.storage.update(collection_ref, id, { _prev: undefined, _updating: undefined });
2551
2565
  this.#sync("action", {
2552
2566
  collection_ref,
2553
2567
  type: "modified",
2554
2568
  id,
2555
- data: { _prev: undefined }
2569
+ data: { _prev: undefined, _updating: undefined }
2556
2570
  });
2557
2571
  }
2558
2572
  return EMPTY;
2559
2573
  })), { defaultValue: undefined });
2560
2574
  }
2561
2575
  async add(collection_ref, doc) {
2562
- const data = await this.config.storage.add(collection_ref, doc);
2576
+ const data = await this.config.storage.add(collection_ref, { ...doc, _adding: true });
2563
2577
  this.#sync("action", {
2564
2578
  id: data.id,
2565
2579
  type: "added",
@@ -2581,17 +2595,18 @@ class LivequeryCore {
2581
2595
  [key]: old[key]
2582
2596
  };
2583
2597
  }, old._prev || {});
2584
- await this.config.storage.update(collection_ref, id, { _prev, ...data });
2598
+ await this.config.storage.update(collection_ref, id, { _prev, _updating: true, ...data });
2585
2599
  const doc = await this.#sync("action", {
2586
2600
  collection_ref,
2587
2601
  id,
2588
2602
  type: "modified",
2589
2603
  data: {
2590
- ...data,
2591
- _prev
2604
+ _prev,
2605
+ _updating: true,
2606
+ ...data
2592
2607
  }
2593
2608
  });
2594
- await this.#push(collection_ref, id, { ...data, _prev });
2609
+ await this.#push(collection_ref, id, { ...data, _prev, _updating: true });
2595
2610
  return doc;
2596
2611
  }
2597
2612
  async delete(collection_ref, id) {
@@ -2797,5 +2812,5 @@ export {
2797
2812
  LivequeryCollection
2798
2813
  };
2799
2814
 
2800
- //# debugId=2747D663DBF8FBB764756E2164756E21
2815
+ //# debugId=63A509780A3E891D64756E2164756E21
2801
2816
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -78,13 +78,13 @@
78
78
  "import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: function () { return new ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n//# sourceMappingURL=shareReplay.js.map",
79
79
  "import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n//# sourceMappingURL=switchMap.js.map",
80
80
  "import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map",
81
- "import { BehaviorSubject } from \"rxjs\";\nimport type { LivequeryCollection } from \"./LivequeryCollection\";\nimport type { Doc } from \"./types\";\n\n\n\nexport class LivequeryDocument<T extends Doc> extends BehaviorSubject<T> {\n\n constructor(\n public readonly collection: LivequeryCollection<T>,\n public document: T\n ) {\n super(document)\n }\n\n update(data: Partial<T>) {\n const id = this.value.id\n return this.collection.update(id, data)\n }\n\n del() { \n const id = this.value.id \n return this.collection.delete(id)\n }\n\n trigger<T>(action: string, payload: Record<string, any>) {\n return this.collection.trigger<T>(action, payload)\n }\n} ",
82
- "import { BehaviorSubject, debounceTime, EMPTY, filter, finalize, merge, Observable, pairwise, Subject, Subscription, switchMap, tap } from \"rxjs\"\nimport { LivequeryCore, type LivequeryLoadingState } from \"./LivequeryCore\"\nimport type { DataChangeEvent, Doc, DocState, LivequeryFilters, LivequeryPaging } from \"./types\"\nimport { LivequeryDocument } from \"./LivequeryDocument\"\n\n\n\nexport type LivequeryCollectionOptions<T extends Doc> = {\n filters?: Partial<LivequeryFilters<T>>\n lazy?: boolean\n full?: boolean\n debounce?: number\n}\n\nexport class LivequeryCollection<T extends Doc> {\n\n public readonly id = (Math.random() * 1e18).toString(36)\n #keys = new Map<keyof T, number>()\n #indexes: Map<string, number>\n #core: LivequeryCore | undefined\n #filters = new Subject<Partial<LivequeryFilters<T>>>()\n\n public ref: string\n\n public readonly items: BehaviorSubject<LivequeryDocument<DocState<T>>[]>\n public readonly summary: BehaviorSubject<Record<string, any>>\n public readonly metadata: BehaviorSubject<Record<string, any>>\n public readonly loading: BehaviorSubject<LivequeryLoadingState | null>\n public readonly filters: BehaviorSubject<Partial<LivequeryFilters<T>>>\n public readonly paging: BehaviorSubject<LivequeryPaging>\n public readonly error: BehaviorSubject<{ code: string, message: string } | null>\n\n private options: LivequeryCollectionOptions<T>\n\n constructor(options: LivequeryCollectionOptions<T>) {\n this.#indexes = new Map()\n this.items = new BehaviorSubject<LivequeryDocument<DocState<T>>[]>([])\n this.summary = new BehaviorSubject({})\n this.loading = new BehaviorSubject<LivequeryLoadingState>(null)\n this.filters = new BehaviorSubject<Partial<LivequeryFilters<T>>>(options?.filters || {})\n this.paging = new BehaviorSubject<LivequeryPaging>({\n total: 0,\n current: 0\n })\n this.error = new BehaviorSubject<{ code: string, message: string } | null>(null)\n if (options) {\n this.options = options\n }\n }\n\n #reindex() {\n this.#indexes = this.items.value.reduce((p, c, index) => {\n p.set(c.value.id, index)\n return p\n }, new Map<string, number>())\n }\n\n\n #subscription: Subscription | null = null\n initialize(core: LivequeryCore, ref: string) {\n if (typeof window == 'undefined') return\n this.ref = ref\n this.#core = core\n const timer = this.options.lazy !== true && setTimeout(() => this.query(this.filters.value || {}))\n this.#subscription?.unsubscribe()\n this.#subscription = merge(\n this.options.debounce ? this.#filters.pipe(\n debounceTime(this.options.debounce),\n switchMap(filters => this.query(filters))\n ) : EMPTY,\n\n core.watch(this.ref, this.id).pipe(\n finalize(() => {\n timer && clearTimeout(timer)\n }),\n tap(event => {\n event.summary && this.summary.next(event.summary)\n event.metadata && this.metadata.next(event.metadata)\n event.paging && this.paging.next(event.paging)\n event.error && this.error.next(event.error)\n\n if (!event.changes || event.changes.length == 0) {\n event.from == 'query' && this.loading.next(null)\n return\n }\n const chaos = event.changes && event.changes.some(change => {\n if (change.type == 'added' || change.type == 'removed') return true\n if (change.data && change.data.id != change.id) return true\n return Object.keys(change.data || {}).some(k => this.#keys.has(k as keyof T))\n })\n const sorter = (a: BehaviorSubject<T>, b: BehaviorSubject<T>) => {\n for (const [key, order] of this.#keys) {\n const va = a.value[key]\n const vb = b.value[key]\n if (typeof va === 'number' && typeof vb === 'number') {\n if (va < vb) return -order\n if (va > vb) return order\n }\n if (typeof va === 'string' && typeof vb === 'string') {\n if (va < vb) return -order\n if (va > vb) return order\n }\n }\n return 0\n }\n\n const events = event.changes.reduce((p, c) => {\n return {\n ...p,\n [c.type]: [\n ...(p[c.type] || []),\n c\n ]\n }\n }, {\n added: [] as DataChangeEvent[],\n modified: [] as DataChangeEvent[],\n removed: [] as DataChangeEvent[]\n })\n\n const updated_items = events.modified.reduce((p, { data, id }) => {\n const index = this.#indexes.get(id)\n const target = index != undefined && index >= 0 ? p[index] : null\n target && target.next({ ...target.value, ...data })\n return p\n }, this.items.value)\n\n const new_items = (\n events.added\n .filter(a => a.data)\n .reduce(\n (p, c) => {\n if (!p.indexes.has(c.id)) {\n const doc = new LivequeryDocument(this, { id: c.id, ...c.data } as any as T)\n p.list.push(doc)\n p.indexes.add(c.id)\n }\n return p\n },\n {\n list: [] as LivequeryDocument<DocState<T>>[],\n indexes: new Set(this.#indexes.keys())\n }\n )\n )\n\n const remove_indexes = (\n events.removed\n .map(r => this.#indexes.get(r.id))\n .filter(i => i != undefined)\n .sort((a, b) => b - a)\n )\n\n const unsort_items = remove_indexes.reduce((p, index) => {\n return [\n ...p.slice(0, index),\n ...p.slice(index + 1)\n ]\n }, [\n ...updated_items,\n ...new_items.list\n ])\n\n const items = chaos ? unsort_items.sort(sorter) : unsort_items\n if (chaos) {\n this.items.next(items)\n this.#reindex()\n }\n event.from == 'query' && this.loading.next(null)\n event.paging && this.paging.next(event.paging)\n event.from == 'query' && this.loading.next(null)\n }),\n )\n ).subscribe()\n return this.#subscription\n }\n\n async #query(filters: Partial<LivequeryFilters<T>>) {\n if (!this.#core) return\n this.error.next(null)\n this.#keys = Object.entries(filters).reduce((p, [k, v]) => {\n if (k.endsWith(':sort')) {\n const field = k.split(':')[0] as keyof T\n p.set(field, v === 'asc' ? 1 : -1)\n }\n return p\n }, new Map<keyof T, number>())\n this.filters.next(filters)\n const next = filters[':after']\n const prev = filters[':before']\n const loading = next && prev ? 'all' : next ? 'next' : prev ? 'prev' : 'all'\n this.loading.next(loading) \n await this.#core.query<T>({\n ref: this.ref,\n filters,\n collection_id: this.id\n })\n // const documents = result.documents || []\n // const items = documents.map(doc => new LivequeryDocument(this, doc))\n // this.items.next(items)\n // this.#reindex()\n // result.paging && this.paging.next(result.paging)\n }\n\n async query(filters: Partial<LivequeryFilters<T>>) {\n this.loading.next('all')\n await this.#query(filters)\n }\n\n async debounceQuery(filters: Partial<LivequeryFilters<T>>) {\n this.#filters.next(filters)\n }\n\n async loadMore() {\n const next = this.paging.value.next\n if (!next) return\n const filters = {\n ...this.filters.value,\n ':after': next.cursor\n }\n this.loading.next('next')\n await this.#query(filters || {})\n }\n\n\n async loadPrev() {\n const prev = this.paging.value.prev\n if (!prev) return\n const filters = {\n ...this.filters.value,\n ':before': prev.cursor\n }\n this.loading.next('prev')\n await this.#query(filters || {})\n }\n\n async loadAround(cursor: string) {\n const filters = {\n ...this.filters.value,\n ':after': cursor,\n ':before': cursor\n }\n this.loading.next('all')\n await this.#query(filters || {})\n }\n\n add(payload: Partial<T>) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n return this.#core.add<T>(this.ref, payload)\n }\n\n\n update(id: string, payload: Partial<T>) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n return this.#core.update<T>(this.ref, id, payload)\n }\n\n\n delete(id: string) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n return this.#core.delete<T>(this.ref, id)\n }\n\n trigger<T>(action: string, payload?: Record<string, any>) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n return this.#core.trigger<T>({\n action,\n payload,\n ref: this.ref\n }) as Observable<{ data: T, error?: Error }>\n }\n\n resetError() {\n this.error.next(null)\n }\n\n watch(check: (a: T, b: T) => boolean) {\n return this.items.pipe(\n switchMap(items => merge(\n ...items.map(item => item.pipe(\n pairwise(),\n filter(([p, n]) => {\n return check(p, n)\n })\n ))\n ))\n )\n }\n} ",
83
- "import { BehaviorSubject, catchError, concatMap, delayWhen, EMPTY, filter, finalize, from, lastValueFrom, map, merge, mergeMap, Observable, of, shareReplay, Subject, Subscriber, tap } from \"rxjs\"\nimport type { LivequeryStorge } from \"./LivequeryStorge\"\nimport type { LivequeryQueryResult, LivequeryTransporter } from \"./LivequeryTransporter\"\nimport type { DataChangeEvent, LivequeryAction, Doc, LivequeryQueryParams, DocState } from \"./types\"\n\n\nexport type LivequeryCoreOptions = {\n transporters: Record<string, LivequeryTransporter>\n storage: LivequeryStorge\n}\n\nexport type LivequeryLoadingState = null | 'next' | 'prev' | 'all'\n\ntype CollectionId = string\ntype Ref = string\n\nexport type SyncRequest = DataChangeEvent & {\n ref: string,\n collection_ref: string\n source: 'realtime' | 'action'\n}\n\n\n\nexport type ConflictResolverFunction = <T extends Doc>(e: {\n from: Record<string, string | number | boolean>\n old_document: T\n change: DataChangeEvent\n}) => {\n approved: boolean\n document: T\n}\n\n\nexport type LivequeryCoreConfig = {\n storage: LivequeryStorge\n transporters: Record<string, LivequeryTransporter>\n}\n\nexport type CollectionMetadata = {\n collection_id: string\n document_id?: string\n o: Subject<Partial<LivequeryQueryResult> & {\n from: 'query' | 'realtime' | 'action'\n }>\n}\n\nexport class LivequeryCore {\n\n #collections = new Map<CollectionId, CollectionMetadata>()\n #refs = new Map<Ref, Set<CollectionId>>()\n #queries$ = new Subject<LivequeryQueryParams<any> & { collection: CollectionMetadata }>()\n #adding = new Map<string, Subject<void>>()\n\n constructor(private readonly config: LivequeryCoreConfig) {\n this.#start()\n }\n\n #start() {\n const cache = new Map<string, Observable<{ result: Partial<LivequeryQueryResult> }>>()\n const changes$ = new Subject<DataChangeEvent>()\n merge(\n changes$.pipe(\n delayWhen(change => {\n if (change.type == 'modified' || change.type == 'removed') return of(1)\n return this.#adding.get(change.collection_ref) || of(1)\n }),\n tap(change => this.#sync('realtime', change))\n ),\n\n this.#queries$.pipe(\n mergeMap(({ collection, ref, filters, headers, }) => {\n return from(Object.values(this.config.transporters)).pipe(\n map(transporter => {\n const key = `${ref}?${new URLSearchParams(filters as Record<string, string> || {}).toString()}`\n const cached = cache.get(key)\n if (cached) return cached\n const query = transporter.query({\n ref,\n filters,\n headers,\n }).pipe(\n tap(result => { \n for (const change of result.changes || []) {\n change.type == 'added' && change.data && this.config.storage.add(change.collection_ref, {\n id: change.data.id,\n ...change.data\n })\n change.type == 'modified' && change.data && this.config.storage.update(change.collection_ref, change.id, change.data)\n change.type == 'removed' && this.config.storage.delete(change.collection_ref, change.id)\n }\n }),\n map((result, index) => {\n if (index == 0) {\n cache.delete(key)\n return { result }\n }\n result.changes?.forEach(change => changes$.next(change))\n }),\n filter(Boolean),\n shareReplay()\n )\n cache.set(key, query)\n return query\n }),\n mergeMap($ => $),\n map(({ result }, index) => {\n collection.o.next({\n ...result,\n from: index === 0 ? 'query' : 'realtime'\n }) \n })\n )\n })\n )\n ).subscribe()\n }\n\n watch(ref: string, collection_id: string) {\n const refs = ref.split('/')\n const document_id = refs.length % 2 == 0 ? refs[refs.length - 1] : undefined\n const collection_ref = refs.length % 2 == 0 ? refs.slice(0, -1).join('/') : ref\n const collections = this.#refs.get(collection_ref) || new Set<CollectionId>()\n collections.add(collection_id)\n this.#refs.set(collection_ref, collections)\n const o = new Subject() as CollectionMetadata['o']\n this.#collections.set(collection_id, {\n o,\n document_id,\n collection_id,\n })\n return o.pipe(\n finalize(() => {\n this.#collections.delete(collection_id)\n collections.delete(collection_id)\n if (collections.size === 0) {\n this.#refs.delete(collection_ref)\n }\n })\n )\n }\n\n async query<T extends Doc>(req: LivequeryQueryParams<T> & { collection_id: string }) {\n const collection = this.#collections.get(req.collection_id)\n collection && setTimeout(() => this.#queries$.next({ ...req, collection }))\n return []//await this.config.storage.query<T>(req.ref, req.filters)\n }\n\n\n #sync(source: 'realtime' | 'action', change: DataChangeEvent) {\n\n const collections = this.#refs.get(change.collection_ref) || new Set<CollectionId>()\n for (const collection_id of collections) {\n const sender = this.#collections.get(collection_id)\n if (!sender) continue\n if (!sender.document_id || sender.document_id === change.id) {\n sender.o.next({\n changes: [change],\n from: source\n })\n const new_id = change.data?.id\n if (sender.document_id && new_id) {\n sender.document_id = new_id\n }\n }\n }\n return change.data\n }\n\n #push<T extends Doc>(collection_ref: string, id: string, doc: Record<string, any>) {\n const cleanDoc = Object.entries(doc).reduce((p, [k, v]) => {\n if (k.startsWith('_')) return p\n return { ...p, [k]: v }\n }, {} as Record<string, any>)\n\n return lastValueFrom(\n from(Object.entries(this.config.transporters)).pipe(\n concatMap(async ([_transporterId, transporter]) => {\n if (String(id).startsWith('local:')) {\n // lock by collection_ref \n const o = new Subject<void>()\n this.#adding.set(collection_ref, o)\n const data = await transporter.add<T>(collection_ref, cleanDoc as T)\n // unlock \n if (data.id) {\n await this.config.storage.update<T>(collection_ref, id, data)\n this.#sync('action', {\n collection_ref,\n type: 'modified',\n id,\n data\n })\n }\n o.next()\n o.complete()\n this.#adding.delete(collection_ref)\n }\n\n // _deleting flag → soft-delete on remote then hard-delete locally \n if (doc._deleting) {\n await transporter.delete(collection_ref, id)\n await this.config.storage.delete<T>(collection_ref, id)\n this.#sync('action', {\n collection_ref,\n type: 'removed',\n id\n })\n }\n\n // _prev present → document was updated locally, push changed fields to remote\n if (doc._prev && Object.keys(doc._prev).length > 0) {\n const changedFields = Object.keys(doc._prev).reduce<Partial<T>>((acc, key) => ({\n ...acc,\n [key]: doc[key as any as keyof typeof doc]\n }), {})\n await transporter.update<T>(collection_ref, id, changedFields)\n await this.config.storage.update<T>(collection_ref, id, { _prev: undefined })\n this.#sync('action', {\n collection_ref,\n type: 'modified',\n id,\n data: { _prev: undefined }\n })\n }\n\n return EMPTY\n })\n ),\n { defaultValue: undefined }\n )\n }\n\n async add<T extends Doc>(collection_ref: string, doc: Record<string, any>) {\n const data = await this.config.storage.add<T>(\n collection_ref,\n doc as T\n )\n this.#sync('action', {\n id: data.id,\n type: 'added',\n data,\n collection_ref\n })\n await this.#push(collection_ref, data.id, data)\n return data\n }\n\n async update<T extends Doc>(collection_ref: string, id: string, data: Record<string, any>) {\n const old = await this.config.storage.get<T>(\n collection_ref,\n id\n ) as undefined | DocState<T>\n if (!old) return\n const _prev = Object.keys(data).reduce((acc, key) => {\n if (key in (old._prev || {})) return acc\n return {\n ...acc,\n [key]: (old as any)[key]\n }\n }, old._prev || {})\n await this.config.storage.update<T>(collection_ref, id, { _prev, ...data, })\n const doc = await this.#sync('action', {\n collection_ref,\n id,\n type: 'modified',\n data: {\n ...data,\n _prev\n }\n })\n await this.#push(collection_ref, id, { ...data, _prev })\n return doc\n }\n\n async delete<T extends Doc>(collection_ref: string, id: string) {\n const soft = Object.keys(this.config.transporters).length > 0\n const is_local_doc = id.startsWith('local:')\n if (!soft || is_local_doc) {\n await this.config.storage.delete<T>(collection_ref, id)\n await this.#sync('action', {\n collection_ref,\n id,\n type: 'removed'\n })\n return\n }\n await this.config.storage.update<T>(collection_ref, id, { _deleting: true })\n const doc = await this.#sync('action', {\n collection_ref,\n id,\n type: 'modified',\n data: {\n _deleting: true\n }\n })\n await this.#push(collection_ref, id, { ...doc, _deleting: true })\n return doc\n }\n\n trigger<Response>(action: LivequeryAction) {\n return from(Object.values(this.config.transporters)).pipe(\n mergeMap(transporter => transporter.trigger<Response>(action))\n )\n }\n}",
81
+ "import { BehaviorSubject } from \"rxjs\";\nimport type { LivequeryCollection } from \"./LivequeryCollection\";\nimport type { Doc, DocState } from \"./types\";\n\n\n\nexport class LivequeryDocument<T extends Doc> extends BehaviorSubject<DocState<T>> {\n\n constructor(\n public readonly collection: LivequeryCollection<T>,\n public document: T\n ) {\n super(document)\n }\n\n update(data: Partial<T>) {\n const id = this.value.id \n return this.collection.update(id, data)\n }\n\n del() {\n const id = this.value.id\n return this.collection.delete(id)\n }\n\n trigger<T>(action: string, payload: Record<string, any>) {\n return this.collection.trigger<T>(action, payload)\n }\n} ",
82
+ "import { BehaviorSubject, debounceTime, EMPTY, filter, finalize, merge, Observable, pairwise, Subject, Subscription, switchMap, tap } from \"rxjs\"\nimport { LivequeryCore, type LivequeryLoadingState } from \"./LivequeryCore\"\nimport type { DataChangeEvent, Doc, DocState, LivequeryFilters, LivequeryPaging } from \"./types\"\nimport { LivequeryDocument } from \"./LivequeryDocument\"\n\n\n\nexport type LivequeryCollectionOptions<T extends Doc> = {\n filters?: Partial<LivequeryFilters<T>>\n lazy?: boolean\n full?: boolean\n debounce?: number\n}\n\nexport class LivequeryCollection<T extends Doc> {\n\n public readonly id = (Math.random() * 1e18).toString(36)\n #keys = new Map<keyof T, number>()\n #indexes: Map<string, number>\n #core: LivequeryCore | undefined\n #filters = new Subject<Partial<LivequeryFilters<T>>>()\n\n public ref: string | undefined\n public collection_ref: string | undefined\n\n public readonly items: BehaviorSubject<LivequeryDocument<DocState<T>>[]>\n public readonly summary: BehaviorSubject<Record<string, any>>\n public readonly metadata: BehaviorSubject<Record<string, any>>\n public readonly loading: BehaviorSubject<LivequeryLoadingState | null>\n public readonly filters: BehaviorSubject<Partial<LivequeryFilters<T>>>\n public readonly paging: BehaviorSubject<LivequeryPaging>\n public readonly error: BehaviorSubject<{ code: string, message: string } | null>\n\n private options: LivequeryCollectionOptions<T>\n\n constructor(options: LivequeryCollectionOptions<T>) {\n this.#indexes = new Map()\n this.items = new BehaviorSubject<LivequeryDocument<DocState<T>>[]>([])\n this.summary = new BehaviorSubject({})\n this.loading = new BehaviorSubject<LivequeryLoadingState>(null)\n this.filters = new BehaviorSubject<Partial<LivequeryFilters<T>>>(options?.filters || {})\n this.paging = new BehaviorSubject<LivequeryPaging>({\n total: 0,\n current: 0\n })\n this.error = new BehaviorSubject<{ code: string, message: string } | null>(null)\n if (options) {\n this.options = options\n }\n }\n\n #reindex() {\n this.#indexes = this.items.value.reduce((p, c, index) => {\n p.set(c.value.id, index)\n return p\n }, new Map<string, number>())\n }\n\n\n #subscription: Subscription | null = null\n initialize(core: LivequeryCore, ref: string) {\n if (typeof window == 'undefined') return\n this.ref = ref\n const refs = ref.split('/')\n this.collection_ref = refs.length % 2 == 0 ? refs.slice(0, -1).join('/') : ref\n this.#core = core\n const timer = this.options.lazy !== true && setTimeout(() => this.query(this.filters.value || {}))\n this.#subscription?.unsubscribe()\n this.#subscription = merge(\n this.options.debounce ? this.#filters.pipe(\n debounceTime(this.options.debounce),\n switchMap(filters => this.query(filters))\n ) : EMPTY,\n\n core.watch(this.ref, this.id).pipe(\n finalize(() => {\n timer && clearTimeout(timer)\n }),\n tap(event => {\n event.summary && this.summary.next(event.summary)\n event.metadata && this.metadata.next(event.metadata)\n event.paging && this.paging.next(event.paging)\n event.error && this.error.next(event.error)\n\n if (!event.changes || event.changes.length == 0) {\n event.from == 'query' && this.loading.next(null)\n return\n }\n const chaos = event.changes && event.changes.some(change => {\n if (change.type == 'added' || change.type == 'removed') return true\n if (change.data && change.data.id != change.id) return true\n return Object.keys(change.data || {}).some(k => this.#keys.has(k as keyof T))\n })\n const sorter = (a: BehaviorSubject<T>, b: BehaviorSubject<T>) => {\n for (const [key, order] of this.#keys) {\n const va = a.value[key]\n const vb = b.value[key]\n if (typeof va === 'number' && typeof vb === 'number') {\n if (va < vb) return -order\n if (va > vb) return order\n }\n if (typeof va === 'string' && typeof vb === 'string') {\n if (va < vb) return -order\n if (va > vb) return order\n }\n }\n return 0\n }\n\n const events = event.changes.reduce((p, c) => {\n return {\n ...p,\n [c.type]: [\n ...(p[c.type] || []),\n c\n ]\n }\n }, {\n added: [] as DataChangeEvent[],\n modified: [] as DataChangeEvent[],\n removed: [] as DataChangeEvent[]\n })\n\n const updated_items = events.modified.reduce((p, { data, id }) => {\n const index = this.#indexes.get(id)\n const target = index != undefined && index >= 0 ? p[index] : null\n target && target.next({ ...target.value, ...data })\n return p\n }, this.items.value)\n\n const new_items = (\n events.added\n .filter(a => a.data)\n .reduce(\n (p, c) => {\n if (!p.indexes.has(c.id)) {\n const doc = new LivequeryDocument(this, { id: c.id, ...c.data } as any as T)\n p.list.push(doc)\n p.indexes.add(c.id)\n }\n return p\n },\n {\n list: [] as LivequeryDocument<DocState<T>>[],\n indexes: new Set(this.#indexes.keys())\n }\n )\n )\n\n const remove_indexes = (\n events.removed\n .map(r => this.#indexes.get(r.id))\n .filter(i => i != undefined)\n .sort((a, b) => b - a)\n )\n\n const unsort_items = remove_indexes.reduce((p, index) => {\n return [\n ...p.slice(0, index),\n ...p.slice(index + 1)\n ]\n }, [\n ...updated_items,\n ...new_items.list\n ])\n\n const items = chaos ? unsort_items.sort(sorter) : unsort_items\n if (chaos) {\n this.items.next(items)\n this.#reindex()\n }\n event.from == 'query' && this.loading.next(null)\n event.paging && this.paging.next(event.paging)\n event.from == 'query' && this.loading.next(null)\n }),\n )\n ).subscribe()\n return this.#subscription\n }\n\n async #query(filters: Partial<LivequeryFilters<T>>, flush: boolean) {\n if (!this.#core) return\n if (!this.ref) return\n this.error.next(null)\n flush && this.items.next([])\n this.#keys = Object.entries(filters).reduce((p, [k, v]) => {\n if (k.endsWith(':sort')) {\n const field = k.split(':')[0] as keyof T\n p.set(field, v === 'asc' ? 1 : -1)\n }\n return p\n }, new Map<keyof T, number>())\n this.filters.next(filters)\n const next = filters[':after']\n const prev = filters[':before']\n const loading = next && prev ? 'all' : next ? 'next' : prev ? 'prev' : 'all'\n this.loading.next(loading)\n await this.#core.query<T>({\n ref: this.ref,\n filters,\n collection_id: this.id\n })\n // const documents = result.documents || []\n // const items = documents.map(doc => new LivequeryDocument(this, doc))\n // this.items.next(items)\n // this.#reindex()\n // result.paging && this.paging.next(result.paging)\n }\n\n async query(filters: Partial<LivequeryFilters<T>>) {\n this.loading.next('all')\n await this.#query(filters, true)\n }\n\n async debounceQuery(filters: Partial<LivequeryFilters<T>>) {\n this.#filters.next(filters)\n }\n\n async loadMore() {\n const next = this.paging.value.next\n if (!next) return\n const filters = {\n ...this.filters.value,\n ':after': next.cursor\n }\n this.loading.next('next')\n await this.#query(filters || {}, false)\n }\n\n\n async loadPrev() {\n const prev = this.paging.value.prev\n if (!prev) return\n const filters = {\n ...this.filters.value,\n ':before': prev.cursor\n }\n this.loading.next('prev')\n await this.#query(filters || {}, false)\n }\n\n async loadAround(cursor: string) {\n const filters = {\n ...this.filters.value,\n ':after': cursor,\n ':before': cursor\n }\n this.loading.next('all')\n await this.#query(filters || {}, false)\n }\n\n add(payload: Partial<T>) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n if (!this.collection_ref) throw new Error('LivequeryCollection is not initialized with a ref')\n return this.#core.add<T>(this.collection_ref, payload)\n }\n\n\n update(id: string, payload: Partial<T>) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n if (!this.collection_ref) throw new Error('LivequeryCollection is not initialized with a ref')\n return this.#core.update<T>(this.collection_ref, id, payload)\n }\n\n\n delete(id: string) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n if (!this.collection_ref) throw new Error('LivequeryCollection is not initialized with a ref')\n return this.#core.delete<T>(this.collection_ref, id)\n }\n\n trigger<T>(action: string, payload?: Record<string, any>) {\n if (!this.#core) throw new Error('LivequeryCollection is not initialized with a core instance')\n if (!this.ref) throw new Error('LivequeryCollection is not initialized with a ref')\n return this.#core.trigger<T>({\n action,\n payload,\n ref: this.ref\n }) as Observable<{ data: T, error?: Error }>\n }\n\n resetError() {\n this.error.next(null)\n }\n\n watch(check: (a: T, b: T) => boolean) {\n return this.items.pipe(\n switchMap(items => merge(\n ...items.map(item => item.pipe(\n pairwise(),\n filter(([p, n]) => {\n return check(p, n)\n })\n ))\n ))\n )\n }\n} ",
83
+ "import { BehaviorSubject, catchError, concatMap, delayWhen, EMPTY, filter, finalize, from, lastValueFrom, map, merge, mergeMap, Observable, of, shareReplay, Subject, Subscriber, tap } from \"rxjs\"\nimport type { LivequeryStorge } from \"./LivequeryStorge\"\nimport type { LivequeryQueryResult, LivequeryTransporter } from \"./LivequeryTransporter\"\nimport type { DataChangeEvent, LivequeryAction, Doc, LivequeryQueryParams, DocState } from \"./types\"\n\n\nexport type LivequeryCoreOptions = {\n transporters: Record<string, LivequeryTransporter>\n storage: LivequeryStorge\n}\n\nexport type LivequeryLoadingState = null | 'next' | 'prev' | 'all'\n\ntype CollectionId = string\ntype Ref = string\n\nexport type SyncRequest = DataChangeEvent & {\n ref: string,\n collection_ref: string\n source: 'realtime' | 'action'\n}\n\n\n\nexport type ConflictResolverFunction = <T extends Doc>(e: {\n from: Record<string, string | number | boolean>\n old_document: T\n change: DataChangeEvent\n}) => {\n approved: boolean\n document: T\n}\n\n\nexport type LivequeryCoreConfig = {\n storage: LivequeryStorge\n transporters: Record<string, LivequeryTransporter>\n}\n\nexport type CollectionMetadata = {\n collection_id: string\n document_id?: string\n o: Subject<Partial<LivequeryQueryResult> & {\n from: 'query' | 'realtime' | 'action'\n }>\n}\n\nexport class LivequeryCore {\n\n #collections = new Map<CollectionId, CollectionMetadata>()\n #refs = new Map<Ref, Set<CollectionId>>()\n #queries$ = new Subject<LivequeryQueryParams<any> & { collection: CollectionMetadata }>()\n #adding = new Map<string, Subject<void>>()\n\n constructor(private readonly config: LivequeryCoreConfig) {\n this.#start()\n }\n\n #start() {\n const cache = new Map<string, Observable<{ result: Partial<LivequeryQueryResult> }>>()\n const changes$ = new Subject<DataChangeEvent>()\n merge(\n changes$.pipe(\n delayWhen(change => {\n if (change.type == 'modified' || change.type == 'removed') return of(1)\n return this.#adding.get(change.collection_ref) || of(1)\n }),\n tap(change => this.#sync('realtime', change))\n ),\n\n this.#queries$.pipe(\n mergeMap(({ collection, ref, filters, headers, }) => {\n return from(Object.values(this.config.transporters)).pipe(\n map(transporter => {\n const key = `${ref}?${new URLSearchParams(filters as Record<string, string> || {}).toString()}`\n const cached = cache.get(key)\n if (cached) return cached\n const query = transporter.query({\n ref,\n filters,\n headers,\n }).pipe(\n tap(result => {\n for (const change of result.changes || []) {\n change.type == 'added' && change.data && this.config.storage.add(change.collection_ref, {\n id: change.data.id,\n ...change.data\n })\n change.type == 'modified' && change.data && this.config.storage.update(change.collection_ref, change.id, change.data)\n change.type == 'removed' && this.config.storage.delete(change.collection_ref, change.id)\n }\n }),\n map((result, index) => {\n if (index == 0) {\n cache.delete(key)\n return { result }\n }\n result.changes?.forEach(change => changes$.next(change))\n }),\n filter(Boolean),\n shareReplay()\n )\n cache.set(key, query)\n return query\n }),\n mergeMap($ => $),\n map(({ result }, index) => {\n collection.o.next({\n ...result,\n from: index === 0 ? 'query' : 'realtime'\n })\n })\n )\n })\n )\n ).subscribe()\n }\n\n watch(ref: string, collection_id: string) {\n const refs = ref.split('/')\n const document_id = refs.length % 2 == 0 ? refs[refs.length - 1] : undefined\n const collection_ref = refs.length % 2 == 0 ? refs.slice(0, -1).join('/') : ref\n const collections = this.#refs.get(collection_ref) || new Set<CollectionId>()\n collections.add(collection_id)\n this.#refs.set(collection_ref, collections)\n const o = new Subject() as CollectionMetadata['o']\n this.#collections.set(collection_id, {\n o,\n document_id,\n collection_id,\n })\n return o.pipe(\n finalize(() => {\n this.#collections.delete(collection_id)\n collections.delete(collection_id)\n if (collections.size === 0) {\n this.#refs.delete(collection_ref)\n }\n })\n )\n }\n\n async query<T extends Doc>(req: LivequeryQueryParams<T> & { collection_id: string }) {\n const collection = this.#collections.get(req.collection_id)\n collection && setTimeout(() => this.#queries$.next({ ...req, collection }))\n return []//await this.config.storage.query<T>(req.ref, req.filters)\n }\n\n\n #sync(source: 'realtime' | 'action', change: DataChangeEvent) {\n\n const collections = this.#refs.get(change.collection_ref) || new Set<CollectionId>()\n for (const collection_id of collections) {\n const sender = this.#collections.get(collection_id)\n if (!sender) continue\n if (!sender.document_id || sender.document_id === change.id) {\n sender.o.next({\n changes: [change],\n from: source\n })\n const new_id = change.data?.id\n if (sender.document_id && new_id) {\n sender.document_id = new_id\n }\n }\n }\n return change.data\n }\n\n #push<T extends Doc>(collection_ref: string, id: string, doc: Record<string, any>) {\n const cleanDoc = Object.entries(doc).reduce((p, [k, v]) => {\n if (k.startsWith('_')) return p\n return { ...p, [k]: v }\n }, {} as Record<string, any>)\n\n return lastValueFrom(\n from(Object.entries(this.config.transporters)).pipe(\n concatMap(async ([_transporterId, transporter]) => {\n if (String(id).startsWith('local:')) {\n // lock by collection_ref \n const o = new Subject<void>()\n this.#adding.set(collection_ref, o)\n const data = await transporter.add<T>(collection_ref, cleanDoc as T)\n // unlock \n if (data.id) {\n await this.config.storage.update<T>(collection_ref, id, data)\n this.#sync('action', {\n collection_ref,\n type: 'modified',\n id,\n data\n })\n }\n o.next()\n o.complete()\n this.#adding.delete(collection_ref)\n }\n\n // _deleting flag → soft-delete on remote then hard-delete locally \n if (doc._deleting) {\n await transporter.delete(collection_ref, id)\n await this.config.storage.delete<T>(collection_ref, id)\n this.#sync('action', {\n collection_ref,\n type: 'removed',\n id\n })\n }\n\n // _prev present → document was updated locally, push changed fields to remote\n if (doc._prev && Object.keys(doc._prev).length > 0) {\n const changedFields = Object.keys(doc._prev).reduce<Partial<T>>((acc, key) => ({\n ...acc,\n [key]: doc[key as any as keyof typeof doc]\n }), {})\n await transporter.update<T>(collection_ref, id, changedFields)\n await this.config.storage.update<T>(collection_ref, id, { _prev: undefined, _updating: undefined })\n this.#sync('action', {\n collection_ref,\n type: 'modified',\n id,\n data: { _prev: undefined, _updating: undefined }\n })\n }\n\n return EMPTY\n })\n ),\n { defaultValue: undefined }\n )\n }\n\n async add<T extends Doc>(collection_ref: string, doc: Record<string, any>) {\n const data = await this.config.storage.add<T>(\n collection_ref,\n { ...doc, _adding: true } as DocState<T>\n )\n this.#sync('action', {\n id: data.id,\n type: 'added',\n data,\n collection_ref\n })\n await this.#push(collection_ref, data.id, data)\n return data\n }\n\n async update<T extends Doc>(collection_ref: string, id: string, data: Record<string, any>) {\n const old = await this.config.storage.get<T>(\n collection_ref,\n id\n ) as undefined | DocState<T>\n if (!old) return\n const _prev = Object.keys(data).reduce((acc, key) => {\n if (key in (old._prev || {})) return acc\n return {\n ...acc,\n [key]: (old as any)[key]\n }\n }, old._prev || {})\n await this.config.storage.update<T>(collection_ref, id, { _prev, _updating: true, ...data, })\n const doc = await this.#sync('action', {\n collection_ref,\n id,\n type: 'modified',\n data: {\n _prev,\n _updating: true,\n ...data,\n }\n })\n await this.#push(collection_ref, id, { ...data, _prev, _updating: true })\n return doc\n }\n\n async delete<T extends Doc>(collection_ref: string, id: string) {\n const soft = Object.keys(this.config.transporters).length > 0\n const is_local_doc = id.startsWith('local:')\n if (!soft || is_local_doc) {\n await this.config.storage.delete<T>(collection_ref, id)\n await this.#sync('action', {\n collection_ref,\n id,\n type: 'removed'\n })\n return\n }\n await this.config.storage.update<T>(collection_ref, id, { _deleting: true })\n const doc = await this.#sync('action', {\n collection_ref,\n id,\n type: 'modified',\n data: {\n _deleting: true\n }\n })\n await this.#push(collection_ref, id, { ...doc, _deleting: true })\n return doc\n }\n\n trigger<Response>(action: LivequeryAction) {\n return from(Object.values(this.config.transporters)).pipe(\n mergeMap(transporter => transporter.trigger<Response>(action))\n )\n }\n}",
84
84
  "import type { Doc, LivequeryFilters } from \"../types\"\n\ntype Primitive = string | number | boolean | null | undefined\n\nexport type LivequeryFilterInput<T extends Doc> = Partial<LivequeryFilters<T>> | Record<string, any>\n\nexport function filterDocs<T extends Doc>(\n documents:T[],\n filters?: LivequeryFilterInput<T>\n): T[] {\n if (!filters) return documents\n const normalized = filters as Record<string, any>\n return documents.filter((doc) => matchesAllFilters(doc, normalized))\n}\n\nexport function matchesAllFilters<T extends Doc>(doc: T, filters: Record<string, any>) {\n for (const [key, expected] of Object.entries(filters)) {\n if (key.startsWith(':') || key.endsWith(':sort')) continue\n\n const split = key.split(':')\n const fieldPath = split[0]\n if (!fieldPath) continue\n const op = split[1] || 'eq'\n const actual = getByPath(doc, fieldPath)\n\n if (!matchByOperator(actual, op, expected)) {\n return false\n }\n }\n return true\n}\n\nfunction matchByOperator(actual: unknown, op: string, expected: unknown) {\n switch (op) {\n case 'gt':\n return asNumber(actual) > asNumber(expected)\n case 'gte':\n return asNumber(actual) >= asNumber(expected)\n case 'lt':\n return asNumber(actual) < asNumber(expected)\n case 'lte':\n return asNumber(actual) <= asNumber(expected)\n case 'eq-number':\n return asNumber(actual) === asNumber(expected)\n case 'in':\n return Array.isArray(expected) ? expected.includes(actual as Primitive) : false\n case 'nin':\n return Array.isArray(expected) ? !expected.includes(actual as Primitive) : true\n case 'include':\n return Array.isArray(actual) ? actual.includes(expected) : false\n case 'boolean':\n return matchBoolean(actual, expected)\n case 'like':\n return String(actual || '').toLowerCase().includes(String(expected || '').toLowerCase())\n case 'null':\n return expected === 'null-only'\n ? (actual === null || typeof actual === 'undefined')\n : (actual !== null && typeof actual !== 'undefined')\n case 'eq':\n default:\n return actual === expected\n }\n}\n\nfunction matchBoolean(actual: unknown, expected: unknown) {\n switch (expected) {\n case 'true':\n return actual === true\n case 'false':\n return actual === false\n case 'not-true':\n return actual !== true\n case 'not-false':\n return actual !== false\n default:\n return false\n }\n}\n\nfunction getByPath(obj: Record<string, any>, path: string) {\n if (!path.includes('.')) return obj[path]\n return path.split('.').reduce<unknown>((acc, key) => {\n if (!acc || typeof acc !== 'object') return undefined\n return (acc as Record<string, any>)[key]\n }, obj)\n}\n\nfunction asNumber(value: unknown) {\n return Number(value)\n}",
85
85
  "import type { Doc, LivequeryPaging } from \"./types\"\nimport type { LivequeryStorge } from \"./LivequeryStorge\"\nimport { filterDocs } from \"./helpers/filterDocs\"\n\n\n\nexport class LivequeryMemoryStorage implements LivequeryStorge {\n #collections = new Map<string, Map<string, Doc>>()\n\n async query<T extends Doc>(collection: string, filters?: Record<string, any>): Promise<{\n documents: T[]\n paging: LivequeryPaging\n }> {\n const sources = Array.from((this.#collections.get(collection) || new Map<string, Doc>()).values()) as T[]\n const f = filters || {}\n const sorters = Object.entries(f).filter(([k]) => k.endsWith(\":sort\")) as Array<[string, \"asc\" | \"desc\"]>\n const items = filterDocs(sources, f)\n const sorted = this.#sortItems(items, sorters)\n return {\n documents: sorted,\n paging: {\n total: items.length,\n current: sorted.length\n }\n }\n }\n\n get<T extends Doc>(ref: string, id: string): Promise<T | null> {\n const docs = this.#collections.get(ref)\n if (!docs) return Promise.resolve(null)\n const doc = (docs.get(id) as T) || null\n return Promise.resolve(doc)\n }\n\n async add<T extends Doc>(collection: string, document: T): Promise<T> {\n const docs = this.#collections.get(collection) || new Map<string, Doc>()\n const doc = {\n ...document,\n id: document.id || `local:${crypto.randomUUID()}`\n } as T\n docs.set(doc.id, doc)\n this.#collections.set(collection, docs)\n return doc\n }\n\n async update<T extends Doc>(collection: string, id: string, document: Record<string, any>): Promise<T | null> {\n const docs = this.#collections.get(collection)\n if (!docs) return null\n const existing = docs.get(id)\n if (!existing) return null\n const next = {\n ...existing,\n ...document,\n } as T\n if (document.id && document.id !== id) {\n docs.delete(id)\n docs.set(document.id, next)\n } else {\n docs.set(id, next)\n }\n return next\n }\n\n async delete<T extends Doc>(collection: string, id: string): Promise<T | null> {\n const docs = this.#collections.get(collection)\n if (!docs) return null\n const deleted = docs.get(id) as T || null\n docs.delete(id)\n return deleted\n }\n\n\n #sortItems<T extends Doc>(\n items: T[],\n sorters: Array<[string, 'asc' | 'desc']>\n ): T[] {\n if (sorters.length === 0) return [...items]\n return [...items].sort((a, b) => {\n for (const [sortKey, direction] of sorters) {\n const fieldPath = sortKey.slice(0, -5)\n const va = this.#getByPath(a, fieldPath)\n const vb = this.#getByPath(b, fieldPath)\n if (va === vb) continue\n const order = va! < vb! ? -1 : 1\n return direction === 'asc' ? order : -order\n }\n return 0\n })\n }\n\n\n #getByPath(obj: Record<string, any>, path: string) {\n if (!path.includes('.')) return obj[path]\n return path.split('.').reduce<unknown>((acc, key) => {\n if (!acc || typeof acc !== 'object') return undefined\n return (acc as Record<string, any>)[key]\n }, obj)\n }\n}"
86
86
  ],
87
- "mappings": "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",
88
- "debugId": "2747D663DBF8FBB764756E2164756E21",
87
+ "mappings": "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",
88
+ "debugId": "63A509780A3E891D64756E2164756E21",
89
89
  "names": []
90
90
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livequery/core",
3
- "version": "2.0.81",
3
+ "version": "2.0.83",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",