on-zero 0.6.12 → 0.6.13
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/cjs/createZeroSQLiteServer.cjs +319 -0
- package/dist/cjs/createZeroSQLiteServer.native.js +440 -0
- package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -0
- package/dist/cjs/createZeroSQLiteServer.test.cjs +429 -0
- package/dist/cjs/createZeroSQLiteServer.test.native.js +466 -0
- package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -0
- package/dist/cjs/createZeroServer.cjs +20 -234
- package/dist/cjs/createZeroServer.native.js +24 -250
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/createZeroServer.test.cjs +35 -1
- package/dist/cjs/createZeroServer.test.native.js +38 -1
- package/dist/cjs/createZeroServer.test.native.js.map +1 -1
- package/dist/cjs/createZeroServerCore.cjs +362 -0
- package/dist/cjs/createZeroServerCore.native.js +389 -0
- package/dist/cjs/createZeroServerCore.native.js.map +1 -0
- package/dist/cjs/generate-lite.cjs +1 -0
- package/dist/cjs/generate-lite.native.js +1 -0
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +5 -1
- package/dist/cjs/generate-lite.test.native.js +5 -1
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +20 -11
- package/dist/cjs/generate.native.js +29 -21
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +110 -0
- package/dist/cjs/generate.test.native.js +110 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/httpPull/transport.test.cjs +5 -4
- package/dist/cjs/httpPull/transport.test.native.js +6 -5
- package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
- package/dist/cjs/httpPullTransport.cjs +2 -1
- package/dist/cjs/httpPullTransport.native.js +3 -2
- package/dist/cjs/httpPullTransport.native.js.map +1 -1
- package/dist/cjs/server.cjs +2 -1
- package/dist/cjs/syncHost.cjs +164 -0
- package/dist/cjs/syncHost.native.js +371 -0
- package/dist/cjs/syncHost.native.js.map +1 -0
- package/dist/cjs/syncHost.test.cjs +229 -0
- package/dist/cjs/syncHost.test.native.js +278 -0
- package/dist/cjs/syncHost.test.native.js.map +1 -0
- package/dist/esm/createZeroSQLiteServer.mjs +293 -0
- package/dist/esm/createZeroSQLiteServer.mjs.map +1 -0
- package/dist/esm/createZeroSQLiteServer.native.js +411 -0
- package/dist/esm/createZeroSQLiteServer.native.js.map +1 -0
- package/dist/esm/createZeroSQLiteServer.test.mjs +430 -0
- package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -0
- package/dist/esm/createZeroSQLiteServer.test.native.js +464 -0
- package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -0
- package/dist/esm/createZeroServer.mjs +17 -231
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +21 -247
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/createZeroServer.test.mjs +35 -1
- package/dist/esm/createZeroServer.test.mjs.map +1 -1
- package/dist/esm/createZeroServer.test.native.js +38 -1
- package/dist/esm/createZeroServer.test.native.js.map +1 -1
- package/dist/esm/createZeroServerCore.mjs +336 -0
- package/dist/esm/createZeroServerCore.mjs.map +1 -0
- package/dist/esm/createZeroServerCore.native.js +360 -0
- package/dist/esm/createZeroServerCore.native.js.map +1 -0
- package/dist/esm/generate-lite.mjs +1 -0
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +1 -0
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +5 -1
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +5 -1
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +20 -11
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +29 -21
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +87 -1
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +87 -1
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/httpPull/transport.test.mjs +5 -4
- package/dist/esm/httpPull/transport.test.mjs.map +1 -1
- package/dist/esm/httpPull/transport.test.native.js +6 -5
- package/dist/esm/httpPull/transport.test.native.js.map +1 -1
- package/dist/esm/httpPullTransport.mjs +2 -1
- package/dist/esm/httpPullTransport.mjs.map +1 -1
- package/dist/esm/httpPullTransport.native.js +3 -2
- package/dist/esm/httpPullTransport.native.js.map +1 -1
- package/dist/esm/server.mjs +1 -0
- package/dist/esm/server.mjs.map +1 -1
- package/dist/esm/syncHost.mjs +138 -0
- package/dist/esm/syncHost.mjs.map +1 -0
- package/dist/esm/syncHost.native.js +342 -0
- package/dist/esm/syncHost.native.js.map +1 -0
- package/dist/esm/syncHost.test.mjs +206 -0
- package/dist/esm/syncHost.test.mjs.map +1 -0
- package/dist/esm/syncHost.test.native.js +252 -0
- package/dist/esm/syncHost.test.native.js.map +1 -0
- package/package.json +19 -3
- package/readme.md +26 -0
- package/src/createZeroSQLiteServer.test.ts +461 -0
- package/src/createZeroSQLiteServer.ts +523 -0
- package/src/createZeroServer.test.ts +39 -1
- package/src/createZeroServer.ts +35 -428
- package/src/createZeroServerCore.ts +557 -0
- package/src/generate-lite.test.ts +4 -0
- package/src/generate-lite.ts +1 -0
- package/src/generate.test.ts +87 -1
- package/src/generate.ts +29 -20
- package/src/httpPull/transport.test.ts +6 -5
- package/src/httpPullTransport.ts +9 -4
- package/src/server.ts +1 -0
- package/src/syncHost.test.ts +216 -0
- package/src/syncHost.ts +255 -0
- package/test-fixtures/server-return-types.ts +50 -0
- package/test-fixtures/tsconfig.json +13 -0
- package/types/createZeroSQLiteServer.d.ts +37 -0
- package/types/createZeroSQLiteServer.d.ts.map +1 -0
- package/types/createZeroSQLiteServer.test.d.ts +2 -0
- package/types/createZeroSQLiteServer.test.d.ts.map +1 -0
- package/types/createZeroServer.d.ts +11 -293
- package/types/createZeroServer.d.ts.map +1 -1
- package/types/createZeroServerCore.d.ts +310 -0
- package/types/createZeroServerCore.d.ts.map +1 -0
- package/types/generate-lite.d.ts.map +1 -1
- package/types/generate.d.ts +2 -1
- package/types/generate.d.ts.map +1 -1
- package/types/httpPullTransport.d.ts +1 -0
- package/types/httpPullTransport.d.ts.map +1 -1
- package/types/server.d.ts +1 -0
- package/types/server.d.ts.map +1 -1
- package/types/syncHost.d.ts +51 -0
- package/types/syncHost.d.ts.map +1 -0
- package/types/syncHost.test.d.ts +2 -0
- package/types/syncHost.test.d.ts.map +1 -0
|
@@ -0,0 +1,310 @@
|
|
|
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
|
+
};
|
|
10
|
+
type AlreadyProcessedMutation = {
|
|
11
|
+
id: {
|
|
12
|
+
clientID: string;
|
|
13
|
+
id: number;
|
|
14
|
+
};
|
|
15
|
+
result: {
|
|
16
|
+
error: 'alreadyProcessed';
|
|
17
|
+
details?: unknown;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
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
|
+
export type PersistAlreadyProcessedArgs = {
|
|
56
|
+
clientGroupID: string;
|
|
57
|
+
mutations: AlreadyProcessedMutation[];
|
|
58
|
+
upstreamSchema: string;
|
|
59
|
+
};
|
|
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
|
+
type ZeroServerCoreOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = ZeroServerCommonOptions<Schema, Models, ServerActions> & {
|
|
77
|
+
createDatabase: () => ZeroServerDatabase;
|
|
78
|
+
persistAlreadyProcessed?: (args: PersistAlreadyProcessedArgs) => Promise<void>;
|
|
79
|
+
};
|
|
80
|
+
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>): {
|
|
81
|
+
handleMutationRequest: ({ authData, request, skipAsyncTasks, }: {
|
|
82
|
+
authData: AuthData | null;
|
|
83
|
+
request: Request;
|
|
84
|
+
skipAsyncTasks?: boolean;
|
|
85
|
+
}) => Promise<{
|
|
86
|
+
response: {
|
|
87
|
+
userID?: string | null | undefined;
|
|
88
|
+
kind: "MutateResponse";
|
|
89
|
+
mutations: {
|
|
90
|
+
id: {
|
|
91
|
+
id: number;
|
|
92
|
+
clientID: string;
|
|
93
|
+
};
|
|
94
|
+
result: {
|
|
95
|
+
data?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
96
|
+
} | {
|
|
97
|
+
message?: string | undefined;
|
|
98
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
99
|
+
error: "app";
|
|
100
|
+
} | {
|
|
101
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
102
|
+
error: "oooMutation" | "alreadyProcessed";
|
|
103
|
+
};
|
|
104
|
+
}[];
|
|
105
|
+
} | {
|
|
106
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
107
|
+
message: string;
|
|
108
|
+
kind: "PushFailed";
|
|
109
|
+
mutationIDs: {
|
|
110
|
+
id: number;
|
|
111
|
+
clientID: string;
|
|
112
|
+
}[];
|
|
113
|
+
origin: "server";
|
|
114
|
+
reason: "parse" | "oooMutation" | "database" | "internal" | "unsupportedPushVersion";
|
|
115
|
+
} | {
|
|
116
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
117
|
+
bodyPreview?: string | undefined;
|
|
118
|
+
message: string;
|
|
119
|
+
kind: "PushFailed";
|
|
120
|
+
mutationIDs: {
|
|
121
|
+
id: number;
|
|
122
|
+
clientID: string;
|
|
123
|
+
}[];
|
|
124
|
+
origin: "zeroCache";
|
|
125
|
+
reason: "http";
|
|
126
|
+
status: number;
|
|
127
|
+
} | {
|
|
128
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
129
|
+
message: string;
|
|
130
|
+
kind: "PushFailed";
|
|
131
|
+
mutationIDs: {
|
|
132
|
+
id: number;
|
|
133
|
+
clientID: string;
|
|
134
|
+
}[];
|
|
135
|
+
origin: "zeroCache";
|
|
136
|
+
reason: "parse" | "timeout" | "internal";
|
|
137
|
+
} | {
|
|
138
|
+
mutations: {
|
|
139
|
+
id: {
|
|
140
|
+
id: number;
|
|
141
|
+
clientID: string;
|
|
142
|
+
};
|
|
143
|
+
result: {
|
|
144
|
+
data?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
145
|
+
} | {
|
|
146
|
+
message?: string | undefined;
|
|
147
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
148
|
+
error: "app";
|
|
149
|
+
} | {
|
|
150
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
151
|
+
error: "oooMutation" | "alreadyProcessed";
|
|
152
|
+
};
|
|
153
|
+
}[];
|
|
154
|
+
} | {
|
|
155
|
+
mutationIDs?: {
|
|
156
|
+
id: number;
|
|
157
|
+
clientID: string;
|
|
158
|
+
}[] | undefined;
|
|
159
|
+
error: "unsupportedPushVersion";
|
|
160
|
+
} | {
|
|
161
|
+
mutationIDs?: {
|
|
162
|
+
id: number;
|
|
163
|
+
clientID: string;
|
|
164
|
+
}[] | undefined;
|
|
165
|
+
error: "unsupportedSchemaVersion";
|
|
166
|
+
} | {
|
|
167
|
+
mutationIDs?: {
|
|
168
|
+
id: number;
|
|
169
|
+
clientID: string;
|
|
170
|
+
}[] | undefined;
|
|
171
|
+
error: "http";
|
|
172
|
+
status: number;
|
|
173
|
+
details: string;
|
|
174
|
+
} | {
|
|
175
|
+
mutationIDs?: {
|
|
176
|
+
id: number;
|
|
177
|
+
clientID: string;
|
|
178
|
+
}[] | undefined;
|
|
179
|
+
error: "zeroPusher";
|
|
180
|
+
details: string;
|
|
181
|
+
} | {
|
|
182
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
183
|
+
message: string;
|
|
184
|
+
kind: "PushFailed";
|
|
185
|
+
mutationIDs: {
|
|
186
|
+
id: number;
|
|
187
|
+
clientID: string;
|
|
188
|
+
}[];
|
|
189
|
+
origin: "server";
|
|
190
|
+
reason: "parse" | "oooMutation" | "database" | "internal" | "unsupportedPushVersion";
|
|
191
|
+
} | {
|
|
192
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
193
|
+
bodyPreview?: string | undefined;
|
|
194
|
+
message: string;
|
|
195
|
+
kind: "PushFailed";
|
|
196
|
+
mutationIDs: {
|
|
197
|
+
id: number;
|
|
198
|
+
clientID: string;
|
|
199
|
+
}[];
|
|
200
|
+
origin: "zeroCache";
|
|
201
|
+
reason: "http";
|
|
202
|
+
status: number;
|
|
203
|
+
} | {
|
|
204
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
205
|
+
message: string;
|
|
206
|
+
kind: "PushFailed";
|
|
207
|
+
mutationIDs: {
|
|
208
|
+
id: number;
|
|
209
|
+
clientID: string;
|
|
210
|
+
}[];
|
|
211
|
+
origin: "zeroCache";
|
|
212
|
+
reason: "parse" | "timeout" | "internal";
|
|
213
|
+
};
|
|
214
|
+
asyncTasks: AsyncAction[];
|
|
215
|
+
}>;
|
|
216
|
+
handleQueryRequest: ({ authData, request, }: {
|
|
217
|
+
authData: AuthData | null;
|
|
218
|
+
request: Request;
|
|
219
|
+
}) => Promise<{
|
|
220
|
+
response: {
|
|
221
|
+
userID?: string | null | undefined;
|
|
222
|
+
kind: "QueryResponse";
|
|
223
|
+
queries: ({
|
|
224
|
+
id: string;
|
|
225
|
+
name: string;
|
|
226
|
+
ast: import("@rocicorp/zero").AST;
|
|
227
|
+
} | {
|
|
228
|
+
message?: string | undefined;
|
|
229
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
230
|
+
error: "app";
|
|
231
|
+
id: string;
|
|
232
|
+
name: string;
|
|
233
|
+
} | {
|
|
234
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
235
|
+
error: "parse";
|
|
236
|
+
id: string;
|
|
237
|
+
name: string;
|
|
238
|
+
message: string;
|
|
239
|
+
})[];
|
|
240
|
+
} | {
|
|
241
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
242
|
+
message: string;
|
|
243
|
+
kind: "TransformFailed";
|
|
244
|
+
queryIDs: string[];
|
|
245
|
+
origin: "server";
|
|
246
|
+
reason: "parse" | "database" | "internal";
|
|
247
|
+
} | {
|
|
248
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
249
|
+
bodyPreview?: string | undefined;
|
|
250
|
+
message: string;
|
|
251
|
+
kind: "TransformFailed";
|
|
252
|
+
queryIDs: string[];
|
|
253
|
+
origin: "zeroCache";
|
|
254
|
+
reason: "http";
|
|
255
|
+
status: number;
|
|
256
|
+
} | {
|
|
257
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
258
|
+
message: string;
|
|
259
|
+
kind: "TransformFailed";
|
|
260
|
+
queryIDs: string[];
|
|
261
|
+
origin: "zeroCache";
|
|
262
|
+
reason: "parse" | "timeout" | "internal";
|
|
263
|
+
} | ["transformed", ({
|
|
264
|
+
id: string;
|
|
265
|
+
name: string;
|
|
266
|
+
ast: import("@rocicorp/zero").AST;
|
|
267
|
+
} | {
|
|
268
|
+
message?: string | undefined;
|
|
269
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
270
|
+
error: "app";
|
|
271
|
+
id: string;
|
|
272
|
+
name: string;
|
|
273
|
+
} | {
|
|
274
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
275
|
+
error: "parse";
|
|
276
|
+
id: string;
|
|
277
|
+
name: string;
|
|
278
|
+
message: string;
|
|
279
|
+
})[]] | ["transformFailed", {
|
|
280
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
281
|
+
message: string;
|
|
282
|
+
kind: "TransformFailed";
|
|
283
|
+
queryIDs: string[];
|
|
284
|
+
origin: "server";
|
|
285
|
+
reason: "parse" | "database" | "internal";
|
|
286
|
+
} | {
|
|
287
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
288
|
+
bodyPreview?: string | undefined;
|
|
289
|
+
message: string;
|
|
290
|
+
kind: "TransformFailed";
|
|
291
|
+
queryIDs: string[];
|
|
292
|
+
origin: "zeroCache";
|
|
293
|
+
reason: "http";
|
|
294
|
+
status: number;
|
|
295
|
+
} | {
|
|
296
|
+
details?: import("drizzle-zero").ReadonlyJSONValue | undefined;
|
|
297
|
+
message: string;
|
|
298
|
+
kind: "TransformFailed";
|
|
299
|
+
queryIDs: string[];
|
|
300
|
+
origin: "zeroCache";
|
|
301
|
+
reason: "parse" | "timeout" | "internal";
|
|
302
|
+
}];
|
|
303
|
+
}>;
|
|
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
|
+
};
|
|
308
|
+
export type ZeroServer<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = ReturnType<typeof createZeroServerCore<Schema, Models, ServerActions>>;
|
|
309
|
+
export {};
|
|
310
|
+
//# sourceMappingURL=createZeroServerCore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZeroServerCore.d.ts","sourceRoot":"","sources":["../src/createZeroServerCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-lite.d.ts","sourceRoot":"","sources":["../src/generate-lite.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,kBAAkB,GAAG;IAK/B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,KAAK,CAAC;QAEd,IAAI,EAAE,MAAM,CAAA;QAMZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAC,CAAA;IAKF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,EAAE,MAAM,CAAA;IAIZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAKhC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,GAAG,EAAE,MAAM,CAAA;IAIX,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAG/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-lite.d.ts","sourceRoot":"","sources":["../src/generate-lite.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,kBAAkB,GAAG;IAK/B,SAAS,EAAE,MAAM,CAAA;IAEjB,QAAQ,EAAE,KAAK,CAAC;QAEd,IAAI,EAAE,MAAM,CAAA;QAMZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAC,CAAA;IAKF,MAAM,EAAE,cAAc,GAAG,IAAI,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,EAAE,CAAA;IAGrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,EAAE,MAAM,CAAA;IAIZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,cAAc,GAAG;IAG3B,SAAS,EAAE,kBAAkB,EAAE,CAAA;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B,CAAA;AAID,MAAM,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAA;AAElF,MAAM,MAAM,mBAAmB,GAAG;IAKhC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAG7B,GAAG,EAAE,MAAM,CAAA;IAIX,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAA;IAClC,KAAK,EAAE,WAAW,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAG/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAqCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CA0L1E"}
|
package/types/generate.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { SchemaColumn } from './generate-helpers';
|
|
2
2
|
type SchemaTable = {
|
|
3
3
|
name: string;
|
|
4
|
+
serverName?: string;
|
|
4
5
|
columns: Record<string, SchemaColumn>;
|
|
5
|
-
primaryKey: string[];
|
|
6
|
+
primaryKey: readonly string[];
|
|
6
7
|
};
|
|
7
8
|
type SchemaRelationHop = {
|
|
8
9
|
sourceField: string[];
|
package/types/generate.d.ts.map
CHANGED
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpPullTransport.d.ts","sourceRoot":"","sources":["../src/httpPullTransport.ts"],"names":[],"mappings":"AAyCA,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"httpPullTransport.d.ts","sourceRoot":"","sources":["../src/httpPullTransport.ts"],"names":[],"mappings":"AAyCA,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAA;AAuChF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,SAAS,IAAI,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAA;IAGd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IAGpB,cAAc,CAAC,EAAE,MAAM,CAAA;IAMvB,IAAI,CAAC,EAAE,OAAO,CAAA;IAId,cAAc,CAAC,EAAE,cAAc,CAAA;IAI/B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,wBAAwB,GAC7B,iBAAiB,CA+DnB;AAOD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,iBAAiB,CAOnB"}
|
package/types/server.d.ts
CHANGED
package/types/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type ZeroServerCommonOptions } from './createZeroServerCore';
|
|
2
|
+
import { type ZeroSQLiteTransactionOptions } from './createZeroSQLiteServer';
|
|
3
|
+
import type { AuthData, GenericModels } from './types';
|
|
4
|
+
import type { Schema as ZeroSchema } from '@rocicorp/zero';
|
|
5
|
+
export type SyncHostJsonValue = string | number | boolean | null | SyncHostJsonValue[] | {
|
|
6
|
+
[key: string]: SyncHostJsonValue;
|
|
7
|
+
};
|
|
8
|
+
export type SyncHostClaims = {
|
|
9
|
+
userID: string;
|
|
10
|
+
[claim: string]: SyncHostJsonValue;
|
|
11
|
+
};
|
|
12
|
+
export type SyncHostTransactionContext = {
|
|
13
|
+
defer(effect: () => void | Promise<void>): void;
|
|
14
|
+
};
|
|
15
|
+
export type SyncHostTransactionExecutor = {
|
|
16
|
+
exec(sql: string, params?: readonly unknown[]): void | Promise<void>;
|
|
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>;
|
|
19
|
+
};
|
|
20
|
+
export type SyncHostMutatorContext = SyncHostTransactionContext & {
|
|
21
|
+
claims: SyncHostClaims;
|
|
22
|
+
clientID?: string;
|
|
23
|
+
mutationID?: string | number;
|
|
24
|
+
};
|
|
25
|
+
export type SyncHostRegisteredMutator = (tx: SyncHostTransactionExecutor, args: SyncHostJsonValue, context: SyncHostMutatorContext) => void | Promise<void>;
|
|
26
|
+
export type SyncHostApplicationTransaction = <Value>(work: (tx: SyncHostTransactionExecutor, context: SyncHostTransactionContext) => Value | Promise<Value>) => Promise<Value>;
|
|
27
|
+
export type CreateZeroSyncHostAdapterOptions<Schema extends ZeroSchema, Models extends GenericModels, ServerActions extends Record<string, unknown>> = Omit<ZeroServerCommonOptions<Schema, Models, ServerActions>, 'defaultMutateAuthData'> & ZeroSQLiteTransactionOptions<Schema> & {
|
|
28
|
+
transaction: SyncHostApplicationTransaction;
|
|
29
|
+
mapAuthData?: (claims: SyncHostClaims) => AuthData;
|
|
30
|
+
defaultMutateAuthData?: Pick<AuthData, 'email' | 'id'> & Partial<AuthData>;
|
|
31
|
+
};
|
|
32
|
+
export declare class MutationApplicationError extends Error {
|
|
33
|
+
readonly details: string;
|
|
34
|
+
constructor(details: string, message?: string);
|
|
35
|
+
}
|
|
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
|
+
};
|
|
51
|
+
//# sourceMappingURL=syncHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncHost.d.ts","sourceRoot":"","sources":["../src/syncHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncHost.test.d.ts","sourceRoot":"","sources":["../src/syncHost.test.ts"],"names":[],"mappings":""}
|