on-zero 0.6.13 → 0.6.15

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.
Files changed (93) hide show
  1. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  2. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  3. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  4. package/dist/cjs/createZeroDirectServer.cjs +279 -0
  5. package/dist/cjs/createZeroDirectServer.native.js +292 -0
  6. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  7. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  8. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  9. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroSQLiteServer.test.cjs +30 -3
  11. package/dist/cjs/createZeroSQLiteServer.test.native.js +31 -3
  12. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServerCore.cjs +20 -205
  14. package/dist/cjs/createZeroServerCore.native.js +19 -213
  15. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  16. package/dist/cjs/generate.cjs +10 -3
  17. package/dist/cjs/generate.native.js +10 -3
  18. package/dist/cjs/generate.native.js.map +1 -1
  19. package/dist/cjs/generate.test.cjs +39 -0
  20. package/dist/cjs/generate.test.native.js +39 -0
  21. package/dist/cjs/generate.test.native.js.map +1 -1
  22. package/dist/cjs/sqliteRuntime.cjs +318 -0
  23. package/dist/cjs/sqliteRuntime.native.js +438 -0
  24. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  25. package/dist/cjs/syncHost.cjs +16 -9
  26. package/dist/cjs/syncHost.native.js +21 -12
  27. package/dist/cjs/syncHost.native.js.map +1 -1
  28. package/dist/cjs/syncHost.test.cjs +13 -2
  29. package/dist/cjs/syncHost.test.native.js +14 -2
  30. package/dist/cjs/syncHost.test.native.js.map +1 -1
  31. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  32. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  33. package/dist/esm/createZeroDirectServer.mjs +251 -0
  34. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  35. package/dist/esm/createZeroDirectServer.native.js +261 -0
  36. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  37. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  38. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  39. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  40. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  41. package/dist/esm/createZeroSQLiteServer.test.mjs +30 -3
  42. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  43. package/dist/esm/createZeroSQLiteServer.test.native.js +31 -3
  44. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  45. package/dist/esm/createZeroServerCore.mjs +18 -202
  46. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  47. package/dist/esm/createZeroServerCore.native.js +18 -211
  48. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  49. package/dist/esm/generate.mjs +10 -3
  50. package/dist/esm/generate.mjs.map +1 -1
  51. package/dist/esm/generate.native.js +10 -3
  52. package/dist/esm/generate.native.js.map +1 -1
  53. package/dist/esm/generate.test.mjs +39 -1
  54. package/dist/esm/generate.test.mjs.map +1 -1
  55. package/dist/esm/generate.test.native.js +39 -1
  56. package/dist/esm/generate.test.native.js.map +1 -1
  57. package/dist/esm/sqliteRuntime.mjs +289 -0
  58. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  59. package/dist/esm/sqliteRuntime.native.js +406 -0
  60. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  61. package/dist/esm/syncHost.mjs +14 -7
  62. package/dist/esm/syncHost.mjs.map +1 -1
  63. package/dist/esm/syncHost.native.js +19 -10
  64. package/dist/esm/syncHost.native.js.map +1 -1
  65. package/dist/esm/syncHost.test.mjs +13 -2
  66. package/dist/esm/syncHost.test.mjs.map +1 -1
  67. package/dist/esm/syncHost.test.native.js +14 -2
  68. package/dist/esm/syncHost.test.native.js.map +1 -1
  69. package/package.json +5 -6
  70. package/src/createSchemaFromDrizzle.ts +2 -2
  71. package/src/createZeroDirectServer.ts +427 -0
  72. package/src/createZeroSQLiteServer.test.ts +20 -5
  73. package/src/createZeroSQLiteServer.ts +14 -481
  74. package/src/createZeroServerCore.ts +32 -337
  75. package/src/generate.test.ts +57 -1
  76. package/src/generate.ts +23 -3
  77. package/src/sqliteRuntime.ts +512 -0
  78. package/src/syncHost.test.ts +10 -3
  79. package/src/syncHost.ts +49 -12
  80. package/test-fixtures/server-return-types.ts +8 -1
  81. package/types/createSchemaFromDrizzle.d.ts +2 -2
  82. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  83. package/types/createZeroDirectServer.d.ts +80 -0
  84. package/types/createZeroDirectServer.d.ts.map +1 -0
  85. package/types/createZeroSQLiteServer.d.ts +5 -30
  86. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  87. package/types/createZeroServerCore.d.ts +30 -87
  88. package/types/createZeroServerCore.d.ts.map +1 -1
  89. package/types/generate.d.ts.map +1 -1
  90. package/types/sqliteRuntime.d.ts +71 -0
  91. package/types/sqliteRuntime.d.ts.map +1 -0
  92. package/types/syncHost.d.ts +10 -19
  93. package/types/syncHost.d.ts.map +1 -1
@@ -0,0 +1,80 @@
1
+ import { createPermissions } from './createPermissions';
2
+ import type { AdminRoleMode, AsyncAction, AuthData, GenericModels, MutatorContext, QueryBuilder, Transaction } from './types';
3
+ import type { AnyQueryRegistry, HumanReadable, Query, Schema as ZeroSchema } from '@rocicorp/zero';
4
+ import type { Database } from '@rocicorp/zero/server';
5
+ type MutateAuthData = Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
6
+ export type MutateOptions = {
7
+ authData?: MutateAuthData;
8
+ awaitEffects?: boolean;
9
+ };
10
+ export type ServerMutate<Models extends GenericModels> = {
11
+ [Key in keyof Models]: {
12
+ [K in keyof Models[Key]['mutate']]: Models[Key]['mutate'][K] extends (ctx: MutatorContext, arg: infer Arg) => any ? (arg: Arg, options?: MutateOptions) => Promise<void> : (options?: MutateOptions) => Promise<void>;
13
+ };
14
+ };
15
+ export type ValidateQueryArgs = {
16
+ authData: AuthData | null;
17
+ queryName: string;
18
+ params: unknown;
19
+ };
20
+ export type ValidateMutationArgs = {
21
+ authData: AuthData | null;
22
+ mutatorName: string;
23
+ tableName: string;
24
+ args: unknown;
25
+ };
26
+ export type ValidateQueryFn = (args: ValidateQueryArgs) => void;
27
+ export type ValidateMutationFn = (args: ValidateMutationArgs) => void | Promise<void>;
28
+ export type ServerQueryResolverOptions = {
29
+ authData: AuthData | null;
30
+ name: string;
31
+ args: unknown;
32
+ queries: AnyQueryRegistry;
33
+ permissions: ReturnType<typeof createPermissions>;
34
+ validateQuery?: ValidateQueryFn;
35
+ };
36
+ export declare function resolveServerQuery({ authData, name, args, queries, permissions, validateQuery, }: ServerQueryResolverOptions): any;
37
+ export type TransactionAttemptLifecycle = {
38
+ beginAttempt(): void;
39
+ completeAttempt(): void;
40
+ rollbackAttempt(): void;
41
+ commitTransaction(): void;
42
+ rollbackTransaction(): void;
43
+ };
44
+ export type ZeroServerDatabase = Database<Transaction>;
45
+ export type ZeroServerCommonOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = {
46
+ schema: Schema;
47
+ models: Models;
48
+ createServerActions: () => ServerActions;
49
+ queries?: AnyQueryRegistry;
50
+ /** generated validators keyed by model and mutation name */
51
+ mutations?: Record<string, Record<string, any>>;
52
+ /** synchronous query authorization hook; throw to reject */
53
+ validateQuery?: ValidateQueryFn;
54
+ /** mutation authorization hook; throw to reject */
55
+ validateMutation?: ValidateMutationFn;
56
+ /** controls which operations the admin role bypasses */
57
+ defaultAllowAdminRole?: AdminRoleMode;
58
+ /** auth data used by direct server mutations when no scope provides it */
59
+ defaultMutateAuthData?: MutateAuthData;
60
+ };
61
+ export type ZeroDirectServerOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = ZeroServerCommonOptions<Schema, Models, ServerActions> & {
62
+ createDatabase: () => ZeroServerDatabase;
63
+ };
64
+ export type ZeroDirectServer<Schema extends ZeroSchema, Models extends GenericModels> = {
65
+ transaction: <CB extends (tx: Transaction) => Promise<any>, Returns extends CB extends (tx: Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
66
+ mutate: ServerMutate<Models>;
67
+ query: <R>(cb: (q: QueryBuilder) => Query<any, Schema, R>, authData?: AuthData | null) => Promise<HumanReadable<R>>;
68
+ };
69
+ export declare function createAsyncTaskCollector(): {
70
+ committed: AsyncAction[];
71
+ lifecycle: TransactionAttemptLifecycle;
72
+ queue: AsyncAction[];
73
+ };
74
+ export declare function createZeroDirectServerRuntime<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ createDatabase, createServerActions, defaultAllowAdminRole, defaultMutateAuthData, models, mutations: mutationValidators, queries, schema, validateMutation, validateQuery, }: ZeroDirectServerOptions<Schema, Models, ServerActions>): {
75
+ permissions: ReturnType<typeof createPermissions<Schema>>;
76
+ server: ZeroDirectServer<Schema, Models>;
77
+ };
78
+ export declare function createZeroDirectServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>(options: ZeroDirectServerOptions<Schema, Models, ServerActions>): ZeroDirectServer<Schema, Models>;
79
+ export {};
80
+ //# sourceMappingURL=createZeroDirectServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createZeroDirectServer.d.ts","sourceRoot":"","sources":["../src/createZeroDirectServer.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,12 @@
1
- import { type ZeroServer, type ZeroServerCommonOptions } from './createZeroServerCore';
2
- import type { GenericModels, Transaction } from './types';
3
- import type { AST, Schema as ZeroSchema } from '@rocicorp/zero';
4
- import type { TransactionProviderInput } from '@rocicorp/zero/server';
5
- export type SQLiteTransactionExecutor = {
6
- exec(sql: string, params?: readonly unknown[]): void | Promise<void>;
7
- query<Row extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Row[] | Promise<Row[]>;
8
- queryAst<Result = unknown>(ast: AST, format: SQLiteQueryFormat, queryName?: string): Result | Promise<Result>;
9
- };
10
- export type SQLiteQueryFormat = {
11
- relationships: Record<string, SQLiteQueryFormat>;
12
- singular: boolean;
13
- };
14
- export type SQLiteTransactionProvider = <R>(callback: (tx: SQLiteTransactionExecutor) => Promise<R>) => Promise<R>;
15
- type SQLiteColumn = ZeroSchema['tables'][string]['columns'][string];
16
- export type SQLiteValueContext = {
17
- column: SQLiteColumn;
18
- columnName: string;
19
- tableName: string;
20
- };
21
- export type ZeroSQLiteTransactionOptions<Schema extends ZeroSchema> = {
22
- schema: Schema;
23
- encodeValue?: (value: unknown, context: SQLiteValueContext) => unknown;
24
- };
25
- export type SQLiteLedgerTables = {
26
- clients: string;
27
- mutations: string;
28
- };
1
+ import { type SQLiteLedgerTables, type SQLiteTransactionProvider, type SQLiteValueContext } from './sqliteRuntime';
2
+ import type { ZeroServer, ZeroServerCommonOptions } from './createZeroServerCore';
3
+ import type { GenericModels } from './types';
4
+ import type { Schema as ZeroSchema } from '@rocicorp/zero';
29
5
  export type CreateZeroSQLiteServerOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = ZeroServerCommonOptions<Schema, Models, ServerActions> & {
30
6
  transactionProvider: SQLiteTransactionProvider;
31
7
  ledgerTables?: (upstreamSchema: string) => SQLiteLedgerTables;
32
8
  encodeValue?: (value: unknown, context: SQLiteValueContext) => unknown;
33
9
  };
34
10
  export declare function createZeroSQLiteServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ encodeValue, ledgerTables, transactionProvider, ...options }: CreateZeroSQLiteServerOptions<Schema, Models, ServerActions>): ZeroServer<Schema, Models, ServerActions>;
35
- export declare function createZeroSQLiteTransaction<Schema extends ZeroSchema>(options: ZeroSQLiteTransactionOptions<Schema>, executor: SQLiteTransactionExecutor, input?: TransactionProviderInput): Transaction;
36
- export {};
11
+ export * from './sqliteRuntime';
37
12
  //# sourceMappingURL=createZeroSQLiteServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroSQLiteServer.d.ts","sourceRoot":"","sources":["../src/createZeroSQLiteServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createZeroSQLiteServer.d.ts","sourceRoot":"","sources":["../src/createZeroSQLiteServer.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,MAAM,6BAA6B,CACvC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,mBAAmB,EAAE,yBAAyB,CAAA;IAC9C,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,kBAAkB,CAAA;IAC7D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAA;CACvE,CAAA;AAED,wBAAgB,sBAAsB,CACpC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,WAA+B,EAC/B,YAAkC,EAClC,mBAAmB,EACnB,GAAG,OAAO,EACX,EAAE,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,UAAU,CAC1E,MAAM,EACN,MAAM,EACN,aAAa,CACd,CAeA;AAED,cAAc,iBAAiB,CAAA"}
@@ -1,12 +1,6 @@
1
- import { createPermissions } from './createPermissions';
2
- import type { AdminRoleMode, AsyncAction, AuthData, GenericModels, MutatorContext, QueryBuilder, Transaction } from './types';
3
- import type { AnyQueryRegistry, HumanReadable, Query, Schema as ZeroSchema } from '@rocicorp/zero';
4
- import type { Database } from '@rocicorp/zero/server';
5
- type MutateAuthData = Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
6
- type MutateOptions = {
7
- authData?: MutateAuthData;
8
- awaitEffects?: boolean;
9
- };
1
+ import { type ZeroServerCommonOptions, type ZeroServerDatabase } from './createZeroDirectServer';
2
+ import type { AuthData, GenericModels } from './types';
3
+ import type { Schema as ZeroSchema } from '@rocicorp/zero';
10
4
  type AlreadyProcessedMutation = {
11
5
  id: {
12
6
  clientID: string;
@@ -17,67 +11,19 @@ type AlreadyProcessedMutation = {
17
11
  details?: unknown;
18
12
  };
19
13
  };
20
- type ServerMutate<Models extends GenericModels> = {
21
- [Key in keyof Models]: {
22
- [K in keyof Models[Key]['mutate']]: Models[Key]['mutate'][K] extends (ctx: MutatorContext, arg: infer Arg) => any ? (arg: Arg, options?: MutateOptions) => Promise<void> : (options?: MutateOptions) => Promise<void>;
23
- };
24
- };
25
- export type ValidateQueryArgs = {
26
- authData: AuthData | null;
27
- queryName: string;
28
- params: unknown;
29
- };
30
- export type ValidateMutationArgs = {
31
- authData: AuthData | null;
32
- mutatorName: string;
33
- tableName: string;
34
- args: unknown;
35
- };
36
- export type ValidateQueryFn = (args: ValidateQueryArgs) => void;
37
- export type ValidateMutationFn = (args: ValidateMutationArgs) => void | Promise<void>;
38
- export type ServerQueryResolverOptions = {
39
- authData: AuthData | null;
40
- name: string;
41
- args: unknown;
42
- queries: AnyQueryRegistry;
43
- permissions: ReturnType<typeof createPermissions>;
44
- validateQuery?: ValidateQueryFn;
45
- };
46
- export declare function resolveServerQuery({ authData, name, args, queries, permissions, validateQuery, }: ServerQueryResolverOptions): any;
47
- export type TransactionAttemptLifecycle = {
48
- beginAttempt(): void;
49
- completeAttempt(): void;
50
- rollbackAttempt(): void;
51
- commitTransaction(): void;
52
- rollbackTransaction(): void;
53
- };
54
- export type ZeroServerDatabase = Database<Transaction>;
55
14
  export type PersistAlreadyProcessedArgs = {
56
15
  clientGroupID: string;
57
16
  mutations: AlreadyProcessedMutation[];
58
17
  upstreamSchema: string;
59
18
  };
60
- export type ZeroServerCommonOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = {
61
- schema: Schema;
62
- models: Models;
63
- createServerActions: () => ServerActions;
64
- queries?: AnyQueryRegistry;
65
- /** generated validators keyed by model and mutation name */
66
- mutations?: Record<string, Record<string, any>>;
67
- /** synchronous query authorization hook; throw to reject */
68
- validateQuery?: ValidateQueryFn;
69
- /** mutation authorization hook; throw to reject */
70
- validateMutation?: ValidateMutationFn;
71
- /** controls which operations the admin role bypasses */
72
- defaultAllowAdminRole?: AdminRoleMode;
73
- /** auth data used by direct server mutations when no scope provides it */
74
- defaultMutateAuthData?: MutateAuthData;
75
- };
76
19
  type ZeroServerCoreOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = ZeroServerCommonOptions<Schema, Models, ServerActions> & {
77
20
  createDatabase: () => ZeroServerDatabase;
78
21
  persistAlreadyProcessed?: (args: PersistAlreadyProcessedArgs) => Promise<void>;
79
22
  };
80
23
  export declare function createZeroServerCore<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ createDatabase, createServerActions, defaultAllowAdminRole, defaultMutateAuthData, models, mutations: mutationValidators, persistAlreadyProcessed, queries, schema, validateMutation, validateQuery, }: ZeroServerCoreOptions<Schema, Models, ServerActions>): {
24
+ transaction: <CB extends (tx: import("./types").Transaction) => Promise<any>, Returns extends CB extends (tx: import("./types").Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
25
+ mutate: import("./createZeroDirectServer").ServerMutate<Models>;
26
+ query: <R>(cb: (q: import("./types").QueryBuilder) => import("@rocicorp/zero").Query<any, Schema, R>, authData?: {} | null | undefined) => Promise<import("@rocicorp/zero").HumanReadable<R>>;
81
27
  handleMutationRequest: ({ authData, request, skipAsyncTasks, }: {
82
28
  authData: AuthData | null;
83
29
  request: Request;
@@ -92,18 +38,18 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
92
38
  clientID: string;
93
39
  };
94
40
  result: {
95
- data?: import("drizzle-zero").ReadonlyJSONValue | undefined;
41
+ data?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
96
42
  } | {
97
43
  message?: string | undefined;
98
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
44
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
99
45
  error: "app";
100
46
  } | {
101
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
47
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
102
48
  error: "oooMutation" | "alreadyProcessed";
103
49
  };
104
50
  }[];
105
51
  } | {
106
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
52
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
107
53
  message: string;
108
54
  kind: "PushFailed";
109
55
  mutationIDs: {
@@ -113,7 +59,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
113
59
  origin: "server";
114
60
  reason: "parse" | "oooMutation" | "database" | "internal" | "unsupportedPushVersion";
115
61
  } | {
116
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
62
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
117
63
  bodyPreview?: string | undefined;
118
64
  message: string;
119
65
  kind: "PushFailed";
@@ -125,7 +71,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
125
71
  reason: "http";
126
72
  status: number;
127
73
  } | {
128
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
74
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
129
75
  message: string;
130
76
  kind: "PushFailed";
131
77
  mutationIDs: {
@@ -141,13 +87,13 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
141
87
  clientID: string;
142
88
  };
143
89
  result: {
144
- data?: import("drizzle-zero").ReadonlyJSONValue | undefined;
90
+ data?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
145
91
  } | {
146
92
  message?: string | undefined;
147
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
93
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
148
94
  error: "app";
149
95
  } | {
150
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
96
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
151
97
  error: "oooMutation" | "alreadyProcessed";
152
98
  };
153
99
  }[];
@@ -179,7 +125,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
179
125
  error: "zeroPusher";
180
126
  details: string;
181
127
  } | {
182
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
128
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
183
129
  message: string;
184
130
  kind: "PushFailed";
185
131
  mutationIDs: {
@@ -189,7 +135,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
189
135
  origin: "server";
190
136
  reason: "parse" | "oooMutation" | "database" | "internal" | "unsupportedPushVersion";
191
137
  } | {
192
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
138
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
193
139
  bodyPreview?: string | undefined;
194
140
  message: string;
195
141
  kind: "PushFailed";
@@ -201,7 +147,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
201
147
  reason: "http";
202
148
  status: number;
203
149
  } | {
204
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
150
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
205
151
  message: string;
206
152
  kind: "PushFailed";
207
153
  mutationIDs: {
@@ -211,7 +157,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
211
157
  origin: "zeroCache";
212
158
  reason: "parse" | "timeout" | "internal";
213
159
  };
214
- asyncTasks: AsyncAction[];
160
+ asyncTasks: import("./types").AsyncAction[];
215
161
  }>;
216
162
  handleQueryRequest: ({ authData, request, }: {
217
163
  authData: AuthData | null;
@@ -226,26 +172,26 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
226
172
  ast: import("@rocicorp/zero").AST;
227
173
  } | {
228
174
  message?: string | undefined;
229
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
175
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
230
176
  error: "app";
231
177
  id: string;
232
178
  name: string;
233
179
  } | {
234
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
180
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
235
181
  error: "parse";
236
182
  id: string;
237
183
  name: string;
238
184
  message: string;
239
185
  })[];
240
186
  } | {
241
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
187
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
242
188
  message: string;
243
189
  kind: "TransformFailed";
244
190
  queryIDs: string[];
245
191
  origin: "server";
246
192
  reason: "parse" | "database" | "internal";
247
193
  } | {
248
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
194
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
249
195
  bodyPreview?: string | undefined;
250
196
  message: string;
251
197
  kind: "TransformFailed";
@@ -254,7 +200,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
254
200
  reason: "http";
255
201
  status: number;
256
202
  } | {
257
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
203
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
258
204
  message: string;
259
205
  kind: "TransformFailed";
260
206
  queryIDs: string[];
@@ -266,25 +212,25 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
266
212
  ast: import("@rocicorp/zero").AST;
267
213
  } | {
268
214
  message?: string | undefined;
269
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
215
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
270
216
  error: "app";
271
217
  id: string;
272
218
  name: string;
273
219
  } | {
274
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
220
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
275
221
  error: "parse";
276
222
  id: string;
277
223
  name: string;
278
224
  message: string;
279
225
  })[]] | ["transformFailed", {
280
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
226
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
281
227
  message: string;
282
228
  kind: "TransformFailed";
283
229
  queryIDs: string[];
284
230
  origin: "server";
285
231
  reason: "parse" | "database" | "internal";
286
232
  } | {
287
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
233
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
288
234
  bodyPreview?: string | undefined;
289
235
  message: string;
290
236
  kind: "TransformFailed";
@@ -293,7 +239,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
293
239
  reason: "http";
294
240
  status: number;
295
241
  } | {
296
- details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
242
+ details?: import("drizzle-zero-sqlite").ReadonlyJSONValue | undefined;
297
243
  message: string;
298
244
  kind: "TransformFailed";
299
245
  queryIDs: string[];
@@ -301,10 +247,7 @@ export declare function createZeroServerCore<Schema extends ZeroSchema, Models e
301
247
  reason: "parse" | "timeout" | "internal";
302
248
  }];
303
249
  }>;
304
- transaction: <CB extends (tx: Transaction) => Promise<any>, Returns extends CB extends (tx: Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
305
- mutate: ServerMutate<Models>;
306
- query: <R>(cb: (q: QueryBuilder) => Query<any, Schema, R>, authData?: AuthData | null) => Promise<HumanReadable<R>>;
307
250
  };
308
251
  export type ZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = ReturnType<typeof createZeroServerCore<Schema, Models, ServerActions>>;
309
- export {};
252
+ export type { ValidateMutationArgs, ValidateMutationFn, ValidateQueryArgs, ValidateQueryFn, ZeroServerCommonOptions, ZeroServerDatabase, } from './createZeroDirectServer';
310
253
  //# sourceMappingURL=createZeroServerCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAA;AAKjC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE1D,KAAK,wBAAwB,GAAG;IAC9B,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM,CAAA;QAChB,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,kBAAkB,CAAA;QACzB,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;CACF,CAAA;AAMD,MAAM,MAAM,2BAA2B,GAAG;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,wBAAwB,EAAE,CAAA;IACrC,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,qBAAqB,CACxB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,kBAAkB,CAAA;IACxC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/E,CAAA;AAED,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,EACA,cAAc,EACd,mBAAmB,EACnB,qBAA6B,EAC7B,qBAAqB,EACrB,MAAM,EACN,SAAS,EAAE,kBAAkB,EAC7B,uBAAuB,EACvB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,GACd,EAAE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;;;;oEAkBlD;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;QAChB,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAwCE;QACD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;QACzB,OAAO,EAAE,OAAO,CAAA;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCF;AAED,MAAM,MAAM,UAAU,CACpB,MAAM,SAAS,UAAU,EACzB,MAAM,SAAS,aAAa,EAC5B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC3C,UAAU,CAAC,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAuE1E,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAwlBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6F3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0WhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAmChD"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAqC,YAAY,EAAE,MAAM,oBAAoB,CAAA;AA4mBzF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACrC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,KAAK,GAAG,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACnC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;CACnE,CAAA;AAkCD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6F3E;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,eAAe;IACnD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0WhF;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,yCAmChD"}
@@ -0,0 +1,71 @@
1
+ import type { ZeroServerDatabase } from './createZeroDirectServer';
2
+ import type { Transaction } from './types';
3
+ import type { AST, Schema as ZeroSchema } from '@rocicorp/zero';
4
+ import type { TransactionProviderInput } from '@rocicorp/zero/server';
5
+ export type SQLiteTransactionExecutor = {
6
+ exec(sql: string, params?: readonly unknown[], metadata?: SqlStatementMetadata): SQLiteExecResult | Promise<SQLiteExecResult>;
7
+ query<Row extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Row[] | Promise<Row[]>;
8
+ queryAst<Result = unknown>(ast: AST, format: SQLiteQueryFormat, queryName?: string): Result | Promise<Result>;
9
+ };
10
+ export type SQLiteExecResult = {
11
+ changes: number;
12
+ };
13
+ /**
14
+ * Identifies an application write without asking the host to parse its SQL.
15
+ * `table` is the physical SQLite table used by storage triggers; `publicTable`
16
+ * is the logical Zero table name exposed by the change feed.
17
+ */
18
+ export type SqlStatementMetadata = {
19
+ table: string;
20
+ publicTable: string;
21
+ kind: 'delete' | 'insert' | 'update' | 'upsert';
22
+ };
23
+ export type SQLiteQueryFormat = {
24
+ relationships: Record<string, SQLiteQueryFormat>;
25
+ singular: boolean;
26
+ };
27
+ export type SQLiteTransactionProvider = <R>(callback: (tx: SQLiteTransactionExecutor) => R | Promise<R>) => Promise<R>;
28
+ type SQLiteColumn = ZeroSchema['tables'][string]['columns'][string];
29
+ export type SQLiteValueContext = {
30
+ column: SQLiteColumn;
31
+ columnName: string;
32
+ tableName: string;
33
+ };
34
+ export type ZeroSQLiteTransactionOptions<Schema extends ZeroSchema> = {
35
+ schema: Schema;
36
+ encodeValue?: (value: unknown, context: SQLiteValueContext) => unknown;
37
+ };
38
+ export type SQLiteLedgerTables = {
39
+ clients: string;
40
+ mutations: string;
41
+ };
42
+ export type PersistAlreadyProcessedArgs = {
43
+ clientGroupID: string;
44
+ mutations: Array<{
45
+ id: {
46
+ clientID: string;
47
+ id: number;
48
+ };
49
+ result: {
50
+ error: 'alreadyProcessed';
51
+ details?: unknown;
52
+ };
53
+ }>;
54
+ upstreamSchema: string;
55
+ };
56
+ type SQLiteTransactionOptions<Schema extends ZeroSchema> = {
57
+ encodeValue: (value: unknown, context: SQLiteValueContext) => unknown;
58
+ schema: Schema;
59
+ };
60
+ export type SQLiteDatabaseOptions<Schema extends ZeroSchema> = SQLiteTransactionOptions<Schema> & {
61
+ initializedLedgers: Set<string>;
62
+ ledgerTables: (upstreamSchema: string) => SQLiteLedgerTables;
63
+ transactionProvider: SQLiteTransactionProvider;
64
+ };
65
+ export declare function createSQLiteDatabase<Schema extends ZeroSchema>(options: SQLiteDatabaseOptions<Schema>): ZeroServerDatabase;
66
+ export declare function createZeroSQLiteTransaction<Schema extends ZeroSchema>(options: ZeroSQLiteTransactionOptions<Schema>, executor: SQLiteTransactionExecutor, input?: TransactionProviderInput): Transaction;
67
+ export declare function persistAlreadyProcessedMutationResults<Schema extends ZeroSchema>(options: SQLiteDatabaseOptions<Schema>, { clientGroupID, mutations, upstreamSchema }: PersistAlreadyProcessedArgs): Promise<void>;
68
+ export declare function defaultLedgerTables(upstreamSchema: string): SQLiteLedgerTables;
69
+ export declare function encodeSQLiteValue(value: unknown, { column }: SQLiteValueContext): {} | null | undefined;
70
+ export {};
71
+ //# sourceMappingURL=sqliteRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqliteRuntime.d.ts","sourceRoot":"","sources":["../src/sqliteRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type ZeroServerCommonOptions } from './createZeroServerCore';
2
- import { type ZeroSQLiteTransactionOptions } from './createZeroSQLiteServer';
1
+ import { type ZeroDirectServer, type ZeroServerCommonOptions } from './createZeroDirectServer';
2
+ import { type SqlStatementMetadata, type SQLiteExecResult, type ZeroSQLiteTransactionOptions } from './sqliteRuntime';
3
3
  import type { AuthData, GenericModels } from './types';
4
4
  import type { Schema as ZeroSchema } from '@rocicorp/zero';
5
5
  export type SyncHostJsonValue = string | number | boolean | null | SyncHostJsonValue[] | {
@@ -13,9 +13,9 @@ export type SyncHostTransactionContext = {
13
13
  defer(effect: () => void | Promise<void>): void;
14
14
  };
15
15
  export type SyncHostTransactionExecutor = {
16
- exec(sql: string, params?: readonly unknown[]): void | Promise<void>;
16
+ exec(sql: string, params?: readonly unknown[], metadata?: SqlStatementMetadata): SQLiteExecResult | Promise<SQLiteExecResult>;
17
17
  query<Row extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Row[] | Promise<Row[]>;
18
- queryAst<Result = unknown>(ast: SyncHostJsonValue, format: import('./createZeroSQLiteServer').SQLiteQueryFormat, queryName?: string): Result | Promise<Result>;
18
+ queryAst<Result = unknown>(ast: SyncHostJsonValue, format: import('./sqliteRuntime').SQLiteQueryFormat, queryName?: string): Result | Promise<Result>;
19
19
  };
20
20
  export type SyncHostMutatorContext = SyncHostTransactionContext & {
21
21
  claims: SyncHostClaims;
@@ -29,23 +29,14 @@ export type CreateZeroSyncHostAdapterOptions<Schema extends ZeroSchema, Models e
29
29
  mapAuthData?: (claims: SyncHostClaims) => AuthData;
30
30
  defaultMutateAuthData?: Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
31
31
  };
32
+ export type ZeroSyncHostAdapter<Schema extends ZeroSchema, Models extends GenericModels> = {
33
+ mutators: Readonly<Record<string, SyncHostRegisteredMutator>>;
34
+ resolveQuery(name: string, args: readonly SyncHostJsonValue[], claims: SyncHostClaims): Promise<SyncHostJsonValue>;
35
+ server: ZeroDirectServer<Schema, Models>;
36
+ };
32
37
  export declare class MutationApplicationError extends Error {
33
38
  readonly details: string;
34
39
  constructor(details: string, message?: string);
35
40
  }
36
- export declare function createZeroSyncHostAdapter<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ encodeValue, mapAuthData, transaction, ...options }: CreateZeroSyncHostAdapterOptions<Schema, Models, ServerActions>): {
37
- mutators: Readonly<Record<string, SyncHostRegisteredMutator>>;
38
- resolveQuery(name: string, args: readonly SyncHostJsonValue[], claims: SyncHostClaims): Promise<SyncHostJsonValue>;
39
- server: {
40
- mutate: { [Key in keyof Models]: { [K in keyof Models[Key]["mutate"]]: Models[Key]["mutate"][K] extends (ctx: import("./types").MutatorContext, arg: infer Arg) => any ? (arg: Arg, options?: {
41
- authData?: Pick<{}, "id" | "email"> & Partial<{}>;
42
- awaitEffects?: boolean;
43
- }) => Promise<void> : (options?: {
44
- authData?: Pick<{}, "id" | "email"> & Partial<{}>;
45
- awaitEffects?: boolean;
46
- }) => Promise<void>; }; };
47
- query: <R>(cb: (q: import("./types").QueryBuilder) => import("@rocicorp/zero").Query<any, Schema, R>, authData?: {} | null | undefined) => Promise<import("@rocicorp/zero").HumanReadable<R>>;
48
- transaction: <CB extends (tx: import("./types").Transaction) => Promise<any>, Returns extends CB extends (tx: import("./types").Transaction) => Promise<infer X> ? X : never>(query: CB) => Promise<Returns>;
49
- };
50
- };
41
+ export declare function createZeroSyncHostAdapter<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>>({ encodeValue, mapAuthData, transaction, ...options }: CreateZeroSyncHostAdapterOptions<Schema, Models, ServerActions>): ZeroSyncHostAdapter<Schema, Models>;
51
42
  //# sourceMappingURL=syncHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncHost.d.ts","sourceRoot":"","sources":["../src/syncHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncHost.d.ts","sourceRoot":"","sources":["../src/syncHost.ts"],"names":[],"mappings":"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"}