@livestore/common 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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapter-types.d.ts +3 -2
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +29 -29
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-leader.d.ts +24 -24
- package/dist/devtools/devtools-sessioninfo.d.ts +2 -0
- package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -1
- package/dist/devtools/devtools-sessioninfo.js +1 -0
- package/dist/devtools/devtools-sessioninfo.js.map +1 -1
- package/dist/devtools/mod.d.ts +48 -32
- package/dist/devtools/mod.d.ts.map +1 -1
- package/dist/devtools/mod.js +27 -21
- package/dist/devtools/mod.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +21 -13
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/types.d.ts +6 -4
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/make-client-session.d.ts +21 -0
- package/dist/make-client-session.d.ts.map +1 -0
- package/dist/make-client-session.js +51 -0
- package/dist/make-client-session.js.map +1 -0
- package/dist/materializer-helper.d.ts.map +1 -1
- package/dist/materializer-helper.js +1 -1
- package/dist/materializer-helper.js.map +1 -1
- package/dist/schema/EventDef.d.ts +2 -2
- package/dist/schema/LiveStoreEvent.d.ts +6 -6
- package/dist/schema/state/sqlite/system-tables.d.ts +2 -2
- package/dist/sync/next/test/event-fixtures.d.ts +7 -7
- package/dist/sync/syncstate.d.ts +2 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -3
- package/src/adapter-types.ts +4 -2
- package/src/devtools/devtools-sessioninfo.ts +1 -0
- package/src/devtools/mod.ts +44 -21
- package/src/index.ts +1 -0
- package/src/leader-thread/leader-worker-devtools.ts +40 -22
- package/src/leader-thread/types.ts +5 -4
- package/src/make-client-session.ts +119 -0
- package/src/materializer-helper.ts +2 -1
- package/src/version.ts +1 -1
- package/dist/derived-mutations.d.ts +0 -77
- package/dist/derived-mutations.d.ts.map +0 -1
- package/dist/derived-mutations.js +0 -54
- package/dist/derived-mutations.js.map +0 -1
- package/dist/derived-mutations.test.d.ts +0 -2
- package/dist/derived-mutations.test.d.ts.map +0 -1
- package/dist/derived-mutations.test.js +0 -93
- package/dist/derived-mutations.test.js.map +0 -1
- package/dist/devtools/devtools-bridge.d.ts +0 -12
- package/dist/devtools/devtools-bridge.d.ts.map +0 -1
- package/dist/devtools/devtools-bridge.js +0 -2
- package/dist/devtools/devtools-bridge.js.map +0 -1
- package/dist/devtools/devtools-window-message.d.ts +0 -29
- package/dist/devtools/devtools-window-message.d.ts.map +0 -1
- package/dist/devtools/devtools-window-message.js +0 -33
- package/dist/devtools/devtools-window-message.js.map +0 -1
- package/dist/devtools/index.d.ts +0 -42
- package/dist/devtools/index.d.ts.map +0 -1
- package/dist/devtools/index.js +0 -49
- package/dist/devtools/index.js.map +0 -1
- package/dist/init-singleton-tables.d.ts +0 -4
- package/dist/init-singleton-tables.d.ts.map +0 -1
- package/dist/init-singleton-tables.js +0 -16
- package/dist/init-singleton-tables.js.map +0 -1
- package/dist/leader-thread/apply-event.d.ts +0 -16
- package/dist/leader-thread/apply-event.d.ts.map +0 -1
- package/dist/leader-thread/apply-event.js +0 -103
- package/dist/leader-thread/apply-event.js.map +0 -1
- package/dist/mutation.d.ts +0 -14
- package/dist/mutation.d.ts.map +0 -1
- package/dist/mutation.js +0 -71
- package/dist/mutation.js.map +0 -1
- package/dist/query-builder/api.d.ts +0 -293
- package/dist/query-builder/api.d.ts.map +0 -1
- package/dist/query-builder/api.js +0 -6
- package/dist/query-builder/api.js.map +0 -1
- package/dist/query-builder/astToSql.d.ts +0 -7
- package/dist/query-builder/astToSql.d.ts.map +0 -1
- package/dist/query-builder/astToSql.js +0 -190
- package/dist/query-builder/astToSql.js.map +0 -1
- package/dist/query-builder/impl.d.ts +0 -7
- package/dist/query-builder/impl.d.ts.map +0 -1
- package/dist/query-builder/impl.js +0 -286
- package/dist/query-builder/impl.js.map +0 -1
- package/dist/query-builder/impl.test.d.ts +0 -87
- package/dist/query-builder/impl.test.d.ts.map +0 -1
- package/dist/query-builder/impl.test.js +0 -554
- package/dist/query-builder/impl.test.js.map +0 -1
- package/dist/query-builder/mod.d.ts +0 -17
- package/dist/query-builder/mod.d.ts.map +0 -1
- package/dist/query-builder/mod.js +0 -17
- package/dist/query-builder/mod.js.map +0 -1
- package/dist/query-info.d.ts +0 -38
- package/dist/query-info.d.ts.map +0 -1
- package/dist/query-info.js +0 -7
- package/dist/query-info.js.map +0 -1
- package/dist/rehydrate-from-eventlog.d.ts +0 -14
- package/dist/rehydrate-from-eventlog.d.ts.map +0 -1
- package/dist/rehydrate-from-eventlog.js +0 -64
- package/dist/rehydrate-from-eventlog.js.map +0 -1
- package/dist/rehydrate-from-mutationlog.d.ts +0 -14
- package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
- package/dist/rehydrate-from-mutationlog.js +0 -72
- package/dist/rehydrate-from-mutationlog.js.map +0 -1
- package/dist/schema/client-document-def.d.ts +0 -223
- package/dist/schema/client-document-def.d.ts.map +0 -1
- package/dist/schema/client-document-def.js +0 -170
- package/dist/schema/client-document-def.js.map +0 -1
- package/dist/schema/client-document-def.test.d.ts +0 -2
- package/dist/schema/client-document-def.test.d.ts.map +0 -1
- package/dist/schema/client-document-def.test.js +0 -201
- package/dist/schema/client-document-def.test.js.map +0 -1
- package/dist/schema/db-schema/ast/sqlite.d.ts +0 -69
- package/dist/schema/db-schema/ast/sqlite.d.ts.map +0 -1
- package/dist/schema/db-schema/ast/sqlite.js +0 -71
- package/dist/schema/db-schema/ast/sqlite.js.map +0 -1
- package/dist/schema/db-schema/ast/validate.d.ts +0 -3
- package/dist/schema/db-schema/ast/validate.d.ts.map +0 -1
- package/dist/schema/db-schema/ast/validate.js +0 -12
- package/dist/schema/db-schema/ast/validate.js.map +0 -1
- package/dist/schema/db-schema/dsl/field-defs.d.ts +0 -90
- package/dist/schema/db-schema/dsl/field-defs.d.ts.map +0 -1
- package/dist/schema/db-schema/dsl/field-defs.js +0 -87
- package/dist/schema/db-schema/dsl/field-defs.js.map +0 -1
- package/dist/schema/db-schema/dsl/field-defs.test.d.ts +0 -2
- package/dist/schema/db-schema/dsl/field-defs.test.d.ts.map +0 -1
- package/dist/schema/db-schema/dsl/field-defs.test.js +0 -29
- package/dist/schema/db-schema/dsl/field-defs.test.js.map +0 -1
- package/dist/schema/db-schema/dsl/mod.d.ts +0 -90
- package/dist/schema/db-schema/dsl/mod.d.ts.map +0 -1
- package/dist/schema/db-schema/dsl/mod.js +0 -41
- package/dist/schema/db-schema/dsl/mod.js.map +0 -1
- package/dist/schema/db-schema/hash.d.ts +0 -2
- package/dist/schema/db-schema/hash.d.ts.map +0 -1
- package/dist/schema/db-schema/hash.js +0 -14
- package/dist/schema/db-schema/hash.js.map +0 -1
- package/dist/schema/db-schema/mod.d.ts +0 -3
- package/dist/schema/db-schema/mod.d.ts.map +0 -1
- package/dist/schema/db-schema/mod.js +0 -3
- package/dist/schema/db-schema/mod.js.map +0 -1
- package/dist/schema/index.d.ts +0 -62
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js +0 -67
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/mutations.d.ts +0 -227
- package/dist/schema/mutations.d.ts.map +0 -1
- package/dist/schema/mutations.js +0 -68
- package/dist/schema/mutations.js.map +0 -1
- package/dist/schema/schema-helpers.d.ts +0 -4
- package/dist/schema/schema-helpers.d.ts.map +0 -1
- package/dist/schema/schema-helpers.js +0 -30
- package/dist/schema/schema-helpers.js.map +0 -1
- package/dist/schema/sqlite-state.d.ts +0 -12
- package/dist/schema/sqlite-state.d.ts.map +0 -1
- package/dist/schema/sqlite-state.js +0 -36
- package/dist/schema/sqlite-state.js.map +0 -1
- package/dist/schema/state/sqlite/sqlite-state.d.ts +0 -12
- package/dist/schema/state/sqlite/sqlite-state.d.ts.map +0 -1
- package/dist/schema/state/sqlite/sqlite-state.js +0 -36
- package/dist/schema/state/sqlite/sqlite-state.js.map +0 -1
- package/dist/schema/state/state.d.ts +0 -3
- package/dist/schema/state/state.d.ts.map +0 -1
- package/dist/schema/state/state.js +0 -3
- package/dist/schema/state/state.js.map +0 -1
- package/dist/schema/state.d.ts +0 -3
- package/dist/schema/state.d.ts.map +0 -1
- package/dist/schema/state.js +0 -3
- package/dist/schema/state.js.map +0 -1
- package/dist/schema/system-tables.d.ts +0 -27
- package/dist/schema/system-tables.d.ts.map +0 -1
- package/dist/schema/system-tables.js +0 -86
- package/dist/schema/system-tables.js.map +0 -1
- package/dist/schema/table-def.d.ts +0 -84
- package/dist/schema/table-def.d.ts.map +0 -1
- package/dist/schema/table-def.js +0 -36
- package/dist/schema/table-def.js.map +0 -1
- package/dist/schema/view.d.ts +0 -3
- package/dist/schema/view.d.ts.map +0 -1
- package/dist/schema/view.js +0 -3
- package/dist/schema/view.js.map +0 -1
- package/dist/schema-management/validate-mutation-defs.d.ts +0 -8
- package/dist/schema-management/validate-mutation-defs.d.ts.map +0 -1
- package/dist/schema-management/validate-mutation-defs.js +0 -39
- package/dist/schema-management/validate-mutation-defs.js.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.d.ts +0 -73
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.js +0 -161
- package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
- package/dist/sync/next-mutation-event-id-pair.d.ts +0 -14
- package/dist/sync/next-mutation-event-id-pair.d.ts.map +0 -1
- package/dist/sync/next-mutation-event-id-pair.js +0 -13
- package/dist/sync/next-mutation-event-id-pair.js.map +0 -1
- package/src/devtools/devtools-window-message.ts +0 -27
@@ -1,90 +0,0 @@
|
|
1
|
-
import type { Nullable } from '@livestore/utils';
|
2
|
-
import type { Option, Types } from '@livestore/utils/effect';
|
3
|
-
import { Schema } from '@livestore/utils/effect';
|
4
|
-
import type * as SqliteAst from '../ast/sqlite.ts';
|
5
|
-
import type { ColumnDefinition } from './field-defs.ts';
|
6
|
-
export * from './field-defs.ts';
|
7
|
-
export type DbSchema = {
|
8
|
-
[key: string]: TableDefinition<string, Columns>;
|
9
|
-
};
|
10
|
-
/** Note when using the object-notation, the object keys are ignored and not used as table names */
|
11
|
-
export type DbSchemaInput = Record<string, TableDefinition<any, any>> | ReadonlyArray<TableDefinition<any, any>>;
|
12
|
-
/**
|
13
|
-
* In case of ...
|
14
|
-
* - array: we use the table name of each array item (= table definition) as the object key
|
15
|
-
* - object: we discard the keys of the input object and use the table name of each object value (= table definition) as the new object key
|
16
|
-
*/
|
17
|
-
export type DbSchemaFromInputSchema<TSchemaInput extends DbSchemaInput> = TSchemaInput extends ReadonlyArray<TableDefinition<any, any>> ? {
|
18
|
-
[K in TSchemaInput[number] as K['name']]: K;
|
19
|
-
} : TSchemaInput extends Record<string, TableDefinition<any, any>> ? {
|
20
|
-
[K in keyof TSchemaInput as TSchemaInput[K]['name']]: TSchemaInput[K];
|
21
|
-
} : never;
|
22
|
-
export declare const makeDbSchema: <TDbSchemaInput extends DbSchemaInput>(schema: TDbSchemaInput) => DbSchemaFromInputSchema<TDbSchemaInput>;
|
23
|
-
export declare const table: <TTableName extends string, TColumns extends Columns, TIndexes extends Index[]>(name: TTableName, columns: TColumns, indexes?: TIndexes) => TableDefinition<TTableName, TColumns>;
|
24
|
-
export type AnyIfConstained<In, Out> = '__constrained' extends keyof In ? any : Out;
|
25
|
-
export type EmptyObjIfConstained<In> = '__constrained' extends keyof In ? {} : In;
|
26
|
-
export type StructSchemaForColumns<TCols extends ConstraintColumns> = Schema.Schema<AnyIfConstained<TCols, FromColumns.RowDecoded<TCols>>, AnyIfConstained<TCols, FromColumns.RowEncoded<TCols>>>;
|
27
|
-
export type InsertStructSchemaForColumns<TCols extends ConstraintColumns> = Schema.Schema<AnyIfConstained<TCols, FromColumns.InsertRowDecoded<TCols>>, AnyIfConstained<TCols, FromColumns.InsertRowEncoded<TCols>>>;
|
28
|
-
export declare const structSchemaForTable: <TTableDefinition extends TableDefinition<any, any>>(tableDef: TTableDefinition) => StructSchemaForColumns<TTableDefinition["columns"]>;
|
29
|
-
export declare const insertStructSchemaForTable: <TTableDefinition extends TableDefinition<any, any>>(tableDef: TTableDefinition) => InsertStructSchemaForColumns<TTableDefinition["columns"]>;
|
30
|
-
export type TableDefinition<TName extends string, TColumns extends Columns> = {
|
31
|
-
name: TName;
|
32
|
-
columns: TColumns;
|
33
|
-
indexes?: ReadonlyArray<Index>;
|
34
|
-
ast: SqliteAst.Table;
|
35
|
-
};
|
36
|
-
export type Columns = Record<string, ColumnDefinition<any, any>>;
|
37
|
-
export type IsSingleColumn<TColumns extends Columns | ColumnDefinition<any, any>> = TColumns extends ColumnDefinition<any, any> ? true : false;
|
38
|
-
/**
|
39
|
-
* NOTE this is only needed to avoid a TS limitation where `StructSchemaForColumns` in the default case
|
40
|
-
* results in `Record<string, any>` instead of `any`. (Thanks to Andarist for the workaround)
|
41
|
-
*
|
42
|
-
* Hopefully this can be removed in the future
|
43
|
-
*/
|
44
|
-
export type ConstraintColumns = Record<string, ColumnDefinition<any, any>> & {
|
45
|
-
__constrained?: never;
|
46
|
-
};
|
47
|
-
export type Index = {
|
48
|
-
name: string;
|
49
|
-
columns: ReadonlyArray<string>;
|
50
|
-
/** @default false */
|
51
|
-
isUnique?: boolean;
|
52
|
-
};
|
53
|
-
export declare namespace FromTable {
|
54
|
-
type RowDecoded<TTableDefinition extends TableDefinition<any, any>> = Types.Simplify<Nullable<Pick<RowDecodedAll<TTableDefinition>, NullableColumnNames<TTableDefinition>>> & Omit<RowDecodedAll<TTableDefinition>, NullableColumnNames<TTableDefinition>>>;
|
55
|
-
type NullableColumnNames<TTableDefinition extends TableDefinition<any, any>> = FromColumns.NullableColumnNames<TTableDefinition['columns']>;
|
56
|
-
type Columns<TTableDefinition extends TableDefinition<any, any>> = {
|
57
|
-
[K in keyof TTableDefinition['columns']]: TTableDefinition['columns'][K]['columnType'];
|
58
|
-
};
|
59
|
-
type RowEncodeNonNullable<TTableDefinition extends TableDefinition<any, any>> = {
|
60
|
-
[K in keyof TTableDefinition['columns']]: Schema.Schema.Encoded<TTableDefinition['columns'][K]['schema']>;
|
61
|
-
};
|
62
|
-
type RowEncoded<TTableDefinition extends TableDefinition<any, any>> = Types.Simplify<Nullable<Pick<RowEncodeNonNullable<TTableDefinition>, NullableColumnNames<TTableDefinition>>> & Omit<RowEncodeNonNullable<TTableDefinition>, NullableColumnNames<TTableDefinition>>>;
|
63
|
-
type RowDecodedAll<TTableDefinition extends TableDefinition<any, any>> = {
|
64
|
-
[K in keyof TTableDefinition['columns']]: Schema.Schema.Type<TTableDefinition['columns'][K]['schema']>;
|
65
|
-
};
|
66
|
-
}
|
67
|
-
export declare namespace FromColumns {
|
68
|
-
type RowDecoded<TColumns extends Columns> = Types.Simplify<Nullable<Pick<RowDecodedAll<TColumns>, NullableColumnNames<TColumns>>> & Omit<RowDecodedAll<TColumns>, NullableColumnNames<TColumns>>>;
|
69
|
-
type RowDecodedAll<TColumns extends Columns> = {
|
70
|
-
readonly [K in keyof TColumns]: Schema.Schema.Type<TColumns[K]['schema']>;
|
71
|
-
};
|
72
|
-
type RowEncodedAll<TColumns extends Columns> = {
|
73
|
-
readonly [K in keyof TColumns]: Schema.Schema.Encoded<TColumns[K]['schema']>;
|
74
|
-
};
|
75
|
-
type RowEncoded<TColumns extends Columns> = Types.Simplify<Nullable<Pick<RowEncodeNonNullable<TColumns>, NullableColumnNames<TColumns>>> & Omit<RowEncodeNonNullable<TColumns>, NullableColumnNames<TColumns>>>;
|
76
|
-
type RowEncodeNonNullable<TColumns extends Columns> = {
|
77
|
-
readonly [K in keyof TColumns]: Schema.Schema.Encoded<TColumns[K]['schema']>;
|
78
|
-
};
|
79
|
-
type NullableColumnNames<TColumns extends Columns> = keyof {
|
80
|
-
[K in keyof TColumns as TColumns[K] extends ColumnDefinition<any, true> ? K : never]: {};
|
81
|
-
};
|
82
|
-
type RequiredInsertColumns<TColumns extends Columns> = {
|
83
|
-
[K in keyof TColumns as TColumns[K]['nullable'] extends true ? never : TColumns[K]['default'] extends Option.Some<any> ? never : K]: {};
|
84
|
-
};
|
85
|
-
type RequiredInsertColumnNames<TColumns extends Columns> = keyof RequiredInsertColumns<TColumns>;
|
86
|
-
type RequiresInsertValues<TColumns extends Columns> = RequiredInsertColumnNames<TColumns> extends never ? false : true;
|
87
|
-
type InsertRowDecoded<TColumns extends Columns> = Types.Simplify<Pick<RowDecodedAll<TColumns>, RequiredInsertColumnNames<TColumns>> & Partial<Omit<RowDecodedAll<TColumns>, RequiredInsertColumnNames<TColumns>>>>;
|
88
|
-
type InsertRowEncoded<TColumns extends Columns> = Types.Simplify<Pick<RowEncodedAll<TColumns>, RequiredInsertColumnNames<TColumns>> & Partial<Omit<RowEncodedAll<TColumns>, RequiredInsertColumnNames<TColumns>>>>;
|
89
|
-
}
|
90
|
-
//# sourceMappingURL=mod.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/schema/db-schema/dsl/mod.ts"],"names":[],"mappings":"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"}
|
@@ -1,41 +0,0 @@
|
|
1
|
-
import { Schema } from '@livestore/utils/effect';
|
2
|
-
export * from './field-defs.js';
|
3
|
-
// TODO ensure via runtime check (possibly even via type-level check) that all index names are unique
|
4
|
-
export const makeDbSchema = (schema) => {
|
5
|
-
return Array.isArray(schema) ? Object.fromEntries(schema.map((_) => [_.name, _])) : schema;
|
6
|
-
};
|
7
|
-
export const table = (name, columns, indexes) => {
|
8
|
-
const ast = {
|
9
|
-
_tag: 'table',
|
10
|
-
name,
|
11
|
-
columns: columsToAst(columns),
|
12
|
-
indexes: indexesToAst(indexes ?? []),
|
13
|
-
};
|
14
|
-
return { name, columns, indexes, ast };
|
15
|
-
};
|
16
|
-
export const structSchemaForTable = (tableDef) => Schema.Struct(Object.fromEntries(tableDef.ast.columns.map((column) => [column.name, column.schema]))).annotations({
|
17
|
-
title: tableDef.name,
|
18
|
-
});
|
19
|
-
export const insertStructSchemaForTable = (tableDef) => Schema.Struct(Object.fromEntries(tableDef.ast.columns.map((column) => [
|
20
|
-
column.name,
|
21
|
-
column.nullable === true || column.default._tag === 'Some' ? Schema.optional(column.schema) : column.schema,
|
22
|
-
]))).annotations({
|
23
|
-
title: tableDef.name,
|
24
|
-
});
|
25
|
-
const columsToAst = (columns) => {
|
26
|
-
return Object.entries(columns).map(([name, column]) => {
|
27
|
-
return {
|
28
|
-
_tag: 'column',
|
29
|
-
name,
|
30
|
-
schema: column.schema,
|
31
|
-
default: column.default,
|
32
|
-
nullable: column.nullable ?? false,
|
33
|
-
primaryKey: column.primaryKey ?? false,
|
34
|
-
type: { _tag: column.columnType },
|
35
|
-
};
|
36
|
-
});
|
37
|
-
};
|
38
|
-
const indexesToAst = (indexes) => {
|
39
|
-
return indexes.map((_) => ({ _tag: 'index', columns: _.columns, name: _.name, unique: _.isUnique ?? false }));
|
40
|
-
};
|
41
|
-
//# sourceMappingURL=mod.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/schema/db-schema/dsl/mod.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/schema/db-schema/hash.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WAYnC,CAAA"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
// Based on https://stackoverflow.com/a/7616484
|
2
|
-
export const hashCode = (str) => {
|
3
|
-
let hash = 0, i, chr;
|
4
|
-
if (str.length === 0)
|
5
|
-
return hash;
|
6
|
-
for (i = 0; i < str.length; i++) {
|
7
|
-
// eslint-disable-next-line unicorn/prefer-code-point
|
8
|
-
chr = str.charCodeAt(i);
|
9
|
-
hash = (hash << 5) - hash + chr;
|
10
|
-
hash = Math.trunc(hash); // Convert to 32bit integer
|
11
|
-
}
|
12
|
-
return hash;
|
13
|
-
};
|
14
|
-
//# sourceMappingURL=hash.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/schema/db-schema/hash.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;IACtC,IAAI,IAAI,GAAG,CAAC,EACV,CAAC,EACD,GAAG,CAAA;IACL,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACjC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,qDAAqD;QACrD,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAA;QAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,CAAC,2BAA2B;IACrD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/schema/db-schema/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/schema/db-schema/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA"}
|
package/dist/schema/index.d.ts
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
import type { SqliteDsl } from '@livestore/db-schema';
|
2
|
-
import type { MigrationOptions } from '../adapter-types.js';
|
3
|
-
import { type MutationDef, type MutationDefMap, type MutationDefRecord, type RawSqlMutation } from './mutations.js';
|
4
|
-
import type { TableDef, TableDefBase } from './table-def.js';
|
5
|
-
export * from './system-tables.js';
|
6
|
-
export * as DbSchema from './table-def.js';
|
7
|
-
export * from './mutations.js';
|
8
|
-
export * from './schema-helpers.js';
|
9
|
-
export declare const LiveStoreSchemaSymbol: unique symbol;
|
10
|
-
export type LiveStoreSchemaSymbol = typeof LiveStoreSchemaSymbol;
|
11
|
-
export type LiveStoreSchema<TDbSchema extends SqliteDsl.DbSchema = SqliteDsl.DbSchema, TMutationsDefRecord extends MutationDefRecord = MutationDefRecord> = {
|
12
|
-
readonly _Type: LiveStoreSchemaSymbol;
|
13
|
-
/** Only used on type-level */
|
14
|
-
readonly _DbSchemaType: TDbSchema;
|
15
|
-
/** Only used on type-level */
|
16
|
-
readonly _MutationDefMapType: TMutationsDefRecord;
|
17
|
-
readonly tables: Map<string, TableDef>;
|
18
|
-
readonly mutations: MutationDefMap;
|
19
|
-
/** Compound hash of all table defs etc */
|
20
|
-
readonly hash: number;
|
21
|
-
migrationOptions: MigrationOptions;
|
22
|
-
};
|
23
|
-
export type InputSchema = {
|
24
|
-
readonly tables: Record<string, TableDefBase> | ReadonlyArray<TableDefBase>;
|
25
|
-
readonly mutations?: ReadonlyArray<MutationDef.Any> | Record<string, MutationDef.Any>;
|
26
|
-
/**
|
27
|
-
* Can be used to isolate multiple LiveStore apps running in the same origin
|
28
|
-
*/
|
29
|
-
readonly key?: string;
|
30
|
-
};
|
31
|
-
export declare const makeSchema: <TInputSchema extends InputSchema>(
|
32
|
-
/** Note when using the object-notation for tables/mutations, the object keys are ignored and not used as table/mutation names */
|
33
|
-
inputSchema: TInputSchema & {
|
34
|
-
/** "hard-reset" is currently the default strategy */
|
35
|
-
migrations?: MigrationOptions<FromInputSchema.DeriveSchema<TInputSchema>>;
|
36
|
-
}) => FromInputSchema.DeriveSchema<TInputSchema>;
|
37
|
-
export declare namespace FromInputSchema {
|
38
|
-
export type DeriveSchema<TInputSchema extends InputSchema> = LiveStoreSchema<DbSchemaFromInputSchemaTables<TInputSchema['tables']>, MutationDefRecordFromInputSchemaMutations<TInputSchema['mutations']>>;
|
39
|
-
/**
|
40
|
-
* In case of ...
|
41
|
-
* - array: we use the table name of each array item (= table definition) as the object key
|
42
|
-
* - object: we discard the keys of the input object and use the table name of each object value (= table definition) as the new object key
|
43
|
-
*/
|
44
|
-
type DbSchemaFromInputSchemaTables<TTables extends InputSchema['tables']> = TTables extends ReadonlyArray<TableDef> ? {
|
45
|
-
[K in TTables[number] as K['sqliteDef']['name']]: K['sqliteDef'];
|
46
|
-
} : TTables extends Record<string, TableDef> ? {
|
47
|
-
[K in keyof TTables as TTables[K]['sqliteDef']['name']]: TTables[K]['sqliteDef'];
|
48
|
-
} : never;
|
49
|
-
type MutationDefRecordFromInputSchemaMutations<TMutations extends InputSchema['mutations']> = TMutations extends ReadonlyArray<MutationDef.Any> ? {
|
50
|
-
[K in TMutations[number] as K['name']]: K;
|
51
|
-
} & {
|
52
|
-
'livestore.RawSql': RawSqlMutation;
|
53
|
-
} : TMutations extends {
|
54
|
-
[name: string]: MutationDef.Any;
|
55
|
-
} ? {
|
56
|
-
[K in keyof TMutations as TMutations[K]['name']]: TMutations[K];
|
57
|
-
} & {
|
58
|
-
'livestore.RawSql': RawSqlMutation;
|
59
|
-
} : never;
|
60
|
-
export {};
|
61
|
-
}
|
62
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEpB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG5D,cAAc,oBAAoB,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AAEnC,eAAO,MAAM,qBAAqB,eAA0C,CAAA;AAC5E,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AAEhE,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,EACzD,mBAAmB,SAAS,iBAAiB,GAAG,iBAAiB,IAC/D;IACF,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,8BAA8B;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAA;IACjC,8BAA8B;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAA;IAEjD,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,gBAAgB,EAAE,gBAAgB,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAA;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IACrF;;OAEG;IAEH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,YAAY,SAAS,WAAW;AACzD,iIAAiI;AACjI,aAAa,YAAY,GAAG;IAC1B,qDAAqD;IACrD,UAAU,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAA;CAC1E,KACA,eAAe,CAAC,YAAY,CAAC,YAAY,CA4D3C,CAAA;AAED,yBAAiB,eAAe,CAAC;IAC/B,MAAM,MAAM,YAAY,CAAC,YAAY,SAAS,WAAW,IAAI,eAAe,CAC1E,6BAA6B,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EACrD,yCAAyC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CACrE,CAAA;IAED;;;;OAIG;IACH,KAAK,6BAA6B,CAAC,OAAO,SAAS,WAAW,CAAC,QAAQ,CAAC,IACtE,OAAO,SAAS,aAAa,CAAC,QAAQ,CAAC,GACnC;SAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;KAAE,GACpE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACtC;SAAG,CAAC,IAAI,MAAM,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;KAAE,GACpF,KAAK,CAAA;IAEb,KAAK,yCAAyC,CAAC,UAAU,SAAS,WAAW,CAAC,WAAW,CAAC,IACxF,UAAU,SAAS,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAC7C;SAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;KAAE,GAAG;QAAE,kBAAkB,EAAE,cAAc,CAAA;KAAE,GACtF,UAAU,SAAS;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,CAAA;KAAE,GACpD;SAAG,CAAC,IAAI,MAAM,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;KAAE,GAAG;QAAE,kBAAkB,EAAE,cAAc,CAAA;KAAE,GAC5G,KAAK,CAAA;;CACd"}
|
package/dist/schema/index.js
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
import { SqliteAst } from '@livestore/db-schema';
|
2
|
-
import { isReadonlyArray, shouldNeverHappen } from '@livestore/utils';
|
3
|
-
import { makeDerivedMutationDefsForTable } from '../derived-mutations.js';
|
4
|
-
import { rawSqlMutation, } from './mutations.js';
|
5
|
-
import { systemTables } from './system-tables.js';
|
6
|
-
import { tableHasDerivedMutations } from './table-def.js';
|
7
|
-
export * from './system-tables.js';
|
8
|
-
export * as DbSchema from './table-def.js';
|
9
|
-
export * from './mutations.js';
|
10
|
-
export * from './schema-helpers.js';
|
11
|
-
export const LiveStoreSchemaSymbol = Symbol.for('livestore.LiveStoreSchema');
|
12
|
-
export const makeSchema = (
|
13
|
-
/** Note when using the object-notation for tables/mutations, the object keys are ignored and not used as table/mutation names */
|
14
|
-
inputSchema) => {
|
15
|
-
const inputTables = Array.isArray(inputSchema.tables)
|
16
|
-
? inputSchema.tables
|
17
|
-
: Object.values(inputSchema.tables);
|
18
|
-
const tables = new Map();
|
19
|
-
for (const tableDef of inputTables) {
|
20
|
-
// TODO validate tables (e.g. index names are unique)
|
21
|
-
if (tables.has(tableDef.sqliteDef.ast.name)) {
|
22
|
-
shouldNeverHappen(`Duplicate table name: ${tableDef.sqliteDef.ast.name}. Please use unique names for tables.`);
|
23
|
-
}
|
24
|
-
tables.set(tableDef.sqliteDef.ast.name, tableDef);
|
25
|
-
}
|
26
|
-
for (const tableDef of systemTables) {
|
27
|
-
// @ts-expect-error TODO fix type level issue
|
28
|
-
tables.set(tableDef.sqliteDef.name, tableDef);
|
29
|
-
}
|
30
|
-
const mutations = new Map();
|
31
|
-
if (isReadonlyArray(inputSchema.mutations)) {
|
32
|
-
for (const mutation of inputSchema.mutations) {
|
33
|
-
mutations.set(mutation.name, mutation);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
else {
|
37
|
-
for (const mutation of Object.values(inputSchema.mutations ?? {})) {
|
38
|
-
if (mutations.has(mutation.name)) {
|
39
|
-
shouldNeverHappen(`Duplicate mutation name: ${mutation.name}. Please use unique names for mutations.`);
|
40
|
-
}
|
41
|
-
mutations.set(mutation.name, mutation);
|
42
|
-
}
|
43
|
-
}
|
44
|
-
mutations.set(rawSqlMutation.name, rawSqlMutation);
|
45
|
-
for (const tableDef of tables.values()) {
|
46
|
-
if (tableHasDerivedMutations(tableDef)) {
|
47
|
-
const derivedMutationDefs = makeDerivedMutationDefsForTable(tableDef);
|
48
|
-
mutations.set(derivedMutationDefs.insert.name, derivedMutationDefs.insert);
|
49
|
-
mutations.set(derivedMutationDefs.update.name, derivedMutationDefs.update);
|
50
|
-
mutations.set(derivedMutationDefs.delete.name, derivedMutationDefs.delete);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
const hash = SqliteAst.hash({
|
54
|
-
_tag: 'dbSchema',
|
55
|
-
tables: [...tables.values()].map((_) => _.sqliteDef.ast),
|
56
|
-
});
|
57
|
-
return {
|
58
|
-
_Type: LiveStoreSchemaSymbol,
|
59
|
-
_DbSchemaType: Symbol.for('livestore.DbSchemaType'),
|
60
|
-
_MutationDefMapType: Symbol.for('livestore.MutationDefMapType'),
|
61
|
-
tables,
|
62
|
-
mutations,
|
63
|
-
migrationOptions: inputSchema.migrations ?? { strategy: 'hard-reset' },
|
64
|
-
hash,
|
65
|
-
};
|
66
|
-
};
|
67
|
-
//# sourceMappingURL=index.js.map
|
package/dist/schema/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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"}
|
@@ -1,227 +0,0 @@
|
|
1
|
-
import { Schema } from '@livestore/utils/effect';
|
2
|
-
import { EventId } from '../adapter-types.js';
|
3
|
-
import type { BindValues } from '../sql-queries/sql-queries.js';
|
4
|
-
import type { LiveStoreSchema } from './index.js';
|
5
|
-
export type MutationDefMap = Map<string | 'livestore.RawSql', MutationDef.Any>;
|
6
|
-
export type MutationDefRecord = {
|
7
|
-
'livestore.RawSql': RawSqlMutation;
|
8
|
-
[name: string]: MutationDef.Any;
|
9
|
-
};
|
10
|
-
export type InternalMutationSchema<TRecord extends MutationDefRecord = MutationDefRecord> = {
|
11
|
-
_DefRecord: TRecord;
|
12
|
-
map: Map<keyof TRecord, TRecord[keyof TRecord]>;
|
13
|
-
schemaHashMap: Map<keyof TRecord, number>;
|
14
|
-
};
|
15
|
-
export type MutationDefSqlResult<TTo> = SingleOrReadonlyArray<string> | ((args: TTo) => SingleOrReadonlyArray<string | {
|
16
|
-
sql: string;
|
17
|
-
/** Note args need to be manually encoded to `BindValues` when returning this argument */
|
18
|
-
bindValues: BindValues;
|
19
|
-
writeTables?: ReadonlySet<string>;
|
20
|
-
}>);
|
21
|
-
export type SingleOrReadonlyArray<T> = T | ReadonlyArray<T>;
|
22
|
-
export type MutationDef<TName extends string, TFrom, TTo> = {
|
23
|
-
name: TName;
|
24
|
-
schema: Schema.Schema<TTo, TFrom>;
|
25
|
-
sql: MutationDefSqlResult<NoInfer<TTo>>;
|
26
|
-
options: {
|
27
|
-
/** Warning: This feature is not fully implemented yet */
|
28
|
-
historyId: string;
|
29
|
-
/**
|
30
|
-
* When set to true, the mutation won't be synced over the network
|
31
|
-
*/
|
32
|
-
localOnly: boolean;
|
33
|
-
/** Warning: This feature is not fully implemented yet */
|
34
|
-
facts: FactsCallback<TTo> | undefined;
|
35
|
-
};
|
36
|
-
/** Helper function to construct a partial mutation event */
|
37
|
-
(args: TTo, options?: {
|
38
|
-
id?: number;
|
39
|
-
}): {
|
40
|
-
mutation: TName;
|
41
|
-
args: TTo;
|
42
|
-
id?: EventId;
|
43
|
-
};
|
44
|
-
};
|
45
|
-
export type FactsCallback<TTo> = (args: TTo, currentFacts: MutationEventFacts) => {
|
46
|
-
modify: {
|
47
|
-
set: Iterable<MutationEventFactInput>;
|
48
|
-
unset: Iterable<MutationEventFactInput>;
|
49
|
-
};
|
50
|
-
require: Iterable<MutationEventFactInput>;
|
51
|
-
};
|
52
|
-
export declare namespace MutationDef {
|
53
|
-
type Any = MutationDef<string, any, any>;
|
54
|
-
}
|
55
|
-
export type MutationEventKey = string;
|
56
|
-
export type MutationEventFact = string;
|
57
|
-
export type MutationEventFacts = ReadonlyMap<string, any>;
|
58
|
-
export type MutationEventFactsGroup = {
|
59
|
-
modifySet: MutationEventFacts;
|
60
|
-
modifyUnset: MutationEventFacts;
|
61
|
-
/**
|
62
|
-
* Events on independent "dependency" branches are commutative which can facilitate more prioritized syncing
|
63
|
-
*/
|
64
|
-
depRequire: MutationEventFacts;
|
65
|
-
depRead: MutationEventFacts;
|
66
|
-
};
|
67
|
-
export type MutationEventFactsSnapshot = Map<string, any>;
|
68
|
-
export type MutationEventFactInput = string | readonly [string, any];
|
69
|
-
export declare const defineFacts: <TRecord extends Record<string, MutationEventFactInput | ((...args: any[]) => MutationEventFactInput)>>(record: TRecord) => TRecord;
|
70
|
-
export type DefineMutationOptions<TTo> = {
|
71
|
-
historyId?: string;
|
72
|
-
/** Warning: This feature is not fully implemented yet */
|
73
|
-
facts?: (args: TTo, currentFacts: MutationEventFacts) => {
|
74
|
-
modify?: {
|
75
|
-
set?: Iterable<MutationEventFactInput>;
|
76
|
-
unset?: Iterable<MutationEventFactInput>;
|
77
|
-
};
|
78
|
-
/**
|
79
|
-
* Two purposes: constrain history and constrain compaction
|
80
|
-
*/
|
81
|
-
require?: Iterable<MutationEventFactInput>;
|
82
|
-
};
|
83
|
-
/**
|
84
|
-
* When set to true, the mutation won't be synced over the network
|
85
|
-
*/
|
86
|
-
localOnly?: boolean;
|
87
|
-
};
|
88
|
-
export declare const defineMutation: <TName extends string, TFrom, TTo>(name: TName, schema: Schema.Schema<TTo, TFrom>, sql: MutationDefSqlResult<NoInfer<TTo>>, options?: DefineMutationOptions<TTo>) => MutationDef<TName, TFrom, TTo>;
|
89
|
-
export declare const makeMutationDefRecord: <TInputRecord extends Record<string, MutationDef.Any>>(inputRecord: TInputRecord) => { [K in TInputRecord[keyof TInputRecord]["name"]]: Extract<TInputRecord[keyof TInputRecord], {
|
90
|
-
name: K;
|
91
|
-
}>; };
|
92
|
-
export declare const rawSqlMutation: MutationDef<"livestore.RawSql", {
|
93
|
-
readonly sql: string;
|
94
|
-
readonly bindValues?: {
|
95
|
-
readonly [x: string]: any;
|
96
|
-
} | undefined;
|
97
|
-
readonly writeTables?: readonly string[] | undefined;
|
98
|
-
}, {
|
99
|
-
readonly bindValues?: {
|
100
|
-
readonly [x: string]: any;
|
101
|
-
} | undefined;
|
102
|
-
readonly sql: string;
|
103
|
-
readonly writeTables?: ReadonlySet<string> | undefined;
|
104
|
-
}>;
|
105
|
-
export type RawSqlMutation = typeof rawSqlMutation;
|
106
|
-
export type RawSqlMutationEvent = ReturnType<typeof rawSqlMutation>;
|
107
|
-
export type MutationEventPartial<TMutationsDef extends MutationDef.Any> = {
|
108
|
-
mutation: TMutationsDef['name'];
|
109
|
-
args: Schema.Schema.Type<TMutationsDef['schema']>;
|
110
|
-
};
|
111
|
-
export type MutationEventPartialEncoded<TMutationsDef extends MutationDef.Any> = {
|
112
|
-
mutation: TMutationsDef['name'];
|
113
|
-
args: Schema.Schema.Encoded<TMutationsDef['schema']>;
|
114
|
-
};
|
115
|
-
export type MutationEvent<TMutationsDef extends MutationDef.Any> = {
|
116
|
-
mutation: TMutationsDef['name'];
|
117
|
-
args: Schema.Schema.Type<TMutationsDef['schema']>;
|
118
|
-
id: EventId;
|
119
|
-
parentId: EventId;
|
120
|
-
};
|
121
|
-
export type MutationEventEncoded<TMutationsDef extends MutationDef.Any> = {
|
122
|
-
mutation: TMutationsDef['name'];
|
123
|
-
args: Schema.Schema.Encoded<TMutationsDef['schema']>;
|
124
|
-
id: EventId;
|
125
|
-
parentId: EventId;
|
126
|
-
};
|
127
|
-
export declare namespace MutationEvent {
|
128
|
-
type Any = MutationEvent<MutationDef.Any>;
|
129
|
-
type AnyEncoded = MutationEventEncoded<MutationDef.Any>;
|
130
|
-
type PartialAny = MutationEventPartial<MutationDef.Any>;
|
131
|
-
type PartialAnyEncoded = MutationEventPartialEncoded<MutationDef.Any>;
|
132
|
-
type PartialForSchema<TSchema extends LiveStoreSchema> = {
|
133
|
-
[K in keyof TSchema['_MutationDefMapType']]: MutationEventPartial<TSchema['_MutationDefMapType'][K]>;
|
134
|
-
}[keyof TSchema['_MutationDefMapType']];
|
135
|
-
type ForSchema<TSchema extends LiveStoreSchema> = {
|
136
|
-
[K in keyof TSchema['_MutationDefMapType']]: MutationEvent<TSchema['_MutationDefMapType'][K]>;
|
137
|
-
}[keyof TSchema['_MutationDefMapType']];
|
138
|
-
}
|
139
|
-
export declare const isPartialMutationEvent: (mutationEvent: MutationEvent.Any | MutationEvent.PartialAny) => mutationEvent is MutationEvent.PartialAny;
|
140
|
-
export type MutationEventSchema<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
|
141
|
-
[K in keyof TMutationsDefRecord]: {
|
142
|
-
mutation: K;
|
143
|
-
args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
|
144
|
-
id: EventId;
|
145
|
-
parentId: EventId;
|
146
|
-
};
|
147
|
-
}[keyof TMutationsDefRecord], {
|
148
|
-
[K in keyof TMutationsDefRecord]: {
|
149
|
-
mutation: K;
|
150
|
-
args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
|
151
|
-
id: EventId;
|
152
|
-
parentId: EventId;
|
153
|
-
};
|
154
|
-
}[keyof TMutationsDefRecord]>;
|
155
|
-
export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
|
156
|
-
[K in keyof TMutationsDefRecord]: {
|
157
|
-
mutation: K;
|
158
|
-
args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
|
159
|
-
};
|
160
|
-
}[keyof TMutationsDefRecord], {
|
161
|
-
[K in keyof TMutationsDefRecord]: {
|
162
|
-
mutation: K;
|
163
|
-
args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
|
164
|
-
};
|
165
|
-
}[keyof TMutationsDefRecord]>;
|
166
|
-
export declare const makeMutationEventSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventSchema<TSchema["_MutationDefMapType"]>;
|
167
|
-
export declare const makeMutationEventPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventPartialSchema<TSchema["_MutationDefMapType"]>;
|
168
|
-
export declare const makeMutationEventSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventSchema<TSchema["_MutationDefMapType"]>;
|
169
|
-
export declare const mutationEventSchemaAny: Schema.Struct<{
|
170
|
-
mutation: typeof Schema.String;
|
171
|
-
args: typeof Schema.Any;
|
172
|
-
id: Schema.Struct<{
|
173
|
-
global: typeof Schema.Number;
|
174
|
-
local: typeof Schema.Number;
|
175
|
-
}>;
|
176
|
-
parentId: Schema.Struct<{
|
177
|
-
global: typeof Schema.Number;
|
178
|
-
local: typeof Schema.Number;
|
179
|
-
}>;
|
180
|
-
}>;
|
181
|
-
export declare const mutationEventSchemaDecodedAny: Schema.SchemaClass<{
|
182
|
-
readonly id: {
|
183
|
-
readonly global: number;
|
184
|
-
readonly local: number;
|
185
|
-
};
|
186
|
-
readonly mutation: string;
|
187
|
-
readonly args: any;
|
188
|
-
readonly parentId: {
|
189
|
-
readonly global: number;
|
190
|
-
readonly local: number;
|
191
|
-
};
|
192
|
-
}, {
|
193
|
-
readonly id: {
|
194
|
-
readonly global: number;
|
195
|
-
readonly local: number;
|
196
|
-
};
|
197
|
-
readonly mutation: string;
|
198
|
-
readonly args: any;
|
199
|
-
readonly parentId: {
|
200
|
-
readonly global: number;
|
201
|
-
readonly local: number;
|
202
|
-
};
|
203
|
-
}, never>;
|
204
|
-
export declare const mutationEventSchemaEncodedAny: Schema.SchemaClass<{
|
205
|
-
readonly id: {
|
206
|
-
readonly global: number;
|
207
|
-
readonly local: number;
|
208
|
-
};
|
209
|
-
readonly mutation: string;
|
210
|
-
readonly args: any;
|
211
|
-
readonly parentId: {
|
212
|
-
readonly global: number;
|
213
|
-
readonly local: number;
|
214
|
-
};
|
215
|
-
}, {
|
216
|
-
readonly id: {
|
217
|
-
readonly global: number;
|
218
|
-
readonly local: number;
|
219
|
-
};
|
220
|
-
readonly mutation: string;
|
221
|
-
readonly args: any;
|
222
|
-
readonly parentId: {
|
223
|
-
readonly global: number;
|
224
|
-
readonly local: number;
|
225
|
-
};
|
226
|
-
}, never>;
|
227
|
-
//# sourceMappingURL=mutations.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}
|