@livestore/common 0.0.55-dev.3 → 0.0.56-dev.0
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 +4 -4
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js.map +1 -1
- package/dist/debug-info.d.ts +8 -8
- package/dist/devtools/devtools-messages.d.ts +8 -8
- package/dist/schema/index.d.ts +0 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +0 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/mutations.d.ts +1 -1
- package/package.json +3 -3
- package/src/adapter-types.ts +10 -12
- package/src/schema/index.ts +0 -2
- package/src/schema/parse-utils.ts +0 -43
package/dist/adapter-types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Cause, Queue, Scope, SubscriptionRef } from '@livestore/utils/effect';
|
|
1
|
+
import type { BrowserChannel, Cause, Queue, Scope, SubscriptionRef } from '@livestore/utils/effect';
|
|
2
2
|
import { Effect, Schema, Stream } from '@livestore/utils/effect';
|
|
3
|
+
import type * as Devtools from './devtools/index.js';
|
|
3
4
|
import type { LiveStoreSchema, MutationEvent } from './schema/index.js';
|
|
4
5
|
import type { PreparedBindValues } from './util.js';
|
|
5
6
|
export interface PreparedStatement {
|
|
@@ -140,9 +141,8 @@ export type MigrationOptionsFromMutationLog<TSchema extends LiveStoreSchema = Li
|
|
|
140
141
|
excludeAffectedRows?: (sqlStmt: string) => boolean;
|
|
141
142
|
};
|
|
142
143
|
};
|
|
143
|
-
export type
|
|
144
|
-
|
|
145
|
-
}) => Effect.Effect<void, UnexpectedError, Scope.Scope>;
|
|
144
|
+
export type StoreDevtoolsChannel = BrowserChannel.BrowserChannel<Devtools.MessageToAppHostStore, Devtools.MessageFromAppHostStore>;
|
|
145
|
+
export type ConnectDevtoolsToStore = (storeDevtoolsChannel: StoreDevtoolsChannel) => Effect.Effect<void, UnexpectedError, Scope.Scope>;
|
|
146
146
|
export type StoreAdapterFactory = (opts: {
|
|
147
147
|
schema: LiveStoreSchema;
|
|
148
148
|
devtoolsEnabled: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"adapter-types.d.ts","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-types.js","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"adapter-types.js","sourceRoot":"","sources":["../src/adapter-types.ts"],"names":[],"mappings":"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"}
|
package/dist/debug-info.d.ts
CHANGED
|
@@ -25,38 +25,38 @@ export declare const DebugInfo: Schema.Struct<{
|
|
|
25
25
|
slowQueries: Schema.transform<Schema.Struct<{
|
|
26
26
|
size: typeof Schema.Number;
|
|
27
27
|
items: Schema.Array$<Schema.Schema<{
|
|
28
|
+
readonly queryStr: string;
|
|
28
29
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
29
30
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
30
31
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
31
|
-
readonly queryStr: string;
|
|
32
32
|
readonly durationMs: number;
|
|
33
33
|
readonly rowsCount: number | undefined;
|
|
34
34
|
readonly queriedTables: ReadonlySet<string>;
|
|
35
35
|
readonly startTimePerfNow: number;
|
|
36
36
|
}, {
|
|
37
|
+
readonly queryStr: string;
|
|
37
38
|
readonly bindValues: readonly (string | number | readonly number[] | null)[] | {
|
|
38
39
|
readonly [x: string]: string | number | readonly number[] | null;
|
|
39
40
|
} | undefined;
|
|
40
|
-
readonly queryStr: string;
|
|
41
41
|
readonly durationMs: number;
|
|
42
42
|
readonly rowsCount: number | undefined;
|
|
43
43
|
readonly queriedTables: readonly string[];
|
|
44
44
|
readonly startTimePerfNow: number;
|
|
45
45
|
}, never>>;
|
|
46
46
|
}>, Schema.Schema<BoundArray<{
|
|
47
|
+
readonly queryStr: string;
|
|
47
48
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
48
49
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
49
50
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
50
|
-
readonly queryStr: string;
|
|
51
51
|
readonly durationMs: number;
|
|
52
52
|
readonly rowsCount: number | undefined;
|
|
53
53
|
readonly queriedTables: ReadonlySet<string>;
|
|
54
54
|
readonly startTimePerfNow: number;
|
|
55
55
|
}>, BoundArray<{
|
|
56
|
+
readonly queryStr: string;
|
|
56
57
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
57
58
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
58
59
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
59
|
-
readonly queryStr: string;
|
|
60
60
|
readonly durationMs: number;
|
|
61
61
|
readonly rowsCount: number | undefined;
|
|
62
62
|
readonly queriedTables: ReadonlySet<string>;
|
|
@@ -74,38 +74,38 @@ export declare const MutableDebugInfo: Schema.mutable<Schema.Struct<{
|
|
|
74
74
|
slowQueries: Schema.transform<Schema.Struct<{
|
|
75
75
|
size: typeof Schema.Number;
|
|
76
76
|
items: Schema.Array$<Schema.Schema<{
|
|
77
|
+
readonly queryStr: string;
|
|
77
78
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
78
79
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
79
80
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
80
|
-
readonly queryStr: string;
|
|
81
81
|
readonly durationMs: number;
|
|
82
82
|
readonly rowsCount: number | undefined;
|
|
83
83
|
readonly queriedTables: ReadonlySet<string>;
|
|
84
84
|
readonly startTimePerfNow: number;
|
|
85
85
|
}, {
|
|
86
|
+
readonly queryStr: string;
|
|
86
87
|
readonly bindValues: readonly (string | number | readonly number[] | null)[] | {
|
|
87
88
|
readonly [x: string]: string | number | readonly number[] | null;
|
|
88
89
|
} | undefined;
|
|
89
|
-
readonly queryStr: string;
|
|
90
90
|
readonly durationMs: number;
|
|
91
91
|
readonly rowsCount: number | undefined;
|
|
92
92
|
readonly queriedTables: readonly string[];
|
|
93
93
|
readonly startTimePerfNow: number;
|
|
94
94
|
}, never>>;
|
|
95
95
|
}>, Schema.Schema<BoundArray<{
|
|
96
|
+
readonly queryStr: string;
|
|
96
97
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
97
98
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
98
99
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
99
|
-
readonly queryStr: string;
|
|
100
100
|
readonly durationMs: number;
|
|
101
101
|
readonly rowsCount: number | undefined;
|
|
102
102
|
readonly queriedTables: ReadonlySet<string>;
|
|
103
103
|
readonly startTimePerfNow: number;
|
|
104
104
|
}>, BoundArray<{
|
|
105
|
+
readonly queryStr: string;
|
|
105
106
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
106
107
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
107
108
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
108
|
-
readonly queryStr: string;
|
|
109
109
|
readonly durationMs: number;
|
|
110
110
|
readonly rowsCount: number | undefined;
|
|
111
111
|
readonly queriedTables: ReadonlySet<string>;
|
|
@@ -73,38 +73,38 @@ declare const DebugInfoRes_base: Schema.Struct<{
|
|
|
73
73
|
slowQueries: Schema.transform<Schema.Struct<{
|
|
74
74
|
size: typeof Schema.Number;
|
|
75
75
|
items: Schema.Array$<Schema.Schema<{
|
|
76
|
+
readonly queryStr: string;
|
|
76
77
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
77
78
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
78
79
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
79
|
-
readonly queryStr: string;
|
|
80
80
|
readonly durationMs: number;
|
|
81
81
|
readonly rowsCount: number | undefined;
|
|
82
82
|
readonly queriedTables: ReadonlySet<string>;
|
|
83
83
|
readonly startTimePerfNow: number;
|
|
84
84
|
}, {
|
|
85
|
+
readonly queryStr: string;
|
|
85
86
|
readonly bindValues: readonly (string | number | readonly number[] | null)[] | {
|
|
86
87
|
readonly [x: string]: string | number | readonly number[] | null;
|
|
87
88
|
} | undefined;
|
|
88
|
-
readonly queryStr: string;
|
|
89
89
|
readonly durationMs: number;
|
|
90
90
|
readonly rowsCount: number | undefined;
|
|
91
91
|
readonly queriedTables: readonly string[];
|
|
92
92
|
readonly startTimePerfNow: number;
|
|
93
93
|
}, never>>;
|
|
94
94
|
}>, Schema.Schema<import("../bounded-collections.js").BoundArray<{
|
|
95
|
+
readonly queryStr: string;
|
|
95
96
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
96
97
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
97
98
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
98
|
-
readonly queryStr: string;
|
|
99
99
|
readonly durationMs: number;
|
|
100
100
|
readonly rowsCount: number | undefined;
|
|
101
101
|
readonly queriedTables: ReadonlySet<string>;
|
|
102
102
|
readonly startTimePerfNow: number;
|
|
103
103
|
}>, import("../bounded-collections.js").BoundArray<{
|
|
104
|
+
readonly queryStr: string;
|
|
104
105
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
105
106
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
106
107
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
107
|
-
readonly queryStr: string;
|
|
108
108
|
readonly durationMs: number;
|
|
109
109
|
readonly rowsCount: number | undefined;
|
|
110
110
|
readonly queriedTables: ReadonlySet<string>;
|
|
@@ -144,38 +144,38 @@ declare const DebugInfoHistoryRes_base: Schema.Struct<{
|
|
|
144
144
|
slowQueries: Schema.transform<Schema.Struct<{
|
|
145
145
|
size: typeof Schema.Number;
|
|
146
146
|
items: Schema.Array$<Schema.Schema<{
|
|
147
|
+
readonly queryStr: string;
|
|
147
148
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
148
149
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
149
150
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
150
|
-
readonly queryStr: string;
|
|
151
151
|
readonly durationMs: number;
|
|
152
152
|
readonly rowsCount: number | undefined;
|
|
153
153
|
readonly queriedTables: ReadonlySet<string>;
|
|
154
154
|
readonly startTimePerfNow: number;
|
|
155
155
|
}, {
|
|
156
|
+
readonly queryStr: string;
|
|
156
157
|
readonly bindValues: readonly (string | number | readonly number[] | null)[] | {
|
|
157
158
|
readonly [x: string]: string | number | readonly number[] | null;
|
|
158
159
|
} | undefined;
|
|
159
|
-
readonly queryStr: string;
|
|
160
160
|
readonly durationMs: number;
|
|
161
161
|
readonly rowsCount: number | undefined;
|
|
162
162
|
readonly queriedTables: readonly string[];
|
|
163
163
|
readonly startTimePerfNow: number;
|
|
164
164
|
}, never>>;
|
|
165
165
|
}>, Schema.Schema<import("../bounded-collections.js").BoundArray<{
|
|
166
|
+
readonly queryStr: string;
|
|
166
167
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
167
168
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
168
169
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
169
|
-
readonly queryStr: string;
|
|
170
170
|
readonly durationMs: number;
|
|
171
171
|
readonly rowsCount: number | undefined;
|
|
172
172
|
readonly queriedTables: ReadonlySet<string>;
|
|
173
173
|
readonly startTimePerfNow: number;
|
|
174
174
|
}>, import("../bounded-collections.js").BoundArray<{
|
|
175
|
+
readonly queryStr: string;
|
|
175
176
|
readonly bindValues: ((readonly (string | number | Uint8Array | null)[] | {
|
|
176
177
|
readonly [x: string]: string | number | Uint8Array | null;
|
|
177
178
|
}) & import("effect/Brand").Brand<"PreparedBindValues">) | undefined;
|
|
178
|
-
readonly queryStr: string;
|
|
179
179
|
readonly durationMs: number;
|
|
180
180
|
readonly rowsCount: number | undefined;
|
|
181
181
|
readonly queriedTables: ReadonlySet<string>;
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import { type MutationDef, type MutationDefMap, type MutationDefRecord, type Raw
|
|
|
4
4
|
import { type TableDef } from './table-def.js';
|
|
5
5
|
export * from './system-tables.js';
|
|
6
6
|
export * as DbSchema from './table-def.js';
|
|
7
|
-
export * as ParseUtils from './parse-utils.js';
|
|
8
7
|
export * from './mutations.js';
|
|
9
8
|
export * from './schema-helpers.js';
|
|
10
9
|
export declare const LiveStoreSchemaSymbol: unique symbol;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/index.js
CHANGED
|
@@ -6,7 +6,6 @@ import { systemTables } from './system-tables.js';
|
|
|
6
6
|
import { tableHasDerivedMutations } from './table-def.js';
|
|
7
7
|
export * from './system-tables.js';
|
|
8
8
|
export * as DbSchema from './table-def.js';
|
|
9
|
-
export * as ParseUtils from './parse-utils.js';
|
|
10
9
|
export * from './mutations.js';
|
|
11
10
|
export * from './schema-helpers.js';
|
|
12
11
|
export const LiveStoreSchemaSymbol = Symbol.for('livestore.LiveStoreSchema');
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,10 +54,10 @@ export declare const rawSqlMutation: MutationDef<"livestore.RawSql", {
|
|
|
54
54
|
} | undefined;
|
|
55
55
|
readonly writeTables?: readonly string[] | undefined;
|
|
56
56
|
}, {
|
|
57
|
-
readonly sql: string;
|
|
58
57
|
readonly bindValues?: {
|
|
59
58
|
readonly [x: string]: any;
|
|
60
59
|
} | undefined;
|
|
60
|
+
readonly sql: string;
|
|
61
61
|
readonly writeTables?: ReadonlySet<string> | undefined;
|
|
62
62
|
}>;
|
|
63
63
|
export type RawSqlMutation = typeof rawSqlMutation;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.56-dev.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@opentelemetry/api": "^1.9.0",
|
|
32
|
-
"@livestore/utils": "0.0.
|
|
33
|
-
"effect-db-schema": "0.0.
|
|
32
|
+
"@livestore/utils": "0.0.56-dev.0",
|
|
33
|
+
"effect-db-schema": "0.0.56-dev.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"vitest": "^2.0.4"
|
package/src/adapter-types.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { Cause, Queue, Scope, SubscriptionRef } from '@livestore/utils/effect'
|
|
1
|
+
import type { BrowserChannel, Cause, Queue, Scope, SubscriptionRef } from '@livestore/utils/effect'
|
|
2
2
|
import { Effect, Schema, Stream } from '@livestore/utils/effect'
|
|
3
3
|
|
|
4
|
+
import type * as Devtools from './devtools/index.js'
|
|
4
5
|
import type { LiveStoreSchema, MutationEvent } from './schema/index.js'
|
|
5
6
|
import type { PreparedBindValues } from './util.js'
|
|
6
7
|
|
|
@@ -56,12 +57,6 @@ export type Coordinator = {
|
|
|
56
57
|
devtools: {
|
|
57
58
|
enabled: boolean
|
|
58
59
|
channelId: string
|
|
59
|
-
/**
|
|
60
|
-
* Returns a dedicated message port for the store which is established over the message port passed in
|
|
61
|
-
*/
|
|
62
|
-
// connect: (options: { port: MessagePort }) => Effect.Effect<{ storeMessagePort: MessagePort }, UnexpectedError>
|
|
63
|
-
// TODO refactor to possibly flip the hiearchy so the coordinator connects to the store instead of the store connecting to the coordinator
|
|
64
|
-
// waitForPort: (devtoolsId: string) => Effect.Effect<MessagePort, UnexpectedError>
|
|
65
60
|
}
|
|
66
61
|
// TODO is exposing the lock status really needed (or only relevant for web adapter?)
|
|
67
62
|
lockStatus: SubscriptionRef.SubscriptionRef<LockStatus>
|
|
@@ -155,11 +150,14 @@ export type MigrationOptionsFromMutationLog<TSchema extends LiveStoreSchema = Li
|
|
|
155
150
|
}
|
|
156
151
|
}
|
|
157
152
|
|
|
158
|
-
export type
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
153
|
+
export type StoreDevtoolsChannel = BrowserChannel.BrowserChannel<
|
|
154
|
+
Devtools.MessageToAppHostStore,
|
|
155
|
+
Devtools.MessageFromAppHostStore
|
|
156
|
+
>
|
|
157
|
+
|
|
158
|
+
export type ConnectDevtoolsToStore = (
|
|
159
|
+
storeDevtoolsChannel: StoreDevtoolsChannel,
|
|
160
|
+
) => Effect.Effect<void, UnexpectedError, Scope.Scope>
|
|
163
161
|
|
|
164
162
|
export type StoreAdapterFactory = (opts: {
|
|
165
163
|
schema: LiveStoreSchema
|
package/src/schema/index.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { isReadonlyArray, shouldNeverHappen } from '@livestore/utils'
|
|
2
|
-
import type { ReadonlyArray } from '@livestore/utils/effect'
|
|
3
2
|
import type { SqliteDsl } from 'effect-db-schema'
|
|
4
3
|
import { SqliteAst } from 'effect-db-schema'
|
|
5
4
|
|
|
@@ -17,7 +16,6 @@ import { type TableDef, tableHasDerivedMutations } from './table-def.js'
|
|
|
17
16
|
|
|
18
17
|
export * from './system-tables.js'
|
|
19
18
|
export * as DbSchema from './table-def.js'
|
|
20
|
-
export * as ParseUtils from './parse-utils.js'
|
|
21
19
|
export * from './mutations.js'
|
|
22
20
|
export * from './schema-helpers.js'
|
|
23
21
|
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { shouldNeverHappen } from '@livestore/utils'
|
|
2
|
-
import type { ReadonlyArray } from '@livestore/utils/effect'
|
|
3
|
-
import { pipe, ReadonlyRecord, Schema, TreeFormatter } from '@livestore/utils/effect'
|
|
4
|
-
import { SqliteDsl as __SqliteDsl } from 'effect-db-schema'
|
|
5
|
-
|
|
6
|
-
import { getDefaultValuesDecoded } from './schema-helpers.js'
|
|
7
|
-
import { type FromColumns, type FromTable, type TableDef } from './table-def.js'
|
|
8
|
-
|
|
9
|
-
export const many = <TTableDef extends TableDef>(
|
|
10
|
-
table: TTableDef,
|
|
11
|
-
): ((rawRows: ReadonlyArray<any>) => ReadonlyArray<FromTable.RowDecoded<TTableDef>>) => {
|
|
12
|
-
return Schema.decodeSync(Schema.Array(table.schema)) as TODO
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const first =
|
|
16
|
-
<TTableDef extends TableDef>(
|
|
17
|
-
table: TTableDef,
|
|
18
|
-
fallback?: FromColumns.InsertRowDecoded<TTableDef['sqliteDef']['columns']>,
|
|
19
|
-
) =>
|
|
20
|
-
(rawRows: ReadonlyArray<any>) => {
|
|
21
|
-
const rows = Schema.decodeSync(Schema.Array(table.schema))(rawRows)
|
|
22
|
-
|
|
23
|
-
if (rows.length === 0) {
|
|
24
|
-
const schemaDefaultValues = getDefaultValuesDecoded(table)
|
|
25
|
-
|
|
26
|
-
const defaultValuesResult = pipe(
|
|
27
|
-
table.sqliteDef.columns,
|
|
28
|
-
ReadonlyRecord.map((_column, columnName) => (fallback as any)?.[columnName] ?? schemaDefaultValues[columnName]),
|
|
29
|
-
Schema.validateEither(table.schema),
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
if (defaultValuesResult._tag === 'Right') {
|
|
33
|
-
return defaultValuesResult.right
|
|
34
|
-
} else {
|
|
35
|
-
console.error('decode error', TreeFormatter.formatErrorSync(defaultValuesResult.left))
|
|
36
|
-
return shouldNeverHappen(
|
|
37
|
-
`Expected query (for table ${table.sqliteDef.name}) to return at least one result but found none. Also can't fallback to default values as some were not provided.`,
|
|
38
|
-
)
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return rows[0]!
|
|
43
|
-
}
|