@stryke/prisma-trpc-generator 0.13.48 → 0.13.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +31 -1
  2. package/dist/_virtual/rolldown_runtime.mjs +32 -1
  3. package/dist/config.cjs +50 -1
  4. package/dist/config.mjs +49 -1
  5. package/dist/config.mjs.map +1 -1
  6. package/dist/generator.cjs +1 -1
  7. package/dist/generator.mjs +3 -1
  8. package/dist/helpers.cjs +281 -32
  9. package/dist/helpers.mjs +271 -32
  10. package/dist/helpers.mjs.map +1 -1
  11. package/dist/index.cjs +26 -1
  12. package/dist/index.mjs +27 -1
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/packages/env/src/get-env-paths.cjs +87 -1
  15. package/dist/packages/env/src/get-env-paths.mjs +84 -1
  16. package/dist/packages/env/src/get-env-paths.mjs.map +1 -1
  17. package/dist/packages/string-format/src/acronyms.cjs +408 -1
  18. package/dist/packages/string-format/src/acronyms.mjs +407 -1
  19. package/dist/packages/string-format/src/acronyms.mjs.map +1 -1
  20. package/dist/packages/string-format/src/articles.cjs +10 -1
  21. package/dist/packages/string-format/src/articles.mjs +9 -1
  22. package/dist/packages/string-format/src/articles.mjs.map +1 -1
  23. package/dist/packages/string-format/src/combine.cjs +15 -1
  24. package/dist/packages/string-format/src/combine.mjs +14 -1
  25. package/dist/packages/string-format/src/combine.mjs.map +1 -1
  26. package/dist/packages/string-format/src/conjunctions.cjs +32 -1
  27. package/dist/packages/string-format/src/conjunctions.mjs +31 -1
  28. package/dist/packages/string-format/src/conjunctions.mjs.map +1 -1
  29. package/dist/packages/string-format/src/decamelize.cjs +14 -1
  30. package/dist/packages/string-format/src/decamelize.mjs +13 -1
  31. package/dist/packages/string-format/src/decamelize.mjs.map +1 -1
  32. package/dist/packages/string-format/src/format-special-cases.cjs +33 -1
  33. package/dist/packages/string-format/src/format-special-cases.mjs +33 -1
  34. package/dist/packages/string-format/src/format-special-cases.mjs.map +1 -1
  35. package/dist/packages/string-format/src/lower-case-first.cjs +17 -1
  36. package/dist/packages/string-format/src/lower-case-first.mjs +16 -1
  37. package/dist/packages/string-format/src/lower-case-first.mjs.map +1 -1
  38. package/dist/packages/string-format/src/prepositions.cjs +68 -1
  39. package/dist/packages/string-format/src/prepositions.mjs +67 -1
  40. package/dist/packages/string-format/src/prepositions.mjs.map +1 -1
  41. package/dist/packages/string-format/src/special-cases.cjs +53 -1
  42. package/dist/packages/string-format/src/special-cases.mjs +52 -1
  43. package/dist/packages/string-format/src/special-cases.mjs.map +1 -1
  44. package/dist/packages/string-format/src/title-case.cjs +19 -1
  45. package/dist/packages/string-format/src/title-case.mjs +19 -1
  46. package/dist/packages/string-format/src/title-case.mjs.map +1 -1
  47. package/dist/packages/string-format/src/upper-case-first.cjs +17 -1
  48. package/dist/packages/string-format/src/upper-case-first.mjs +16 -1
  49. package/dist/packages/string-format/src/upper-case-first.mjs.map +1 -1
  50. package/dist/prisma-generator.cjs +185 -8
  51. package/dist/prisma-generator.mjs +184 -8
  52. package/dist/prisma-generator.mjs.map +1 -1
  53. package/dist/project.cjs +15 -1
  54. package/dist/project.mjs +14 -1
  55. package/dist/project.mjs.map +1 -1
  56. package/dist/utils/format-file.cjs +25 -1
  57. package/dist/utils/format-file.mjs +23 -1
  58. package/dist/utils/format-file.mjs.map +1 -1
  59. package/dist/utils/get-jiti.cjs +21 -1
  60. package/dist/utils/get-jiti.mjs +20 -1
  61. package/dist/utils/get-jiti.mjs.map +1 -1
  62. package/dist/utils/get-prisma-internals.cjs +13 -1
  63. package/dist/utils/get-prisma-internals.mjs +12 -1
  64. package/dist/utils/get-prisma-internals.mjs.map +1 -1
  65. package/dist/utils/write-file-safely.cjs +32 -2
  66. package/dist/utils/write-file-safely.mjs +29 -2
  67. package/dist/utils/write-file-safely.mjs.map +1 -1
  68. package/dist/zod/aggregate-helpers.cjs +70 -1
  69. package/dist/zod/aggregate-helpers.mjs +67 -1
  70. package/dist/zod/aggregate-helpers.mjs.map +1 -1
  71. package/dist/zod/comments-helpers.cjs +77 -1
  72. package/dist/zod/comments-helpers.mjs +75 -1
  73. package/dist/zod/comments-helpers.mjs.map +1 -1
  74. package/dist/zod/docs-helpers.cjs +23 -3
  75. package/dist/zod/docs-helpers.mjs +20 -3
  76. package/dist/zod/docs-helpers.mjs.map +1 -1
  77. package/dist/zod/generator-helpers.cjs +34 -1
  78. package/dist/zod/generator-helpers.mjs +31 -1
  79. package/dist/zod/generator-helpers.mjs.map +1 -1
  80. package/dist/zod/helpers.cjs +26 -1
  81. package/dist/zod/helpers.mjs +26 -1
  82. package/dist/zod/helpers.mjs.map +1 -1
  83. package/dist/zod/include-helpers.cjs +69 -1
  84. package/dist/zod/include-helpers.mjs +69 -1
  85. package/dist/zod/include-helpers.mjs.map +1 -1
  86. package/dist/zod/model-helpers.cjs +244 -1
  87. package/dist/zod/model-helpers.mjs +236 -1
  88. package/dist/zod/model-helpers.mjs.map +1 -1
  89. package/dist/zod/modelArgs-helpers.cjs +56 -1
  90. package/dist/zod/modelArgs-helpers.mjs +56 -1
  91. package/dist/zod/modelArgs-helpers.mjs.map +1 -1
  92. package/dist/zod/mongodb-helpers.cjs +49 -1
  93. package/dist/zod/mongodb-helpers.mjs +48 -1
  94. package/dist/zod/mongodb-helpers.mjs.map +1 -1
  95. package/dist/zod/select-helpers.cjs +128 -1
  96. package/dist/zod/select-helpers.mjs +128 -1
  97. package/dist/zod/select-helpers.mjs.map +1 -1
  98. package/dist/zod/transformer.cjs +434 -19
  99. package/dist/zod/transformer.mjs +432 -19
  100. package/dist/zod/transformer.mjs.map +1 -1
  101. package/dist/zod/whereUniqueInput-helpers.cjs +17 -1
  102. package/dist/zod/whereUniqueInput-helpers.mjs +16 -1
  103. package/dist/zod/whereUniqueInput-helpers.mjs.map +1 -1
  104. package/package.json +4 -4
@@ -1,2 +1,57 @@
1
- import{checkModelHasModelRelation as e}from"./model-helpers.mjs";function t(e,t,r,i){let a=n(t,r,i);for(let t of a)e.push(t)}function n(t,n,r){let i=[];for(let a of t){let{name:t}=a,o=[];if(n){let e={name:`select`,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`${t}Select`,location:`inputObjectTypes`,namespace:`prisma`}]};o.push(e)}let s=e(a);if(r&&s){let e={name:`include`,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`${t}Include`,location:`inputObjectTypes`,namespace:`prisma`}]};o.push(e)}let c={name:`${t}DefaultArgs`,constraints:{maxNumFields:null,minNumFields:null},fields:o};i.push(c)}return i}export{t as addMissingInputObjectTypesForModelArgs};
1
+ import { checkModelHasModelRelation } from "./model-helpers.mjs";
2
+
3
+ //#region src/zod/modelArgs-helpers.ts
4
+ function addMissingInputObjectTypesForModelArgs(inputObjectTypes, models, isGenerateSelect, isGenerateInclude) {
5
+ const modelArgsInputObjectTypes = generateModelArgsInputObjectTypes(models, isGenerateSelect, isGenerateInclude);
6
+ for (const modelArgsInputObjectType of modelArgsInputObjectTypes) inputObjectTypes.push(modelArgsInputObjectType);
7
+ }
8
+ function generateModelArgsInputObjectTypes(models, isGenerateSelect, isGenerateInclude) {
9
+ const modelArgsInputObjectTypes = [];
10
+ for (const model of models) {
11
+ const { name: modelName } = model;
12
+ const fields = [];
13
+ if (isGenerateSelect) {
14
+ const selectField = {
15
+ name: "select",
16
+ isRequired: false,
17
+ isNullable: false,
18
+ inputTypes: [{
19
+ isList: false,
20
+ type: `${modelName}Select`,
21
+ location: "inputObjectTypes",
22
+ namespace: "prisma"
23
+ }]
24
+ };
25
+ fields.push(selectField);
26
+ }
27
+ const hasRelationToAnotherModel = checkModelHasModelRelation(model);
28
+ if (isGenerateInclude && hasRelationToAnotherModel) {
29
+ const includeField = {
30
+ name: "include",
31
+ isRequired: false,
32
+ isNullable: false,
33
+ inputTypes: [{
34
+ isList: false,
35
+ type: `${modelName}Include`,
36
+ location: "inputObjectTypes",
37
+ namespace: "prisma"
38
+ }]
39
+ };
40
+ fields.push(includeField);
41
+ }
42
+ const modelArgsInputObjectType = {
43
+ name: `${modelName}DefaultArgs`,
44
+ constraints: {
45
+ maxNumFields: null,
46
+ minNumFields: null
47
+ },
48
+ fields
49
+ };
50
+ modelArgsInputObjectTypes.push(modelArgsInputObjectType);
51
+ }
52
+ return modelArgsInputObjectTypes;
53
+ }
54
+
55
+ //#endregion
56
+ export { addMissingInputObjectTypesForModelArgs };
2
57
  //# sourceMappingURL=modelArgs-helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"modelArgs-helpers.mjs","names":["modelArgsInputObjectTypes: DMMF.InputType[]","fields: DMMF.SchemaArg[]","selectField: DMMF.SchemaArg","includeField: DMMF.SchemaArg","modelArgsInputObjectType: DMMF.InputType"],"sources":["../../src/zod/modelArgs-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport { checkModelHasModelRelation } from \"./model-helpers\";\n\nexport function addMissingInputObjectTypesForModelArgs(\n inputObjectTypes: DMMF.InputType[],\n models: DMMF.Model[],\n isGenerateSelect: boolean,\n isGenerateInclude: boolean\n) {\n const modelArgsInputObjectTypes = generateModelArgsInputObjectTypes(\n models,\n isGenerateSelect,\n isGenerateInclude\n );\n\n for (const modelArgsInputObjectType of modelArgsInputObjectTypes) {\n inputObjectTypes.push(modelArgsInputObjectType);\n }\n}\nfunction generateModelArgsInputObjectTypes(\n models: DMMF.Model[],\n isGenerateSelect: boolean,\n isGenerateInclude: boolean\n) {\n const modelArgsInputObjectTypes: DMMF.InputType[] = [];\n for (const model of models) {\n const { name: modelName } = model;\n const fields: DMMF.SchemaArg[] = [];\n\n if (isGenerateSelect) {\n const selectField: DMMF.SchemaArg = {\n name: \"select\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `${modelName}Select`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n };\n fields.push(selectField);\n }\n\n const hasRelationToAnotherModel = checkModelHasModelRelation(model);\n\n if (isGenerateInclude && hasRelationToAnotherModel) {\n const includeField: DMMF.SchemaArg = {\n name: \"include\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `${modelName}Include`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n };\n fields.push(includeField);\n }\n\n const modelArgsInputObjectType: DMMF.InputType = {\n name: `${modelName}DefaultArgs`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields\n };\n modelArgsInputObjectTypes.push(modelArgsInputObjectType);\n }\n\n return modelArgsInputObjectTypes;\n}\n"],"mappings":"iEAoBA,SAAgB,EACd,EACA,EACA,EACA,EACA,CACA,IAAM,EAA4B,EAChC,EACA,EACA,EACD,CAED,IAAK,IAAM,KAA4B,EACrC,EAAiB,KAAK,EAAyB,CAGnD,SAAS,EACP,EACA,EACA,EACA,CACA,IAAMA,EAA8C,EAAE,CACtD,IAAK,IAAM,KAAS,EAAQ,CAC1B,GAAM,CAAE,KAAM,GAAc,EACtBC,EAA2B,EAAE,CAEnC,GAAI,EAAkB,CACpB,IAAMC,EAA8B,CAClC,KAAM,SACN,WAAY,GACZ,WAAY,GACZ,WAAY,CACV,CACE,OAAQ,GACR,KAAM,GAAG,EAAU,QACnB,SAAU,mBACV,UAAW,SACZ,CACF,CACF,CACD,EAAO,KAAK,EAAY,CAG1B,IAAM,EAA4B,EAA2B,EAAM,CAEnE,GAAI,GAAqB,EAA2B,CAClD,IAAMC,EAA+B,CACnC,KAAM,UACN,WAAY,GACZ,WAAY,GACZ,WAAY,CACV,CACE,OAAQ,GACR,KAAM,GAAG,EAAU,SACnB,SAAU,mBACV,UAAW,SACZ,CACF,CACF,CACD,EAAO,KAAK,EAAa,CAG3B,IAAMC,EAA2C,CAC/C,KAAM,GAAG,EAAU,aACnB,YAAa,CACX,aAAc,KACd,aAAc,KACf,CACD,SACD,CACD,EAA0B,KAAK,EAAyB,CAG1D,OAAO"}
1
+ {"version":3,"file":"modelArgs-helpers.mjs","names":["modelArgsInputObjectTypes: DMMF.InputType[]","fields: DMMF.SchemaArg[]","selectField: DMMF.SchemaArg","includeField: DMMF.SchemaArg","modelArgsInputObjectType: DMMF.InputType"],"sources":["../../src/zod/modelArgs-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport { checkModelHasModelRelation } from \"./model-helpers\";\n\nexport function addMissingInputObjectTypesForModelArgs(\n inputObjectTypes: DMMF.InputType[],\n models: DMMF.Model[],\n isGenerateSelect: boolean,\n isGenerateInclude: boolean\n) {\n const modelArgsInputObjectTypes = generateModelArgsInputObjectTypes(\n models,\n isGenerateSelect,\n isGenerateInclude\n );\n\n for (const modelArgsInputObjectType of modelArgsInputObjectTypes) {\n inputObjectTypes.push(modelArgsInputObjectType);\n }\n}\nfunction generateModelArgsInputObjectTypes(\n models: DMMF.Model[],\n isGenerateSelect: boolean,\n isGenerateInclude: boolean\n) {\n const modelArgsInputObjectTypes: DMMF.InputType[] = [];\n for (const model of models) {\n const { name: modelName } = model;\n const fields: DMMF.SchemaArg[] = [];\n\n if (isGenerateSelect) {\n const selectField: DMMF.SchemaArg = {\n name: \"select\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `${modelName}Select`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n };\n fields.push(selectField);\n }\n\n const hasRelationToAnotherModel = checkModelHasModelRelation(model);\n\n if (isGenerateInclude && hasRelationToAnotherModel) {\n const includeField: DMMF.SchemaArg = {\n name: \"include\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `${modelName}Include`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n };\n fields.push(includeField);\n }\n\n const modelArgsInputObjectType: DMMF.InputType = {\n name: `${modelName}DefaultArgs`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields\n };\n modelArgsInputObjectTypes.push(modelArgsInputObjectType);\n }\n\n return modelArgsInputObjectTypes;\n}\n"],"mappings":";;;AAoBA,SAAgB,uCACd,kBACA,QACA,kBACA,mBACA;CACA,MAAM,4BAA4B,kCAChC,QACA,kBACA,kBACD;AAED,MAAK,MAAM,4BAA4B,0BACrC,kBAAiB,KAAK,yBAAyB;;AAGnD,SAAS,kCACP,QACA,kBACA,mBACA;CACA,MAAMA,4BAA8C,EAAE;AACtD,MAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,EAAE,MAAM,cAAc;EAC5B,MAAMC,SAA2B,EAAE;AAEnC,MAAI,kBAAkB;GACpB,MAAMC,cAA8B;IAClC,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY,CACV;KACE,QAAQ;KACR,MAAM,GAAG,UAAU;KACnB,UAAU;KACV,WAAW;KACZ,CACF;IACF;AACD,UAAO,KAAK,YAAY;;EAG1B,MAAM,4BAA4B,2BAA2B,MAAM;AAEnE,MAAI,qBAAqB,2BAA2B;GAClD,MAAMC,eAA+B;IACnC,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY,CACV;KACE,QAAQ;KACR,MAAM,GAAG,UAAU;KACnB,UAAU;KACV,WAAW;KACZ,CACF;IACF;AACD,UAAO,KAAK,aAAa;;EAG3B,MAAMC,2BAA2C;GAC/C,MAAM,GAAG,UAAU;GACnB,aAAa;IACX,cAAc;IACd,cAAc;IACf;GACD;GACD;AACD,4BAA0B,KAAK,yBAAyB;;AAG1D,QAAO"}
@@ -1 +1,49 @@
1
- const e=require(`./transformer.cjs`);function t(t,i,a){e.default.rawOpsMap=n(t)??{};let o=r(i);for(let e of o)a.push(e)}function n(e){let t={},n=[...new Set(e.reduce((e,t)=>(Object.keys(t)?.forEach(t=>{t.includes(`Raw`)&&e.push(t)}),e),[]))],r=e.map(e=>e.model);return n.forEach(e=>{r.forEach(n=>{let r=e===`findRaw`,i=`${e.replace(`Raw`,``)}${n}Raw`;t[i]=r?`${n}FindRawArgs`:`${n}AggregateRawArgs`})}),t}function r(e){return i(e).map(e=>({name:e.name,constraints:{maxNumFields:null,minNumFields:null},fields:e.args.map(e=>({name:e.name,isRequired:e.isRequired,isNullable:e.isNullable,inputTypes:e.inputTypes}))}))}function i(e){return e.filter(e=>e.name===`Query`)?.[0].fields.filter(e=>e.name.includes(`Raw`))??[]}const a=e=>/find[\s\S]*?Raw/.test(e)||/aggregate[\s\S]*?Raw/.test(e);exports.addMissingInputObjectTypesForMongoDbRawOpsAndQueries=t,exports.isMongodbRawOp=a;
1
+ const require_transformer = require('./transformer.cjs');
2
+
3
+ //#region src/zod/mongodb-helpers.ts
4
+ function addMissingInputObjectTypesForMongoDbRawOpsAndQueries(modelOperations, outputObjectTypes, inputObjectTypes) {
5
+ require_transformer.default.rawOpsMap = resolveMongoDbRawOperations(modelOperations) ?? {};
6
+ const mongoDbRawQueryInputObjectTypes = resolveMongoDbRawQueryInputObjectTypes(outputObjectTypes);
7
+ for (const mongoDbRawQueryInputType of mongoDbRawQueryInputObjectTypes) inputObjectTypes.push(mongoDbRawQueryInputType);
8
+ }
9
+ function resolveMongoDbRawOperations(modelOperations) {
10
+ const rawOpsMap = {};
11
+ const rawOpsNames = [...new Set(modelOperations.reduce((result, current) => {
12
+ Object.keys(current)?.forEach((key) => {
13
+ if (key.includes("Raw")) result.push(key);
14
+ });
15
+ return result;
16
+ }, []))];
17
+ const modelNames = modelOperations.map((item) => item.model);
18
+ rawOpsNames.forEach((opName) => {
19
+ modelNames.forEach((modelName) => {
20
+ const isFind = opName === "findRaw";
21
+ const opWithModel = `${opName.replace("Raw", "")}${modelName}Raw`;
22
+ rawOpsMap[opWithModel] = isFind ? `${modelName}FindRawArgs` : `${modelName}AggregateRawArgs`;
23
+ });
24
+ });
25
+ return rawOpsMap;
26
+ }
27
+ function resolveMongoDbRawQueryInputObjectTypes(outputObjectTypes) {
28
+ return getMongoDbRawQueries(outputObjectTypes).map((item) => ({
29
+ name: item.name,
30
+ constraints: {
31
+ maxNumFields: null,
32
+ minNumFields: null
33
+ },
34
+ fields: item.args.map((arg) => ({
35
+ name: arg.name,
36
+ isRequired: arg.isRequired,
37
+ isNullable: arg.isNullable,
38
+ inputTypes: arg.inputTypes
39
+ }))
40
+ }));
41
+ }
42
+ function getMongoDbRawQueries(outputObjectTypes) {
43
+ return outputObjectTypes.filter((item) => item.name === "Query")?.[0].fields.filter((field) => field.name.includes("Raw")) ?? [];
44
+ }
45
+ const isMongodbRawOp = (name) => /find[\s\S]*?Raw/.test(name) || /aggregate[\s\S]*?Raw/.test(name);
46
+
47
+ //#endregion
48
+ exports.addMissingInputObjectTypesForMongoDbRawOpsAndQueries = addMissingInputObjectTypesForMongoDbRawOpsAndQueries;
49
+ exports.isMongodbRawOp = isMongodbRawOp;
@@ -1,2 +1,49 @@
1
- import e from"./transformer.mjs";function t(t,i,a){e.rawOpsMap=n(t)??{};let o=r(i);for(let e of o)a.push(e)}function n(e){let t={},n=[...new Set(e.reduce((e,t)=>(Object.keys(t)?.forEach(t=>{t.includes(`Raw`)&&e.push(t)}),e),[]))],r=e.map(e=>e.model);return n.forEach(e=>{r.forEach(n=>{let r=e===`findRaw`,i=`${e.replace(`Raw`,``)}${n}Raw`;t[i]=r?`${n}FindRawArgs`:`${n}AggregateRawArgs`})}),t}function r(e){return i(e).map(e=>({name:e.name,constraints:{maxNumFields:null,minNumFields:null},fields:e.args.map(e=>({name:e.name,isRequired:e.isRequired,isNullable:e.isNullable,inputTypes:e.inputTypes}))}))}function i(e){return e.filter(e=>e.name===`Query`)?.[0].fields.filter(e=>e.name.includes(`Raw`))??[]}const a=e=>/find[\s\S]*?Raw/.test(e)||/aggregate[\s\S]*?Raw/.test(e);export{t as addMissingInputObjectTypesForMongoDbRawOpsAndQueries,a as isMongodbRawOp};
1
+ import Transformer from "./transformer.mjs";
2
+
3
+ //#region src/zod/mongodb-helpers.ts
4
+ function addMissingInputObjectTypesForMongoDbRawOpsAndQueries(modelOperations, outputObjectTypes, inputObjectTypes) {
5
+ Transformer.rawOpsMap = resolveMongoDbRawOperations(modelOperations) ?? {};
6
+ const mongoDbRawQueryInputObjectTypes = resolveMongoDbRawQueryInputObjectTypes(outputObjectTypes);
7
+ for (const mongoDbRawQueryInputType of mongoDbRawQueryInputObjectTypes) inputObjectTypes.push(mongoDbRawQueryInputType);
8
+ }
9
+ function resolveMongoDbRawOperations(modelOperations) {
10
+ const rawOpsMap = {};
11
+ const rawOpsNames = [...new Set(modelOperations.reduce((result, current) => {
12
+ Object.keys(current)?.forEach((key) => {
13
+ if (key.includes("Raw")) result.push(key);
14
+ });
15
+ return result;
16
+ }, []))];
17
+ const modelNames = modelOperations.map((item) => item.model);
18
+ rawOpsNames.forEach((opName) => {
19
+ modelNames.forEach((modelName) => {
20
+ const isFind = opName === "findRaw";
21
+ const opWithModel = `${opName.replace("Raw", "")}${modelName}Raw`;
22
+ rawOpsMap[opWithModel] = isFind ? `${modelName}FindRawArgs` : `${modelName}AggregateRawArgs`;
23
+ });
24
+ });
25
+ return rawOpsMap;
26
+ }
27
+ function resolveMongoDbRawQueryInputObjectTypes(outputObjectTypes) {
28
+ return getMongoDbRawQueries(outputObjectTypes).map((item) => ({
29
+ name: item.name,
30
+ constraints: {
31
+ maxNumFields: null,
32
+ minNumFields: null
33
+ },
34
+ fields: item.args.map((arg) => ({
35
+ name: arg.name,
36
+ isRequired: arg.isRequired,
37
+ isNullable: arg.isNullable,
38
+ inputTypes: arg.inputTypes
39
+ }))
40
+ }));
41
+ }
42
+ function getMongoDbRawQueries(outputObjectTypes) {
43
+ return outputObjectTypes.filter((item) => item.name === "Query")?.[0].fields.filter((field) => field.name.includes("Raw")) ?? [];
44
+ }
45
+ const isMongodbRawOp = (name) => /find[\s\S]*?Raw/.test(name) || /aggregate[\s\S]*?Raw/.test(name);
46
+
47
+ //#endregion
48
+ export { addMissingInputObjectTypesForMongoDbRawOpsAndQueries, isMongodbRawOp };
2
49
  //# sourceMappingURL=mongodb-helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb-helpers.mjs","names":["rawOpsMap: { [name: string]: string }"],"sources":["../../src/zod/mongodb-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport Transformer from \"./transformer\";\n\nexport function addMissingInputObjectTypesForMongoDbRawOpsAndQueries(\n modelOperations: DMMF.ModelMapping[],\n outputObjectTypes: DMMF.OutputType[],\n inputObjectTypes: DMMF.InputType[]\n) {\n const rawOpsMap = resolveMongoDbRawOperations(modelOperations);\n Transformer.rawOpsMap = rawOpsMap ?? {};\n\n const mongoDbRawQueryInputObjectTypes =\n resolveMongoDbRawQueryInputObjectTypes(outputObjectTypes);\n for (const mongoDbRawQueryInputType of mongoDbRawQueryInputObjectTypes) {\n inputObjectTypes.push(mongoDbRawQueryInputType);\n }\n}\n\nfunction resolveMongoDbRawOperations(modelOperations: DMMF.ModelMapping[]) {\n const rawOpsMap: { [name: string]: string } = {};\n const rawOpsNames = [\n ...new Set(\n modelOperations.reduce<string[]>((result, current) => {\n const keys = Object.keys(current);\n keys?.forEach(key => {\n if (key.includes(\"Raw\")) {\n result.push(key);\n }\n });\n return result;\n }, [])\n )\n ];\n\n const modelNames = modelOperations.map(item => item.model);\n\n rawOpsNames.forEach(opName => {\n modelNames.forEach(modelName => {\n const isFind = opName === \"findRaw\";\n const opWithModel = `${opName.replace(\"Raw\", \"\")}${modelName}Raw`;\n rawOpsMap[opWithModel] = isFind\n ? `${modelName}FindRawArgs`\n : `${modelName}AggregateRawArgs`;\n });\n });\n\n return rawOpsMap;\n}\n\nfunction resolveMongoDbRawQueryInputObjectTypes(\n outputObjectTypes: DMMF.OutputType[]\n) {\n const mongoDbRawQueries = getMongoDbRawQueries(outputObjectTypes);\n const mongoDbRawQueryInputObjectTypes = mongoDbRawQueries.map(item => ({\n name: item.name,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields: item.args.map(arg => ({\n name: arg.name,\n isRequired: arg.isRequired,\n isNullable: arg.isNullable,\n inputTypes: arg.inputTypes\n }))\n }));\n\n return mongoDbRawQueryInputObjectTypes;\n}\n\nfunction getMongoDbRawQueries(outputObjectTypes: DMMF.OutputType[]) {\n const queryOutputTypes = outputObjectTypes.filter(\n item => item.name === \"Query\"\n );\n\n const mongodbRawQueries =\n queryOutputTypes?.[0]!.fields.filter(field => field.name.includes(\"Raw\")) ??\n [];\n\n return mongodbRawQueries;\n}\n\nexport const isMongodbRawOp = (name: string) =>\n /find[\\s\\S]*?Raw/.test(name) || /aggregate[\\s\\S]*?Raw/.test(name);\n"],"mappings":"iCAoBA,SAAgB,EACd,EACA,EACA,EACA,CAEA,EAAY,UADM,EAA4B,EAAgB,EACzB,EAAE,CAEvC,IAAM,EACJ,EAAuC,EAAkB,CAC3D,IAAK,IAAM,KAA4B,EACrC,EAAiB,KAAK,EAAyB,CAInD,SAAS,EAA4B,EAAsC,CACzE,IAAMA,EAAwC,EAAE,CAC1C,EAAc,CAClB,GAAG,IAAI,IACL,EAAgB,QAAkB,EAAQ,KAC3B,OAAO,KAAK,EAAQ,EAC3B,QAAQ,GAAO,CACf,EAAI,SAAS,MAAM,EACrB,EAAO,KAAK,EAAI,EAElB,CACK,GACN,EAAE,CAAC,CACP,CACF,CAEK,EAAa,EAAgB,IAAI,GAAQ,EAAK,MAAM,CAY1D,OAVA,EAAY,QAAQ,GAAU,CAC5B,EAAW,QAAQ,GAAa,CAC9B,IAAM,EAAS,IAAW,UACpB,EAAc,GAAG,EAAO,QAAQ,MAAO,GAAG,GAAG,EAAU,KAC7D,EAAU,GAAe,EACrB,GAAG,EAAU,aACb,GAAG,EAAU,mBACjB,EACF,CAEK,EAGT,SAAS,EACP,EACA,CAgBA,OAf0B,EAAqB,EAAkB,CACP,IAAI,IAAS,CACrE,KAAM,EAAK,KACX,YAAa,CACX,aAAc,KACd,aAAc,KACf,CACD,OAAQ,EAAK,KAAK,IAAI,IAAQ,CAC5B,KAAM,EAAI,KACV,WAAY,EAAI,WAChB,WAAY,EAAI,WAChB,WAAY,EAAI,WACjB,EAAE,CACJ,EAAE,CAKL,SAAS,EAAqB,EAAsC,CASlE,OARyB,EAAkB,OACzC,GAAQ,EAAK,OAAS,QACvB,GAGoB,GAAI,OAAO,OAAO,GAAS,EAAM,KAAK,SAAS,MAAM,CAAC,EACzE,EAAE,CAKN,MAAa,EAAkB,GAC7B,kBAAkB,KAAK,EAAK,EAAI,uBAAuB,KAAK,EAAK"}
1
+ {"version":3,"file":"mongodb-helpers.mjs","names":["rawOpsMap: { [name: string]: string }"],"sources":["../../src/zod/mongodb-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport Transformer from \"./transformer\";\n\nexport function addMissingInputObjectTypesForMongoDbRawOpsAndQueries(\n modelOperations: DMMF.ModelMapping[],\n outputObjectTypes: DMMF.OutputType[],\n inputObjectTypes: DMMF.InputType[]\n) {\n const rawOpsMap = resolveMongoDbRawOperations(modelOperations);\n Transformer.rawOpsMap = rawOpsMap ?? {};\n\n const mongoDbRawQueryInputObjectTypes =\n resolveMongoDbRawQueryInputObjectTypes(outputObjectTypes);\n for (const mongoDbRawQueryInputType of mongoDbRawQueryInputObjectTypes) {\n inputObjectTypes.push(mongoDbRawQueryInputType);\n }\n}\n\nfunction resolveMongoDbRawOperations(modelOperations: DMMF.ModelMapping[]) {\n const rawOpsMap: { [name: string]: string } = {};\n const rawOpsNames = [\n ...new Set(\n modelOperations.reduce<string[]>((result, current) => {\n const keys = Object.keys(current);\n keys?.forEach(key => {\n if (key.includes(\"Raw\")) {\n result.push(key);\n }\n });\n return result;\n }, [])\n )\n ];\n\n const modelNames = modelOperations.map(item => item.model);\n\n rawOpsNames.forEach(opName => {\n modelNames.forEach(modelName => {\n const isFind = opName === \"findRaw\";\n const opWithModel = `${opName.replace(\"Raw\", \"\")}${modelName}Raw`;\n rawOpsMap[opWithModel] = isFind\n ? `${modelName}FindRawArgs`\n : `${modelName}AggregateRawArgs`;\n });\n });\n\n return rawOpsMap;\n}\n\nfunction resolveMongoDbRawQueryInputObjectTypes(\n outputObjectTypes: DMMF.OutputType[]\n) {\n const mongoDbRawQueries = getMongoDbRawQueries(outputObjectTypes);\n const mongoDbRawQueryInputObjectTypes = mongoDbRawQueries.map(item => ({\n name: item.name,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields: item.args.map(arg => ({\n name: arg.name,\n isRequired: arg.isRequired,\n isNullable: arg.isNullable,\n inputTypes: arg.inputTypes\n }))\n }));\n\n return mongoDbRawQueryInputObjectTypes;\n}\n\nfunction getMongoDbRawQueries(outputObjectTypes: DMMF.OutputType[]) {\n const queryOutputTypes = outputObjectTypes.filter(\n item => item.name === \"Query\"\n );\n\n const mongodbRawQueries =\n queryOutputTypes?.[0]!.fields.filter(field => field.name.includes(\"Raw\")) ??\n [];\n\n return mongodbRawQueries;\n}\n\nexport const isMongodbRawOp = (name: string) =>\n /find[\\s\\S]*?Raw/.test(name) || /aggregate[\\s\\S]*?Raw/.test(name);\n"],"mappings":";;;AAoBA,SAAgB,qDACd,iBACA,mBACA,kBACA;AAEA,aAAY,YADM,4BAA4B,gBAAgB,IACzB,EAAE;CAEvC,MAAM,kCACJ,uCAAuC,kBAAkB;AAC3D,MAAK,MAAM,4BAA4B,gCACrC,kBAAiB,KAAK,yBAAyB;;AAInD,SAAS,4BAA4B,iBAAsC;CACzE,MAAMA,YAAwC,EAAE;CAChD,MAAM,cAAc,CAClB,GAAG,IAAI,IACL,gBAAgB,QAAkB,QAAQ,YAAY;AAEpD,EADa,OAAO,KAAK,QAAQ,EAC3B,SAAQ,QAAO;AACnB,OAAI,IAAI,SAAS,MAAM,CACrB,QAAO,KAAK,IAAI;IAElB;AACF,SAAO;IACN,EAAE,CAAC,CACP,CACF;CAED,MAAM,aAAa,gBAAgB,KAAI,SAAQ,KAAK,MAAM;AAE1D,aAAY,SAAQ,WAAU;AAC5B,aAAW,SAAQ,cAAa;GAC9B,MAAM,SAAS,WAAW;GAC1B,MAAM,cAAc,GAAG,OAAO,QAAQ,OAAO,GAAG,GAAG,UAAU;AAC7D,aAAU,eAAe,SACrB,GAAG,UAAU,eACb,GAAG,UAAU;IACjB;GACF;AAEF,QAAO;;AAGT,SAAS,uCACP,mBACA;AAgBA,QAf0B,qBAAqB,kBAAkB,CACP,KAAI,UAAS;EACrE,MAAM,KAAK;EACX,aAAa;GACX,cAAc;GACd,cAAc;GACf;EACD,QAAQ,KAAK,KAAK,KAAI,SAAQ;GAC5B,MAAM,IAAI;GACV,YAAY,IAAI;GAChB,YAAY,IAAI;GAChB,YAAY,IAAI;GACjB,EAAE;EACJ,EAAE;;AAKL,SAAS,qBAAqB,mBAAsC;AASlE,QARyB,kBAAkB,QACzC,SAAQ,KAAK,SAAS,QACvB,GAGoB,GAAI,OAAO,QAAO,UAAS,MAAM,KAAK,SAAS,MAAM,CAAC,IACzE,EAAE;;AAKN,MAAa,kBAAkB,SAC7B,kBAAkB,KAAK,KAAK,IAAI,uBAAuB,KAAK,KAAK"}
@@ -1 +1,128 @@
1
- const e=require(`./model-helpers.cjs`);function t(e,t,o){let s=n(t),c=[r(s),i(s),a(o)].flat();for(let t of c)e.push(t)}function n(e){return e.filter(({name:e})=>e.includes(`CountOutputType`))}function r(e){let t=[];for(let n of e){let{name:e,fields:r}=n,i={name:`${e}Select`,constraints:{maxNumFields:null,minNumFields:null},fields:r.map(({name:e})=>({name:e,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`Boolean`,location:`scalar`}]}))};t.push(i)}return t}function i(e){let t=[];for(let n of e){let{name:e}=n,r={name:`${e}DefaultArgs`,constraints:{maxNumFields:null,minNumFields:null},fields:[{name:`select`,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`${e}Select`,location:`inputObjectTypes`,namespace:`prisma`}]}]};t.push(r)}return t}function a(t){let n=[];for(let r of t){let{name:t,fields:i}=r,a=[];for(let t of i){let{name:n,isList:r,type:i}=t,o=e.checkIsModelRelationField(t),s={name:n,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`Boolean`,location:`scalar`}]};if(o){let e={isList:!1,type:r?`${i}FindManyArgs`:`${i}DefaultArgs`,location:`inputObjectTypes`,namespace:`prisma`};s.inputTypes.push(e)}a.push(s)}if(e.checkModelHasManyModelRelation(r)){let e={name:`_count`,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`Boolean`,location:`scalar`},{isList:!1,type:`${t}CountOutputTypeDefaultArgs`,location:`inputObjectTypes`,namespace:`prisma`}]};a.push(e)}let o={name:`${t}Select`,constraints:{maxNumFields:null,minNumFields:null},fields:a};n.push(o)}return n}exports.addMissingInputObjectTypesForSelect=t;
1
+ const require_model_helpers = require('./model-helpers.cjs');
2
+
3
+ //#region src/zod/select-helpers.ts
4
+ function addMissingInputObjectTypesForSelect(inputObjectTypes, outputObjectTypes, models) {
5
+ const modelCountOutputTypes = getModelCountOutputTypes(outputObjectTypes);
6
+ const generatedInputObjectTypes = [
7
+ generateModelCountOutputTypeSelectInputObjectTypes(modelCountOutputTypes),
8
+ generateModelCountOutputTypeArgsInputObjectTypes(modelCountOutputTypes),
9
+ generateModelSelectInputObjectTypes(models)
10
+ ].flat();
11
+ for (const inputObjectType of generatedInputObjectTypes) inputObjectTypes.push(inputObjectType);
12
+ }
13
+ function getModelCountOutputTypes(outputObjectTypes) {
14
+ return outputObjectTypes.filter(({ name }) => name.includes("CountOutputType"));
15
+ }
16
+ function generateModelCountOutputTypeSelectInputObjectTypes(modelCountOutputTypes) {
17
+ const modelCountOutputTypeSelectInputObjectTypes = [];
18
+ for (const modelCountOutputType of modelCountOutputTypes) {
19
+ const { name: modelCountOutputTypeName, fields: modelCountOutputTypeFields } = modelCountOutputType;
20
+ const modelCountOutputTypeSelectInputObjectType = {
21
+ name: `${modelCountOutputTypeName}Select`,
22
+ constraints: {
23
+ maxNumFields: null,
24
+ minNumFields: null
25
+ },
26
+ fields: modelCountOutputTypeFields.map(({ name }) => ({
27
+ name,
28
+ isRequired: false,
29
+ isNullable: false,
30
+ inputTypes: [{
31
+ isList: false,
32
+ type: `Boolean`,
33
+ location: "scalar"
34
+ }]
35
+ }))
36
+ };
37
+ modelCountOutputTypeSelectInputObjectTypes.push(modelCountOutputTypeSelectInputObjectType);
38
+ }
39
+ return modelCountOutputTypeSelectInputObjectTypes;
40
+ }
41
+ function generateModelCountOutputTypeArgsInputObjectTypes(modelCountOutputTypes) {
42
+ const modelCountOutputTypeArgsInputObjectTypes = [];
43
+ for (const modelCountOutputType of modelCountOutputTypes) {
44
+ const { name: modelCountOutputTypeName } = modelCountOutputType;
45
+ const modelCountOutputTypeArgsInputObjectType = {
46
+ name: `${modelCountOutputTypeName}DefaultArgs`,
47
+ constraints: {
48
+ maxNumFields: null,
49
+ minNumFields: null
50
+ },
51
+ fields: [{
52
+ name: "select",
53
+ isRequired: false,
54
+ isNullable: false,
55
+ inputTypes: [{
56
+ isList: false,
57
+ type: `${modelCountOutputTypeName}Select`,
58
+ location: "inputObjectTypes",
59
+ namespace: "prisma"
60
+ }]
61
+ }]
62
+ };
63
+ modelCountOutputTypeArgsInputObjectTypes.push(modelCountOutputTypeArgsInputObjectType);
64
+ }
65
+ return modelCountOutputTypeArgsInputObjectTypes;
66
+ }
67
+ function generateModelSelectInputObjectTypes(models) {
68
+ const modelSelectInputObjectTypes = [];
69
+ for (const model of models) {
70
+ const { name: modelName, fields: modelFields } = model;
71
+ const fields = [];
72
+ for (const modelField of modelFields) {
73
+ const { name: modelFieldName, isList, type } = modelField;
74
+ const isRelationField = require_model_helpers.checkIsModelRelationField(modelField);
75
+ const field = {
76
+ name: modelFieldName,
77
+ isRequired: false,
78
+ isNullable: false,
79
+ inputTypes: [{
80
+ isList: false,
81
+ type: "Boolean",
82
+ location: "scalar"
83
+ }]
84
+ };
85
+ if (isRelationField) {
86
+ const schemaArgInputType = {
87
+ isList: false,
88
+ type: isList ? `${type}FindManyArgs` : `${type}DefaultArgs`,
89
+ location: "inputObjectTypes",
90
+ namespace: "prisma"
91
+ };
92
+ field.inputTypes.push(schemaArgInputType);
93
+ }
94
+ fields.push(field);
95
+ }
96
+ if (require_model_helpers.checkModelHasManyModelRelation(model)) {
97
+ const _countField = {
98
+ name: "_count",
99
+ isRequired: false,
100
+ isNullable: false,
101
+ inputTypes: [{
102
+ isList: false,
103
+ type: "Boolean",
104
+ location: "scalar"
105
+ }, {
106
+ isList: false,
107
+ type: `${modelName}CountOutputTypeDefaultArgs`,
108
+ location: "inputObjectTypes",
109
+ namespace: "prisma"
110
+ }]
111
+ };
112
+ fields.push(_countField);
113
+ }
114
+ const modelSelectInputObjectType = {
115
+ name: `${modelName}Select`,
116
+ constraints: {
117
+ maxNumFields: null,
118
+ minNumFields: null
119
+ },
120
+ fields
121
+ };
122
+ modelSelectInputObjectTypes.push(modelSelectInputObjectType);
123
+ }
124
+ return modelSelectInputObjectTypes;
125
+ }
126
+
127
+ //#endregion
128
+ exports.addMissingInputObjectTypesForSelect = addMissingInputObjectTypesForSelect;
@@ -1,2 +1,129 @@
1
- import{checkIsModelRelationField as e,checkModelHasManyModelRelation as t}from"./model-helpers.mjs";function n(e,t,n){let s=r(t),c=[i(s),a(s),o(n)].flat();for(let t of c)e.push(t)}function r(e){return e.filter(({name:e})=>e.includes(`CountOutputType`))}function i(e){let t=[];for(let n of e){let{name:e,fields:r}=n,i={name:`${e}Select`,constraints:{maxNumFields:null,minNumFields:null},fields:r.map(({name:e})=>({name:e,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`Boolean`,location:`scalar`}]}))};t.push(i)}return t}function a(e){let t=[];for(let n of e){let{name:e}=n,r={name:`${e}DefaultArgs`,constraints:{maxNumFields:null,minNumFields:null},fields:[{name:`select`,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`${e}Select`,location:`inputObjectTypes`,namespace:`prisma`}]}]};t.push(r)}return t}function o(n){let r=[];for(let i of n){let{name:n,fields:a}=i,o=[];for(let t of a){let{name:n,isList:r,type:i}=t,a=e(t),s={name:n,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`Boolean`,location:`scalar`}]};if(a){let e={isList:!1,type:r?`${i}FindManyArgs`:`${i}DefaultArgs`,location:`inputObjectTypes`,namespace:`prisma`};s.inputTypes.push(e)}o.push(s)}if(t(i)){let e={name:`_count`,isRequired:!1,isNullable:!1,inputTypes:[{isList:!1,type:`Boolean`,location:`scalar`},{isList:!1,type:`${n}CountOutputTypeDefaultArgs`,location:`inputObjectTypes`,namespace:`prisma`}]};o.push(e)}let s={name:`${n}Select`,constraints:{maxNumFields:null,minNumFields:null},fields:o};r.push(s)}return r}export{n as addMissingInputObjectTypesForSelect};
1
+ import { checkIsModelRelationField, checkModelHasManyModelRelation } from "./model-helpers.mjs";
2
+
3
+ //#region src/zod/select-helpers.ts
4
+ function addMissingInputObjectTypesForSelect(inputObjectTypes, outputObjectTypes, models) {
5
+ const modelCountOutputTypes = getModelCountOutputTypes(outputObjectTypes);
6
+ const generatedInputObjectTypes = [
7
+ generateModelCountOutputTypeSelectInputObjectTypes(modelCountOutputTypes),
8
+ generateModelCountOutputTypeArgsInputObjectTypes(modelCountOutputTypes),
9
+ generateModelSelectInputObjectTypes(models)
10
+ ].flat();
11
+ for (const inputObjectType of generatedInputObjectTypes) inputObjectTypes.push(inputObjectType);
12
+ }
13
+ function getModelCountOutputTypes(outputObjectTypes) {
14
+ return outputObjectTypes.filter(({ name }) => name.includes("CountOutputType"));
15
+ }
16
+ function generateModelCountOutputTypeSelectInputObjectTypes(modelCountOutputTypes) {
17
+ const modelCountOutputTypeSelectInputObjectTypes = [];
18
+ for (const modelCountOutputType of modelCountOutputTypes) {
19
+ const { name: modelCountOutputTypeName, fields: modelCountOutputTypeFields } = modelCountOutputType;
20
+ const modelCountOutputTypeSelectInputObjectType = {
21
+ name: `${modelCountOutputTypeName}Select`,
22
+ constraints: {
23
+ maxNumFields: null,
24
+ minNumFields: null
25
+ },
26
+ fields: modelCountOutputTypeFields.map(({ name }) => ({
27
+ name,
28
+ isRequired: false,
29
+ isNullable: false,
30
+ inputTypes: [{
31
+ isList: false,
32
+ type: `Boolean`,
33
+ location: "scalar"
34
+ }]
35
+ }))
36
+ };
37
+ modelCountOutputTypeSelectInputObjectTypes.push(modelCountOutputTypeSelectInputObjectType);
38
+ }
39
+ return modelCountOutputTypeSelectInputObjectTypes;
40
+ }
41
+ function generateModelCountOutputTypeArgsInputObjectTypes(modelCountOutputTypes) {
42
+ const modelCountOutputTypeArgsInputObjectTypes = [];
43
+ for (const modelCountOutputType of modelCountOutputTypes) {
44
+ const { name: modelCountOutputTypeName } = modelCountOutputType;
45
+ const modelCountOutputTypeArgsInputObjectType = {
46
+ name: `${modelCountOutputTypeName}DefaultArgs`,
47
+ constraints: {
48
+ maxNumFields: null,
49
+ minNumFields: null
50
+ },
51
+ fields: [{
52
+ name: "select",
53
+ isRequired: false,
54
+ isNullable: false,
55
+ inputTypes: [{
56
+ isList: false,
57
+ type: `${modelCountOutputTypeName}Select`,
58
+ location: "inputObjectTypes",
59
+ namespace: "prisma"
60
+ }]
61
+ }]
62
+ };
63
+ modelCountOutputTypeArgsInputObjectTypes.push(modelCountOutputTypeArgsInputObjectType);
64
+ }
65
+ return modelCountOutputTypeArgsInputObjectTypes;
66
+ }
67
+ function generateModelSelectInputObjectTypes(models) {
68
+ const modelSelectInputObjectTypes = [];
69
+ for (const model of models) {
70
+ const { name: modelName, fields: modelFields } = model;
71
+ const fields = [];
72
+ for (const modelField of modelFields) {
73
+ const { name: modelFieldName, isList, type } = modelField;
74
+ const isRelationField = checkIsModelRelationField(modelField);
75
+ const field = {
76
+ name: modelFieldName,
77
+ isRequired: false,
78
+ isNullable: false,
79
+ inputTypes: [{
80
+ isList: false,
81
+ type: "Boolean",
82
+ location: "scalar"
83
+ }]
84
+ };
85
+ if (isRelationField) {
86
+ const schemaArgInputType = {
87
+ isList: false,
88
+ type: isList ? `${type}FindManyArgs` : `${type}DefaultArgs`,
89
+ location: "inputObjectTypes",
90
+ namespace: "prisma"
91
+ };
92
+ field.inputTypes.push(schemaArgInputType);
93
+ }
94
+ fields.push(field);
95
+ }
96
+ if (checkModelHasManyModelRelation(model)) {
97
+ const _countField = {
98
+ name: "_count",
99
+ isRequired: false,
100
+ isNullable: false,
101
+ inputTypes: [{
102
+ isList: false,
103
+ type: "Boolean",
104
+ location: "scalar"
105
+ }, {
106
+ isList: false,
107
+ type: `${modelName}CountOutputTypeDefaultArgs`,
108
+ location: "inputObjectTypes",
109
+ namespace: "prisma"
110
+ }]
111
+ };
112
+ fields.push(_countField);
113
+ }
114
+ const modelSelectInputObjectType = {
115
+ name: `${modelName}Select`,
116
+ constraints: {
117
+ maxNumFields: null,
118
+ minNumFields: null
119
+ },
120
+ fields
121
+ };
122
+ modelSelectInputObjectTypes.push(modelSelectInputObjectType);
123
+ }
124
+ return modelSelectInputObjectTypes;
125
+ }
126
+
127
+ //#endregion
128
+ export { addMissingInputObjectTypesForSelect };
2
129
  //# sourceMappingURL=select-helpers.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-helpers.mjs","names":["modelCountOutputTypeSelectInputObjectTypes: DMMF.InputType[]","modelCountOutputTypeSelectInputObjectType: DMMF.InputType","modelCountOutputTypeArgsInputObjectTypes: DMMF.InputType[]","modelCountOutputTypeArgsInputObjectType: DMMF.InputType","modelSelectInputObjectTypes: DMMF.InputType[]","fields: DMMF.SchemaArg[]","field: Writeable<DMMF.SchemaArg>","schemaArgInputType: ArrayValues<SchemaArgInputTypes>","_countField: DMMF.SchemaArg","modelSelectInputObjectType: DMMF.InputType"],"sources":["../../src/zod/select-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport type { ArrayValues } from \"@stryke/types/array\";\nimport type { SchemaArgInputTypes, Writeable } from \"../types\";\nimport {\n checkIsModelRelationField,\n checkModelHasManyModelRelation\n} from \"./model-helpers\";\n\nexport function addMissingInputObjectTypesForSelect(\n inputObjectTypes: DMMF.InputType[],\n outputObjectTypes: DMMF.OutputType[],\n models: DMMF.Model[]\n) {\n // generate input object types necessary to support ModelSelect._count\n const modelCountOutputTypes = getModelCountOutputTypes(outputObjectTypes);\n const modelCountOutputTypeSelectInputObjectTypes =\n generateModelCountOutputTypeSelectInputObjectTypes(modelCountOutputTypes);\n const modelCountOutputTypeArgsInputObjectTypes =\n generateModelCountOutputTypeArgsInputObjectTypes(modelCountOutputTypes);\n\n const modelSelectInputObjectTypes =\n generateModelSelectInputObjectTypes(models);\n\n const generatedInputObjectTypes = [\n modelCountOutputTypeSelectInputObjectTypes,\n modelCountOutputTypeArgsInputObjectTypes,\n modelSelectInputObjectTypes\n ].flat();\n\n for (const inputObjectType of generatedInputObjectTypes) {\n inputObjectTypes.push(inputObjectType);\n }\n}\n\nfunction getModelCountOutputTypes(outputObjectTypes: DMMF.OutputType[]) {\n return outputObjectTypes.filter(({ name }) =>\n name.includes(\"CountOutputType\")\n );\n}\n\nfunction generateModelCountOutputTypeSelectInputObjectTypes(\n modelCountOutputTypes: DMMF.OutputType[]\n) {\n const modelCountOutputTypeSelectInputObjectTypes: DMMF.InputType[] = [];\n for (const modelCountOutputType of modelCountOutputTypes) {\n const {\n name: modelCountOutputTypeName,\n fields: modelCountOutputTypeFields\n } = modelCountOutputType;\n const modelCountOutputTypeSelectInputObjectType: DMMF.InputType = {\n name: `${modelCountOutputTypeName}Select`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields: modelCountOutputTypeFields.map(({ name }) => ({\n name,\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `Boolean`,\n location: \"scalar\"\n }\n ]\n }))\n };\n modelCountOutputTypeSelectInputObjectTypes.push(\n modelCountOutputTypeSelectInputObjectType\n );\n }\n\n return modelCountOutputTypeSelectInputObjectTypes;\n}\n\nfunction generateModelCountOutputTypeArgsInputObjectTypes(\n modelCountOutputTypes: DMMF.OutputType[]\n) {\n const modelCountOutputTypeArgsInputObjectTypes: DMMF.InputType[] = [];\n for (const modelCountOutputType of modelCountOutputTypes) {\n const { name: modelCountOutputTypeName } = modelCountOutputType;\n const modelCountOutputTypeArgsInputObjectType: DMMF.InputType = {\n name: `${modelCountOutputTypeName}DefaultArgs`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields: [\n {\n name: \"select\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `${modelCountOutputTypeName}Select`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n }\n ]\n };\n modelCountOutputTypeArgsInputObjectTypes.push(\n modelCountOutputTypeArgsInputObjectType\n );\n }\n\n return modelCountOutputTypeArgsInputObjectTypes;\n}\n\nfunction generateModelSelectInputObjectTypes(models: DMMF.Model[]) {\n const modelSelectInputObjectTypes: DMMF.InputType[] = [];\n for (const model of models) {\n const { name: modelName, fields: modelFields } = model;\n const fields: DMMF.SchemaArg[] = [];\n\n for (const modelField of modelFields) {\n const { name: modelFieldName, isList, type } = modelField;\n\n const isRelationField = checkIsModelRelationField(modelField);\n\n const field: Writeable<DMMF.SchemaArg> = {\n name: modelFieldName,\n isRequired: false,\n isNullable: false,\n inputTypes: [\n { isList: false, type: \"Boolean\", location: \"scalar\" }\n ] as Writeable<DMMF.SchemaArg[\"inputTypes\"]>\n };\n\n if (isRelationField) {\n const schemaArgInputType: ArrayValues<SchemaArgInputTypes> = {\n isList: false,\n type: isList ? `${type}FindManyArgs` : `${type}DefaultArgs`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n };\n field.inputTypes.push(schemaArgInputType);\n }\n\n fields.push(field);\n }\n\n const hasManyRelationToAnotherModel = checkModelHasManyModelRelation(model);\n\n const shouldAddCountField = hasManyRelationToAnotherModel;\n if (shouldAddCountField) {\n const _countField: DMMF.SchemaArg = {\n name: \"_count\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n { isList: false, type: \"Boolean\", location: \"scalar\" },\n {\n isList: false,\n type: `${modelName}CountOutputTypeDefaultArgs`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n };\n fields.push(_countField);\n }\n\n const modelSelectInputObjectType: DMMF.InputType = {\n name: `${modelName}Select`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields\n };\n modelSelectInputObjectTypes.push(modelSelectInputObjectType);\n }\n\n return modelSelectInputObjectTypes;\n}\n"],"mappings":"oGAyBA,SAAgB,EACd,EACA,EACA,EACA,CAEA,IAAM,EAAwB,EAAyB,EAAkB,CASnE,EAA4B,CAPhC,EAAmD,EAAsB,CAEzE,EAAiD,EAAsB,CAGvE,EAAoC,EAAO,CAM5C,CAAC,MAAM,CAER,IAAK,IAAM,KAAmB,EAC5B,EAAiB,KAAK,EAAgB,CAI1C,SAAS,EAAyB,EAAsC,CACtE,OAAO,EAAkB,QAAQ,CAAE,UACjC,EAAK,SAAS,kBAAkB,CACjC,CAGH,SAAS,EACP,EACA,CACA,IAAMA,EAA+D,EAAE,CACvE,IAAK,IAAM,KAAwB,EAAuB,CACxD,GAAM,CACJ,KAAM,EACN,OAAQ,GACN,EACEC,EAA4D,CAChE,KAAM,GAAG,EAAyB,QAClC,YAAa,CACX,aAAc,KACd,aAAc,KACf,CACD,OAAQ,EAA2B,KAAK,CAAE,WAAY,CACpD,OACA,WAAY,GACZ,WAAY,GACZ,WAAY,CACV,CACE,OAAQ,GACR,KAAM,UACN,SAAU,SACX,CACF,CACF,EAAE,CACJ,CACD,EAA2C,KACzC,EACD,CAGH,OAAO,EAGT,SAAS,EACP,EACA,CACA,IAAMC,EAA6D,EAAE,CACrE,IAAK,IAAM,KAAwB,EAAuB,CACxD,GAAM,CAAE,KAAM,GAA6B,EACrCC,EAA0D,CAC9D,KAAM,GAAG,EAAyB,aAClC,YAAa,CACX,aAAc,KACd,aAAc,KACf,CACD,OAAQ,CACN,CACE,KAAM,SACN,WAAY,GACZ,WAAY,GACZ,WAAY,CACV,CACE,OAAQ,GACR,KAAM,GAAG,EAAyB,QAClC,SAAU,mBACV,UAAW,SACZ,CACF,CACF,CACF,CACF,CACD,EAAyC,KACvC,EACD,CAGH,OAAO,EAGT,SAAS,EAAoC,EAAsB,CACjE,IAAMC,EAAgD,EAAE,CACxD,IAAK,IAAM,KAAS,EAAQ,CAC1B,GAAM,CAAE,KAAM,EAAW,OAAQ,GAAgB,EAC3CC,EAA2B,EAAE,CAEnC,IAAK,IAAM,KAAc,EAAa,CACpC,GAAM,CAAE,KAAM,EAAgB,SAAQ,QAAS,EAEzC,EAAkB,EAA0B,EAAW,CAEvDC,EAAmC,CACvC,KAAM,EACN,WAAY,GACZ,WAAY,GACZ,WAAY,CACV,CAAE,OAAQ,GAAO,KAAM,UAAW,SAAU,SAAU,CACvD,CACF,CAED,GAAI,EAAiB,CACnB,IAAMC,EAAuD,CAC3D,OAAQ,GACR,KAAM,EAAS,GAAG,EAAK,cAAgB,GAAG,EAAK,aAC/C,SAAU,mBACV,UAAW,SACZ,CACD,EAAM,WAAW,KAAK,EAAmB,CAG3C,EAAO,KAAK,EAAM,CAMpB,GAHsC,EAA+B,EAAM,CAGlD,CACvB,IAAMC,EAA8B,CAClC,KAAM,SACN,WAAY,GACZ,WAAY,GACZ,WAAY,CACV,CAAE,OAAQ,GAAO,KAAM,UAAW,SAAU,SAAU,CACtD,CACE,OAAQ,GACR,KAAM,GAAG,EAAU,4BACnB,SAAU,mBACV,UAAW,SACZ,CACF,CACF,CACD,EAAO,KAAK,EAAY,CAG1B,IAAMC,EAA6C,CACjD,KAAM,GAAG,EAAU,QACnB,YAAa,CACX,aAAc,KACd,aAAc,KACf,CACD,SACD,CACD,EAA4B,KAAK,EAA2B,CAG9D,OAAO"}
1
+ {"version":3,"file":"select-helpers.mjs","names":["modelCountOutputTypeSelectInputObjectTypes: DMMF.InputType[]","modelCountOutputTypeSelectInputObjectType: DMMF.InputType","modelCountOutputTypeArgsInputObjectTypes: DMMF.InputType[]","modelCountOutputTypeArgsInputObjectType: DMMF.InputType","modelSelectInputObjectTypes: DMMF.InputType[]","fields: DMMF.SchemaArg[]","field: Writeable<DMMF.SchemaArg>","schemaArgInputType: ArrayValues<SchemaArgInputTypes>","_countField: DMMF.SchemaArg","modelSelectInputObjectType: DMMF.InputType"],"sources":["../../src/zod/select-helpers.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport type { DMMF } from \"@prisma/generator-helper\";\nimport type { ArrayValues } from \"@stryke/types/array\";\nimport type { SchemaArgInputTypes, Writeable } from \"../types\";\nimport {\n checkIsModelRelationField,\n checkModelHasManyModelRelation\n} from \"./model-helpers\";\n\nexport function addMissingInputObjectTypesForSelect(\n inputObjectTypes: DMMF.InputType[],\n outputObjectTypes: DMMF.OutputType[],\n models: DMMF.Model[]\n) {\n // generate input object types necessary to support ModelSelect._count\n const modelCountOutputTypes = getModelCountOutputTypes(outputObjectTypes);\n const modelCountOutputTypeSelectInputObjectTypes =\n generateModelCountOutputTypeSelectInputObjectTypes(modelCountOutputTypes);\n const modelCountOutputTypeArgsInputObjectTypes =\n generateModelCountOutputTypeArgsInputObjectTypes(modelCountOutputTypes);\n\n const modelSelectInputObjectTypes =\n generateModelSelectInputObjectTypes(models);\n\n const generatedInputObjectTypes = [\n modelCountOutputTypeSelectInputObjectTypes,\n modelCountOutputTypeArgsInputObjectTypes,\n modelSelectInputObjectTypes\n ].flat();\n\n for (const inputObjectType of generatedInputObjectTypes) {\n inputObjectTypes.push(inputObjectType);\n }\n}\n\nfunction getModelCountOutputTypes(outputObjectTypes: DMMF.OutputType[]) {\n return outputObjectTypes.filter(({ name }) =>\n name.includes(\"CountOutputType\")\n );\n}\n\nfunction generateModelCountOutputTypeSelectInputObjectTypes(\n modelCountOutputTypes: DMMF.OutputType[]\n) {\n const modelCountOutputTypeSelectInputObjectTypes: DMMF.InputType[] = [];\n for (const modelCountOutputType of modelCountOutputTypes) {\n const {\n name: modelCountOutputTypeName,\n fields: modelCountOutputTypeFields\n } = modelCountOutputType;\n const modelCountOutputTypeSelectInputObjectType: DMMF.InputType = {\n name: `${modelCountOutputTypeName}Select`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields: modelCountOutputTypeFields.map(({ name }) => ({\n name,\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `Boolean`,\n location: \"scalar\"\n }\n ]\n }))\n };\n modelCountOutputTypeSelectInputObjectTypes.push(\n modelCountOutputTypeSelectInputObjectType\n );\n }\n\n return modelCountOutputTypeSelectInputObjectTypes;\n}\n\nfunction generateModelCountOutputTypeArgsInputObjectTypes(\n modelCountOutputTypes: DMMF.OutputType[]\n) {\n const modelCountOutputTypeArgsInputObjectTypes: DMMF.InputType[] = [];\n for (const modelCountOutputType of modelCountOutputTypes) {\n const { name: modelCountOutputTypeName } = modelCountOutputType;\n const modelCountOutputTypeArgsInputObjectType: DMMF.InputType = {\n name: `${modelCountOutputTypeName}DefaultArgs`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields: [\n {\n name: \"select\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n {\n isList: false,\n type: `${modelCountOutputTypeName}Select`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n }\n ]\n };\n modelCountOutputTypeArgsInputObjectTypes.push(\n modelCountOutputTypeArgsInputObjectType\n );\n }\n\n return modelCountOutputTypeArgsInputObjectTypes;\n}\n\nfunction generateModelSelectInputObjectTypes(models: DMMF.Model[]) {\n const modelSelectInputObjectTypes: DMMF.InputType[] = [];\n for (const model of models) {\n const { name: modelName, fields: modelFields } = model;\n const fields: DMMF.SchemaArg[] = [];\n\n for (const modelField of modelFields) {\n const { name: modelFieldName, isList, type } = modelField;\n\n const isRelationField = checkIsModelRelationField(modelField);\n\n const field: Writeable<DMMF.SchemaArg> = {\n name: modelFieldName,\n isRequired: false,\n isNullable: false,\n inputTypes: [\n { isList: false, type: \"Boolean\", location: \"scalar\" }\n ] as Writeable<DMMF.SchemaArg[\"inputTypes\"]>\n };\n\n if (isRelationField) {\n const schemaArgInputType: ArrayValues<SchemaArgInputTypes> = {\n isList: false,\n type: isList ? `${type}FindManyArgs` : `${type}DefaultArgs`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n };\n field.inputTypes.push(schemaArgInputType);\n }\n\n fields.push(field);\n }\n\n const hasManyRelationToAnotherModel = checkModelHasManyModelRelation(model);\n\n const shouldAddCountField = hasManyRelationToAnotherModel;\n if (shouldAddCountField) {\n const _countField: DMMF.SchemaArg = {\n name: \"_count\",\n isRequired: false,\n isNullable: false,\n inputTypes: [\n { isList: false, type: \"Boolean\", location: \"scalar\" },\n {\n isList: false,\n type: `${modelName}CountOutputTypeDefaultArgs`,\n location: \"inputObjectTypes\",\n namespace: \"prisma\"\n }\n ]\n };\n fields.push(_countField);\n }\n\n const modelSelectInputObjectType: DMMF.InputType = {\n name: `${modelName}Select`,\n constraints: {\n maxNumFields: null,\n minNumFields: null\n },\n fields\n };\n modelSelectInputObjectTypes.push(modelSelectInputObjectType);\n }\n\n return modelSelectInputObjectTypes;\n}\n"],"mappings":";;;AAyBA,SAAgB,oCACd,kBACA,mBACA,QACA;CAEA,MAAM,wBAAwB,yBAAyB,kBAAkB;CASzE,MAAM,4BAA4B;EAPhC,mDAAmD,sBAAsB;EAEzE,iDAAiD,sBAAsB;EAGvE,oCAAoC,OAAO;EAM5C,CAAC,MAAM;AAER,MAAK,MAAM,mBAAmB,0BAC5B,kBAAiB,KAAK,gBAAgB;;AAI1C,SAAS,yBAAyB,mBAAsC;AACtE,QAAO,kBAAkB,QAAQ,EAAE,WACjC,KAAK,SAAS,kBAAkB,CACjC;;AAGH,SAAS,mDACP,uBACA;CACA,MAAMA,6CAA+D,EAAE;AACvE,MAAK,MAAM,wBAAwB,uBAAuB;EACxD,MAAM,EACJ,MAAM,0BACN,QAAQ,+BACN;EACJ,MAAMC,4CAA4D;GAChE,MAAM,GAAG,yBAAyB;GAClC,aAAa;IACX,cAAc;IACd,cAAc;IACf;GACD,QAAQ,2BAA2B,KAAK,EAAE,YAAY;IACpD;IACA,YAAY;IACZ,YAAY;IACZ,YAAY,CACV;KACE,QAAQ;KACR,MAAM;KACN,UAAU;KACX,CACF;IACF,EAAE;GACJ;AACD,6CAA2C,KACzC,0CACD;;AAGH,QAAO;;AAGT,SAAS,iDACP,uBACA;CACA,MAAMC,2CAA6D,EAAE;AACrE,MAAK,MAAM,wBAAwB,uBAAuB;EACxD,MAAM,EAAE,MAAM,6BAA6B;EAC3C,MAAMC,0CAA0D;GAC9D,MAAM,GAAG,yBAAyB;GAClC,aAAa;IACX,cAAc;IACd,cAAc;IACf;GACD,QAAQ,CACN;IACE,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY,CACV;KACE,QAAQ;KACR,MAAM,GAAG,yBAAyB;KAClC,UAAU;KACV,WAAW;KACZ,CACF;IACF,CACF;GACF;AACD,2CAAyC,KACvC,wCACD;;AAGH,QAAO;;AAGT,SAAS,oCAAoC,QAAsB;CACjE,MAAMC,8BAAgD,EAAE;AACxD,MAAK,MAAM,SAAS,QAAQ;EAC1B,MAAM,EAAE,MAAM,WAAW,QAAQ,gBAAgB;EACjD,MAAMC,SAA2B,EAAE;AAEnC,OAAK,MAAM,cAAc,aAAa;GACpC,MAAM,EAAE,MAAM,gBAAgB,QAAQ,SAAS;GAE/C,MAAM,kBAAkB,0BAA0B,WAAW;GAE7D,MAAMC,QAAmC;IACvC,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY,CACV;KAAE,QAAQ;KAAO,MAAM;KAAW,UAAU;KAAU,CACvD;IACF;AAED,OAAI,iBAAiB;IACnB,MAAMC,qBAAuD;KAC3D,QAAQ;KACR,MAAM,SAAS,GAAG,KAAK,gBAAgB,GAAG,KAAK;KAC/C,UAAU;KACV,WAAW;KACZ;AACD,UAAM,WAAW,KAAK,mBAAmB;;AAG3C,UAAO,KAAK,MAAM;;AAMpB,MAHsC,+BAA+B,MAAM,EAGlD;GACvB,MAAMC,cAA8B;IAClC,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,YAAY,CACV;KAAE,QAAQ;KAAO,MAAM;KAAW,UAAU;KAAU,EACtD;KACE,QAAQ;KACR,MAAM,GAAG,UAAU;KACnB,UAAU;KACV,WAAW;KACZ,CACF;IACF;AACD,UAAO,KAAK,YAAY;;EAG1B,MAAMC,6BAA6C;GACjD,MAAM,GAAG,UAAU;GACnB,aAAa;IACX,cAAc;IACd,cAAc;IACf;GACD;GACD;AACD,8BAA4B,KAAK,2BAA2B;;AAG9D,QAAO"}