@livestore/livestore 0.0.0-snapshot-d9d66b354a9f4cfae987725d38971992ff14e4ad → 0.0.0-snapshot-1d99fea7d2ce2c7a5d9ed0a3752f8a7bda6bc3db
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/dist/.tsbuildinfo +1 -1
- package/dist/SqliteDbWrapper.d.ts +54 -0
- package/dist/SqliteDbWrapper.d.ts.map +1 -0
- package/dist/{SynchronousDatabaseWrapper.js → SqliteDbWrapper.js} +44 -9
- package/dist/SqliteDbWrapper.js.map +1 -0
- package/dist/effect/LiveStore.d.ts +16 -12
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +14 -14
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/index.d.ts +6 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/live-queries/base-class.d.ts +57 -21
- package/dist/live-queries/base-class.d.ts.map +1 -1
- package/dist/live-queries/base-class.js +54 -13
- package/dist/live-queries/base-class.js.map +1 -1
- package/dist/live-queries/computed.d.ts +7 -7
- package/dist/live-queries/computed.d.ts.map +1 -1
- package/dist/live-queries/computed.js +34 -11
- package/dist/live-queries/computed.js.map +1 -1
- package/dist/live-queries/{db.d.ts → db-query.d.ts} +15 -14
- package/dist/live-queries/db-query.d.ts.map +1 -0
- package/dist/live-queries/{db.js → db-query.js} +87 -43
- package/dist/live-queries/db-query.js.map +1 -0
- package/dist/live-queries/db-query.test.d.ts +2 -0
- package/dist/live-queries/db-query.test.d.ts.map +1 -0
- package/dist/live-queries/db-query.test.js +113 -0
- package/dist/live-queries/db-query.test.js.map +1 -0
- package/dist/live-queries/graphql.d.ts +8 -8
- package/dist/live-queries/graphql.d.ts.map +1 -1
- package/dist/live-queries/graphql.js +34 -9
- package/dist/live-queries/graphql.js.map +1 -1
- package/dist/live-queries/make-ref.d.ts +20 -0
- package/dist/live-queries/make-ref.d.ts.map +1 -0
- package/dist/live-queries/make-ref.js +33 -0
- package/dist/live-queries/make-ref.js.map +1 -0
- package/dist/reactive.d.ts +19 -13
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +22 -18
- package/dist/reactive.js.map +1 -1
- package/dist/reactive.test.js +1 -1
- package/dist/reactive.test.js.map +1 -1
- package/dist/row-query-utils.d.ts +4 -4
- package/dist/row-query-utils.d.ts.map +1 -1
- package/dist/row-query-utils.js +14 -10
- package/dist/row-query-utils.js.map +1 -1
- package/dist/store/create-store.d.ts +13 -12
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +27 -33
- package/dist/store/create-store.js.map +1 -1
- package/dist/store/devtools.d.ts +3 -3
- package/dist/store/devtools.d.ts.map +1 -1
- package/dist/store/devtools.js +56 -34
- package/dist/store/devtools.js.map +1 -1
- package/dist/store/store-types.d.ts +18 -18
- package/dist/store/store-types.d.ts.map +1 -1
- package/dist/store/store-types.js.map +1 -1
- package/dist/store/store.d.ts +57 -38
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +226 -188
- package/dist/store/store.js.map +1 -1
- package/dist/utils/dev.d.ts.map +1 -1
- package/dist/utils/dev.js +3 -2
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/function-string.d.ts +7 -0
- package/dist/utils/function-string.d.ts.map +1 -0
- package/dist/utils/function-string.js +9 -0
- package/dist/utils/function-string.js.map +1 -0
- package/dist/utils/stack-info.d.ts.map +1 -1
- package/dist/utils/stack-info.js +6 -1
- package/dist/utils/stack-info.js.map +1 -1
- package/dist/utils/stack-info.test.js +54 -1
- package/dist/utils/stack-info.test.js.map +1 -1
- package/dist/utils/tests/fixture.d.ts +2 -6
- package/dist/utils/tests/fixture.d.ts.map +1 -1
- package/dist/utils/tests/fixture.js +7 -13
- package/dist/utils/tests/fixture.js.map +1 -1
- package/dist/utils/tests/mod.d.ts +1 -0
- package/dist/utils/tests/mod.d.ts.map +1 -1
- package/dist/utils/tests/mod.js +1 -0
- package/dist/utils/tests/mod.js.map +1 -1
- package/dist/utils/tests/otel.d.ts +60 -1
- package/dist/utils/tests/otel.d.ts.map +1 -1
- package/dist/utils/tests/otel.js +65 -4
- package/dist/utils/tests/otel.js.map +1 -1
- package/package.json +12 -12
- package/src/{SynchronousDatabaseWrapper.ts → SqliteDbWrapper.ts} +59 -14
- package/src/ambient.d.ts +1 -1
- package/src/effect/LiveStore.ts +32 -33
- package/src/index.ts +14 -7
- package/src/live-queries/__snapshots__/{db.test.ts.snap → db-query.test.ts.snap} +220 -72
- package/src/live-queries/base-class.ts +151 -40
- package/src/live-queries/computed.ts +44 -19
- package/src/live-queries/{db.test.ts → db-query.test.ts} +46 -33
- package/src/live-queries/{db.ts → db-query.ts} +123 -61
- package/src/live-queries/graphql.ts +46 -21
- package/src/live-queries/make-ref.ts +47 -0
- package/src/reactive.test.ts +1 -1
- package/src/reactive.ts +60 -37
- package/src/row-query-utils.ts +29 -18
- package/src/store/create-store.ts +106 -113
- package/src/store/devtools.ts +65 -39
- package/src/store/store-types.ts +20 -18
- package/src/store/store.ts +362 -289
- package/src/utils/dev.ts +4 -2
- package/src/utils/function-string.ts +12 -0
- package/src/utils/stack-info.test.ts +58 -1
- package/src/utils/stack-info.ts +6 -1
- package/src/utils/tests/fixture.ts +6 -16
- package/src/utils/tests/mod.ts +1 -0
- package/src/utils/tests/otel.ts +71 -5
- package/dist/SynchronousDatabaseWrapper.d.ts +0 -36
- package/dist/SynchronousDatabaseWrapper.d.ts.map +0 -1
- package/dist/SynchronousDatabaseWrapper.js.map +0 -1
- package/dist/global-state.d.ts +0 -14
- package/dist/global-state.d.ts.map +0 -1
- package/dist/global-state.js +0 -16
- package/dist/global-state.js.map +0 -1
- package/dist/live-queries/db.d.ts.map +0 -1
- package/dist/live-queries/db.js.map +0 -1
- package/dist/live-queries/db.test.d.ts +0 -2
- package/dist/live-queries/db.test.d.ts.map +0 -1
- package/dist/live-queries/db.test.js +0 -117
- package/dist/live-queries/db.test.js.map +0 -1
- package/src/global-state.ts +0 -20
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import type { ClientSession,
|
|
2
|
-
import type { LiveStoreSchema, MutationEvent } from '@livestore/common/schema';
|
|
3
|
-
import type {
|
|
1
|
+
import type { ClientSession, IntentionalShutdownCause, UnexpectedError } from '@livestore/common';
|
|
2
|
+
import type { EventId, LiveStoreSchema, MutationEvent } from '@livestore/common/schema';
|
|
3
|
+
import type { Deferred, MutableHashMap, Runtime, Scope } from '@livestore/utils/effect';
|
|
4
4
|
import { Schema } from '@livestore/utils/effect';
|
|
5
5
|
import type * as otel from '@opentelemetry/api';
|
|
6
6
|
import type { GraphQLSchema } from 'graphql';
|
|
7
|
-
import type { ReactivityGraph } from '../live-queries/base-class.js';
|
|
8
7
|
import type { DebugRefreshReasonBase } from '../reactive.js';
|
|
9
|
-
import type {
|
|
8
|
+
import type { SqliteDbWrapper } from '../SqliteDbWrapper.js';
|
|
10
9
|
import type { StackInfo } from '../utils/stack-info.js';
|
|
11
10
|
import type { Store } from './store.js';
|
|
12
11
|
export type LiveStoreContext = LiveStoreContextRunning | {
|
|
@@ -26,6 +25,7 @@ declare const StoreInterrupted_base: Schema.TaggedErrorClass<StoreInterrupted, "
|
|
|
26
25
|
}>;
|
|
27
26
|
export declare class StoreInterrupted extends StoreInterrupted_base {
|
|
28
27
|
}
|
|
28
|
+
export type ShutdownDeferred = Deferred.Deferred<void, UnexpectedError | IntentionalShutdownCause | StoreInterrupted | StoreAbort>;
|
|
29
29
|
export type LiveStoreContextRunning = {
|
|
30
30
|
stage: 'running';
|
|
31
31
|
store: Store;
|
|
@@ -37,7 +37,7 @@ export type BaseGraphQLContext = {
|
|
|
37
37
|
};
|
|
38
38
|
export type GraphQLOptions<TContext> = {
|
|
39
39
|
schema: GraphQLSchema;
|
|
40
|
-
makeContext: (db:
|
|
40
|
+
makeContext: (db: SqliteDbWrapper, tracer: otel.Tracer, sessionId: string) => TContext;
|
|
41
41
|
};
|
|
42
42
|
export type OtelOptions = {
|
|
43
43
|
tracer: otel.Tracer;
|
|
@@ -49,17 +49,16 @@ export type StoreOptions<TGraphQLContext extends BaseGraphQLContext, TSchema ext
|
|
|
49
49
|
storeId: string;
|
|
50
50
|
graphQLOptions?: GraphQLOptions<TGraphQLContext>;
|
|
51
51
|
otelOptions: OtelOptions;
|
|
52
|
-
reactivityGraph: ReactivityGraph;
|
|
53
52
|
disableDevtools?: boolean;
|
|
54
|
-
|
|
53
|
+
lifetimeScope: Scope.Scope;
|
|
55
54
|
runtime: Runtime.Runtime<Scope.Scope>;
|
|
56
55
|
batchUpdates: (runUpdates: () => void) => void;
|
|
57
|
-
unsyncedMutationEvents: MutableHashMap.MutableHashMap<EventId, MutationEvent.ForSchema<TSchema>>;
|
|
56
|
+
unsyncedMutationEvents: MutableHashMap.MutableHashMap<EventId.EventId, MutationEvent.ForSchema<TSchema>>;
|
|
58
57
|
};
|
|
59
58
|
export type RefreshReason = DebugRefreshReasonBase | {
|
|
60
59
|
_tag: 'mutate';
|
|
61
60
|
/** The mutations that were applied */
|
|
62
|
-
mutations: ReadonlyArray<MutationEvent.
|
|
61
|
+
mutations: ReadonlyArray<MutationEvent.AnyDecoded | MutationEvent.PartialAnyDecoded>;
|
|
63
62
|
/** The tables that were written to by the event */
|
|
64
63
|
writeTables: ReadonlyArray<string>;
|
|
65
64
|
} | {
|
|
@@ -67,6 +66,12 @@ export type RefreshReason = DebugRefreshReasonBase | {
|
|
|
67
66
|
api: string;
|
|
68
67
|
label?: string;
|
|
69
68
|
stackInfo?: StackInfo;
|
|
69
|
+
} | {
|
|
70
|
+
_tag: 'subscribe.initial';
|
|
71
|
+
label?: string;
|
|
72
|
+
} | {
|
|
73
|
+
_tag: 'subscribe.update';
|
|
74
|
+
label?: string;
|
|
70
75
|
} | {
|
|
71
76
|
_tag: 'manual';
|
|
72
77
|
label?: string;
|
|
@@ -85,14 +90,9 @@ export type StoreOtel = {
|
|
|
85
90
|
export type StoreMutateOptions = {
|
|
86
91
|
label?: string;
|
|
87
92
|
skipRefresh?: boolean;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
* When set to `false` the mutation won't be persisted in the mutation log and sync server (but still synced).
|
|
91
|
-
* This can be useful e.g. for fine-granular update events (e.g. position updates during drag & drop)
|
|
92
|
-
*
|
|
93
|
-
* @default true
|
|
94
|
-
*/
|
|
95
|
-
persisted?: boolean;
|
|
93
|
+
spanLinks?: otel.Link[];
|
|
94
|
+
otelContext?: otel.Context;
|
|
96
95
|
};
|
|
96
|
+
export type Unsubscribe = () => void;
|
|
97
97
|
export {};
|
|
98
98
|
//# sourceMappingURL=store-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-types.js","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"store-types.js","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAoBhD,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,sBAAsB,EAAE,EAAE,CAAC;CAAG;AAC/F,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,4BAA4B,EAAE,EAAE,CAAC;CAAG"}
|
package/dist/store/store.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import type { ClientSession, ParamsObject, QueryBuilder } from '@livestore/common';
|
|
2
|
-
import type { LiveStoreSchema
|
|
3
|
-
import {
|
|
1
|
+
import type { ClientSession, ParamsObject, QueryBuilder, UnexpectedError } from '@livestore/common';
|
|
2
|
+
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
3
|
+
import { MutationEvent } from '@livestore/common/schema';
|
|
4
|
+
import type { Scope } from '@livestore/utils/effect';
|
|
5
|
+
import { Effect, Inspectable, Stream } from '@livestore/utils/effect';
|
|
4
6
|
import * as otel from '@opentelemetry/api';
|
|
5
|
-
import type
|
|
6
|
-
import type { LiveQuery,
|
|
7
|
+
import { type GraphQLSchema } from 'graphql';
|
|
8
|
+
import type { ILiveQueryRefDef, LiveQuery, LiveQueryDef, ReactivityGraph, ReactivityGraphContext } from '../live-queries/base-class.js';
|
|
7
9
|
import type { Ref } from '../reactive.js';
|
|
8
|
-
import {
|
|
10
|
+
import { SqliteDbWrapper } from '../SqliteDbWrapper.js';
|
|
9
11
|
import { ReferenceCountedSet } from '../utils/data-structures.js';
|
|
10
|
-
import type {
|
|
12
|
+
import type { StackInfo } from '../utils/stack-info.js';
|
|
13
|
+
import type { BaseGraphQLContext, RefreshReason, StoreMutateOptions, StoreOptions, StoreOtel, Unsubscribe } from './store-types.js';
|
|
11
14
|
export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema> extends Inspectable.Class {
|
|
12
15
|
readonly storeId: string;
|
|
13
16
|
reactivityGraph: ReactivityGraph;
|
|
14
|
-
|
|
17
|
+
sqliteDbWrapper: SqliteDbWrapper;
|
|
15
18
|
clientSession: ClientSession;
|
|
16
19
|
schema: LiveStoreSchema;
|
|
17
20
|
graphQLSchema?: GraphQLSchema;
|
|
@@ -22,32 +25,69 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGrap
|
|
|
22
25
|
* This only works in combination with `equal: () => false` which will always trigger a refresh.
|
|
23
26
|
*/
|
|
24
27
|
tableRefs: {
|
|
25
|
-
[key: string]: Ref<null,
|
|
28
|
+
[key: string]: Ref<null, ReactivityGraphContext, RefreshReason>;
|
|
26
29
|
};
|
|
27
|
-
private fiberSet;
|
|
28
30
|
private runtime;
|
|
29
31
|
/** RC-based set to see which queries are currently subscribed to */
|
|
30
32
|
activeQueries: ReferenceCountedSet<LiveQuery<any>>;
|
|
31
|
-
readonly __mutationEventSchema:
|
|
33
|
+
readonly __mutationEventSchema: MutationEvent.ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
|
|
32
34
|
private unsyncedMutationEvents;
|
|
33
|
-
private
|
|
34
|
-
|
|
35
|
+
private syncProcessor;
|
|
36
|
+
readonly lifetimeScope: Scope.Scope;
|
|
37
|
+
readonly boot: Effect.Effect<void, UnexpectedError, Scope.Scope>;
|
|
38
|
+
constructor({ clientSession, schema, graphQLOptions, otelOptions, disableDevtools, batchUpdates, unsyncedMutationEvents, storeId, lifetimeScope, runtime, }: StoreOptions<TGraphQLContext, TSchema>);
|
|
35
39
|
get sessionId(): string;
|
|
36
40
|
/**
|
|
37
41
|
* Subscribe to the results of a query
|
|
38
42
|
* Returns a function to cancel the subscription.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const unsubscribe = store.subscribe(query$, { onUpdate: (result) => console.log(result) })
|
|
47
|
+
* ```
|
|
39
48
|
*/
|
|
40
|
-
subscribe: <TResult>(query
|
|
49
|
+
subscribe: <TResult>(query: LiveQueryDef<TResult, any> | LiveQuery<TResult, any>, options: {
|
|
50
|
+
/** Called when the query result has changed */
|
|
51
|
+
onUpdate: (value: TResult) => void;
|
|
52
|
+
onSubscribe?: (query$: LiveQuery<TResult, any>) => void;
|
|
53
|
+
/** Gets called after the query subscription has been removed */
|
|
54
|
+
onUnsubsubscribe?: () => void;
|
|
41
55
|
label?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Skips the initial `onUpdate` callback
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
skipInitialRun?: boolean;
|
|
42
61
|
otelContext?: otel.Context;
|
|
62
|
+
/** If provided, the stack info will be added to the `activeSubscriptions` set of the query */
|
|
63
|
+
stackInfo?: StackInfo;
|
|
64
|
+
}) => Unsubscribe;
|
|
65
|
+
subscribeStream: <TResult>(query$: LiveQueryDef<TResult, any>, options?: {
|
|
66
|
+
label?: string;
|
|
43
67
|
skipInitialRun?: boolean;
|
|
44
|
-
} | undefined) =>
|
|
45
|
-
|
|
68
|
+
} | undefined) => Stream.Stream<TResult>;
|
|
69
|
+
/**
|
|
70
|
+
* Synchronously queries the database without creating a LiveQuery.
|
|
71
|
+
* This is useful for queries that don't need to be reactive.
|
|
72
|
+
*
|
|
73
|
+
* Example: Query builder
|
|
74
|
+
* ```ts
|
|
75
|
+
* const completedTodos = store.query(tables.todo.where({ complete: true }))
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* Example: Raw SQL query
|
|
79
|
+
* ```ts
|
|
80
|
+
* const completedTodos = store.query({ query: 'SELECT * FROM todo WHERE complete = 1', bindValues: {} })
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
query: <TResult>(query: QueryBuilder<TResult, any, any> | LiveQuery<TResult, any> | LiveQueryDef<TResult, any> | {
|
|
46
84
|
query: string;
|
|
47
85
|
bindValues: ParamsObject;
|
|
48
86
|
}, options?: {
|
|
49
87
|
otelContext?: otel.Context;
|
|
88
|
+
debugRefreshReason?: RefreshReason;
|
|
50
89
|
}) => TResult;
|
|
90
|
+
setRef: <T>(refDef: ILiveQueryRefDef<T>, value: T) => void;
|
|
51
91
|
mutate: {
|
|
52
92
|
<const TMutationArg extends ReadonlyArray<MutationEvent.PartialForSchema<TSchema>>>(...list: TMutationArg): void;
|
|
53
93
|
(txn: <const TMutationArg extends ReadonlyArray<MutationEvent.PartialForSchema<TSchema>>>(...list: TMutationArg) => void): void;
|
|
@@ -61,33 +101,12 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGrap
|
|
|
61
101
|
manualRefresh: (options?: {
|
|
62
102
|
label?: string;
|
|
63
103
|
}) => void;
|
|
64
|
-
/**
|
|
65
|
-
* Apply a mutation to the store.
|
|
66
|
-
* Returns the tables that were affected by the event.
|
|
67
|
-
* This is an internal method that doesn't trigger a refresh;
|
|
68
|
-
* the caller must refresh queries after calling this method.
|
|
69
|
-
*/
|
|
70
|
-
mutateWithoutRefresh: (mutationEventDecoded_: MutationEvent.ForSchema<TSchema> | MutationEvent.PartialForSchema<TSchema>, options: {
|
|
71
|
-
otelContext: otel.Context;
|
|
72
|
-
coordinatorMode: "default" | "skip-coordinator" | "skip-persist";
|
|
73
|
-
}) => {
|
|
74
|
-
writeTables: ReadonlySet<string>;
|
|
75
|
-
durationMs: number;
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Directly execute a SQL query on the Store.
|
|
79
|
-
* This should only be used for framework-internal purposes;
|
|
80
|
-
* all app writes should go through mutate.
|
|
81
|
-
*/
|
|
82
|
-
__execute: (query: string, params?: ParamsObject, writeTables?: ReadonlySet<string>, otelContext?: otel.Context) => void;
|
|
83
104
|
private makeTableRef;
|
|
84
|
-
__devDownloadDb: () => void;
|
|
85
|
-
__devDownloadMutationLogDb: () => import("effect/Fiber").RuntimeFiber<import("effect/Fiber").RuntimeFiber<void, import("@livestore/common").UnexpectedError>, never>;
|
|
86
|
-
__devCurrentMutationEventId: () => import("@livestore/common").EventId;
|
|
87
105
|
toJSON: () => {
|
|
88
106
|
_tag: string;
|
|
89
107
|
reactivityGraph: import("../reactive.js").ReactiveGraphSnapshot;
|
|
90
108
|
};
|
|
91
109
|
private runEffectFork;
|
|
110
|
+
private getMutateArgs;
|
|
92
111
|
}
|
|
93
112
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|