on-zero 0.4.3 → 0.4.4
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/cli.cjs +46 -41
- package/dist/cjs/cli.native.js +48 -43
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/constants.cjs +14 -12
- package/dist/cjs/constants.native.js +14 -12
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/createPermissions.cjs +66 -34
- package/dist/cjs/createPermissions.native.js +143 -87
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
- package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.cjs +48 -35
- package/dist/cjs/createUseQuery.native.js +52 -38
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +177 -135
- package/dist/cjs/createZeroClient.native.js +246 -195
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.cjs +175 -129
- package/dist/cjs/createZeroServer.native.js +170 -138
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/generate-helpers.cjs +122 -88
- package/dist/cjs/generate-helpers.native.js +209 -174
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-lite.cjs +90 -58
- package/dist/cjs/generate-lite.native.js +200 -140
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.cjs +229 -192
- package/dist/cjs/generate-lite.test.native.js +229 -194
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.cjs +455 -291
- package/dist/cjs/generate.native.js +747 -565
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +170 -106
- package/dist/cjs/generate.test.native.js +171 -107
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.cjs +29 -18
- package/dist/cjs/helpers/batchQuery.native.js +36 -21
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
- package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +80 -42
- package/dist/cjs/helpers/createMutators.native.js +139 -87
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
- package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
- package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.cjs +25 -15
- package/dist/cjs/helpers/getAuth.native.js +25 -15
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.cjs +21 -14
- package/dist/cjs/helpers/mutatorContext.native.js +21 -15
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.cjs +12 -10
- package/dist/cjs/helpers/queryContext.native.js +16 -13
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
- package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
- package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.cjs +17 -15
- package/dist/cjs/index.native.js +17 -15
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/modelRegistry.cjs +12 -10
- package/dist/cjs/modelRegistry.native.js +12 -10
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/mutations.cjs +66 -42
- package/dist/cjs/mutations.native.js +68 -46
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/queryRegistry.cjs +13 -10
- package/dist/cjs/queryRegistry.native.js +14 -11
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.cjs +22 -18
- package/dist/cjs/resolveQuery.native.js +32 -28
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.cjs +35 -28
- package/dist/cjs/run.native.js +35 -29
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.cjs +7 -5
- package/dist/cjs/serverWhere.cjs +13 -11
- package/dist/cjs/serverWhere.native.js +13 -11
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.cjs +83 -55
- package/dist/cjs/serverWhere.test.native.js +72 -50
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.cjs +49 -44
- package/dist/cjs/state.native.js +56 -53
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.cjs +58 -45
- package/dist/cjs/usePermission.test.native.js +59 -48
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +41 -21
- package/dist/cjs/vite-plugin.native.js +61 -47
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.cjs +39 -24
- package/dist/cjs/where.native.js +44 -29
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.cjs +18 -12
- package/dist/cjs/zeroRunner.native.js +22 -16
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.cjs +14 -11
- package/dist/cjs/zql.native.js +19 -17
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/cli.mjs +43 -38
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +44 -39
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/constants.mjs +2 -2
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +2 -2
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/createPermissions.mjs +48 -18
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +125 -71
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createUseQuery.mjs +32 -21
- package/dist/esm/createUseQuery.mjs.map +1 -1
- package/dist/esm/createUseQuery.native.js +36 -24
- package/dist/esm/createUseQuery.native.js.map +1 -1
- package/dist/esm/createZeroClient.mjs +148 -108
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +217 -168
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs +148 -104
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/createZeroServer.native.js +143 -113
- package/dist/esm/createZeroServer.native.js.map +1 -1
- package/dist/esm/generate-helpers.mjs +110 -78
- package/dist/esm/generate-helpers.mjs.map +1 -1
- package/dist/esm/generate-helpers.native.js +197 -164
- package/dist/esm/generate-helpers.native.js.map +1 -1
- package/dist/esm/generate-lite.mjs +78 -48
- package/dist/esm/generate-lite.mjs.map +1 -1
- package/dist/esm/generate-lite.native.js +188 -130
- package/dist/esm/generate-lite.native.js.map +1 -1
- package/dist/esm/generate-lite.test.mjs +227 -190
- package/dist/esm/generate-lite.test.mjs.map +1 -1
- package/dist/esm/generate-lite.test.native.js +227 -192
- package/dist/esm/generate-lite.test.native.js.map +1 -1
- package/dist/esm/generate.mjs +427 -265
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +718 -538
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +165 -101
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +165 -101
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/batchQuery.mjs +17 -8
- package/dist/esm/helpers/batchQuery.mjs.map +1 -1
- package/dist/esm/helpers/batchQuery.native.js +24 -11
- package/dist/esm/helpers/batchQuery.native.js.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
- package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
- package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
- package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +53 -17
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +112 -62
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
- package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
- package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
- package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
- package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
- package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/esm/helpers/getAuth.mjs +10 -2
- package/dist/esm/helpers/getAuth.mjs.map +1 -1
- package/dist/esm/helpers/getAuth.native.js +10 -2
- package/dist/esm/helpers/getAuth.native.js.map +1 -1
- package/dist/esm/helpers/mutatorContext.mjs +9 -4
- package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
- package/dist/esm/helpers/mutatorContext.native.js +8 -4
- package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
- package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
- package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/esm/helpers/queryContext.native.js +2 -1
- package/dist/esm/helpers/queryContext.native.js.map +1 -1
- package/dist/esm/helpers/showZeroClientError.mjs +12 -9
- package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
- package/dist/esm/helpers/showZeroClientError.native.js +25 -23
- package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/esm/helpers/useZeroDebug.mjs +67 -36
- package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
- package/dist/esm/helpers/useZeroDebug.native.js +68 -42
- package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/esm/mutations.mjs +51 -29
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +53 -33
- package/dist/esm/mutations.native.js.map +1 -1
- package/dist/esm/queryRegistry.mjs +1 -0
- package/dist/esm/queryRegistry.mjs.map +1 -1
- package/dist/esm/queryRegistry.native.js +2 -1
- package/dist/esm/queryRegistry.native.js.map +1 -1
- package/dist/esm/resolveQuery.mjs +10 -8
- package/dist/esm/resolveQuery.mjs.map +1 -1
- package/dist/esm/resolveQuery.native.js +20 -18
- package/dist/esm/resolveQuery.native.js.map +1 -1
- package/dist/esm/run.mjs +21 -16
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/run.native.js +20 -16
- package/dist/esm/run.native.js.map +1 -1
- package/dist/esm/serverWhere.mjs +1 -1
- package/dist/esm/serverWhere.mjs.map +1 -1
- package/dist/esm/serverWhere.native.js +1 -1
- package/dist/esm/serverWhere.native.js.map +1 -1
- package/dist/esm/serverWhere.test.mjs +79 -51
- package/dist/esm/serverWhere.test.mjs.map +1 -1
- package/dist/esm/serverWhere.test.native.js +68 -46
- package/dist/esm/serverWhere.test.native.js.map +1 -1
- package/dist/esm/state.mjs +35 -32
- package/dist/esm/state.mjs.map +1 -1
- package/dist/esm/state.native.js +41 -40
- package/dist/esm/state.native.js.map +1 -1
- package/dist/esm/usePermission.test.mjs +53 -40
- package/dist/esm/usePermission.test.mjs.map +1 -1
- package/dist/esm/usePermission.test.native.js +54 -43
- package/dist/esm/usePermission.test.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +27 -9
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +47 -35
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/dist/esm/where.mjs +24 -11
- package/dist/esm/where.mjs.map +1 -1
- package/dist/esm/where.native.js +29 -16
- package/dist/esm/where.native.js.map +1 -1
- package/dist/esm/zeroRunner.mjs +6 -2
- package/dist/esm/zeroRunner.mjs.map +1 -1
- package/dist/esm/zeroRunner.native.js +8 -4
- package/dist/esm/zeroRunner.native.js.map +1 -1
- package/dist/esm/zql.mjs +2 -1
- package/dist/esm/zql.mjs.map +1 -1
- package/dist/esm/zql.native.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var import_fs = require("fs")
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
var import_fs = require("fs");
|
|
4
|
+
var import_os = require("os");
|
|
5
|
+
var import_path = require("path");
|
|
6
|
+
var import_vitest = require("vitest");
|
|
7
|
+
var import_generate = require("./generate.native.js");
|
|
8
|
+
var testDir = (0, import_path.join)((0, import_os.tmpdir)(), "on-zero-test-" + Date.now());
|
|
9
9
|
(0, import_vitest.beforeEach)(function () {
|
|
10
10
|
(0, import_fs.mkdirSync)((0, import_path.join)(testDir, "models"), {
|
|
11
|
-
recursive:
|
|
12
|
-
})
|
|
13
|
-
|
|
11
|
+
recursive: true
|
|
12
|
+
});
|
|
13
|
+
(0, import_fs.mkdirSync)((0, import_path.join)(testDir, "queries"), {
|
|
14
|
+
recursive: true
|
|
14
15
|
});
|
|
15
16
|
});
|
|
16
17
|
(0, import_vitest.afterEach)(function () {
|
|
17
18
|
(0, import_fs.rmSync)(testDir, {
|
|
18
|
-
recursive:
|
|
19
|
-
force:
|
|
19
|
+
recursive: true,
|
|
20
|
+
force: true
|
|
20
21
|
});
|
|
21
22
|
});
|
|
22
23
|
(0, import_vitest.describe)("generate", function () {
|
|
@@ -29,7 +30,8 @@ export const schema = table('post', {
|
|
|
29
30
|
title: string(),
|
|
30
31
|
published: boolean(),
|
|
31
32
|
})
|
|
32
|
-
`)
|
|
33
|
+
`);
|
|
34
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/comment.ts"), `
|
|
33
35
|
import { table, string } from 'on-zero'
|
|
34
36
|
|
|
35
37
|
export const schema = table('comment', {
|
|
@@ -40,17 +42,28 @@ export const schema = table('comment', {
|
|
|
40
42
|
`);
|
|
41
43
|
var result = await (0, import_generate.generate)({
|
|
42
44
|
dir: testDir,
|
|
43
|
-
silent:
|
|
45
|
+
silent: true
|
|
44
46
|
});
|
|
45
|
-
(0, import_vitest.expect)(result.modelCount).toBe(2)
|
|
47
|
+
(0, import_vitest.expect)(result.modelCount).toBe(2);
|
|
48
|
+
(0, import_vitest.expect)(result.schemaCount).toBe(2);
|
|
49
|
+
(0, import_vitest.expect)(result.filesChanged).toBeGreaterThan(0);
|
|
50
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/models.ts"))).toBe(true);
|
|
51
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/types.ts"))).toBe(true);
|
|
52
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/tables.ts"))).toBe(true);
|
|
46
53
|
var modelsContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/models.ts"), "utf-8");
|
|
47
|
-
(0, import_vitest.expect)(modelsContent).toContain("import * as comment from '../models/comment'")
|
|
54
|
+
(0, import_vitest.expect)(modelsContent).toContain("import * as comment from '../models/comment'");
|
|
55
|
+
(0, import_vitest.expect)(modelsContent).toContain("import * as post from '../models/post'");
|
|
56
|
+
(0, import_vitest.expect)(modelsContent).toContain("export const models = {");
|
|
48
57
|
var typesContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/types.ts"), "utf-8");
|
|
49
|
-
(0, import_vitest.expect)(typesContent).toContain("export type Post = TableInsertRow<typeof schema.post>")
|
|
58
|
+
(0, import_vitest.expect)(typesContent).toContain("export type Post = TableInsertRow<typeof schema.post>");
|
|
59
|
+
(0, import_vitest.expect)(typesContent).toContain("export type Comment = TableInsertRow<typeof schema.comment>");
|
|
50
60
|
var tablesContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/tables.ts"), "utf-8");
|
|
51
|
-
(0, import_vitest.expect)(tablesContent).toContain("export { schema as post } from '../models/post'")
|
|
52
|
-
|
|
53
|
-
|
|
61
|
+
(0, import_vitest.expect)(tablesContent).toContain("export { schema as post } from '../models/post'");
|
|
62
|
+
(0, import_vitest.expect)(tablesContent).toContain("export { schema as comment } from '../models/comment'");
|
|
63
|
+
});
|
|
64
|
+
(0, import_vitest.test)("generates query validators from query files", async function () {
|
|
65
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
|
|
66
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "queries/post.ts"), `
|
|
54
67
|
import { zero } from '../zero'
|
|
55
68
|
|
|
56
69
|
export const allPosts = () => zero.query.post
|
|
@@ -62,53 +75,67 @@ export const postsByAuthor = ({ authorId, limit }: { authorId: string; limit?: n
|
|
|
62
75
|
`);
|
|
63
76
|
var result = await (0, import_generate.generate)({
|
|
64
77
|
dir: testDir,
|
|
65
|
-
silent:
|
|
78
|
+
silent: true
|
|
66
79
|
});
|
|
67
|
-
(0, import_vitest.expect)(result.queryCount).toBe(3)
|
|
80
|
+
(0, import_vitest.expect)(result.queryCount).toBe(3);
|
|
81
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/groupedQueries.ts"))).toBe(true);
|
|
82
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/syncedQueries.ts"))).toBe(true);
|
|
68
83
|
var groupedContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/groupedQueries.ts"), "utf-8");
|
|
69
84
|
(0, import_vitest.expect)(groupedContent).toContain("export * as post from '../queries/post'");
|
|
70
85
|
var syncedContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedQueries.ts"), "utf-8");
|
|
71
|
-
(0, import_vitest.expect)(syncedContent).toContain("allPosts: defineQuery")
|
|
72
|
-
|
|
73
|
-
(0,
|
|
86
|
+
(0, import_vitest.expect)(syncedContent).toContain("allPosts: defineQuery");
|
|
87
|
+
(0, import_vitest.expect)(syncedContent).toContain("postById: defineQuery");
|
|
88
|
+
(0, import_vitest.expect)(syncedContent).toContain("postsByAuthor: defineQuery");
|
|
89
|
+
(0, import_vitest.expect)(syncedContent).toContain("v.object");
|
|
90
|
+
});
|
|
91
|
+
(0, import_vitest.test)("skips permission exports in queries", async function () {
|
|
92
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
|
|
93
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "queries/post.ts"), `
|
|
74
94
|
export const permission = () => ({ canRead: true })
|
|
75
95
|
export const allPosts = () => zero.query.post
|
|
76
96
|
`);
|
|
77
97
|
var result = await (0, import_generate.generate)({
|
|
78
98
|
dir: testDir,
|
|
79
|
-
silent:
|
|
99
|
+
silent: true
|
|
80
100
|
});
|
|
81
101
|
(0, import_vitest.expect)(result.queryCount).toBe(1);
|
|
82
102
|
var syncedContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedQueries.ts"), "utf-8");
|
|
83
|
-
(0, import_vitest.expect)(syncedContent).toContain("allPosts")
|
|
84
|
-
|
|
85
|
-
|
|
103
|
+
(0, import_vitest.expect)(syncedContent).toContain("allPosts");
|
|
104
|
+
(0, import_vitest.expect)(syncedContent).not.toContain("permission:");
|
|
105
|
+
});
|
|
106
|
+
(0, import_vitest.test)("handles user model special case (userPublic)", async function () {
|
|
107
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/user.ts"), `export const schema = table('user', { id: string(), name: string() })`);
|
|
108
|
+
await (0, import_generate.generate)({
|
|
86
109
|
dir: testDir,
|
|
87
|
-
silent:
|
|
110
|
+
silent: true
|
|
88
111
|
});
|
|
89
112
|
var modelsContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/models.ts"), "utf-8");
|
|
90
|
-
(0, import_vitest.expect)(modelsContent).toContain("import * as userPublic from '../models/user'")
|
|
113
|
+
(0, import_vitest.expect)(modelsContent).toContain("import * as userPublic from '../models/user'");
|
|
114
|
+
(0, import_vitest.expect)(modelsContent).toContain("userPublic,");
|
|
91
115
|
var typesContent = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/types.ts"), "utf-8");
|
|
92
116
|
(0, import_vitest.expect)(typesContent).toContain("typeof schema.userPublic");
|
|
93
|
-
})
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
(0,
|
|
117
|
+
});
|
|
118
|
+
(0, import_vitest.test)("runs after command when files change", async function () {
|
|
119
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
|
|
120
|
+
var markerFile = (0, import_path.join)(testDir, "after-ran");
|
|
121
|
+
var result = await (0, import_generate.generate)({
|
|
122
|
+
dir: testDir,
|
|
123
|
+
silent: true,
|
|
124
|
+
after: `touch ${markerFile}`
|
|
125
|
+
});
|
|
126
|
+
(0, import_vitest.expect)(result.filesChanged).toBeGreaterThan(0);
|
|
127
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)(markerFile)).toBe(true);
|
|
128
|
+
});
|
|
129
|
+
(0, import_vitest.test)("does not regenerate when nothing changed", async function () {
|
|
130
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
|
|
104
131
|
var first = await (0, import_generate.generate)({
|
|
105
132
|
dir: testDir,
|
|
106
|
-
silent:
|
|
133
|
+
silent: true
|
|
107
134
|
});
|
|
108
135
|
(0, import_vitest.expect)(first.filesChanged).toBeGreaterThan(0);
|
|
109
136
|
var second = await (0, import_generate.generate)({
|
|
110
137
|
dir: testDir,
|
|
111
|
-
silent:
|
|
138
|
+
silent: true
|
|
112
139
|
});
|
|
113
140
|
(0, import_vitest.expect)(second.filesChanged).toBe(0);
|
|
114
141
|
});
|
|
@@ -134,12 +161,16 @@ export const mutate = mutations(schema, perm, {
|
|
|
134
161
|
`);
|
|
135
162
|
var result = await (0, import_generate.generate)({
|
|
136
163
|
dir: testDir,
|
|
137
|
-
silent:
|
|
164
|
+
silent: true
|
|
138
165
|
});
|
|
139
|
-
(0, import_vitest.expect)(result.mutationCount).toBeGreaterThan(0)
|
|
166
|
+
(0, import_vitest.expect)(result.mutationCount).toBeGreaterThan(0);
|
|
167
|
+
(0, import_vitest.expect)((0, import_fs.existsSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"))).toBe(true);
|
|
140
168
|
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
141
|
-
(0, import_vitest.expect)(content).toContain("archive")
|
|
142
|
-
|
|
169
|
+
(0, import_vitest.expect)(content).toContain("archive");
|
|
170
|
+
(0, import_vitest.expect)(content).toContain("v.object");
|
|
171
|
+
(0, import_vitest.expect)(content).toContain("v.string()");
|
|
172
|
+
});
|
|
173
|
+
(0, import_vitest.test)("generates CRUD validators from schema columns", async function () {
|
|
143
174
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/task.ts"), `
|
|
144
175
|
import { table, string, number, boolean } from 'on-zero'
|
|
145
176
|
import { mutations, serverWhere } from 'on-zero'
|
|
@@ -157,12 +188,16 @@ const perm = serverWhere('task', () => true)
|
|
|
157
188
|
export const mutate = mutations(schema, perm)
|
|
158
189
|
`);
|
|
159
190
|
var result = await (0, import_generate.generate)({
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
(0, import_vitest.expect)(content).toContain("insert:")
|
|
165
|
-
|
|
191
|
+
dir: testDir,
|
|
192
|
+
silent: true
|
|
193
|
+
});
|
|
194
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
195
|
+
(0, import_vitest.expect)(content).toContain("insert:");
|
|
196
|
+
(0, import_vitest.expect)(content).toMatch(/insert:.*v\.object/);
|
|
197
|
+
(0, import_vitest.expect)(content).toContain("update:");
|
|
198
|
+
(0, import_vitest.expect)(content).toContain("delete:");
|
|
199
|
+
});
|
|
200
|
+
(0, import_vitest.test)("treats models without export const mutate as empty mutations", async function () {
|
|
166
201
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/readonly.ts"), `
|
|
167
202
|
import { table, string } from 'on-zero'
|
|
168
203
|
|
|
@@ -173,12 +208,13 @@ export const schema = table('readonly').columns({
|
|
|
173
208
|
`);
|
|
174
209
|
var result = await (0, import_generate.generate)({
|
|
175
210
|
dir: testDir,
|
|
176
|
-
silent:
|
|
211
|
+
silent: true
|
|
177
212
|
});
|
|
178
213
|
(0, import_vitest.expect)(result.mutationCount).toBe(0);
|
|
179
214
|
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
180
215
|
(0, import_vitest.expect)(content).toContain("readonly: {");
|
|
181
|
-
})
|
|
216
|
+
});
|
|
217
|
+
(0, import_vitest.test)("extracts custom mutations from bare mutations({})", async function () {
|
|
182
218
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/admin.ts"), `
|
|
183
219
|
import { mutations } from 'on-zero'
|
|
184
220
|
|
|
@@ -189,12 +225,14 @@ export const mutate = mutations({
|
|
|
189
225
|
})
|
|
190
226
|
`);
|
|
191
227
|
var result = await (0, import_generate.generate)({
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
(0, import_vitest.expect)(content).toContain("reset")
|
|
197
|
-
|
|
228
|
+
dir: testDir,
|
|
229
|
+
silent: true
|
|
230
|
+
});
|
|
231
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
232
|
+
(0, import_vitest.expect)(content).toContain("reset");
|
|
233
|
+
(0, import_vitest.expect)(content).toContain("v.string()");
|
|
234
|
+
});
|
|
235
|
+
(0, import_vitest.test)("handles mutations with only context param (void)", async function () {
|
|
198
236
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/user.ts"), `
|
|
199
237
|
import { table, string } from 'on-zero'
|
|
200
238
|
import { mutations, serverWhere } from 'on-zero'
|
|
@@ -213,12 +251,13 @@ export const mutate = mutations(schema, perm, {
|
|
|
213
251
|
})
|
|
214
252
|
`);
|
|
215
253
|
var result = await (0, import_generate.generate)({
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
254
|
+
dir: testDir,
|
|
255
|
+
silent: true
|
|
256
|
+
});
|
|
257
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
220
258
|
(0, import_vitest.expect)(content).toContain("finishOnboarding");
|
|
221
|
-
})
|
|
259
|
+
});
|
|
260
|
+
(0, import_vitest.test)("handles primitive param type", async function () {
|
|
222
261
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/user.ts"), `
|
|
223
262
|
import { table, string } from 'on-zero'
|
|
224
263
|
import { mutations, serverWhere } from 'on-zero'
|
|
@@ -237,12 +276,14 @@ export const mutate = mutations(schema, perm, {
|
|
|
237
276
|
})
|
|
238
277
|
`);
|
|
239
278
|
var result = await (0, import_generate.generate)({
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
(0, import_vitest.expect)(content).toContain("completeSignup")
|
|
245
|
-
|
|
279
|
+
dir: testDir,
|
|
280
|
+
silent: true
|
|
281
|
+
});
|
|
282
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
283
|
+
(0, import_vitest.expect)(content).toContain("completeSignup");
|
|
284
|
+
(0, import_vitest.expect)(content).toContain("v.string()");
|
|
285
|
+
});
|
|
286
|
+
(0, import_vitest.test)("handles array param type", async function () {
|
|
246
287
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/batch.ts"), `
|
|
247
288
|
import { mutations } from 'on-zero'
|
|
248
289
|
|
|
@@ -253,12 +294,14 @@ export const mutate = mutations({
|
|
|
253
294
|
})
|
|
254
295
|
`);
|
|
255
296
|
var result = await (0, import_generate.generate)({
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
(0, import_vitest.expect)(content).toContain("bulkDelete")
|
|
261
|
-
|
|
297
|
+
dir: testDir,
|
|
298
|
+
silent: true
|
|
299
|
+
});
|
|
300
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
301
|
+
(0, import_vitest.expect)(content).toContain("bulkDelete");
|
|
302
|
+
(0, import_vitest.expect)(content).toContain("v.array");
|
|
303
|
+
});
|
|
304
|
+
(0, import_vitest.test)("populates mutationCount and caching works", async function () {
|
|
262
305
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/item.ts"), `
|
|
263
306
|
import { table, string } from 'on-zero'
|
|
264
307
|
import { mutations, serverWhere } from 'on-zero'
|
|
@@ -278,14 +321,15 @@ export const mutate = mutations(schema, perm, {
|
|
|
278
321
|
`);
|
|
279
322
|
var first = await (0, import_generate.generate)({
|
|
280
323
|
dir: testDir,
|
|
281
|
-
silent:
|
|
324
|
+
silent: true
|
|
282
325
|
});
|
|
283
326
|
(0, import_vitest.expect)(first.mutationCount).toBeGreaterThan(0);
|
|
284
327
|
var second = await (0, import_generate.generate)({
|
|
285
328
|
dir: testDir,
|
|
286
|
-
silent:
|
|
329
|
+
silent: true
|
|
287
330
|
});
|
|
288
|
-
(0, import_vitest.expect)(second.filesChanged).toBe(0)
|
|
331
|
+
(0, import_vitest.expect)(second.filesChanged).toBe(0);
|
|
332
|
+
(0, import_vitest.expect)(second.mutationCount).toBe(first.mutationCount);
|
|
289
333
|
});
|
|
290
334
|
});
|
|
291
335
|
(0, import_vitest.describe)("type resolution", function () {
|
|
@@ -296,7 +340,8 @@ export type ArchiveParams = {
|
|
|
296
340
|
reason: string
|
|
297
341
|
archived: boolean
|
|
298
342
|
}
|
|
299
|
-
`)
|
|
343
|
+
`);
|
|
344
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `
|
|
300
345
|
import { table, string, boolean } from 'on-zero'
|
|
301
346
|
import { mutations } from 'on-zero'
|
|
302
347
|
import type { ArchiveParams } from './types'
|
|
@@ -308,12 +353,16 @@ export const mutate = mutations({
|
|
|
308
353
|
})
|
|
309
354
|
`);
|
|
310
355
|
var result = await (0, import_generate.generate)({
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
(0, import_vitest.expect)(content).toContain("v.string()")
|
|
316
|
-
|
|
356
|
+
dir: testDir,
|
|
357
|
+
silent: true
|
|
358
|
+
});
|
|
359
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
360
|
+
(0, import_vitest.expect)(content).toContain("v.string()");
|
|
361
|
+
(0, import_vitest.expect)(content).toContain("v.boolean()");
|
|
362
|
+
(0, import_vitest.expect)(content).toContain("reason");
|
|
363
|
+
(0, import_vitest.expect)(content).toContain("archived");
|
|
364
|
+
});
|
|
365
|
+
(0, import_vitest.test)("resolves utility types like Pick", async function () {
|
|
317
366
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/types.ts"), `
|
|
318
367
|
export type Item = {
|
|
319
368
|
id: string
|
|
@@ -321,7 +370,8 @@ export type Item = {
|
|
|
321
370
|
description: string
|
|
322
371
|
count: number
|
|
323
372
|
}
|
|
324
|
-
`)
|
|
373
|
+
`);
|
|
374
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/item.ts"), `
|
|
325
375
|
import { table, string, number } from 'on-zero'
|
|
326
376
|
import { mutations, serverWhere } from 'on-zero'
|
|
327
377
|
import type { Item } from './types'
|
|
@@ -342,18 +392,23 @@ export const mutate = mutations(schema, perm, {
|
|
|
342
392
|
})
|
|
343
393
|
`);
|
|
344
394
|
var result = await (0, import_generate.generate)({
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
(0, import_vitest.expect)(content).toContain("id")
|
|
350
|
-
|
|
395
|
+
dir: testDir,
|
|
396
|
+
silent: true
|
|
397
|
+
});
|
|
398
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
399
|
+
(0, import_vitest.expect)(content).toContain("id");
|
|
400
|
+
(0, import_vitest.expect)(content).toContain("name");
|
|
401
|
+
(0, import_vitest.expect)(content).not.toMatch(/rename:[\s\S]*description/);
|
|
402
|
+
(0, import_vitest.expect)(content).not.toMatch(/rename:[\s\S]*count/);
|
|
403
|
+
});
|
|
404
|
+
(0, import_vitest.test)("skips symbol-keyed properties when resolving imported mutation param types", async function () {
|
|
351
405
|
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/types.ts"), `
|
|
352
406
|
export type WeirdParams = {
|
|
353
407
|
id: string
|
|
354
408
|
[Symbol.iterator]?: () => Iterator<string>
|
|
355
409
|
}
|
|
356
|
-
`)
|
|
410
|
+
`);
|
|
411
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/item.ts"), `
|
|
357
412
|
import { mutations } from 'on-zero'
|
|
358
413
|
import type { WeirdParams } from './types'
|
|
359
414
|
|
|
@@ -362,29 +417,38 @@ export const mutate = mutations({
|
|
|
362
417
|
await tx.mutate.item.delete({ id: params.id })
|
|
363
418
|
},
|
|
364
419
|
})
|
|
365
|
-
`)
|
|
420
|
+
`);
|
|
421
|
+
await (0, import_generate.generate)({
|
|
366
422
|
dir: testDir,
|
|
367
|
-
silent:
|
|
423
|
+
silent: true
|
|
368
424
|
});
|
|
369
425
|
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedMutations.ts"), "utf-8");
|
|
370
|
-
(0, import_vitest.expect)(content).toContain("run")
|
|
371
|
-
|
|
372
|
-
(0,
|
|
426
|
+
(0, import_vitest.expect)(content).toContain("run");
|
|
427
|
+
(0, import_vitest.expect)(content).toContain("id: v.string()");
|
|
428
|
+
(0, import_vitest.expect)(content).not.toContain("__@iterator");
|
|
429
|
+
});
|
|
430
|
+
(0, import_vitest.test)("resolves imported types in query params", async function () {
|
|
431
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "models/post.ts"), `export const schema = table('post', { id: string() })`);
|
|
432
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "queries/types.ts"), `
|
|
373
433
|
export type PostFilter = {
|
|
374
434
|
authorId: string
|
|
375
435
|
published: boolean
|
|
376
436
|
}
|
|
377
|
-
`)
|
|
437
|
+
`);
|
|
438
|
+
(0, import_fs.writeFileSync)((0, import_path.join)(testDir, "queries/post.ts"), `
|
|
378
439
|
import type { PostFilter } from './types'
|
|
379
440
|
|
|
380
441
|
export const filteredPosts = (filter: PostFilter) => zero.query.post
|
|
381
442
|
`);
|
|
382
443
|
var result = await (0, import_generate.generate)({
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
(0, import_vitest.expect)(content).toContain("filteredPosts")
|
|
444
|
+
dir: testDir,
|
|
445
|
+
silent: true
|
|
446
|
+
});
|
|
447
|
+
var content = (0, import_fs.readFileSync)((0, import_path.join)(testDir, "generated/syncedQueries.ts"), "utf-8");
|
|
448
|
+
(0, import_vitest.expect)(content).toContain("filteredPosts");
|
|
449
|
+
(0, import_vitest.expect)(content).toContain("v.object");
|
|
450
|
+
(0, import_vitest.expect)(content).toContain("authorId");
|
|
451
|
+
(0, import_vitest.expect)(content).toContain("v.boolean()");
|
|
388
452
|
});
|
|
389
453
|
});
|
|
390
454
|
//# sourceMappingURL=generate.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_fs","require","import_os","import_path","import_vitest","import_generate","testDir","join","tmpdir","Date","now","beforeEach","mkdirSync","recursive","afterEach","rmSync","force","describe","test","writeFileSync","result","generate","dir","silent","expect","modelCount","toBe","schemaCount","filesChanged","toBeGreaterThan","existsSync","modelsContent","readFileSync","toContain","typesContent","tablesContent","queryCount","groupedContent","syncedContent","not","markerFile","after","first","second","mutationCount","content","toMatch"],"sources":["../../src/generate.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["import_fs","require","import_os","import_path","import_vitest","import_generate","testDir","join","tmpdir","Date","now","beforeEach","mkdirSync","recursive","afterEach","rmSync","force","describe","test","writeFileSync","result","generate","dir","silent","expect","modelCount","toBe","schemaCount","filesChanged","toBeGreaterThan","existsSync","modelsContent","readFileSync","toContain","typesContent","tablesContent","queryCount","groupedContent","syncedContent","not","markerFile","after","first","second","mutationCount","content","toMatch"],"sources":["../../src/generate.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,20 +3,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __export = (target, all) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
13
14
|
get: () => from[key],
|
|
14
15
|
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
18
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
-
value:
|
|
21
|
+
value: true
|
|
20
22
|
}), mod);
|
|
21
23
|
var batchQuery_exports = {};
|
|
22
24
|
__export(batchQuery_exports, {
|
|
@@ -25,26 +27,35 @@ __export(batchQuery_exports, {
|
|
|
25
27
|
module.exports = __toCommonJS(batchQuery_exports);
|
|
26
28
|
var import_helpers = require("@take-out/helpers");
|
|
27
29
|
function createBatchQuery(server) {
|
|
28
|
-
return async function (buildQuery, mapper, {
|
|
30
|
+
return async function batchQuery(buildQuery, mapper, {
|
|
29
31
|
chunk,
|
|
30
32
|
pause = 0,
|
|
31
33
|
stopAfter = 1e5
|
|
32
34
|
} = {
|
|
33
35
|
chunk: 20
|
|
34
36
|
}) {
|
|
35
|
-
let hasMore =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
let hasMore = true;
|
|
38
|
+
let last = null;
|
|
39
|
+
let iterations = 0;
|
|
40
|
+
while (hasMore) {
|
|
39
41
|
const results = await server.query(q => {
|
|
40
42
|
let query = buildQuery(q).limit(chunk);
|
|
41
|
-
|
|
43
|
+
if (last) {
|
|
44
|
+
query = query.start(last);
|
|
45
|
+
}
|
|
46
|
+
return query;
|
|
42
47
|
});
|
|
43
|
-
|
|
48
|
+
await mapper(results);
|
|
49
|
+
if (results.length < chunk) {
|
|
50
|
+
hasMore = false;
|
|
51
|
+
}
|
|
52
|
+
if (iterations > stopAfter) {
|
|
44
53
|
console.error(`[batchQuery] \u203C\uFE0F stopping batch, ran ${stopAfter} chunks`);
|
|
45
54
|
break;
|
|
46
55
|
}
|
|
47
|
-
|
|
56
|
+
if (pause) {
|
|
57
|
+
await (0, import_helpers.sleep)(pause);
|
|
58
|
+
}
|
|
48
59
|
}
|
|
49
60
|
};
|
|
50
61
|
}
|