@livestore/common 0.0.56-dev.3 → 0.0.57-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 +2 -1
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js.map +1 -1
- package/dist/rehydrate-from-mutationlog.d.ts.map +1 -1
- package/dist/rehydrate-from-mutationlog.js +1 -10
- package/dist/rehydrate-from-mutationlog.js.map +1 -1
- package/dist/util.d.ts +8 -6
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +8 -6
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
- package/src/adapter-types.ts +2 -1
- package/src/rehydrate-from-mutationlog.ts +3 -10
- package/src/util.ts +8 -6
package/dist/adapter-types.d.ts
CHANGED
|
@@ -19,9 +19,10 @@ export type StoreAdapter = {
|
|
|
19
19
|
export type SynchronousDatabase = {
|
|
20
20
|
_tag: 'SynchronousDatabase';
|
|
21
21
|
prepare(queryStr: string): PreparedStatement;
|
|
22
|
-
execute(queryStr: string, bindValues
|
|
22
|
+
execute(queryStr: string, bindValues?: PreparedBindValues | undefined, options?: {
|
|
23
23
|
onRowsChanged?: (rowsChanged: number) => void;
|
|
24
24
|
}): void;
|
|
25
|
+
select<T>(queryStr: string, bindValues?: PreparedBindValues | undefined): ReadonlyArray<T>;
|
|
25
26
|
export(): Uint8Array;
|
|
26
27
|
};
|
|
27
28
|
export type ResetMode = 'all-data' | 'only-app-db';
|
|
@@ -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,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhE,OAAO,KAAK,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IACtH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IACvE,QAAQ,IAAI,IAAI,CAAA;CACjB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,0FAA0F;IAC1F,MAAM,EAAE,mBAAmB,CAAA;IAC3B,8EAA8E;IAC9E,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAC5C,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,GAAG,SAAS,
|
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydrate-from-mutationlog.d.ts","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAA0B,MAAM,yBAAyB,CAAA;AAE/E,OAAO,EAAE,KAAK,+BAA+B,EAAE,KAAK,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpH,OAAO,KAAK,EAAE,eAAe,EAAmC,MAAM,mBAAmB,CAAA;AAKzF,eAAO,MAAM,wBAAwB,yDAMlC;IACD,KAAK,EAAE,mBAAmB,CAAA;IAC1B,EAAE,EAAE,mBAAmB,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,gBAAgB,EAAE,+BAA+B,CAAA;IACjD,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACxE,
|
|
1
|
+
{"version":3,"file":"rehydrate-from-mutationlog.d.ts","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAA0B,MAAM,yBAAyB,CAAA;AAE/E,OAAO,EAAE,KAAK,+BAA+B,EAAE,KAAK,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpH,OAAO,KAAK,EAAE,eAAe,EAAmC,MAAM,mBAAmB,CAAA;AAKzF,eAAO,MAAM,wBAAwB,yDAMlC;IACD,KAAK,EAAE,mBAAmB,CAAA;IAC1B,EAAE,EAAE,mBAAmB,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,gBAAgB,EAAE,+BAA+B,CAAA;IACjD,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACxE,gDAmGE,CAAA"}
|
|
@@ -5,9 +5,7 @@ import { getExecArgsFromMutation } from './mutation.js';
|
|
|
5
5
|
import { MUTATION_LOG_META_TABLE } from './schema/index.js';
|
|
6
6
|
import { sql } from './util.js';
|
|
7
7
|
export const rehydrateFromMutationLog = ({ logDb, db, schema, migrationOptions, onProgress, }) => Effect.gen(function* () {
|
|
8
|
-
const mutationsCount = logDb
|
|
9
|
-
.prepare(`SELECT COUNT(*) AS count FROM ${MUTATION_LOG_META_TABLE}`)
|
|
10
|
-
.select(undefined)[0].count;
|
|
8
|
+
const mutationsCount = logDb.select(`SELECT COUNT(*) AS count FROM ${MUTATION_LOG_META_TABLE}`)[0].count;
|
|
11
9
|
const hashMutation = memoizeByRef((mutation) => Schema.hash(mutation.schema));
|
|
12
10
|
const processMutation = (row) => Effect.gen(function* () {
|
|
13
11
|
const mutationDef = schema.mutations.get(row.mutation) ?? shouldNeverHappen(`Unknown mutation ${row.mutation}`);
|
|
@@ -29,13 +27,6 @@ This likely means the schema has changed in an incompatible way.
|
|
|
29
27
|
mutation: row.mutation,
|
|
30
28
|
args: argsDecoded,
|
|
31
29
|
};
|
|
32
|
-
// const argsEncoded = JSON.parse(row.args_json)
|
|
33
|
-
// const mutationSqlRes =
|
|
34
|
-
// typeof mutation.sql === 'string'
|
|
35
|
-
// ? mutation.sql
|
|
36
|
-
// : mutation.sql(Schema.decodeUnknownSync(mutation.schema)(argsEncoded))
|
|
37
|
-
// const mutationSql = typeof mutationSqlRes === 'string' ? mutationSqlRes : mutationSqlRes.sql
|
|
38
|
-
// const bindValues = typeof mutationSqlRes === 'string' ? argsEncoded : mutationSqlRes.bindValues
|
|
39
30
|
const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded });
|
|
40
31
|
const makeExecuteOptions = (statementSql, bindValues) => ({
|
|
41
32
|
onRowsChanged: (rowsChanged) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydrate-from-mutationlog.js","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAE/E,OAAO,EAAkE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpH,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,KAAK,EACL,EAAE,EACF,MAAM,EACN,gBAAgB,EAChB,UAAU,GAOX,EAAE,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,cAAc,GAAG,KAAK
|
|
1
|
+
{"version":3,"file":"rehydrate-from-mutationlog.js","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -13,11 +13,13 @@ export type PreparedBindValues = Brand.Branded<Bindable, 'PreparedBindValues'>;
|
|
|
13
13
|
* Code copied from: https://esdiscuss.org/topic/string-identity-template-tag
|
|
14
14
|
*/
|
|
15
15
|
export declare const sql: (template: TemplateStringsArray, ...args: unknown[]) => string;
|
|
16
|
-
/**
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Prepare bind values to send to SQLite
|
|
18
|
+
* Add $ to the beginning of keys; which we use as our interpolation syntax
|
|
19
|
+
* We also strip out any params that aren't used in the statement,
|
|
20
|
+
* because rusqlite doesn't allow unused named params
|
|
21
|
+
* TODO: Search for unused params via proper parsing, not string search
|
|
22
|
+
* TODO: Also make sure that the SQLite binding limit of 1000 is respected
|
|
23
|
+
*/
|
|
22
24
|
export declare const prepareBindValues: (values: Bindable, statement: string) => PreparedBindValues;
|
|
23
25
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAE1D,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;AAE7D,eAAO,MAAM,cAAc,qIAA6E,CAAA;AAExG,eAAO,MAAM,kBAAkB,mXAGW,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,GAAG,aAAc,oBAAoB,WAAW,OAAO,EAAE,KAAG,MASxE,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAE1D,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,YAAY,CAAA;AAE7D,eAAO,MAAM,cAAc,qIAA6E,CAAA;AAExG,eAAO,MAAM,kBAAkB,mXAGW,CAAA;AAE1C,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,GAAG,aAAc,oBAAoB,WAAW,OAAO,EAAE,KAAG,MASxE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,WAAY,QAAQ,aAAa,MAAM,KAAG,kBAWvE,CAAA"}
|
package/dist/util.js
CHANGED
|
@@ -16,12 +16,14 @@ export const sql = (template, ...args) => {
|
|
|
16
16
|
// eslint-disable-next-line unicorn/prefer-at
|
|
17
17
|
return str + template[template.length - 1];
|
|
18
18
|
};
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Prepare bind values to send to SQLite
|
|
21
|
+
* Add $ to the beginning of keys; which we use as our interpolation syntax
|
|
22
|
+
* We also strip out any params that aren't used in the statement,
|
|
23
|
+
* because rusqlite doesn't allow unused named params
|
|
24
|
+
* TODO: Search for unused params via proper parsing, not string search
|
|
25
|
+
* TODO: Also make sure that the SQLite binding limit of 1000 is respected
|
|
26
|
+
*/
|
|
25
27
|
export const prepareBindValues = (values, statement) => {
|
|
26
28
|
if (Array.isArray(values))
|
|
27
29
|
return values;
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAC5C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAC7D,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAI1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,QAA8B,EAAE,GAAG,IAAe,EAAU,EAAE;IAChF,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,6CAA6C;IAC7C,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAExG,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAC5C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAC7D,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAA;AAI1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,QAA8B,EAAE,GAAG,IAAe,EAAU,EAAE;IAChF,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACtC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,6CAA6C;IAC7C,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAgB,EAAE,SAAiB,EAAsB,EAAE;IAC3F,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAmC,CAAA;IAErE,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,MAA4B,CAAA;AACrC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.57-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.57-dev.0",
|
|
33
|
+
"effect-db-schema": "0.0.57-dev.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"vitest": "^2.0.4"
|
package/src/adapter-types.ts
CHANGED
|
@@ -23,9 +23,10 @@ export type SynchronousDatabase = {
|
|
|
23
23
|
prepare(queryStr: string): PreparedStatement
|
|
24
24
|
execute(
|
|
25
25
|
queryStr: string,
|
|
26
|
-
bindValues
|
|
26
|
+
bindValues?: PreparedBindValues | undefined,
|
|
27
27
|
options?: { onRowsChanged?: (rowsChanged: number) => void },
|
|
28
28
|
): void
|
|
29
|
+
select<T>(queryStr: string, bindValues?: PreparedBindValues | undefined): ReadonlyArray<T>
|
|
29
30
|
export(): Uint8Array
|
|
30
31
|
}
|
|
31
32
|
|
|
@@ -22,9 +22,9 @@ export const rehydrateFromMutationLog = ({
|
|
|
22
22
|
onProgress: (_: { done: number; total: number }) => Effect.Effect<void>
|
|
23
23
|
}) =>
|
|
24
24
|
Effect.gen(function* () {
|
|
25
|
-
const mutationsCount = logDb
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const mutationsCount = logDb.select<{ count: number }>(
|
|
26
|
+
`SELECT COUNT(*) AS count FROM ${MUTATION_LOG_META_TABLE}`,
|
|
27
|
+
)[0]!.count
|
|
28
28
|
|
|
29
29
|
const hashMutation = memoizeByRef((mutation: MutationDef.Any) => Schema.hash(mutation.schema))
|
|
30
30
|
|
|
@@ -58,13 +58,6 @@ This likely means the schema has changed in an incompatible way.
|
|
|
58
58
|
mutation: row.mutation,
|
|
59
59
|
args: argsDecoded,
|
|
60
60
|
}
|
|
61
|
-
// const argsEncoded = JSON.parse(row.args_json)
|
|
62
|
-
// const mutationSqlRes =
|
|
63
|
-
// typeof mutation.sql === 'string'
|
|
64
|
-
// ? mutation.sql
|
|
65
|
-
// : mutation.sql(Schema.decodeUnknownSync(mutation.schema)(argsEncoded))
|
|
66
|
-
// const mutationSql = typeof mutationSqlRes === 'string' ? mutationSqlRes : mutationSqlRes.sql
|
|
67
|
-
// const bindValues = typeof mutationSqlRes === 'string' ? argsEncoded : mutationSqlRes.bindValues
|
|
68
61
|
|
|
69
62
|
const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded })
|
|
70
63
|
|
package/src/util.ts
CHANGED
|
@@ -34,12 +34,14 @@ export const sql = (template: TemplateStringsArray, ...args: unknown[]): string
|
|
|
34
34
|
return str + template[template.length - 1]
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Prepare bind values to send to SQLite
|
|
39
|
+
* Add $ to the beginning of keys; which we use as our interpolation syntax
|
|
40
|
+
* We also strip out any params that aren't used in the statement,
|
|
41
|
+
* because rusqlite doesn't allow unused named params
|
|
42
|
+
* TODO: Search for unused params via proper parsing, not string search
|
|
43
|
+
* TODO: Also make sure that the SQLite binding limit of 1000 is respected
|
|
44
|
+
*/
|
|
43
45
|
export const prepareBindValues = (values: Bindable, statement: string): PreparedBindValues => {
|
|
44
46
|
if (Array.isArray(values)) return values as any as PreparedBindValues
|
|
45
47
|
|