joist-graphql-codegen 2.3.0-next.41 → 2.3.0-next.43
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/build/_virtual/_rolldown/runtime.cjs +23 -0
- package/build/generateEnumDetailResolvers.cjs +40 -0
- package/build/generateEnumDetailResolvers.cjs.map +1 -0
- package/build/generateEnumDetailResolvers.d.cts +8 -0
- package/build/generateEnumDetailResolvers.d.cts.map +1 -0
- package/build/generateEnumDetailResolvers.d.mts +8 -0
- package/build/generateEnumDetailResolvers.d.mts.map +1 -0
- package/build/generateEnumDetailResolvers.js +23 -23
- package/build/generateEnumDetailResolvers.js.map +1 -1
- package/build/generateEnumsGraphql.cjs +29 -0
- package/build/generateEnumsGraphql.cjs.map +1 -0
- package/build/generateEnumsGraphql.d.cts +8 -0
- package/build/generateEnumsGraphql.d.cts.map +1 -0
- package/build/generateEnumsGraphql.d.mts +8 -0
- package/build/generateEnumsGraphql.d.mts.map +1 -0
- package/build/generateEnumsGraphql.js +24 -27
- package/build/generateEnumsGraphql.js.map +1 -1
- package/build/generateGraphqlCodegen.cjs +54 -0
- package/build/generateGraphqlCodegen.cjs.map +1 -0
- package/build/generateGraphqlCodegen.d.cts +8 -0
- package/build/generateGraphqlCodegen.d.cts.map +1 -0
- package/build/generateGraphqlCodegen.d.mts +8 -0
- package/build/generateGraphqlCodegen.d.mts.map +1 -0
- package/build/generateGraphqlCodegen.js +28 -30
- package/build/generateGraphqlCodegen.js.map +1 -1
- package/build/generateGraphqlSchemaFiles.cjs +491 -0
- package/build/generateGraphqlSchemaFiles.cjs.map +1 -0
- package/build/{generateGraphqlSchemaFiles.d.ts → generateGraphqlSchemaFiles.d.cts} +6 -2
- package/build/generateGraphqlSchemaFiles.d.cts.map +1 -0
- package/build/generateGraphqlSchemaFiles.d.mts +15 -0
- package/build/generateGraphqlSchemaFiles.d.mts.map +1 -0
- package/build/generateGraphqlSchemaFiles.js +444 -286
- package/build/generateGraphqlSchemaFiles.js.map +1 -1
- package/build/generateObjectResolvers.cjs +70 -0
- package/build/generateObjectResolvers.cjs.map +1 -0
- package/build/{generateObjectResolvers.d.ts → generateObjectResolvers.d.cts} +5 -1
- package/build/generateObjectResolvers.d.cts.map +1 -0
- package/build/generateObjectResolvers.d.mts +17 -0
- package/build/generateObjectResolvers.d.mts.map +1 -0
- package/build/generateObjectResolvers.js +48 -38
- package/build/generateObjectResolvers.js.map +1 -1
- package/build/generateQueryPageResolvers.cjs +51 -0
- package/build/generateQueryPageResolvers.cjs.map +1 -0
- package/build/generateQueryPageResolvers.d.cts +8 -0
- package/build/generateQueryPageResolvers.d.cts.map +1 -0
- package/build/generateQueryPageResolvers.d.mts +8 -0
- package/build/generateQueryPageResolvers.d.mts.map +1 -0
- package/build/generateQueryPageResolvers.js +31 -35
- package/build/generateQueryPageResolvers.js.map +1 -1
- package/build/generateQueryResolvers.cjs +55 -0
- package/build/generateQueryResolvers.cjs.map +1 -0
- package/build/generateQueryResolvers.d.cts +10 -0
- package/build/generateQueryResolvers.d.cts.map +1 -0
- package/build/generateQueryResolvers.d.mts +10 -0
- package/build/generateQueryResolvers.d.mts.map +1 -0
- package/build/generateQueryResolvers.js +38 -36
- package/build/generateQueryResolvers.js.map +1 -1
- package/build/generateResolverUtils.cjs +36 -0
- package/build/generateResolverUtils.cjs.map +1 -0
- package/build/generateResolverUtils.d.cts +8 -0
- package/build/generateResolverUtils.d.cts.map +1 -0
- package/build/generateResolverUtils.d.mts +8 -0
- package/build/generateResolverUtils.d.mts.map +1 -0
- package/build/generateResolverUtils.js +25 -26
- package/build/generateResolverUtils.js.map +1 -1
- package/build/generateSaveResolvers.cjs +57 -0
- package/build/generateSaveResolvers.cjs.map +1 -0
- package/build/{generateSaveResolvers.d.ts → generateSaveResolvers.d.cts} +5 -1
- package/build/generateSaveResolvers.d.cts.map +1 -0
- package/build/generateSaveResolvers.d.mts +17 -0
- package/build/generateSaveResolvers.d.mts.map +1 -0
- package/build/generateSaveResolvers.js +39 -40
- package/build/generateSaveResolvers.js.map +1 -1
- package/build/graphqlUtils.cjs +160 -0
- package/build/graphqlUtils.cjs.map +1 -0
- package/build/graphqlUtils.d.cts +31 -0
- package/build/graphqlUtils.d.cts.map +1 -0
- package/build/graphqlUtils.d.mts +31 -0
- package/build/graphqlUtils.d.mts.map +1 -0
- package/build/graphqlUtils.js +120 -218
- package/build/graphqlUtils.js.map +1 -1
- package/build/history.cjs +25 -0
- package/build/history.cjs.map +1 -0
- package/build/history.d.cts +9 -0
- package/build/history.d.cts.map +1 -0
- package/build/history.d.mts +9 -0
- package/build/history.d.mts.map +1 -0
- package/build/history.js +17 -14
- package/build/history.js.map +1 -1
- package/build/index.cjs +57 -0
- package/build/index.cjs.map +1 -0
- package/build/index.d.cts +7 -0
- package/build/index.d.cts.map +1 -0
- package/build/index.d.mts +7 -0
- package/build/index.d.mts.map +1 -0
- package/build/index.js +48 -54
- package/build/index.js.map +1 -1
- package/build/testUtils.cjs +181 -0
- package/build/testUtils.cjs.map +1 -0
- package/build/testUtils.d.cts +20 -0
- package/build/testUtils.d.cts.map +1 -0
- package/build/testUtils.d.mts +20 -0
- package/build/testUtils.d.mts.map +1 -0
- package/build/testUtils.js +152 -158
- package/build/testUtils.js.map +1 -1
- package/build/utils.cjs +51 -0
- package/build/utils.cjs.map +1 -0
- package/build/utils.d.cts +16 -0
- package/build/utils.d.cts.map +1 -0
- package/build/utils.d.mts +16 -0
- package/build/utils.d.mts.map +1 -0
- package/build/utils.js +37 -49
- package/build/utils.js.map +1 -1
- package/package.json +28 -5
- package/build/generateEnumDetailResolvers.d.ts +0 -4
- package/build/generateEnumsGraphql.d.ts +0 -4
- package/build/generateGraphqlCodegen.d.ts +0 -4
- package/build/generateQueryPageResolvers.d.ts +0 -4
- package/build/generateQueryResolvers.d.ts +0 -6
- package/build/generateResolverUtils.d.ts +0 -4
- package/build/graphqlUtils.d.ts +0 -27
- package/build/history.d.ts +0 -5
- package/build/index.d.ts +0 -3
- package/build/testUtils.d.ts +0 -24
- package/build/utils.d.ts +0 -12
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Config, DbMetadata } from "joist-codegen";
|
|
2
|
+
import { CodegenFile } from "ts-poet";
|
|
3
|
+
//#region src/generateQueryResolvers.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Generates top-level query resolvers.
|
|
6
|
+
*/
|
|
7
|
+
declare function generateQueryResolvers(config: Config, db: DbMetadata): CodegenFile[];
|
|
8
|
+
//#endregion
|
|
9
|
+
export { generateQueryResolvers };
|
|
10
|
+
//# sourceMappingURL=generateQueryResolvers.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateQueryResolvers.d.mts","names":[],"sources":["../src/generateQueryResolvers.ts"],"mappings":";;;;;;iBAYgB,uBAAuB,QAAQ,QAAQ,IAAI,aAAa"}
|
|
@@ -1,52 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const makeRunQuery = (0, ts_poet_1.imp)("makeRunQuery@src/resolvers/testUtils.ts");
|
|
1
|
+
import { getEntitiesImportPath } from "./utils.js";
|
|
2
|
+
import { camelCase, sentenceCase } from "change-case";
|
|
3
|
+
import "joist-codegen";
|
|
4
|
+
import { code, imp } from "ts-poet";
|
|
5
|
+
//#region src/generateQueryResolvers.ts
|
|
6
|
+
const queryResolvers = imp("t:QueryResolvers@src/generated/graphql-types.ts");
|
|
7
|
+
const makeRunQuery = imp("makeRunQuery@src/resolvers/testUtils.ts");
|
|
9
8
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
* Generates top-level query resolvers.
|
|
10
|
+
*/
|
|
12
11
|
function generateQueryResolvers(config, db) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
const entitiesPath = getEntitiesImportPath(config);
|
|
13
|
+
const resolvers = db.entities.map((e) => {
|
|
14
|
+
const { name } = e;
|
|
15
|
+
const camelName = camelCase(name);
|
|
16
|
+
const type = imp(`${name}@${entitiesPath}`);
|
|
17
|
+
return {
|
|
18
|
+
name: `resolvers/${camelName}/${camelName}Query.ts`,
|
|
19
|
+
overwrite: false,
|
|
20
|
+
contents: code`
|
|
22
21
|
export const ${camelName}: Pick<${queryResolvers}, "${camelName}"> = {
|
|
23
22
|
async ${camelName}(_, args, ctx) {
|
|
24
23
|
return ctx.em.load(${type}, args.id);
|
|
25
24
|
},
|
|
26
25
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
`
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
const testFiles = db.entities.map((e) => {
|
|
30
|
+
const { name, tagName } = e;
|
|
31
|
+
const camelName = camelCase(name);
|
|
32
|
+
const resolverConst = imp(`${camelName}@src/resolvers/${camelName}/${camelName}Query.ts`);
|
|
33
|
+
return {
|
|
34
|
+
name: `resolvers/${camelName}/${camelName}Query.test.ts`,
|
|
35
|
+
overwrite: false,
|
|
36
|
+
contents: code`
|
|
38
37
|
describe("${camelName}", () => {
|
|
39
|
-
it.withCtx("returns a ${
|
|
40
|
-
const ${tagName} = ${
|
|
38
|
+
it.withCtx("returns a ${sentenceCase(name)}", async (ctx) => {
|
|
39
|
+
const ${tagName} = ${imp(`new${name}@${entitiesPath}`)}(ctx.em);
|
|
41
40
|
const result = await run(ctx, () => ({ id: ${tagName}.id }));
|
|
42
41
|
expect(result).toMatchEntity(${tagName});
|
|
43
42
|
});
|
|
44
43
|
});
|
|
45
44
|
|
|
46
45
|
const run = ${makeRunQuery}(${resolverConst});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
`
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
return [...resolvers, ...testFiles];
|
|
51
50
|
}
|
|
51
|
+
//#endregion
|
|
52
|
+
export { generateQueryResolvers };
|
|
53
|
+
|
|
52
54
|
//# sourceMappingURL=generateQueryResolvers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateQueryResolvers.js","
|
|
1
|
+
{"version":3,"file":"generateQueryResolvers.js","names":[],"sources":["../src/generateQueryResolvers.ts"],"sourcesContent":["import { camelCase, sentenceCase } from \"change-case\";\nimport { type Config, type DbMetadata } from \"joist-codegen\";\nimport { type CodegenFile, code, imp } from \"ts-poet\";\n\nimport { getEntitiesImportPath } from \"./utils.ts\";\n\nconst queryResolvers = imp(\"t:QueryResolvers@src/generated/graphql-types.ts\");\nconst makeRunQuery = imp(\"makeRunQuery@src/resolvers/testUtils.ts\");\n\n/**\n * Generates top-level query resolvers.\n */\nexport function generateQueryResolvers(config: Config, db: DbMetadata): CodegenFile[] {\n const entitiesPath = getEntitiesImportPath(config);\n const resolvers = db.entities.map((e) => {\n const { name } = e;\n const camelName = camelCase(name);\n const type = imp(`${name}@${entitiesPath}`);\n return {\n name: `resolvers/${camelName}/${camelName}Query.ts`,\n overwrite: false,\n contents: code`\n export const ${camelName}: Pick<${queryResolvers}, \"${camelName}\"> = {\n async ${camelName}(_, args, ctx) {\n return ctx.em.load(${type}, args.id);\n },\n };\n `,\n };\n });\n\n const testFiles = db.entities.map((e) => {\n const { name, tagName } = e;\n const camelName = camelCase(name);\n const resolverConst = imp(`${camelName}@src/resolvers/${camelName}/${camelName}Query.ts`);\n return {\n name: `resolvers/${camelName}/${camelName}Query.test.ts`,\n overwrite: false,\n contents: code`\n describe(\"${camelName}\", () => {\n it.withCtx(\"returns a ${sentenceCase(name)}\", async (ctx) => {\n const ${tagName} = ${imp(`new${name}@${entitiesPath}`)}(ctx.em);\n const result = await run(ctx, () => ({ id: ${tagName}.id }));\n expect(result).toMatchEntity(${tagName});\n });\n });\n\n const run = ${makeRunQuery}(${resolverConst});\n `,\n };\n });\n\n return [...resolvers, ...testFiles];\n}\n"],"mappings":";;;;;AAMA,MAAM,iBAAiB,IAAI,iDAAiD;AAC5E,MAAM,eAAe,IAAI,yCAAyC;;;;AAKlE,SAAgB,uBAAuB,QAAgB,IAA+B;CACpF,MAAM,eAAe,sBAAsB,MAAM;CACjD,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM;EACvC,MAAM,EAAE,SAAS;EACjB,MAAM,YAAY,UAAU,IAAI;EAChC,MAAM,OAAO,IAAI,GAAG,KAAK,GAAG,cAAc;EAC1C,OAAO;GACL,MAAM,aAAa,UAAU,GAAG,UAAU;GAC1C,WAAW;GACX,UAAU,IAAI;yBACK,UAAU,SAAS,eAAe,KAAK,UAAU;oBACtD,UAAU;mCACK,KAAK;;;;EAIpC;CACF,CAAC;CAED,MAAM,YAAY,GAAG,SAAS,KAAK,MAAM;EACvC,MAAM,EAAE,MAAM,YAAY;EAC1B,MAAM,YAAY,UAAU,IAAI;EAChC,MAAM,gBAAgB,IAAI,GAAG,UAAU,iBAAiB,UAAU,GAAG,UAAU,SAAS;EACxF,OAAO;GACL,MAAM,aAAa,UAAU,GAAG,UAAU;GAC1C,WAAW;GACX,UAAU,IAAI;oBACA,UAAU;kCACI,aAAa,IAAI,EAAE;oBACjC,QAAQ,KAAK,IAAI,MAAM,KAAK,GAAG,cAAc,EAAE;yDACV,QAAQ;2CACtB,QAAQ;;;;sBAI7B,aAAa,GAAG,cAAc;;EAEhD;CACF,CAAC;CAED,OAAO,CAAC,GAAG,WAAW,GAAG,SAAS;AACpC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("joist-codegen");
|
|
3
|
+
let ts_poet = require("ts-poet");
|
|
4
|
+
//#region src/generateResolverUtils.ts
|
|
5
|
+
/** Generates project-level resolver utility exports. */
|
|
6
|
+
function generateResolverUtils(config) {
|
|
7
|
+
const paginate = (config.paginationStyle ?? "cursor") === "limit" ? "paginateLimit" : "paginateCursor";
|
|
8
|
+
return [{
|
|
9
|
+
name: "resolvers/utils.ts",
|
|
10
|
+
overwrite: false,
|
|
11
|
+
contents: ts_poet.code`
|
|
12
|
+
export {
|
|
13
|
+
${(0, ts_poet.imp)("entityResolver@joist-graphql-resolver-utils")},
|
|
14
|
+
${(0, ts_poet.imp)(`${paginate}@joist-graphql-resolver-utils`)} as paginate,
|
|
15
|
+
${(0, ts_poet.imp)("saveEntity@joist-graphql-resolver-utils")},
|
|
16
|
+
};
|
|
17
|
+
`
|
|
18
|
+
}, {
|
|
19
|
+
name: "resolvers/testUtils.ts",
|
|
20
|
+
overwrite: false,
|
|
21
|
+
contents: ts_poet.code`
|
|
22
|
+
import { type Context, run } from "joist-test-utils";
|
|
23
|
+
|
|
24
|
+
export { run };
|
|
25
|
+
|
|
26
|
+
export const makeRunInputMutation: ${(0, ts_poet.imp)("t:MakeRunInputMutation@joist-graphql-resolver-utils/tests")}<Context> = ${(0, ts_poet.imp)("makeMakeRunInputMutation@joist-graphql-resolver-utils/tests")}(run);
|
|
27
|
+
export const makeRunObjectField: ${(0, ts_poet.imp)("t:MakeRunObjectField@joist-graphql-resolver-utils/tests")}<Context> = ${(0, ts_poet.imp)("makeMakeRunObjectField@joist-graphql-resolver-utils/tests")}(run);
|
|
28
|
+
export const makeRunObjectFields: ${(0, ts_poet.imp)("t:MakeRunObjectFields@joist-graphql-resolver-utils/tests")}<Context> = ${(0, ts_poet.imp)("makeMakeRunObjectFields@joist-graphql-resolver-utils/tests")}(run);
|
|
29
|
+
export const makeRunQuery: ${(0, ts_poet.imp)("t:MakeRunQuery@joist-graphql-resolver-utils/tests")}<Context> = ${(0, ts_poet.imp)("makeMakeRunQuery@joist-graphql-resolver-utils/tests")}(run);
|
|
30
|
+
`
|
|
31
|
+
}];
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.generateResolverUtils = generateResolverUtils;
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=generateResolverUtils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateResolverUtils.cjs","names":["imp"],"sources":["../src/generateResolverUtils.ts"],"sourcesContent":["import { type Config } from \"joist-codegen\";\nimport { type CodegenFile, code, imp } from \"ts-poet\";\n\n/** Generates project-level resolver utility exports. */\nexport function generateResolverUtils(config: Config): CodegenFile[] {\n const paginate = (config.paginationStyle ?? \"cursor\") === \"limit\" ? \"paginateLimit\" : \"paginateCursor\";\n return [\n {\n name: \"resolvers/utils.ts\",\n overwrite: false,\n contents: code`\n export {\n ${imp(\"entityResolver@joist-graphql-resolver-utils\")},\n ${imp(`${paginate}@joist-graphql-resolver-utils`)} as paginate,\n ${imp(\"saveEntity@joist-graphql-resolver-utils\")},\n };\n `,\n },\n {\n name: \"resolvers/testUtils.ts\",\n overwrite: false,\n contents: code`\n import { type Context, run } from \"joist-test-utils\";\n\n export { run };\n\n export const makeRunInputMutation: ${imp(\"t:MakeRunInputMutation@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunInputMutation@joist-graphql-resolver-utils/tests\")}(run);\n export const makeRunObjectField: ${imp(\"t:MakeRunObjectField@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunObjectField@joist-graphql-resolver-utils/tests\")}(run);\n export const makeRunObjectFields: ${imp(\"t:MakeRunObjectFields@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunObjectFields@joist-graphql-resolver-utils/tests\")}(run);\n export const makeRunQuery: ${imp(\"t:MakeRunQuery@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunQuery@joist-graphql-resolver-utils/tests\")}(run);\n `,\n },\n ];\n}\n"],"mappings":";;;;;AAIA,SAAgB,sBAAsB,QAA+B;CACnE,MAAM,YAAY,OAAO,mBAAmB,cAAc,UAAU,kBAAkB;CACtF,OAAO,CACL;EACE,MAAM;EACN,WAAW;EACX,UAAU,QAAA,IAAI;;aAERA,GAAAA,QAAAA,IAAAA,CAAI,6CAA6C,EAAE;aACnDA,GAAAA,QAAAA,IAAAA,CAAI,GAAG,SAAS,8BAA8B,EAAE;aAChDA,GAAAA,QAAAA,IAAAA,CAAI,yCAAyC,EAAE;;;CAGvD,GACA;EACE,MAAM;EACN,WAAW;EACX,UAAU,QAAA,IAAI;;;;;8CAKyBA,GAAAA,QAAAA,IAAAA,CAAI,2DAA2D,EAAE,eAAA,GAAcA,QAAAA,IAAAA,CAAI,6DAA6D,EAAE;4CACpJA,GAAAA,QAAAA,IAAAA,CAAI,yDAAyD,EAAE,eAAA,GAAcA,QAAAA,IAAAA,CAAI,2DAA2D,EAAE;6CAC7IA,GAAAA,QAAAA,IAAAA,CAAI,0DAA0D,EAAE,eAAA,GAAcA,QAAAA,IAAAA,CAAI,4DAA4D,EAAE;sCACvJA,GAAAA,QAAAA,IAAAA,CAAI,mDAAmD,EAAE,eAAA,GAAcA,QAAAA,IAAAA,CAAI,qDAAqD,EAAE;;CAEnK,CACF;AACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Config } from "joist-codegen";
|
|
2
|
+
import { CodegenFile } from "ts-poet";
|
|
3
|
+
//#region src/generateResolverUtils.d.ts
|
|
4
|
+
/** Generates project-level resolver utility exports. */
|
|
5
|
+
declare function generateResolverUtils(config: Config): CodegenFile[];
|
|
6
|
+
//#endregion
|
|
7
|
+
export { generateResolverUtils };
|
|
8
|
+
//# sourceMappingURL=generateResolverUtils.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateResolverUtils.d.cts","names":[],"sources":["../src/generateResolverUtils.ts"],"mappings":";;;;iBAIgB,sBAAsB,QAAQ,SAAS"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Config } from "joist-codegen";
|
|
2
|
+
import { CodegenFile } from "ts-poet";
|
|
3
|
+
//#region src/generateResolverUtils.d.ts
|
|
4
|
+
/** Generates project-level resolver utility exports. */
|
|
5
|
+
declare function generateResolverUtils(config: Config): CodegenFile[];
|
|
6
|
+
//#endregion
|
|
7
|
+
export { generateResolverUtils };
|
|
8
|
+
//# sourceMappingURL=generateResolverUtils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateResolverUtils.d.mts","names":[],"sources":["../src/generateResolverUtils.ts"],"mappings":";;;;iBAIgB,sBAAsB,QAAQ,SAAS"}
|
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const ts_poet_1 = require("ts-poet");
|
|
1
|
+
import "joist-codegen";
|
|
2
|
+
import { code, imp } from "ts-poet";
|
|
3
|
+
//#region src/generateResolverUtils.ts
|
|
5
4
|
/** Generates project-level resolver utility exports. */
|
|
6
5
|
function generateResolverUtils(config) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
contents: (0, ts_poet_1.code) `
|
|
6
|
+
const paginate = (config.paginationStyle ?? "cursor") === "limit" ? "paginateLimit" : "paginateCursor";
|
|
7
|
+
return [{
|
|
8
|
+
name: "resolvers/utils.ts",
|
|
9
|
+
overwrite: false,
|
|
10
|
+
contents: code`
|
|
13
11
|
export {
|
|
14
|
-
${
|
|
15
|
-
${
|
|
16
|
-
${
|
|
12
|
+
${imp("entityResolver@joist-graphql-resolver-utils")},
|
|
13
|
+
${imp(`${paginate}@joist-graphql-resolver-utils`)} as paginate,
|
|
14
|
+
${imp("saveEntity@joist-graphql-resolver-utils")},
|
|
17
15
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
contents: (0, ts_poet_1.code) `
|
|
16
|
+
`
|
|
17
|
+
}, {
|
|
18
|
+
name: "resolvers/testUtils.ts",
|
|
19
|
+
overwrite: false,
|
|
20
|
+
contents: code`
|
|
24
21
|
import { type Context, run } from "joist-test-utils";
|
|
25
22
|
|
|
26
23
|
export { run };
|
|
27
24
|
|
|
28
|
-
export const makeRunInputMutation: ${
|
|
29
|
-
export const makeRunObjectField: ${
|
|
30
|
-
export const makeRunObjectFields: ${
|
|
31
|
-
export const makeRunQuery: ${
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
];
|
|
25
|
+
export const makeRunInputMutation: ${imp("t:MakeRunInputMutation@joist-graphql-resolver-utils/tests")}<Context> = ${imp("makeMakeRunInputMutation@joist-graphql-resolver-utils/tests")}(run);
|
|
26
|
+
export const makeRunObjectField: ${imp("t:MakeRunObjectField@joist-graphql-resolver-utils/tests")}<Context> = ${imp("makeMakeRunObjectField@joist-graphql-resolver-utils/tests")}(run);
|
|
27
|
+
export const makeRunObjectFields: ${imp("t:MakeRunObjectFields@joist-graphql-resolver-utils/tests")}<Context> = ${imp("makeMakeRunObjectFields@joist-graphql-resolver-utils/tests")}(run);
|
|
28
|
+
export const makeRunQuery: ${imp("t:MakeRunQuery@joist-graphql-resolver-utils/tests")}<Context> = ${imp("makeMakeRunQuery@joist-graphql-resolver-utils/tests")}(run);
|
|
29
|
+
`
|
|
30
|
+
}];
|
|
35
31
|
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { generateResolverUtils };
|
|
34
|
+
|
|
36
35
|
//# sourceMappingURL=generateResolverUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateResolverUtils.js","
|
|
1
|
+
{"version":3,"file":"generateResolverUtils.js","names":[],"sources":["../src/generateResolverUtils.ts"],"sourcesContent":["import { type Config } from \"joist-codegen\";\nimport { type CodegenFile, code, imp } from \"ts-poet\";\n\n/** Generates project-level resolver utility exports. */\nexport function generateResolverUtils(config: Config): CodegenFile[] {\n const paginate = (config.paginationStyle ?? \"cursor\") === \"limit\" ? \"paginateLimit\" : \"paginateCursor\";\n return [\n {\n name: \"resolvers/utils.ts\",\n overwrite: false,\n contents: code`\n export {\n ${imp(\"entityResolver@joist-graphql-resolver-utils\")},\n ${imp(`${paginate}@joist-graphql-resolver-utils`)} as paginate,\n ${imp(\"saveEntity@joist-graphql-resolver-utils\")},\n };\n `,\n },\n {\n name: \"resolvers/testUtils.ts\",\n overwrite: false,\n contents: code`\n import { type Context, run } from \"joist-test-utils\";\n\n export { run };\n\n export const makeRunInputMutation: ${imp(\"t:MakeRunInputMutation@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunInputMutation@joist-graphql-resolver-utils/tests\")}(run);\n export const makeRunObjectField: ${imp(\"t:MakeRunObjectField@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunObjectField@joist-graphql-resolver-utils/tests\")}(run);\n export const makeRunObjectFields: ${imp(\"t:MakeRunObjectFields@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunObjectFields@joist-graphql-resolver-utils/tests\")}(run);\n export const makeRunQuery: ${imp(\"t:MakeRunQuery@joist-graphql-resolver-utils/tests\")}<Context> = ${imp(\"makeMakeRunQuery@joist-graphql-resolver-utils/tests\")}(run);\n `,\n },\n ];\n}\n"],"mappings":";;;;AAIA,SAAgB,sBAAsB,QAA+B;CACnE,MAAM,YAAY,OAAO,mBAAmB,cAAc,UAAU,kBAAkB;CACtF,OAAO,CACL;EACE,MAAM;EACN,WAAW;EACX,UAAU,IAAI;;YAER,IAAI,6CAA6C,EAAE;YACnD,IAAI,GAAG,SAAS,8BAA8B,EAAE;YAChD,IAAI,yCAAyC,EAAE;;;CAGvD,GACA;EACE,MAAM;EACN,WAAW;EACX,UAAU,IAAI;;;;;6CAKyB,IAAI,2DAA2D,EAAE,cAAc,IAAI,6DAA6D,EAAE;2CACpJ,IAAI,yDAAyD,EAAE,cAAc,IAAI,2DAA2D,EAAE;4CAC7I,IAAI,0DAA0D,EAAE,cAAc,IAAI,4DAA4D,EAAE;qCACvJ,IAAI,mDAAmD,EAAE,cAAc,IAAI,qDAAqD,EAAE;;CAEnK,CACF;AACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_utils = require("./utils.cjs");
|
|
3
|
+
let change_case = require("change-case");
|
|
4
|
+
require("joist-codegen");
|
|
5
|
+
let ts_poet = require("ts-poet");
|
|
6
|
+
//#region src/generateSaveResolvers.ts
|
|
7
|
+
const saveEntity = (0, ts_poet.imp)("saveEntity@src/resolvers/utils.ts");
|
|
8
|
+
const mutationResolvers = (0, ts_poet.imp)("t:MutationResolvers@src/generated/graphql-types.ts");
|
|
9
|
+
const makeRunInputMutation = (0, ts_poet.imp)("makeRunInputMutation@src/resolvers/testUtils.ts");
|
|
10
|
+
/**
|
|
11
|
+
* Generates a save resolver.
|
|
12
|
+
*
|
|
13
|
+
* This basically preempts the Joist-agnostic resolvers generated by [1] b/c `joist-codegen`
|
|
14
|
+
* will run first and put these Joist-aware resolvers in place first.
|
|
15
|
+
*
|
|
16
|
+
* Then when [1] runs, it will only output resolver scaffolding for non-entity resolvers.
|
|
17
|
+
*
|
|
18
|
+
* [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
|
|
19
|
+
*/
|
|
20
|
+
function generateSaveResolvers(config, db) {
|
|
21
|
+
const entitiesPath = require_utils.getEntitiesImportPath(config);
|
|
22
|
+
return db.entities.flatMap((e) => {
|
|
23
|
+
const { name } = e;
|
|
24
|
+
const camelName = (0, change_case.camelCase)(name);
|
|
25
|
+
const type = (0, ts_poet.imp)(`${name}@${entitiesPath}`);
|
|
26
|
+
const fileName = `save${name}Mutation`;
|
|
27
|
+
const resolverConst = (0, ts_poet.imp)(`save${name}@src/resolvers/${camelName}/${fileName}.ts`);
|
|
28
|
+
return [{
|
|
29
|
+
name: `resolvers/${camelName}/${fileName}.ts`,
|
|
30
|
+
overwrite: false,
|
|
31
|
+
contents: ts_poet.code`
|
|
32
|
+
export const save${name}: Pick<${mutationResolvers}, "save${name}"> = {
|
|
33
|
+
async save${name}(_, args, ctx) {
|
|
34
|
+
return { ${camelName}: await ${saveEntity}(ctx, ${type}, args.input) };
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
`
|
|
38
|
+
}, {
|
|
39
|
+
name: `resolvers/${camelName}/${fileName}.test.ts`,
|
|
40
|
+
overwrite: false,
|
|
41
|
+
contents: ts_poet.code`
|
|
42
|
+
describe("save${name}", () => {
|
|
43
|
+
it.withCtx("can create", async (ctx) => {
|
|
44
|
+
const result = await runSave(ctx, () => ({}));
|
|
45
|
+
expect(result).toBeDefined()
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const runSave = ${makeRunInputMutation}(${resolverConst});
|
|
50
|
+
`
|
|
51
|
+
}];
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
exports.generateSaveResolvers = generateSaveResolvers;
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=generateSaveResolvers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSaveResolvers.cjs","names":["imp","getEntitiesImportPath","camelCase"],"sources":["../src/generateSaveResolvers.ts"],"sourcesContent":["import { camelCase } from \"change-case\";\nimport { type Config, type DbMetadata } from \"joist-codegen\";\nimport { type CodegenFile, code, imp } from \"ts-poet\";\n\nimport { getEntitiesImportPath } from \"./utils.ts\";\n\nconst saveEntity = imp(\"saveEntity@src/resolvers/utils.ts\");\nconst mutationResolvers = imp(\"t:MutationResolvers@src/generated/graphql-types.ts\");\nconst makeRunInputMutation = imp(\"makeRunInputMutation@src/resolvers/testUtils.ts\");\n\n/**\n * Generates a save resolver.\n *\n * This basically preempts the Joist-agnostic resolvers generated by [1] b/c `joist-codegen`\n * will run first and put these Joist-aware resolvers in place first.\n *\n * Then when [1] runs, it will only output resolver scaffolding for non-entity resolvers.\n *\n * [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding\n */\nexport function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[] {\n const entitiesPath = getEntitiesImportPath(config);\n return db.entities.flatMap((e) => {\n const { name } = e;\n const camelName = camelCase(name);\n const type = imp(`${name}@${entitiesPath}`);\n const fileName = `save${name}Mutation`;\n const resolverConst = imp(`save${name}@src/resolvers/${camelName}/${fileName}.ts`);\n return [\n {\n name: `resolvers/${camelName}/${fileName}.ts`,\n overwrite: false,\n contents: code`\n export const save${name}: Pick<${mutationResolvers}, \"save${name}\"> = {\n async save${name}(_, args, ctx) {\n return { ${camelName}: await ${saveEntity}(ctx, ${type}, args.input) };\n },\n };\n `,\n },\n {\n name: `resolvers/${camelName}/${fileName}.test.ts`,\n overwrite: false,\n contents: code`\n describe(\"save${name}\", () => {\n it.withCtx(\"can create\", async (ctx) => {\n const result = await runSave(ctx, () => ({}));\n expect(result).toBeDefined()\n });\n });\n\n const runSave = ${makeRunInputMutation}(${resolverConst});\n `,\n },\n ];\n });\n}\n"],"mappings":";;;;;;AAMA,MAAM,cAAA,GAAaA,QAAAA,IAAAA,CAAI,mCAAmC;AAC1D,MAAM,qBAAA,GAAoBA,QAAAA,IAAAA,CAAI,oDAAoD;AAClF,MAAM,wBAAA,GAAuBA,QAAAA,IAAAA,CAAI,iDAAiD;;;;;;;;;;;AAYlF,SAAgB,sBAAsB,QAAgB,IAA+B;CACnF,MAAM,eAAeC,cAAAA,sBAAsB,MAAM;CACjD,OAAO,GAAG,SAAS,SAAS,MAAM;EAChC,MAAM,EAAE,SAAS;EACjB,MAAM,aAAA,GAAYC,YAAAA,UAAAA,CAAU,IAAI;EAChC,MAAM,QAAA,GAAOF,QAAAA,IAAAA,CAAI,GAAG,KAAK,GAAG,cAAc;EAC1C,MAAM,WAAW,OAAO,KAAK;EAC7B,MAAM,iBAAA,GAAgBA,QAAAA,IAAAA,CAAI,OAAO,KAAK,iBAAiB,UAAU,GAAG,SAAS,IAAI;EACjF,OAAO,CACL;GACE,MAAM,aAAa,UAAU,GAAG,SAAS;GACzC,WAAW;GACX,UAAU,QAAA,IAAI;6BACO,KAAK,SAAS,kBAAkB,SAAS,KAAK;wBACnD,KAAK;yBACJ,UAAU,UAAU,WAAW,QAAQ,KAAK;;;;EAI/D,GACA;GACE,MAAM,aAAa,UAAU,GAAG,SAAS;GACzC,WAAW;GACX,UAAU,QAAA,IAAI;wBACE,KAAK;;;;;;;0BAOH,qBAAqB,GAAG,cAAc;;EAE1D,CACF;CACF,CAAC;AACH"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Config, DbMetadata } from "joist-codegen";
|
|
2
2
|
import { CodegenFile } from "ts-poet";
|
|
3
|
+
//#region src/generateSaveResolvers.d.ts
|
|
3
4
|
/**
|
|
4
5
|
* Generates a save resolver.
|
|
5
6
|
*
|
|
@@ -10,4 +11,7 @@ import { CodegenFile } from "ts-poet";
|
|
|
10
11
|
*
|
|
11
12
|
* [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
|
+
declare function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[];
|
|
15
|
+
//#endregion
|
|
16
|
+
export { generateSaveResolvers };
|
|
17
|
+
//# sourceMappingURL=generateSaveResolvers.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSaveResolvers.d.cts","names":[],"sources":["../src/generateSaveResolvers.ts"],"mappings":";;;;;;;;;;;;;iBAoBgB,sBAAsB,QAAQ,QAAQ,IAAI,aAAa"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Config, DbMetadata } from "joist-codegen";
|
|
2
|
+
import { CodegenFile } from "ts-poet";
|
|
3
|
+
//#region src/generateSaveResolvers.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Generates a save resolver.
|
|
6
|
+
*
|
|
7
|
+
* This basically preempts the Joist-agnostic resolvers generated by [1] b/c `joist-codegen`
|
|
8
|
+
* will run first and put these Joist-aware resolvers in place first.
|
|
9
|
+
*
|
|
10
|
+
* Then when [1] runs, it will only output resolver scaffolding for non-entity resolvers.
|
|
11
|
+
*
|
|
12
|
+
* [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
|
|
13
|
+
*/
|
|
14
|
+
declare function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[];
|
|
15
|
+
//#endregion
|
|
16
|
+
export { generateSaveResolvers };
|
|
17
|
+
//# sourceMappingURL=generateSaveResolvers.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateSaveResolvers.d.mts","names":[],"sources":["../src/generateSaveResolvers.ts"],"mappings":";;;;;;;;;;;;;iBAoBgB,sBAAsB,QAAQ,QAAQ,IAAI,aAAa"}
|
|
@@ -1,46 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const makeRunInputMutation = (0, ts_poet_1.imp)("makeRunInputMutation@src/resolvers/testUtils.ts");
|
|
1
|
+
import { getEntitiesImportPath } from "./utils.js";
|
|
2
|
+
import { camelCase } from "change-case";
|
|
3
|
+
import "joist-codegen";
|
|
4
|
+
import { code, imp } from "ts-poet";
|
|
5
|
+
//#region src/generateSaveResolvers.ts
|
|
6
|
+
const saveEntity = imp("saveEntity@src/resolvers/utils.ts");
|
|
7
|
+
const mutationResolvers = imp("t:MutationResolvers@src/generated/graphql-types.ts");
|
|
8
|
+
const makeRunInputMutation = imp("makeRunInputMutation@src/resolvers/testUtils.ts");
|
|
10
9
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
* Generates a save resolver.
|
|
11
|
+
*
|
|
12
|
+
* This basically preempts the Joist-agnostic resolvers generated by [1] b/c `joist-codegen`
|
|
13
|
+
* will run first and put these Joist-aware resolvers in place first.
|
|
14
|
+
*
|
|
15
|
+
* Then when [1] runs, it will only output resolver scaffolding for non-entity resolvers.
|
|
16
|
+
*
|
|
17
|
+
* [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding
|
|
18
|
+
*/
|
|
20
19
|
function generateSaveResolvers(config, db) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
contents: (0, ts_poet_1.code) `
|
|
20
|
+
const entitiesPath = getEntitiesImportPath(config);
|
|
21
|
+
return db.entities.flatMap((e) => {
|
|
22
|
+
const { name } = e;
|
|
23
|
+
const camelName = camelCase(name);
|
|
24
|
+
const type = imp(`${name}@${entitiesPath}`);
|
|
25
|
+
const fileName = `save${name}Mutation`;
|
|
26
|
+
const resolverConst = imp(`save${name}@src/resolvers/${camelName}/${fileName}.ts`);
|
|
27
|
+
return [{
|
|
28
|
+
name: `resolvers/${camelName}/${fileName}.ts`,
|
|
29
|
+
overwrite: false,
|
|
30
|
+
contents: code`
|
|
33
31
|
export const save${name}: Pick<${mutationResolvers}, "save${name}"> = {
|
|
34
32
|
async save${name}(_, args, ctx) {
|
|
35
33
|
return { ${camelName}: await ${saveEntity}(ctx, ${type}, args.input) };
|
|
36
34
|
},
|
|
37
35
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
contents: (0, ts_poet_1.code) `
|
|
36
|
+
`
|
|
37
|
+
}, {
|
|
38
|
+
name: `resolvers/${camelName}/${fileName}.test.ts`,
|
|
39
|
+
overwrite: false,
|
|
40
|
+
contents: code`
|
|
44
41
|
describe("save${name}", () => {
|
|
45
42
|
it.withCtx("can create", async (ctx) => {
|
|
46
43
|
const result = await runSave(ctx, () => ({}));
|
|
@@ -49,9 +46,11 @@ function generateSaveResolvers(config, db) {
|
|
|
49
46
|
});
|
|
50
47
|
|
|
51
48
|
const runSave = ${makeRunInputMutation}(${resolverConst});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
49
|
+
`
|
|
50
|
+
}];
|
|
51
|
+
});
|
|
56
52
|
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { generateSaveResolvers };
|
|
55
|
+
|
|
57
56
|
//# sourceMappingURL=generateSaveResolvers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateSaveResolvers.js","
|
|
1
|
+
{"version":3,"file":"generateSaveResolvers.js","names":[],"sources":["../src/generateSaveResolvers.ts"],"sourcesContent":["import { camelCase } from \"change-case\";\nimport { type Config, type DbMetadata } from \"joist-codegen\";\nimport { type CodegenFile, code, imp } from \"ts-poet\";\n\nimport { getEntitiesImportPath } from \"./utils.ts\";\n\nconst saveEntity = imp(\"saveEntity@src/resolvers/utils.ts\");\nconst mutationResolvers = imp(\"t:MutationResolvers@src/generated/graphql-types.ts\");\nconst makeRunInputMutation = imp(\"makeRunInputMutation@src/resolvers/testUtils.ts\");\n\n/**\n * Generates a save resolver.\n *\n * This basically preempts the Joist-agnostic resolvers generated by [1] b/c `joist-codegen`\n * will run first and put these Joist-aware resolvers in place first.\n *\n * Then when [1] runs, it will only output resolver scaffolding for non-entity resolvers.\n *\n * [1]: https://github.com/homebound-team/graphql-typescript-resolver-scaffolding\n */\nexport function generateSaveResolvers(config: Config, db: DbMetadata): CodegenFile[] {\n const entitiesPath = getEntitiesImportPath(config);\n return db.entities.flatMap((e) => {\n const { name } = e;\n const camelName = camelCase(name);\n const type = imp(`${name}@${entitiesPath}`);\n const fileName = `save${name}Mutation`;\n const resolverConst = imp(`save${name}@src/resolvers/${camelName}/${fileName}.ts`);\n return [\n {\n name: `resolvers/${camelName}/${fileName}.ts`,\n overwrite: false,\n contents: code`\n export const save${name}: Pick<${mutationResolvers}, \"save${name}\"> = {\n async save${name}(_, args, ctx) {\n return { ${camelName}: await ${saveEntity}(ctx, ${type}, args.input) };\n },\n };\n `,\n },\n {\n name: `resolvers/${camelName}/${fileName}.test.ts`,\n overwrite: false,\n contents: code`\n describe(\"save${name}\", () => {\n it.withCtx(\"can create\", async (ctx) => {\n const result = await runSave(ctx, () => ({}));\n expect(result).toBeDefined()\n });\n });\n\n const runSave = ${makeRunInputMutation}(${resolverConst});\n `,\n },\n ];\n });\n}\n"],"mappings":";;;;;AAMA,MAAM,aAAa,IAAI,mCAAmC;AAC1D,MAAM,oBAAoB,IAAI,oDAAoD;AAClF,MAAM,uBAAuB,IAAI,iDAAiD;;;;;;;;;;;AAYlF,SAAgB,sBAAsB,QAAgB,IAA+B;CACnF,MAAM,eAAe,sBAAsB,MAAM;CACjD,OAAO,GAAG,SAAS,SAAS,MAAM;EAChC,MAAM,EAAE,SAAS;EACjB,MAAM,YAAY,UAAU,IAAI;EAChC,MAAM,OAAO,IAAI,GAAG,KAAK,GAAG,cAAc;EAC1C,MAAM,WAAW,OAAO,KAAK;EAC7B,MAAM,gBAAgB,IAAI,OAAO,KAAK,iBAAiB,UAAU,GAAG,SAAS,IAAI;EACjF,OAAO,CACL;GACE,MAAM,aAAa,UAAU,GAAG,SAAS;GACzC,WAAW;GACX,UAAU,IAAI;6BACO,KAAK,SAAS,kBAAkB,SAAS,KAAK;wBACnD,KAAK;yBACJ,UAAU,UAAU,WAAW,QAAQ,KAAK;;;;EAI/D,GACA;GACE,MAAM,aAAa,UAAU,GAAG,SAAS;GACzC,WAAW;GACX,UAAU,IAAI;wBACE,KAAK;;;;;;;0BAOH,qBAAqB,GAAG,cAAc;;EAE1D,CACF;CACF,CAAC;AACH"}
|