@livestore/livestore 0.0.10 → 0.0.12
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.
- package/package.json +7 -7
- package/src/__tests__/reactive.test.ts +39 -0
- package/src/react/useLiveStoreComponent.ts +4 -2
- package/src/reactive.ts +2 -1
- package/dist/.tsbuildinfo +0 -1
- package/dist/QueryCache.d.ts +0 -20
- package/dist/QueryCache.d.ts.map +0 -1
- package/dist/QueryCache.js +0 -71
- package/dist/QueryCache.js.map +0 -1
- package/dist/__tests__/react/fixture.d.ts +0 -141
- package/dist/__tests__/react/fixture.d.ts.map +0 -1
- package/dist/__tests__/react/fixture.js +0 -68
- package/dist/__tests__/react/fixture.js.map +0 -1
- package/dist/__tests__/react/useLiveStoreComponent.test.d.ts +0 -2
- package/dist/__tests__/react/useLiveStoreComponent.test.d.ts.map +0 -1
- package/dist/__tests__/react/useLiveStoreComponent.test.js +0 -78
- package/dist/__tests__/react/useLiveStoreComponent.test.js.map +0 -1
- package/dist/__tests__/reactive.test.d.ts +0 -2
- package/dist/__tests__/reactive.test.d.ts.map +0 -1
- package/dist/__tests__/reactive.test.js +0 -167
- package/dist/__tests__/reactive.test.js.map +0 -1
- package/dist/backends/base.d.ts +0 -13
- package/dist/backends/base.d.ts.map +0 -1
- package/dist/backends/base.js +0 -53
- package/dist/backends/base.js.map +0 -1
- package/dist/backends/index.d.ts +0 -45
- package/dist/backends/index.d.ts.map +0 -1
- package/dist/backends/index.js +0 -38
- package/dist/backends/index.js.map +0 -1
- package/dist/backends/noop.d.ts +0 -18
- package/dist/backends/noop.d.ts.map +0 -1
- package/dist/backends/noop.js +0 -21
- package/dist/backends/noop.js.map +0 -1
- package/dist/backends/tauri.d.ts +0 -22
- package/dist/backends/tauri.d.ts.map +0 -1
- package/dist/backends/tauri.js +0 -48
- package/dist/backends/tauri.js.map +0 -1
- package/dist/backends/utils/idb.d.ts +0 -10
- package/dist/backends/utils/idb.d.ts.map +0 -1
- package/dist/backends/utils/idb.js +0 -58
- package/dist/backends/utils/idb.js.map +0 -1
- package/dist/backends/web-in-memory.d.ts +0 -22
- package/dist/backends/web-in-memory.d.ts.map +0 -1
- package/dist/backends/web-in-memory.js +0 -45
- package/dist/backends/web-in-memory.js.map +0 -1
- package/dist/backends/web-worker.d.ts +0 -17
- package/dist/backends/web-worker.d.ts.map +0 -1
- package/dist/backends/web-worker.js +0 -139
- package/dist/backends/web-worker.js.map +0 -1
- package/dist/backends/web.d.ts +0 -27
- package/dist/backends/web.d.ts.map +0 -1
- package/dist/backends/web.js +0 -63
- package/dist/backends/web.js.map +0 -1
- package/dist/bounded-collections.d.ts +0 -34
- package/dist/bounded-collections.d.ts.map +0 -1
- package/dist/bounded-collections.js +0 -103
- package/dist/bounded-collections.js.map +0 -1
- package/dist/componentKey.d.ts +0 -20
- package/dist/componentKey.d.ts.map +0 -1
- package/dist/componentKey.js +0 -3
- package/dist/componentKey.js.map +0 -1
- package/dist/effect/LiveStore.d.ts +0 -42
- package/dist/effect/LiveStore.d.ts.map +0 -1
- package/dist/effect/LiveStore.js +0 -40
- package/dist/effect/LiveStore.js.map +0 -1
- package/dist/effect/index.d.ts +0 -2
- package/dist/effect/index.d.ts.map +0 -1
- package/dist/effect/index.js +0 -2
- package/dist/effect/index.js.map +0 -1
- package/dist/events.d.ts +0 -7
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -2
- package/dist/events.js.map +0 -1
- package/dist/inMemoryDatabase.d.ts +0 -65
- package/dist/inMemoryDatabase.d.ts.map +0 -1
- package/dist/inMemoryDatabase.js +0 -241
- package/dist/inMemoryDatabase.js.map +0 -1
- package/dist/index.d.ts +0 -20
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -10
- package/dist/index.js.map +0 -1
- package/dist/otel.d.ts +0 -5
- package/dist/otel.d.ts.map +0 -1
- package/dist/otel.js +0 -17
- package/dist/otel.js.map +0 -1
- package/dist/react/LiveStoreContext.d.ts +0 -11
- package/dist/react/LiveStoreContext.d.ts.map +0 -1
- package/dist/react/LiveStoreContext.js +0 -10
- package/dist/react/LiveStoreContext.js.map +0 -1
- package/dist/react/LiveStoreProvider.d.ts +0 -21
- package/dist/react/LiveStoreProvider.d.ts.map +0 -1
- package/dist/react/LiveStoreProvider.js +0 -48
- package/dist/react/LiveStoreProvider.js.map +0 -1
- package/dist/react/index.d.ts +0 -7
- package/dist/react/index.d.ts.map +0 -1
- package/dist/react/index.js +0 -6
- package/dist/react/index.js.map +0 -1
- package/dist/react/useGlobalQuery.d.ts +0 -3
- package/dist/react/useGlobalQuery.d.ts.map +0 -1
- package/dist/react/useGlobalQuery.js +0 -25
- package/dist/react/useGlobalQuery.js.map +0 -1
- package/dist/react/useGraphQL.d.ts +0 -11
- package/dist/react/useGraphQL.d.ts.map +0 -1
- package/dist/react/useGraphQL.js +0 -67
- package/dist/react/useGraphQL.js.map +0 -1
- package/dist/react/useLiveStoreComponent.d.ts +0 -70
- package/dist/react/useLiveStoreComponent.d.ts.map +0 -1
- package/dist/react/useLiveStoreComponent.js +0 -272
- package/dist/react/useLiveStoreComponent.js.map +0 -1
- package/dist/react/utils/useStateRefWithReactiveInput.d.ts +0 -13
- package/dist/react/utils/useStateRefWithReactiveInput.d.ts.map +0 -1
- package/dist/react/utils/useStateRefWithReactiveInput.js +0 -38
- package/dist/react/utils/useStateRefWithReactiveInput.js.map +0 -1
- package/dist/reactive.d.ts +0 -140
- package/dist/reactive.d.ts.map +0 -1
- package/dist/reactive.js +0 -301
- package/dist/reactive.js.map +0 -1
- package/dist/reactiveQueries/base-class.d.ts +0 -24
- package/dist/reactiveQueries/base-class.d.ts.map +0 -1
- package/dist/reactiveQueries/base-class.js +0 -22
- package/dist/reactiveQueries/base-class.js.map +0 -1
- package/dist/reactiveQueries/graphql.d.ts +0 -25
- package/dist/reactiveQueries/graphql.d.ts.map +0 -1
- package/dist/reactiveQueries/graphql.js +0 -18
- package/dist/reactiveQueries/graphql.js.map +0 -1
- package/dist/reactiveQueries/js.d.ts +0 -19
- package/dist/reactiveQueries/js.d.ts.map +0 -1
- package/dist/reactiveQueries/js.js +0 -13
- package/dist/reactiveQueries/js.js.map +0 -1
- package/dist/reactiveQueries/sql.d.ts +0 -31
- package/dist/reactiveQueries/sql.d.ts.map +0 -1
- package/dist/reactiveQueries/sql.js +0 -32
- package/dist/reactiveQueries/sql.js.map +0 -1
- package/dist/schema.d.ts +0 -163
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -92
- package/dist/schema.js.map +0 -1
- package/dist/store.d.ts +0 -192
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -539
- package/dist/store.js.map +0 -1
- package/dist/util.d.ts +0 -24
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js +0 -51
- package/dist/util.js.map +0 -1
package/dist/backends/web.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type * as otel from '@opentelemetry/api';
|
|
2
|
-
import * as Comlink from 'comlink';
|
|
3
|
-
import type { ParamsObject } from '../util.js';
|
|
4
|
-
import { BaseBackend } from './base.js';
|
|
5
|
-
import type { BackendOtelProps, SelectResponse, WritableDatabaseLocation } from './index.js';
|
|
6
|
-
import type { WrappedWorker } from './web-worker.js';
|
|
7
|
-
export type BackendOptionsWeb = {
|
|
8
|
-
type: 'web';
|
|
9
|
-
/** Specifies where to persist data for this backend */
|
|
10
|
-
persistentDatabaseLocation: WritableDatabaseLocation;
|
|
11
|
-
};
|
|
12
|
-
export declare class WebWorkerBackend extends BaseBackend {
|
|
13
|
-
worker: Comlink.Remote<WrappedWorker>;
|
|
14
|
-
persistentDatabaseLocation: WritableDatabaseLocation;
|
|
15
|
-
otelTracer: otel.Tracer;
|
|
16
|
-
executionBacklog: {
|
|
17
|
-
query: string;
|
|
18
|
-
bindValues?: ParamsObject;
|
|
19
|
-
}[];
|
|
20
|
-
executionPromise: Promise<void> | undefined;
|
|
21
|
-
private constructor();
|
|
22
|
-
static load: ({ persistentDatabaseLocation }: BackendOptionsWeb, { otelTracer }: BackendOtelProps) => Promise<WebWorkerBackend>;
|
|
23
|
-
execute: (query: string, bindValues_?: ParamsObject) => void;
|
|
24
|
-
select: <T>(query: string, bindValues?: ParamsObject) => Promise<SelectResponse<T>>;
|
|
25
|
-
getPersistedData: (_parentSpan?: otel.Span) => Promise<Uint8Array>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=web.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/backends/web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,KAAK,CAAA;IACX,uDAAuD;IACvD,0BAA0B,EAAE,wBAAwB,CAAA;CACrD,CAAA;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACrC,0BAA0B,EAAE,wBAAwB,CAAA;IACpD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IAEvB,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,YAAY,CAAA;KAAE,EAAE,CAAK;IACrE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAY;IAEvD,OAAO;IAeP,MAAM,CAAC,IAAI,mCACuB,iBAAiB,kBACjC,gBAAgB,KAC/B,QAAQ,gBAAgB,CAAC,CAgB3B;IAED,OAAO,UAAW,MAAM,gBAAgB,YAAY,UAgBnD;IAED,MAAM,aAAoB,MAAM,eAAe,YAAY,gCAW1D;IAED,gBAAgB,iBAAwB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAKtE;CACF"}
|
package/dist/backends/web.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
import * as Comlink from 'comlink';
|
|
3
|
-
import { prepareBindValues } from '../util.js';
|
|
4
|
-
import { BaseBackend } from './base.js';
|
|
5
|
-
export class WebWorkerBackend extends BaseBackend {
|
|
6
|
-
constructor({ worker, persistentDatabaseLocation, otelTracer, }) {
|
|
7
|
-
super();
|
|
8
|
-
this.executionBacklog = [];
|
|
9
|
-
this.executionPromise = undefined;
|
|
10
|
-
this.execute = (query, bindValues_) => {
|
|
11
|
-
const bindValues = prepareBindValues(bindValues_ ?? {}, query);
|
|
12
|
-
this.executionBacklog.push({ query, bindValues });
|
|
13
|
-
// Instead of sending the queries to the worker immediately, we wait a bit and batch them up (which reduces the number of messages sent to the worker)
|
|
14
|
-
if (this.executionPromise === undefined) {
|
|
15
|
-
this.executionPromise = new Promise((resolve) => {
|
|
16
|
-
setTimeout(() => {
|
|
17
|
-
void this.worker.executeBulk(this.executionBacklog);
|
|
18
|
-
this.executionBacklog = [];
|
|
19
|
-
this.executionPromise = undefined;
|
|
20
|
-
resolve();
|
|
21
|
-
}, 10);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
this.select = async (query, bindValues) => {
|
|
26
|
-
// NOTE we need to wait for the executionBacklog to be worked off, before we run the select query (as it might depend on the previous execution queries)
|
|
27
|
-
await this.executionPromise;
|
|
28
|
-
try {
|
|
29
|
-
const response = (await this.worker.select(query, bindValues));
|
|
30
|
-
return response;
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
console.error(`Error while executing query via "select": ${query}`);
|
|
34
|
-
throw e;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
this.getPersistedData = async (_parentSpan) => {
|
|
38
|
-
// NOTE we need to wait for the executionBacklog to be worked off
|
|
39
|
-
await this.executionPromise;
|
|
40
|
-
return this.worker.getPersistedData();
|
|
41
|
-
};
|
|
42
|
-
this.worker = worker;
|
|
43
|
-
this.persistentDatabaseLocation = persistentDatabaseLocation;
|
|
44
|
-
this.otelTracer = otelTracer;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
_a = WebWorkerBackend;
|
|
48
|
-
WebWorkerBackend.load = async ({ persistentDatabaseLocation }, { otelTracer }) => {
|
|
49
|
-
// TODO: Importing the worker like this only works with Vite;
|
|
50
|
-
// should this really be inside the LiveStore library?
|
|
51
|
-
// Doesn't work with Firefox right now during dev https://bugzilla.mozilla.org/show_bug.cgi?id=1247687
|
|
52
|
-
const worker = new Worker(new URL('./web-worker.js', import.meta.url), {
|
|
53
|
-
type: 'module',
|
|
54
|
-
});
|
|
55
|
-
const wrappedWorker = Comlink.wrap(worker);
|
|
56
|
-
await wrappedWorker.initialize({ persistentDatabaseLocation });
|
|
57
|
-
return new _a({
|
|
58
|
-
worker: wrappedWorker,
|
|
59
|
-
persistentDatabaseLocation,
|
|
60
|
-
otelTracer,
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=web.js.map
|
package/dist/backends/web.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/backends/web.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAUvC,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAQ/C,YAAoB,EAClB,MAAM,EACN,0BAA0B,EAC1B,UAAU,GAKX;QACC,KAAK,EAAE,CAAA;QAZT,qBAAgB,GAAmD,EAAE,CAAA;QACrE,qBAAgB,GAA8B,SAAS,CAAA;QAsCvD,YAAO,GAAG,CAAC,KAAa,EAAE,WAA0B,EAAE,EAAE;YACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;YAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;YAEjD,sJAAsJ;YACtJ,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC9C,UAAU,CAAC,GAAG,EAAE;wBACd,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;wBACnD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;wBAC1B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;wBAEjC,OAAO,EAAE,CAAA;oBACX,CAAC,EAAE,EAAE,CAAC,CAAA;gBACR,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAA;QAED,WAAM,GAAG,KAAK,EAAK,KAAa,EAAE,UAAyB,EAA8B,EAAE;YACzF,wJAAwJ;YACxJ,MAAM,IAAI,CAAC,gBAAgB,CAAA;YAE3B,IAAI;gBACF,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAsB,CAAA;gBACnF,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAA;gBACnE,MAAM,CAAC,CAAA;aACR;QACH,CAAC,CAAA;QAED,qBAAgB,GAAG,KAAK,EAAE,WAAuB,EAAuB,EAAE;YACxE,iEAAiE;YACjE,MAAM,IAAI,CAAC,gBAAgB,CAAA;YAE3B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAA;QACvC,CAAC,CAAA;QA9DC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;;;AAEM,qBAAI,GAAG,KAAK,EACjB,EAAE,0BAA0B,EAAqB,EACjD,EAAE,UAAU,EAAoB,EACL,EAAE;IAC7B,6DAA6D;IAC7D,sDAAsD;IACtD,sGAAsG;IACtG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrE,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAgB,MAAM,CAAC,CAAA;IAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAA;IAE9D,OAAO,IAAI,EAAgB,CAAC;QAC1B,MAAM,EAAE,aAAa;QACrB,0BAA0B;QAC1B,UAAU;KACX,CAAC,CAAA;AACJ,CAAC,AAnBU,CAmBV"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a map that has a fixed number of entries.
|
|
3
|
-
* Once hitting the bound, earliest insertions are removed
|
|
4
|
-
*/
|
|
5
|
-
export default class BoundMap<K, V> {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(sizeLimit: number);
|
|
8
|
-
onEvict: ((key: K) => void) | undefined;
|
|
9
|
-
set: (key: K, value: V) => void;
|
|
10
|
-
get: (key: K) => V | undefined;
|
|
11
|
-
delete: (key: K) => void;
|
|
12
|
-
keys: () => IterableIterator<K>;
|
|
13
|
-
}
|
|
14
|
-
export declare class BoundSet<V> {
|
|
15
|
-
#private;
|
|
16
|
-
constructor(sizeLimit: number);
|
|
17
|
-
onEvict: ((key: V) => void) | undefined;
|
|
18
|
-
add: (v: V) => void;
|
|
19
|
-
[Symbol.iterator]: () => IterableIterator<V>;
|
|
20
|
-
}
|
|
21
|
-
export declare class BoundArray<V> {
|
|
22
|
-
#private;
|
|
23
|
-
constructor(sizeLimit: number);
|
|
24
|
-
onEvict: ((key: V) => void) | undefined;
|
|
25
|
-
push: (v: V) => void;
|
|
26
|
-
get: (index: number) => V | undefined;
|
|
27
|
-
delete: (index: number) => void;
|
|
28
|
-
get length(): number;
|
|
29
|
-
[Symbol.iterator]: () => IterableIterator<V>;
|
|
30
|
-
map: <T>(fn: (v: V) => T) => T[];
|
|
31
|
-
clear: () => void;
|
|
32
|
-
sort: (fn?: ((a: V, b: V) => number) | undefined) => V[];
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=bounded-collections.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-collections.d.ts","sourceRoot":"","sources":["../src/bounded-collections.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC;;gBAIpB,SAAS,EAAE,MAAM;IAI7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,GAAG,QAAS,CAAC,SAAS,CAAC,UAUtB;IAED,GAAG,QAAS,CAAC,KAAG,CAAC,GAAG,SAAS,CAE5B;IAED,MAAM,QAAS,CAAC,UAEf;IAED,IAAI,4BAEH;CACF;AAED,qBAAa,QAAQ,CAAC,CAAC;;gBAGT,SAAS,EAAE,MAAM;IAW7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,GAAG,MAAO,CAAC,UAET;IAEF,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAEhB;CACF;AAED,qBAAa,UAAU,CAAC,CAAC;;gBAIX,SAAS,EAAE,MAAM;IAI7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAEvC,IAAI,MAAO,CAAC,UAQX;IAED,GAAG,UAAW,MAAM,KAAG,CAAC,GAAG,SAAS,CAEnC;IAED,MAAM,UAAW,MAAM,UAEtB;IAED,IAAI,MAAM,WAET;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAEhB;IAED,GAAG,cAAe,CAAC,eAElB;IAED,KAAK,aAEJ;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,MAAM,sBAElC;CACF"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _BoundMap_map, _BoundMap_sizeLimit, _BoundSet_map, _BoundSet_onEvict, _a, _BoundArray_array, _BoundArray_sizeLimit, _b;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a map that has a fixed number of entries.
|
|
15
|
-
* Once hitting the bound, earliest insertions are removed
|
|
16
|
-
*/
|
|
17
|
-
class BoundMap {
|
|
18
|
-
constructor(sizeLimit) {
|
|
19
|
-
_BoundMap_map.set(this, new Map());
|
|
20
|
-
_BoundMap_sizeLimit.set(this, void 0);
|
|
21
|
-
this.set = (key, value) => {
|
|
22
|
-
__classPrivateFieldGet(this, _BoundMap_map, "f").set(key, value);
|
|
23
|
-
// console.log(this.#map.size, this.#sizeLimit);
|
|
24
|
-
if (__classPrivateFieldGet(this, _BoundMap_map, "f").size > __classPrivateFieldGet(this, _BoundMap_sizeLimit, "f")) {
|
|
25
|
-
const firstKey = __classPrivateFieldGet(this, _BoundMap_map, "f").keys().next().value;
|
|
26
|
-
__classPrivateFieldGet(this, _BoundMap_map, "f").delete(firstKey);
|
|
27
|
-
if (this.onEvict) {
|
|
28
|
-
this.onEvict(firstKey);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
this.get = (key) => {
|
|
33
|
-
return __classPrivateFieldGet(this, _BoundMap_map, "f").get(key);
|
|
34
|
-
};
|
|
35
|
-
this.delete = (key) => {
|
|
36
|
-
__classPrivateFieldGet(this, _BoundMap_map, "f").delete(key);
|
|
37
|
-
};
|
|
38
|
-
this.keys = () => {
|
|
39
|
-
return __classPrivateFieldGet(this, _BoundMap_map, "f").keys();
|
|
40
|
-
};
|
|
41
|
-
__classPrivateFieldSet(this, _BoundMap_sizeLimit, sizeLimit, "f");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
_BoundMap_map = new WeakMap(), _BoundMap_sizeLimit = new WeakMap();
|
|
45
|
-
export default BoundMap;
|
|
46
|
-
export class BoundSet {
|
|
47
|
-
constructor(sizeLimit) {
|
|
48
|
-
_BoundSet_map.set(this, void 0);
|
|
49
|
-
_BoundSet_onEvict.set(this, (v) => {
|
|
50
|
-
if (this.onEvict) {
|
|
51
|
-
this.onEvict(v);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
this.add = (v) => {
|
|
55
|
-
__classPrivateFieldGet(this, _BoundSet_map, "f").set(v, v);
|
|
56
|
-
};
|
|
57
|
-
this[_a] = () => {
|
|
58
|
-
return __classPrivateFieldGet(this, _BoundSet_map, "f").keys();
|
|
59
|
-
};
|
|
60
|
-
__classPrivateFieldSet(this, _BoundSet_map, new BoundMap(sizeLimit), "f");
|
|
61
|
-
__classPrivateFieldGet(this, _BoundSet_map, "f").onEvict = __classPrivateFieldGet(this, _BoundSet_onEvict, "f");
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
_BoundSet_map = new WeakMap(), _BoundSet_onEvict = new WeakMap(), _a = Symbol.iterator;
|
|
65
|
-
export class BoundArray {
|
|
66
|
-
constructor(sizeLimit) {
|
|
67
|
-
_BoundArray_array.set(this, []);
|
|
68
|
-
_BoundArray_sizeLimit.set(this, void 0);
|
|
69
|
-
this.push = (v) => {
|
|
70
|
-
__classPrivateFieldGet(this, _BoundArray_array, "f").push(v);
|
|
71
|
-
if (__classPrivateFieldGet(this, _BoundArray_array, "f").length > __classPrivateFieldGet(this, _BoundArray_sizeLimit, "f")) {
|
|
72
|
-
const first = __classPrivateFieldGet(this, _BoundArray_array, "f").shift();
|
|
73
|
-
if (first && this.onEvict) {
|
|
74
|
-
this.onEvict(first);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
this.get = (index) => {
|
|
79
|
-
return __classPrivateFieldGet(this, _BoundArray_array, "f")[index];
|
|
80
|
-
};
|
|
81
|
-
this.delete = (index) => {
|
|
82
|
-
__classPrivateFieldGet(this, _BoundArray_array, "f").splice(index, 1);
|
|
83
|
-
};
|
|
84
|
-
this[_b] = () => {
|
|
85
|
-
return __classPrivateFieldGet(this, _BoundArray_array, "f")[Symbol.iterator]();
|
|
86
|
-
};
|
|
87
|
-
this.map = (fn) => {
|
|
88
|
-
return __classPrivateFieldGet(this, _BoundArray_array, "f").map(fn);
|
|
89
|
-
};
|
|
90
|
-
this.clear = () => {
|
|
91
|
-
__classPrivateFieldSet(this, _BoundArray_array, [], "f");
|
|
92
|
-
};
|
|
93
|
-
this.sort = (fn) => {
|
|
94
|
-
return __classPrivateFieldGet(this, _BoundArray_array, "f").sort(fn);
|
|
95
|
-
};
|
|
96
|
-
__classPrivateFieldSet(this, _BoundArray_sizeLimit, sizeLimit, "f");
|
|
97
|
-
}
|
|
98
|
-
get length() {
|
|
99
|
-
return __classPrivateFieldGet(this, _BoundArray_array, "f").length;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
_BoundArray_array = new WeakMap(), _BoundArray_sizeLimit = new WeakMap(), _b = Symbol.iterator;
|
|
103
|
-
//# sourceMappingURL=bounded-collections.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bounded-collections.js","sourceRoot":"","sources":["../src/bounded-collections.ts"],"names":[],"mappings":"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"}
|
package/dist/componentKey.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
type SingletonKey = {
|
|
2
|
-
_tag: 'singleton';
|
|
3
|
-
componentName: string;
|
|
4
|
-
id: 'singleton';
|
|
5
|
-
};
|
|
6
|
-
type EphemeralKey = {
|
|
7
|
-
_tag: 'ephemeral';
|
|
8
|
-
componentName: string;
|
|
9
|
-
id: string;
|
|
10
|
-
};
|
|
11
|
-
type CustomKey = {
|
|
12
|
-
_tag: 'custom';
|
|
13
|
-
componentName: string;
|
|
14
|
-
id: string;
|
|
15
|
-
};
|
|
16
|
-
export type ComponentKey = SingletonKey | EphemeralKey | CustomKey;
|
|
17
|
-
export declare const labelForKey: (key: ComponentKey) => string;
|
|
18
|
-
export declare const tableNameForComponentKey: (componentKey: ComponentKey) => string;
|
|
19
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=componentKey.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"componentKey.d.ts","sourceRoot":"","sources":["../src/componentKey.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,WAAW,CAAA;CAAE,CAAA;AACjF,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAC5E,KAAK,SAAS,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtE,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,CAAA;AAElE,eAAO,MAAM,WAAW,QAAS,YAAY,KAAG,MAA0C,CAAA;AAE1F,eAAO,MAAM,wBAAwB,iBAAkB,YAAY,WAAgD,CAAA"}
|
package/dist/componentKey.js
DELETED
package/dist/componentKey.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"componentKey.js","sourceRoot":"","sources":["../src/componentKey.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAiB,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,EAAE,EAAE,CAAA;AAE1F,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAA0B,EAAE,EAAE,CAAC,eAAe,YAAY,CAAC,aAAa,EAAE,CAAA"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import type { Scope } from '@livestore/utils/effect';
|
|
2
|
-
import { Context, Deferred, Effect, Layer } from '@livestore/utils/effect';
|
|
3
|
-
import * as otel from '@opentelemetry/api';
|
|
4
|
-
import type { GraphQLSchema } from 'graphql';
|
|
5
|
-
import type { Backend, BackendOptions } from '../backends/index.js';
|
|
6
|
-
import type { InMemoryDatabase } from '../inMemoryDatabase.js';
|
|
7
|
-
import type { Schema } from '../schema.js';
|
|
8
|
-
import type { BaseGraphQLContext, GraphQLOptions, LiveStoreQuery, Store } from '../store.js';
|
|
9
|
-
export type LiveStoreContext = {
|
|
10
|
-
store: Store<any>;
|
|
11
|
-
globalQueries: LiveStoreQueryTypes;
|
|
12
|
-
};
|
|
13
|
-
export type QueryDefinition = (store: Store<any>) => LiveStoreQuery;
|
|
14
|
-
export type GlobalQueryDefs = {
|
|
15
|
-
[key: string]: QueryDefinition;
|
|
16
|
-
};
|
|
17
|
-
export type LiveStoreCreateStoreOptions<GraphQLContext extends BaseGraphQLContext> = {
|
|
18
|
-
schema: Schema;
|
|
19
|
-
globalQueryDefs: GlobalQueryDefs;
|
|
20
|
-
backendOptions: BackendOptions;
|
|
21
|
-
graphQLOptions?: GraphQLOptions<GraphQLContext>;
|
|
22
|
-
otelTracer?: otel.Tracer;
|
|
23
|
-
otelRootSpanContext?: otel.Context;
|
|
24
|
-
boot?: (backend: Backend, parentSpan: otel.Span) => Promise<void>;
|
|
25
|
-
};
|
|
26
|
-
export declare const LiveStoreContext: Context.Tag<LiveStoreContext, LiveStoreContext>;
|
|
27
|
-
export type DeferredStoreContext = Deferred.Deferred<never, LiveStoreContext>;
|
|
28
|
-
export declare const DeferredStoreContext: Context.Tag<DeferredStoreContext, DeferredStoreContext>;
|
|
29
|
-
export type LiveStoreContextProps<GraphQLContext extends BaseGraphQLContext> = {
|
|
30
|
-
schema: Schema;
|
|
31
|
-
globalQueryDefs?: Effect.Effect<never, never, GlobalQueryDefs>;
|
|
32
|
-
backendOptions: Effect.Effect<never, never, BackendOptions>;
|
|
33
|
-
graphQLOptions?: {
|
|
34
|
-
schema: Effect.Effect<otel.Tracer, never, GraphQLSchema>;
|
|
35
|
-
makeContext: (db: InMemoryDatabase) => GraphQLContext;
|
|
36
|
-
};
|
|
37
|
-
boot?: (backend: Backend) => Effect.Effect<never, never, void>;
|
|
38
|
-
};
|
|
39
|
-
export declare const LiveStoreContextLayer: <GraphQLContext extends BaseGraphQLContext>(props: LiveStoreContextProps<GraphQLContext>) => Layer.Layer<otel.Tracer, never, LiveStoreContext>;
|
|
40
|
-
export declare const LiveStoreContextDeferred: Layer.Layer<never, never, DeferredStoreContext>;
|
|
41
|
-
export declare const makeLiveStoreContext: <GraphQLContext extends BaseGraphQLContext>({ globalQueryDefs, schema, backendOptions: backendOptions_, graphQLOptions: graphQLOptions_, boot: boot_, }: LiveStoreContextProps<GraphQLContext>) => Effect.Effect<DeferredStoreContext | Scope.Scope | otel.Tracer, never, LiveStoreContext>;
|
|
42
|
-
//# sourceMappingURL=LiveStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LiveStore.d.ts","sourceRoot":"","sources":["../../src/effect/LiveStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAY,MAAM,EAAE,KAAK,EAA6B,MAAM,yBAAyB,CAAA;AAC/G,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAI5F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,aAAa,EAAE,mBAAmB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,cAAc,CAAA;AACnE,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,2BAA2B,CAAC,cAAc,SAAS,kBAAkB,IAAI;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAC/C,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;IAClC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAClE,CAAA;AAED,eAAO,MAAM,gBAAgB,iDAAyE,CAAA;AAEtG,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAC7E,eAAO,MAAM,oBAAoB,yDAEhC,CAAA;AAID,MAAM,MAAM,qBAAqB,CAAC,cAAc,SAAS,kBAAkB,IAAI;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAC9D,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAC3D,cAAc,CAAC,EAAE;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;QACxD,WAAW,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,cAAc,CAAA;KACtD,CAAA;IACD,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAC/D,CAAA;AAED,eAAO,MAAM,qBAAqB,+FAE/B,WAAW,CAAC,KAAK,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAIhD,CAAA;AAEH,eAAO,MAAM,wBAAwB,iDAA+E,CAAA;AAEpH,eAAO,MAAM,oBAAoB,qMAMU,aAAa,CACtD,oBAAoB,GAAG,WAAW,GAAG,KAAK,MAAM,EAChD,KAAK,EACL,gBAAgB,CA2Df,CAAA"}
|
package/dist/effect/LiveStore.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Context, Deferred, Duration, Effect, Layer, OtelTracer, pipe, Runtime } from '@livestore/utils/effect';
|
|
2
|
-
import * as otel from '@opentelemetry/api';
|
|
3
|
-
import { mapValues } from 'lodash-es';
|
|
4
|
-
import { createStore } from '../store.js';
|
|
5
|
-
export const LiveStoreContext = Context.Tag('@livestore/livestore/LiveStoreContext');
|
|
6
|
-
export const DeferredStoreContext = Context.Tag(Symbol.for('@livestore/livestore/DeferredStoreContext'));
|
|
7
|
-
export const LiveStoreContextLayer = (props) => Layer.provide(LiveStoreContextDeferred, Layer.scoped(LiveStoreContext, makeLiveStoreContext(props)).pipe(Layer.withSpan('LiveStore')));
|
|
8
|
-
export const LiveStoreContextDeferred = Layer.effect(DeferredStoreContext, Deferred.make());
|
|
9
|
-
export const makeLiveStoreContext = ({ globalQueryDefs, schema, backendOptions: backendOptions_, graphQLOptions: graphQLOptions_, boot: boot_, }) => pipe(Effect.gen(function* ($) {
|
|
10
|
-
const runtime = yield* $(Effect.runtime());
|
|
11
|
-
const otelRootSpanContext = otel.context.active();
|
|
12
|
-
const otelTracer = yield* $(OtelTracer.OtelTracer);
|
|
13
|
-
const graphQLOptions = yield* $(graphQLOptions_
|
|
14
|
-
? Effect.all({ schema: graphQLOptions_.schema, makeContext: Effect.succeed(graphQLOptions_.makeContext) })
|
|
15
|
-
: Effect.succeed(undefined));
|
|
16
|
-
const backendOptions = yield* $(backendOptions_);
|
|
17
|
-
const boot = boot_
|
|
18
|
-
? (db) => boot_(db).pipe(Effect.withSpan('boot'), Effect.tapCauseLogPretty, Runtime.runPromise(runtime))
|
|
19
|
-
: undefined;
|
|
20
|
-
const store = yield* $(Effect.tryPromise(() => createStore({
|
|
21
|
-
schema,
|
|
22
|
-
backendOptions,
|
|
23
|
-
graphQLOptions,
|
|
24
|
-
otelTracer,
|
|
25
|
-
otelRootSpanContext,
|
|
26
|
-
boot,
|
|
27
|
-
})), Effect.acquireRelease((store) => Effect.sync(() => store.destroy())));
|
|
28
|
-
window.__debugLiveStore = store;
|
|
29
|
-
// TODO remove global queries concept
|
|
30
|
-
const globalQueries = yield* $(globalQueryDefs ?? Effect.succeed({}), Effect.map((defs) => mapValues(defs, (queryDef) => queryDef(store))), Effect.withSpan('LiveStore:makeGlobalQueries', {
|
|
31
|
-
parent: OtelTracer.makeExternalSpan(otel.trace.getSpanContext(store.otel.queriesSpanContext)),
|
|
32
|
-
}));
|
|
33
|
-
// NOTE give main thread a chance to render
|
|
34
|
-
yield* $(Effect.yieldNow());
|
|
35
|
-
return { store, globalQueries };
|
|
36
|
-
}), Effect.tap((storeCtx) => Effect.flatMap(DeferredStoreContext, (def) => Deferred.succeed(def, storeCtx))), Effect.timeoutFail({
|
|
37
|
-
onTimeout: () => new Error('Timed out while creating LiveStore store after 10sec'),
|
|
38
|
-
duration: Duration.seconds(10),
|
|
39
|
-
}), Effect.orDie);
|
|
40
|
-
//# sourceMappingURL=LiveStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LiveStore.js","sourceRoot":"","sources":["../../src/effect/LiveStore.ts"],"names":[],"mappings":"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"}
|
package/dist/effect/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,qBAAqB,GAC3B,MAAM,gBAAgB,CAAA"}
|
package/dist/effect/index.js
DELETED
package/dist/effect/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,GAErB,MAAM,gBAAgB,CAAA"}
|
package/dist/events.d.ts
DELETED
package/dist/events.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,GAAG,CAAA;CACX,CAAA;AAED,eAAO,MAAM,iBAAiB,aAAa,CAAA"}
|
package/dist/events.js
DELETED
package/dist/events.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAA"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type * as otel from '@opentelemetry/api';
|
|
2
|
-
import type * as SqliteWasm from 'sqlite-esm';
|
|
3
|
-
import { BoundArray } from './bounded-collections.js';
|
|
4
|
-
import type { LiveStoreEvent } from './events.js';
|
|
5
|
-
import type { ActionDefinition } from './schema.js';
|
|
6
|
-
import type { Bindable, ParamsObject } from './util.js';
|
|
7
|
-
export declare enum IndexType {
|
|
8
|
-
Basic = "Basic",
|
|
9
|
-
FullText = "FullText"
|
|
10
|
-
}
|
|
11
|
-
export interface Index {
|
|
12
|
-
indexType: IndexType;
|
|
13
|
-
name: string;
|
|
14
|
-
columns: string[];
|
|
15
|
-
}
|
|
16
|
-
declare type DatabaseWithCAPI = SqliteWasm.Database & {
|
|
17
|
-
capi: SqliteWasm.CAPI;
|
|
18
|
-
};
|
|
19
|
-
export interface DebugInfo {
|
|
20
|
-
slowQueries: BoundArray<SlowQueryInfo>;
|
|
21
|
-
queryFrameDuration: number;
|
|
22
|
-
queryFrameCount: number;
|
|
23
|
-
events: BoundArray<[queryStr: string, bindValues: Bindable | undefined]>;
|
|
24
|
-
}
|
|
25
|
-
export type SlowQueryInfo = [
|
|
26
|
-
queryStr: string,
|
|
27
|
-
bindValues: Bindable | undefined,
|
|
28
|
-
durationMs: number,
|
|
29
|
-
rowsCount: number | undefined,
|
|
30
|
-
queriedTables: string[],
|
|
31
|
-
startTimePerfNow: DOMHighResTimeStamp
|
|
32
|
-
];
|
|
33
|
-
export declare const emptyDebugInfo: () => DebugInfo;
|
|
34
|
-
export declare class InMemoryDatabase {
|
|
35
|
-
private db;
|
|
36
|
-
private otelTracer;
|
|
37
|
-
private otelRootSpanContext;
|
|
38
|
-
SQL: SqliteWasm.Sqlite3Static;
|
|
39
|
-
private cachedStmts;
|
|
40
|
-
private tablesUsedCache;
|
|
41
|
-
private resultCache;
|
|
42
|
-
debugInfo: DebugInfo;
|
|
43
|
-
constructor(db: DatabaseWithCAPI, otelTracer: otel.Tracer, otelRootSpanContext: otel.Context, SQL: SqliteWasm.Sqlite3Static);
|
|
44
|
-
static load(data: Uint8Array | undefined, otelTracer: otel.Tracer, otelRootSpanContext: otel.Context): Promise<InMemoryDatabase>;
|
|
45
|
-
txn<TRes>(callback: () => TRes): TRes;
|
|
46
|
-
getTablesUsed(query: string): string[];
|
|
47
|
-
/**
|
|
48
|
-
* NOTE `execute` is untraced since it's usually called from `applyEvent` which is traced
|
|
49
|
-
*/
|
|
50
|
-
execute(query: string, bindValues?: ParamsObject, writeTables?: string[], options?: {
|
|
51
|
-
hasNoEffects?: boolean;
|
|
52
|
-
}): void;
|
|
53
|
-
select<T = any>(query: string, options?: {
|
|
54
|
-
queriedTables?: string[];
|
|
55
|
-
bindValues?: Bindable;
|
|
56
|
-
skipCache?: boolean;
|
|
57
|
-
otelContext?: otel.Context;
|
|
58
|
-
}): ReadonlyArray<T>;
|
|
59
|
-
applyEvent(event: LiveStoreEvent, eventDefinition: ActionDefinition, otelContext: otel.Context): {
|
|
60
|
-
durationMs: number;
|
|
61
|
-
};
|
|
62
|
-
export(): any;
|
|
63
|
-
}
|
|
64
|
-
export {};
|
|
65
|
-
//# sourceMappingURL=inMemoryDatabase.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inMemoryDatabase.d.ts","sourceRoot":"","sources":["../src/inMemoryDatabase.ts"],"names":[],"mappings":"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"}
|