@livestore/livestore 0.3.0-dev.37 → 0.3.0-dev.38

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 (53) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/store/devtools.d.ts.map +1 -1
  3. package/dist/store/devtools.js +4 -0
  4. package/dist/store/devtools.js.map +1 -1
  5. package/dist/store/store-types.d.ts +1 -0
  6. package/dist/store/store-types.d.ts.map +1 -1
  7. package/dist/store/store.d.ts.map +1 -1
  8. package/dist/store/store.js +4 -0
  9. package/dist/store/store.js.map +1 -1
  10. package/package.json +5 -5
  11. package/src/store/devtools.ts +4 -0
  12. package/src/store/store-types.ts +1 -0
  13. package/src/store/store.ts +5 -0
  14. package/dist/SynchronousDatabaseWrapper.d.ts +0 -36
  15. package/dist/SynchronousDatabaseWrapper.d.ts.map +0 -1
  16. package/dist/SynchronousDatabaseWrapper.js +0 -176
  17. package/dist/SynchronousDatabaseWrapper.js.map +0 -1
  18. package/dist/effect/index.d.ts +0 -2
  19. package/dist/effect/index.d.ts.map +0 -1
  20. package/dist/effect/index.js +0 -2
  21. package/dist/effect/index.js.map +0 -1
  22. package/dist/global-state.d.ts +0 -14
  23. package/dist/global-state.d.ts.map +0 -1
  24. package/dist/global-state.js +0 -16
  25. package/dist/global-state.js.map +0 -1
  26. package/dist/index.d.ts +0 -20
  27. package/dist/index.d.ts.map +0 -1
  28. package/dist/index.js +0 -16
  29. package/dist/index.js.map +0 -1
  30. package/dist/live-queries/db.d.ts +0 -66
  31. package/dist/live-queries/db.d.ts.map +0 -1
  32. package/dist/live-queries/db.js +0 -199
  33. package/dist/live-queries/db.js.map +0 -1
  34. package/dist/live-queries/db.test.d.ts +0 -2
  35. package/dist/live-queries/db.test.d.ts.map +0 -1
  36. package/dist/live-queries/db.test.js +0 -117
  37. package/dist/live-queries/db.test.js.map +0 -1
  38. package/dist/live-queries/graphql.d.ts +0 -49
  39. package/dist/live-queries/graphql.d.ts.map +0 -1
  40. package/dist/live-queries/graphql.js +0 -122
  41. package/dist/live-queries/graphql.js.map +0 -1
  42. package/dist/live-queries/make-ref.d.ts +0 -20
  43. package/dist/live-queries/make-ref.d.ts.map +0 -1
  44. package/dist/live-queries/make-ref.js +0 -34
  45. package/dist/live-queries/make-ref.js.map +0 -1
  46. package/dist/row-query-utils.d.ts +0 -17
  47. package/dist/row-query-utils.d.ts.map +0 -1
  48. package/dist/row-query-utils.js +0 -30
  49. package/dist/row-query-utils.js.map +0 -1
  50. package/dist/utils/otel.d.ts +0 -4
  51. package/dist/utils/otel.d.ts.map +0 -1
  52. package/dist/utils/otel.js +0 -6
  53. package/dist/utils/otel.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-ref.d.ts","sourceRoot":"","sources":["../../src/live-queries/make-ref.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAK/G,eAAO,MAAM,OAAO,GAAI,CAAC,EACvB,cAAc,CAAC,EACf,UAAU;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KACA,gBAAgB,CAAC,CAAC,CAOpB,CAAA;AAED,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAKpD,OAAO,CAAC,YAAY;IACpB,QAAQ,CAAC,eAAe,EAAE,eAAe;IACzC,OAAO,CAAC,OAAO,CAAC;IANlB,IAAI,EAAG,UAAU,CAAS;IAC1B,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;gBAGpD,YAAY,EAAE,CAAC,EACd,eAAe,EAAE,eAAe,EACjC,OAAO,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,YAAA;IAKH,GAAG,GAAI,OAAO,CAAC,UAEd;IAED,GAAG,UAEF;IAED,OAAO,aAEN;CACF"}
@@ -1,34 +0,0 @@
1
- import { nanoid } from '@livestore/utils/nanoid';
2
- import { withRCMap } from './base-class.js';
3
- // TODO rename to `signal`
4
- export const makeRef = (defaultValue, options) => {
5
- const id = nanoid();
6
- return {
7
- _tag: 'live-ref-def',
8
- defaultValue,
9
- make: withRCMap(id, (ctx) => new LiveQueryRef(defaultValue, ctx.reactivityGraph.deref(), options)),
10
- };
11
- };
12
- export class LiveQueryRef {
13
- defaultValue;
14
- reactivityGraph;
15
- options;
16
- _tag = 'live-ref';
17
- ref;
18
- constructor(defaultValue, reactivityGraph, options) {
19
- this.defaultValue = defaultValue;
20
- this.reactivityGraph = reactivityGraph;
21
- this.options = options;
22
- this.ref = reactivityGraph.makeRef(defaultValue, { label: options?.label });
23
- }
24
- set = (value) => {
25
- this.reactivityGraph.setRef(this.ref, value);
26
- };
27
- get = () => {
28
- return this.ref.computeResult();
29
- };
30
- destroy = () => {
31
- this.reactivityGraph.destroyNode(this.ref);
32
- };
33
- }
34
- //# sourceMappingURL=make-ref.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-ref.js","sourceRoot":"","sources":["../../src/live-queries/make-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,0BAA0B;AAE1B,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,YAAe,EACf,OAEC,EACoB,EAAE;IACvB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IACnB,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,YAAY;QACZ,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,EAAG,EAAE,OAAO,CAAC,CAAC;KACpG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,OAAO,YAAY;IAKb;IACC;IACD;IANV,IAAI,GAAG,UAAmB,CAAA;IACjB,GAAG,CAAkD;IAE9D,YACU,YAAe,EACd,eAAgC,EACjC,OAEP;QAJO,iBAAY,GAAZ,YAAY,CAAG;QACd,oBAAe,GAAf,eAAe,CAAiB;QACjC,YAAO,GAAP,OAAO,CAEd;QAED,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,GAAG,GAAG,CAAC,KAAQ,EAAE,EAAE;QACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,GAAG,GAAG,GAAG,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;IACjC,CAAC,CAAA;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC,CAAA;CACF"}
@@ -1,17 +0,0 @@
1
- import type { QueryInfo } from '@livestore/common';
2
- import { SessionIdSymbol } from '@livestore/common';
3
- import { DbSchema } from '@livestore/common/schema';
4
- import type * as otel from '@opentelemetry/api';
5
- import type { LiveQuery, QueryContext } from './live-queries/base-class.js';
6
- export declare const rowQueryLabel: (table: DbSchema.TableDefBase, id: string | SessionIdSymbol | undefined) => string;
7
- export declare const deriveColQuery: {
8
- <TQuery extends LiveQuery<any, QueryInfo.None>, TCol extends keyof TQuery['__result!'] & string>(query$: TQuery, colName: TCol): LiveQuery<TQuery['__result!'][TCol], QueryInfo.None>;
9
- <TQuery extends LiveQuery<any, QueryInfo.Row>, TCol extends keyof TQuery['__result!'] & string>(query$: TQuery, colName: TCol): LiveQuery<TQuery['__result!'][TCol], QueryInfo.Col>;
10
- };
11
- export declare const makeExecBeforeFirstRun: ({ id, insertValues, table, otelContext: otelContext_, }: {
12
- id?: string | SessionIdSymbol;
13
- insertValues?: any;
14
- table: DbSchema.TableDefBase;
15
- otelContext: otel.Context | undefined;
16
- }) => ({ store }: QueryContext) => undefined;
17
- //# sourceMappingURL=row-query-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-query-utils.d.ts","sourceRoot":"","sources":["../src/row-query-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAgB,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAGzF,eAAO,MAAM,aAAa,GAAI,OAAO,QAAQ,CAAC,YAAY,EAAE,IAAI,MAAM,GAAG,eAAe,GAAG,SAAS,WACM,CAAA;AAE1G,eAAO,MAAM,cAAc,EAAE;IAC3B,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,EAC7F,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,GACZ,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC,MAAM,SAAS,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,EAC5F,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,GACZ,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;CASvD,CAAA;AAED,eAAO,MAAM,sBAAsB,GAChC,yDAKE;IACD,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;IAC7B,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;IAC5B,WAAW,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;CACtC,MACA,WAAW,YAAY,cAqBvB,CAAA"}
@@ -1,30 +0,0 @@
1
- import { SessionIdSymbol } from '@livestore/common';
2
- import { DbSchema } from '@livestore/common/schema';
3
- import { shouldNeverHappen } from '@livestore/utils';
4
- import { computed } from './live-queries/computed.js';
5
- export const rowQueryLabel = (table, id) => `row:${table.sqliteDef.name}${id === undefined ? '' : id === SessionIdSymbol ? `:sessionId` : `:${id}`}`;
6
- export const deriveColQuery = (query$, colName) => {
7
- return computed((get) => get(query$)[colName], {
8
- label: `deriveColQuery:${query$.label}:${colName}`,
9
- queryInfo: query$.queryInfo._tag === 'Row'
10
- ? { _tag: 'Col', table: query$.queryInfo.table, column: colName, id: query$.queryInfo.id }
11
- : undefined,
12
- });
13
- };
14
- export const makeExecBeforeFirstRun = ({ id, insertValues, table, otelContext: otelContext_, }) => ({ store }) => {
15
- const otelContext = otelContext_ ?? store.otel.queriesSpanContext;
16
- if (table.options.isSingleton === false) {
17
- const idStr = id === SessionIdSymbol ? store.sessionId : id;
18
- const rowExists = store.syncDbWrapper.select(`SELECT 1 FROM '${table.sqliteDef.name}' WHERE id = ?`, {
19
- bindValues: [idStr],
20
- }).length === 1;
21
- if (rowExists)
22
- return;
23
- if (DbSchema.tableHasDerivedMutations(table) === false) {
24
- return shouldNeverHappen(`Cannot insert row for table "${table.sqliteDef.name}" which does not have 'deriveMutations: true' set`);
25
- }
26
- // NOTE It's important that we only mutate and don't refresh here, as this function is called during a render
27
- store.mutateWithoutRefresh(table.insert({ id, ...insertValues }), { otelContext, coordinatorMode: 'default' });
28
- }
29
- };
30
- //# sourceMappingURL=row-query-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"row-query-utils.js","sourceRoot":"","sources":["../src/row-query-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAIpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,EAAwC,EAAE,EAAE,CACtG,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAA;AAE1G,MAAM,CAAC,MAAM,cAAc,GASvB,CAAC,MAAoB,EAAE,OAAe,EAAE,EAAE;IAC5C,OAAO,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE;QAC7C,KAAK,EAAE,kBAAkB,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE;QAClD,SAAS,EACP,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE;YAC1F,CAAC,CAAC,SAAS;KAChB,CAAQ,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GACjC,CAAC,EACC,EAAE,EACF,YAAY,EACZ,KAAK,EACL,WAAW,EAAE,YAAY,GAM1B,EAAE,EAAE,CACL,CAAC,EAAE,KAAK,EAAgB,EAAE,EAAE;IAC1B,MAAM,WAAW,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAA;IAEjE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAG,CAAA;QAC5D,MAAM,SAAS,GACb,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,KAAK,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE;YACjF,UAAU,EAAE,CAAC,KAAK,CAA8B;SACjD,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;QAEjB,IAAI,SAAS;YAAE,OAAM;QAErB,IAAI,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YACvD,OAAO,iBAAiB,CACtB,gCAAgC,KAAK,CAAC,SAAS,CAAC,IAAI,mDAAmD,CACxG,CAAA;QACH,CAAC;QAED,6GAA6G;QAC7G,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAA;IAChH,CAAC;AACH,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import type * as otel from '@opentelemetry/api';
2
- export declare const getDurationMsFromSpan: (span: otel.Span) => number;
3
- export declare const getStartTimeHighResFromSpan: (span: otel.Span) => DOMHighResTimeStamp;
4
- //# sourceMappingURL=otel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../src/utils/otel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,eAAO,MAAM,qBAAqB,GAAI,MAAM,IAAI,CAAC,IAAI,KAAG,MAGvD,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,MAAM,IAAI,CAAC,IAAI,KAAG,mBACF,CAAA"}
@@ -1,6 +0,0 @@
1
- export const getDurationMsFromSpan = (span) => {
2
- const durationHr = span._duration;
3
- return durationHr[0] * 1000 + durationHr[1] / 1_000_000;
4
- };
5
- export const getStartTimeHighResFromSpan = (span) => span._performanceStartTime;
6
- //# sourceMappingURL=otel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../src/utils/otel.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAe,EAAU,EAAE;IAC/D,MAAM,UAAU,GAAsC,IAAY,CAAC,SAAS,CAAA;IAC5E,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAe,EAAuB,EAAE,CACjF,IAAY,CAAC,qBAA4C,CAAA"}