@pothos/plugin-prisma 3.43.0 → 3.44.0
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/CHANGELOG.md +7 -0
- package/dts/connection-helpers.d.ts +1 -1
- package/dts/connection-helpers.d.ts.map +1 -1
- package/dts/global-types.d.ts +4 -4
- package/dts/global-types.d.ts.map +1 -1
- package/dts/prisma-field-builder.d.ts +7 -7
- package/dts/prisma-field-builder.d.ts.map +1 -1
- package/dts/types.d.ts +8 -7
- package/dts/types.d.ts.map +1 -1
- package/dts/util/datamodel.d.ts +2 -2
- package/dts/util/datamodel.d.ts.map +1 -1
- package/esm/connection-helpers.d.ts +1 -1
- package/esm/connection-helpers.d.ts.map +1 -1
- package/esm/generator.js +8 -5
- package/esm/generator.js.map +1 -1
- package/esm/global-types.d.ts +4 -4
- package/esm/global-types.d.ts.map +1 -1
- package/esm/global-types.js.map +1 -1
- package/esm/model-loader.js +19 -1
- package/esm/model-loader.js.map +1 -1
- package/esm/object-ref.js +18 -0
- package/esm/object-ref.js.map +1 -1
- package/esm/prisma-field-builder.d.ts +7 -7
- package/esm/prisma-field-builder.d.ts.map +1 -1
- package/esm/prisma-field-builder.js +35 -19
- package/esm/prisma-field-builder.js.map +1 -1
- package/esm/types.d.ts +8 -7
- package/esm/types.d.ts.map +1 -1
- package/esm/util/datamodel.d.ts +2 -2
- package/esm/util/datamodel.d.ts.map +1 -1
- package/lib/generator.js +8 -5
- package/lib/generator.js.map +1 -1
- package/lib/model-loader.js +18 -1
- package/lib/model-loader.js.map +1 -1
- package/lib/object-ref.js +17 -0
- package/lib/object-ref.js.map +1 -1
- package/lib/prisma-field-builder.js +33 -18
- package/lib/prisma-field-builder.js.map +1 -1
- package/package.json +5 -5
- package/src/connection-helpers.ts +1 -1
- package/src/generator.ts +8 -10
- package/src/global-types.ts +7 -2
- package/src/prisma-field-builder.ts +2 -1
- package/src/types.ts +29 -9
package/lib/generator.js
CHANGED
|
@@ -50,10 +50,13 @@ const MIN_TS_VERSION = [
|
|
|
50
50
|
5,
|
|
51
51
|
2
|
|
52
52
|
];
|
|
53
|
+
const versionParts = _typescript.version.split(/[.-]/g).map((part)=>Number.parseInt(part, 10));
|
|
54
|
+
const modifiersArg = versionParts[0] >= 5 ? [] : [
|
|
55
|
+
[]
|
|
56
|
+
];
|
|
53
57
|
function checkTSVersion() {
|
|
54
|
-
const versionParts = _typescript.version.split(/[.-]/g);
|
|
55
58
|
for(let i = 0; i < 3; i += 1){
|
|
56
|
-
const part =
|
|
59
|
+
const part = versionParts[i];
|
|
57
60
|
if (part < MIN_TS_VERSION[i]) {
|
|
58
61
|
throw new Error(`@pothos/plugin-prisma requires typescript version >${MIN_TS_VERSION.join('.')}`);
|
|
59
62
|
}
|
|
@@ -87,7 +90,7 @@ const defaultOutput = (0, _path.resolve)(__dirname, '../generated.ts');
|
|
|
87
90
|
}
|
|
88
91
|
});
|
|
89
92
|
async function generateOutput(dmmf, prismaTypes, prismaLocation, outputLocation) {
|
|
90
|
-
const importStatement = _typescript.default.factory.createImportDeclaration(
|
|
93
|
+
const importStatement = _typescript.default.factory.createImportDeclaration(...modifiersArg, [], _typescript.default.factory.createImportClause(true, undefined, _typescript.default.factory.createNamedImports([
|
|
91
94
|
_typescript.default.factory.createImportSpecifier(false, undefined, _typescript.default.factory.createIdentifier('Prisma')),
|
|
92
95
|
...dmmf.datamodel.models.map((model)=>_typescript.default.factory.createImportSpecifier(false, undefined, _typescript.default.factory.createIdentifier(model.name)))
|
|
93
96
|
])), _typescript.default.factory.createStringLiteral(prismaLocation));
|
|
@@ -152,12 +155,12 @@ function buildTypes(dmmf) {
|
|
|
152
155
|
_typescript.default.factory.createTypeReferenceNode(typeName),
|
|
153
156
|
_typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createNull())
|
|
154
157
|
])),
|
|
155
|
-
_typescript.default.factory.createPropertySignature([], '
|
|
158
|
+
_typescript.default.factory.createPropertySignature([], 'Name', undefined, _typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createStringLiteral(typeName)))
|
|
156
159
|
]));
|
|
157
160
|
})))
|
|
158
161
|
]));
|
|
159
162
|
});
|
|
160
|
-
return _typescript.default.factory.createInterfaceDeclaration(
|
|
163
|
+
return _typescript.default.factory.createInterfaceDeclaration(...modifiersArg, [
|
|
161
164
|
_typescript.default.factory.createModifier(_typescript.SyntaxKind.ExportKeyword),
|
|
162
165
|
_typescript.default.factory.createModifier(_typescript.SyntaxKind.DefaultKeyword)
|
|
163
166
|
], 'PrismaTypes', [], [], modelTypes);
|
package/lib/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generator.ts"],"names":["MIN_TS_VERSION","
|
|
1
|
+
{"version":3,"sources":["../src/generator.ts"],"names":["MIN_TS_VERSION","versionParts","version","split","map","part","Number","parseInt","modifiersArg","checkTSVersion","i","Error","join","defaultOutput","resolvePath","__dirname","generatorHandler","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","outputLocation","prismaTypes","buildTypes","dmmf","generateOutput","replace","importStatement","ts","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","datamodel","models","model","name","createStringLiteral","printer","createPrinter","sourcefile","createSourceFile","ScriptTarget","ESNext","ScriptKind","TS","nodes","createNodeArray","result","printList","ListFormat","SourceFileStatements","Promise","resolve","reject","mkdir","dirname","fileName","recursive","err","writeFile","getOrderByTypeName","type","possibleTypes","orderBy","schema","inputObjectTypes","prisma","inputType","includes","modelTypes","relations","fields","filter","field","relationName","listRelations","isList","createPropertySignature","createTypeLiteralNode","createLiteralTypeNode","createTypeReferenceNode","length","createUnionTypeNode","typeName","createArrayTypeNode","isRequired","createNull","createInterfaceDeclaration","createModifier","SyntaxKind","ExportKeyword","DefaultKeyword"],"mappings":"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"}
|
package/lib/model-loader.js
CHANGED
|
@@ -10,6 +10,19 @@ const _core = require("@pothos/core");
|
|
|
10
10
|
const _datamodel = require("./util/datamodel");
|
|
11
11
|
const _getClient = require("./util/get-client");
|
|
12
12
|
const _selections = require("./util/selections");
|
|
13
|
+
function _defineProperty(obj, key, value) {
|
|
14
|
+
if (key in obj) {
|
|
15
|
+
Object.defineProperty(obj, key, {
|
|
16
|
+
value: value,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
13
26
|
class ModelLoader {
|
|
14
27
|
static forRef(ref, modelName, findUnique, builder) {
|
|
15
28
|
return (0, _core.createContextCache)((model)=>new ModelLoader(model, builder, modelName, findUnique === null ? ()=>{
|
|
@@ -153,7 +166,11 @@ class ModelLoader {
|
|
|
153
166
|
return entry.promise;
|
|
154
167
|
}
|
|
155
168
|
constructor(model, builder, modelName, findUnique){
|
|
156
|
-
this
|
|
169
|
+
_defineProperty(this, "model", void 0);
|
|
170
|
+
_defineProperty(this, "builder", void 0);
|
|
171
|
+
_defineProperty(this, "findUnique", void 0);
|
|
172
|
+
_defineProperty(this, "modelName", void 0);
|
|
173
|
+
_defineProperty(this, "staged", new Set());
|
|
157
174
|
this.model = model;
|
|
158
175
|
this.builder = builder;
|
|
159
176
|
this.findUnique = findUnique;
|
package/lib/model-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model-loader.ts"],"names":["ModelLoader","forRef","ref","modelName","findUnique","builder","createContextCache","model","PothosSchemaError","name","getDefaultFindUnique","getFindUnique","findBy","parent","fields","primaryKeyName","primaryKey","key","join","getDefaultFindBy","getModel","idField","find","field","isId","uniqueField","isRequired","isUnique","uniqueIndex","uniqueIndexes","idx","every","f","getDefaultIDSelection","result","getCursorSelection","cursor","index","filter","Boolean","selection","column","getFindUniqueForField","fieldName","some","loadSelection","context","query","selectionToQuery","entry","staged","selectionCompatible","state","mergeSelection","promise","initLoad","Promise","resolve","then","delete","delegate","getDelegateFromModel","getClient","findUniqueOrThrow","where","rejectOnNotFound","add","constructor","Set"],"mappings":";;;;+BAUaA;;aAAAA;;sBAViE;2BAC/B;2BACrB;4BAMnB
|
|
1
|
+
{"version":3,"sources":["../src/model-loader.ts"],"names":["ModelLoader","forRef","ref","modelName","findUnique","builder","createContextCache","model","PothosSchemaError","name","getDefaultFindUnique","getFindUnique","findBy","parent","fields","primaryKeyName","primaryKey","key","join","getDefaultFindBy","getModel","idField","find","field","isId","uniqueField","isRequired","isUnique","uniqueIndex","uniqueIndexes","idx","every","f","getDefaultIDSelection","result","getCursorSelection","cursor","index","filter","Boolean","selection","column","getFindUniqueForField","fieldName","some","loadSelection","context","query","selectionToQuery","entry","staged","selectionCompatible","state","mergeSelection","promise","initLoad","Promise","resolve","then","delete","delegate","getDelegateFromModel","getClient","findUniqueOrThrow","where","rejectOnNotFound","add","constructor","Set"],"mappings":"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"}
|
package/lib/object-ref.js
CHANGED
|
@@ -13,7 +13,21 @@ _export(exports, {
|
|
|
13
13
|
PrismaObjectRef: ()=>PrismaObjectRef
|
|
14
14
|
});
|
|
15
15
|
const _core = require("@pothos/core");
|
|
16
|
+
function _defineProperty(obj, key, value) {
|
|
17
|
+
if (key in obj) {
|
|
18
|
+
Object.defineProperty(obj, key, {
|
|
19
|
+
value: value,
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true
|
|
23
|
+
});
|
|
24
|
+
} else {
|
|
25
|
+
obj[key] = value;
|
|
26
|
+
}
|
|
27
|
+
return obj;
|
|
28
|
+
}
|
|
16
29
|
const prismaModelKey = Symbol.for('Pothos.prismaModelKey');
|
|
30
|
+
let _prismaModelKey = prismaModelKey, _abstractReturnShapeKey = _core.abstractReturnShapeKey;
|
|
17
31
|
class PrismaObjectRef extends _core.ObjectRef {
|
|
18
32
|
addBrand(value) {
|
|
19
33
|
if (Array.isArray(value)) {
|
|
@@ -28,6 +42,9 @@ class PrismaObjectRef extends _core.ObjectRef {
|
|
|
28
42
|
}
|
|
29
43
|
constructor(name, modelName){
|
|
30
44
|
super(name);
|
|
45
|
+
_defineProperty(this, _prismaModelKey, void 0);
|
|
46
|
+
_defineProperty(this, _abstractReturnShapeKey, void 0);
|
|
47
|
+
_defineProperty(this, "modelName", void 0);
|
|
31
48
|
this.modelName = modelName;
|
|
32
49
|
}
|
|
33
50
|
}
|
package/lib/object-ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/object-ref.ts"],"names":["prismaModelKey","PrismaObjectRef","Symbol","for","ObjectRef","addBrand","value","Array","isArray","forEach","val","brandWithType","name","hasBrand","typeBrandKey","constructor","modelName"],"mappings":";;;;;;;;;;;IAGaA,cAAc,MAAdA;IAEAC,eAAe,MAAfA;;sBALkE
|
|
1
|
+
{"version":3,"sources":["../src/object-ref.ts"],"names":["prismaModelKey","PrismaObjectRef","Symbol","for","abstractReturnShapeKey","ObjectRef","addBrand","value","Array","isArray","forEach","val","brandWithType","name","hasBrand","typeBrandKey","constructor","modelName"],"mappings":";;;;;;;;;;;IAGaA,cAAc,MAAdA;IAEAC,eAAe,MAAfA;;sBALkE;;;;;;;;;;;;;;AAGxE,MAAMD,iBAAiBE,OAAOC,GAAG,CAAC;IAGtCH,kBAAAA,gBACAI,0BAAAA,4BAAsB;AAFlB,MAAMH,wBAAgEI,eAAS;IAWpFC,SACEC,KAAQ,EAC4D;QACpE,IAAIC,MAAMC,OAAO,CAACF,QAAQ;YACxBA,MAAMG,OAAO,CAAC,CAACC,MAAQ,KAAKC,IAAAA,mBAAa,EAACD,KAAK,IAAI,CAACE,IAAI;YAExD,OAAON;QACT,CAAC;QAEDK,IAAAA,mBAAa,EAACL,OAAO,IAAI,CAACM,IAAI;QAE9B,OAAON;IACT;IAEAO,SAASP,KAAc,EAAE;QACvB,OACE,OAAOA,UAAU,YACjBA,UAAU,IAAI,IACdQ,kBAAY,IAAIR,SAChB,AAACA,KAAsC,CAACQ,kBAAY,CAAC,KAAK,IAAI,CAACF,IAAI;IAEvE;IA3BAG,YAAYH,IAAY,EAAEI,SAAiB,CAAE;QAC3C,KAAK,CAACJ;QALR,sBAACb,iBAAD,KAAA;QACA,sBAACI,yBAAD,KAAA;QACAa,sBAAAA,aAAAA,KAAAA;QAKE,IAAI,CAACA,SAAS,GAAGA;IACnB;AAwBF"}
|
|
@@ -11,6 +11,19 @@ const _modelLoader = require("./model-loader");
|
|
|
11
11
|
const _cursors = require("./util/cursors");
|
|
12
12
|
const _datamodel = require("./util/datamodel");
|
|
13
13
|
const _description = require("./util/description");
|
|
14
|
+
function _defineProperty(obj, key, value) {
|
|
15
|
+
if (key in obj) {
|
|
16
|
+
Object.defineProperty(obj, key, {
|
|
17
|
+
value: value,
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true
|
|
21
|
+
});
|
|
22
|
+
} else {
|
|
23
|
+
obj[key] = value;
|
|
24
|
+
}
|
|
25
|
+
return obj;
|
|
26
|
+
}
|
|
14
27
|
// Workaround for FieldKind not being extended on Builder classes
|
|
15
28
|
const RootBuilder = _core.RootFieldBuilder;
|
|
16
29
|
class PrismaObjectFieldBuilder extends RootBuilder {
|
|
@@ -126,28 +139,30 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
126
139
|
}
|
|
127
140
|
constructor(name, builder, model, fieldMap){
|
|
128
141
|
super(name, builder, 'PrismaObject', 'Object');
|
|
129
|
-
this
|
|
130
|
-
this
|
|
131
|
-
this
|
|
132
|
-
this
|
|
133
|
-
this
|
|
134
|
-
this
|
|
142
|
+
_defineProperty(this, "model", void 0);
|
|
143
|
+
_defineProperty(this, "prismaFieldMap", void 0);
|
|
144
|
+
_defineProperty(this, "exposeBoolean", this.createExpose('Boolean'));
|
|
145
|
+
_defineProperty(this, "exposeFloat", this.createExpose('Float'));
|
|
146
|
+
_defineProperty(this, "exposeInt", this.createExpose('Int'));
|
|
147
|
+
_defineProperty(this, "exposeID", this.createExpose('ID'));
|
|
148
|
+
_defineProperty(this, "exposeString", this.createExpose('String'));
|
|
149
|
+
_defineProperty(this, "exposeBooleanList", this.createExpose([
|
|
135
150
|
'Boolean'
|
|
136
|
-
]);
|
|
137
|
-
this
|
|
151
|
+
]));
|
|
152
|
+
_defineProperty(this, "exposeFloatList", this.createExpose([
|
|
138
153
|
'Float'
|
|
139
|
-
]);
|
|
140
|
-
this
|
|
154
|
+
]));
|
|
155
|
+
_defineProperty(this, "exposeIntList", this.createExpose([
|
|
141
156
|
'Int'
|
|
142
|
-
]);
|
|
143
|
-
this
|
|
157
|
+
]));
|
|
158
|
+
_defineProperty(this, "exposeIDList", this.createExpose([
|
|
144
159
|
'ID'
|
|
145
|
-
]);
|
|
146
|
-
this
|
|
160
|
+
]));
|
|
161
|
+
_defineProperty(this, "exposeStringList", this.createExpose([
|
|
147
162
|
'String'
|
|
148
|
-
]);
|
|
149
|
-
this
|
|
150
|
-
this
|
|
163
|
+
]));
|
|
164
|
+
_defineProperty(this, "withAuth", withAuth);
|
|
165
|
+
_defineProperty(this, "relatedConnection", function relatedConnection(name, { maxSize , defaultSize , cursor , query , resolve , extensions , totalCount , description , ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
151
166
|
const relationField = (0, _datamodel.getRelation)(this.model, this.builder, name);
|
|
152
167
|
var _options_type;
|
|
153
168
|
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _datamodel.getRefFromModel)(relationField.type, this.builder);
|
|
@@ -239,7 +254,7 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
239
254
|
} : connectionOptions.fields
|
|
240
255
|
}, edgeOptions);
|
|
241
256
|
return fieldRef;
|
|
242
|
-
};
|
|
257
|
+
});
|
|
243
258
|
this.model = model;
|
|
244
259
|
this.prismaFieldMap = fieldMap;
|
|
245
260
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/prisma-field-builder.ts"],"names":["PrismaObjectFieldBuilder","RootBuilder","RootFieldBuilder","relation","name","allArgs","description","options","relationField","getRelation","model","builder","ref","type","getRefFromModel","query","resolve","extensions","rest","relationSelect","args","context","nestedQuery","select","field","isList","getFieldDescription","pothosPrismaSelect","pothosPrismaLoaded","value","undefined","pothosPrismaFallback","q","parent","info","relationCount","where","countSelect","_count","nullable","variant","isNull","selfSelect","parentIsNull","isThenable","then","resolved","expose","typeConfig","configStore","getTypeConfig","typename","usingSelect","exposeField","pothosPrismaVariant","createExpose","constructor","fieldMap","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","withAuth","relatedConnection","maxSize","defaultSize","cursor","totalCount","connectionOptions","edgeOptions","typeName","formatCursor","getCursorFormatter","parseCursor","getCursorParser","getQuery","ctx","prismaCursorConnectionQuery","cursorSelection","ModelLoader","getCursorSelection","getSelection","nested","getType","path","hasTotalCount","prisma","filterConnectionTotalCount","fieldRef","connection","Promise","result","wrapConnectionResult","take","connectionQuery","ObjectRef","fields","t","int","
|
|
1
|
+
{"version":3,"sources":["../src/prisma-field-builder.ts"],"names":["PrismaObjectFieldBuilder","RootBuilder","RootFieldBuilder","relation","name","allArgs","description","options","relationField","getRelation","model","builder","ref","type","getRefFromModel","query","resolve","extensions","rest","relationSelect","args","context","nestedQuery","select","field","isList","getFieldDescription","pothosPrismaSelect","pothosPrismaLoaded","value","undefined","pothosPrismaFallback","q","parent","info","relationCount","where","countSelect","_count","nullable","variant","isNull","selfSelect","parentIsNull","isThenable","then","resolved","expose","typeConfig","configStore","getTypeConfig","typename","usingSelect","exposeField","pothosPrismaVariant","createExpose","constructor","fieldMap","prismaFieldMap","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","withAuth","relatedConnection","maxSize","defaultSize","cursor","totalCount","connectionOptions","edgeOptions","typeName","formatCursor","getCursorFormatter","parseCursor","getCursorParser","getQuery","ctx","prismaCursorConnectionQuery","cursorSelection","ModelLoader","getCursorSelection","getSelection","nested","getType","path","hasTotalCount","prisma","filterConnectionTotalCount","fieldRef","connection","Promise","result","wrapConnectionResult","take","connectionQuery","ObjectRef","fields","t","int","addScopes","scopes","originalCreateField","createField","call","authScopes"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pothos/plugin-prisma",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.44.0",
|
|
4
4
|
"description": "A Pothos plugin for more efficient integration with prisma",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./dts/index.d.ts",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"access": "public"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@prisma/generator-helper": "^4.
|
|
53
|
+
"@prisma/generator-helper": "^4.11.0"
|
|
54
54
|
},
|
|
55
55
|
"prisma": {
|
|
56
56
|
"seed": "node prisma/seed.mjs"
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"typescript": ">=4.7.2"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@prisma/client": "^4.
|
|
65
|
+
"@prisma/client": "^4.11.0",
|
|
66
66
|
"graphql": "16.6.0",
|
|
67
|
-
"graphql-scalars": "^1.20.
|
|
67
|
+
"graphql-scalars": "^1.20.4",
|
|
68
68
|
"graphql-tag": "^2.12.6",
|
|
69
|
-
"prisma": "^4.
|
|
69
|
+
"prisma": "^4.11.0",
|
|
70
70
|
"@pothos/core": "3.28.0",
|
|
71
71
|
"@pothos/plugin-complexity": "3.12.0",
|
|
72
72
|
"@pothos/plugin-errors": "3.11.0",
|
|
@@ -25,7 +25,7 @@ export function prismaConnectionHelpers<
|
|
|
25
25
|
Shape = RefOrType extends PrismaObjectRef<PrismaModelTypes, infer T> ? T : Model['Shape'],
|
|
26
26
|
EdgeShape = Model['Include'] extends Select
|
|
27
27
|
? Shape
|
|
28
|
-
: ShapeFromSelection<Model, { select: Select }>,
|
|
28
|
+
: ShapeFromSelection<Types, Model, { select: Select }>,
|
|
29
29
|
NodeShape = EdgeShape,
|
|
30
30
|
>(
|
|
31
31
|
builder: PothosSchemaTypes.SchemaBuilder<Types>,
|
package/src/generator.ts
CHANGED
|
@@ -9,11 +9,12 @@ import { DMMF, generatorHandler } from '@prisma/generator-helper';
|
|
|
9
9
|
|
|
10
10
|
const MIN_TS_VERSION = [4, 5, 2];
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const versionParts = version.split(/[.-]/g).map((part) => Number.parseInt(part, 10));
|
|
13
|
+
const modifiersArg = (versionParts[0] >= 5 ? [] : [[]]) as [];
|
|
14
14
|
|
|
15
|
+
function checkTSVersion() {
|
|
15
16
|
for (let i = 0; i < 3; i += 1) {
|
|
16
|
-
const part =
|
|
17
|
+
const part = versionParts[i];
|
|
17
18
|
if (part < MIN_TS_VERSION[i]) {
|
|
18
19
|
throw new Error(
|
|
19
20
|
`@pothos/plugin-prisma requires typescript version >${MIN_TS_VERSION.join('.')}`,
|
|
@@ -65,7 +66,7 @@ async function generateOutput(
|
|
|
65
66
|
outputLocation: string,
|
|
66
67
|
) {
|
|
67
68
|
const importStatement = ts.factory.createImportDeclaration(
|
|
68
|
-
|
|
69
|
+
...modifiersArg,
|
|
69
70
|
[],
|
|
70
71
|
ts.factory.createImportClause(
|
|
71
72
|
true,
|
|
@@ -243,12 +244,9 @@ function buildTypes(dmmf: DMMF.Document) {
|
|
|
243
244
|
),
|
|
244
245
|
ts.factory.createPropertySignature(
|
|
245
246
|
[],
|
|
246
|
-
'
|
|
247
|
+
'Name',
|
|
247
248
|
undefined,
|
|
248
|
-
ts.factory.
|
|
249
|
-
ts.factory.createTypeReferenceNode('PrismaTypes'),
|
|
250
|
-
ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(typeName)),
|
|
251
|
-
),
|
|
249
|
+
ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(typeName)),
|
|
252
250
|
),
|
|
253
251
|
]),
|
|
254
252
|
);
|
|
@@ -260,7 +258,7 @@ function buildTypes(dmmf: DMMF.Document) {
|
|
|
260
258
|
});
|
|
261
259
|
|
|
262
260
|
return ts.factory.createInterfaceDeclaration(
|
|
263
|
-
|
|
261
|
+
...modifiersArg,
|
|
264
262
|
[
|
|
265
263
|
ts.factory.createModifier(SyntaxKind.ExportKeyword),
|
|
266
264
|
ts.factory.createModifier(SyntaxKind.DefaultKeyword),
|
package/src/global-types.ts
CHANGED
|
@@ -114,9 +114,12 @@ declare global {
|
|
|
114
114
|
FindUnique,
|
|
115
115
|
Include,
|
|
116
116
|
Select,
|
|
117
|
-
ShapeFromSelection<Model, { select: Select; include: Include }>
|
|
117
|
+
ShapeFromSelection<Types, Model, { select: Select; include: Include }>
|
|
118
118
|
>,
|
|
119
|
-
) => PrismaObjectRef<
|
|
119
|
+
) => PrismaObjectRef<
|
|
120
|
+
Model,
|
|
121
|
+
ShapeFromSelection<Types, Model, { select: Select; include: Include }>
|
|
122
|
+
>;
|
|
120
123
|
|
|
121
124
|
prismaObjectField: <
|
|
122
125
|
Type extends PrismaObjectRef<PrismaModelTypes, {}> | keyof Types['PrismaTypes'],
|
|
@@ -165,6 +168,7 @@ declare global {
|
|
|
165
168
|
Include,
|
|
166
169
|
Select,
|
|
167
170
|
ShapeFromSelection<
|
|
171
|
+
Types,
|
|
168
172
|
PrismaModelTypes & Types['PrismaTypes'][Name],
|
|
169
173
|
{ select: Select; include: Include }
|
|
170
174
|
>,
|
|
@@ -173,6 +177,7 @@ declare global {
|
|
|
173
177
|
) => PrismaNodeRef<
|
|
174
178
|
Types['PrismaTypes'][Name] & PrismaModelTypes,
|
|
175
179
|
ShapeFromSelection<
|
|
180
|
+
Types,
|
|
176
181
|
PrismaModelTypes & Types['PrismaTypes'][Name],
|
|
177
182
|
{ select: Select; include: Include }
|
|
178
183
|
>
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
RelationCountOptions,
|
|
27
27
|
SelectionMap,
|
|
28
28
|
ShapeFromConnection,
|
|
29
|
+
TypesForRelation,
|
|
29
30
|
VariantFieldOptions,
|
|
30
31
|
} from './types';
|
|
31
32
|
import {
|
|
@@ -385,7 +386,7 @@ export class PrismaObjectFieldBuilder<
|
|
|
385
386
|
Types,
|
|
386
387
|
Shape,
|
|
387
388
|
NeedsResolve,
|
|
388
|
-
Model
|
|
389
|
+
TypesForRelation<Types, Model, Field>['Where']
|
|
389
390
|
>,
|
|
390
391
|
]
|
|
391
392
|
>
|
package/src/types.ts
CHANGED
|
@@ -49,7 +49,8 @@ export interface PrismaModelTypes {
|
|
|
49
49
|
string,
|
|
50
50
|
{
|
|
51
51
|
Shape: unknown;
|
|
52
|
-
|
|
52
|
+
Name: string;
|
|
53
|
+
// Types: PrismaModelTypes;
|
|
53
54
|
}
|
|
54
55
|
>;
|
|
55
56
|
}
|
|
@@ -78,6 +79,7 @@ export type PrismaObjectFieldOptions<
|
|
|
78
79
|
? ParentShape
|
|
79
80
|
: ParentShape &
|
|
80
81
|
ShapeFromSelection<
|
|
82
|
+
Types,
|
|
81
83
|
ExtractModel<Types, ParentShape>,
|
|
82
84
|
{ select: Select extends (...args: any[]) => infer S ? S : Select }
|
|
83
85
|
>,
|
|
@@ -123,12 +125,16 @@ interface BaseSelection {
|
|
|
123
125
|
|
|
124
126
|
export type SelectedKeys<T> = { [K in keyof T]: T[K] extends false ? never : K }[keyof T];
|
|
125
127
|
|
|
126
|
-
export type ShapeFromSelection<
|
|
128
|
+
export type ShapeFromSelection<
|
|
129
|
+
Types extends SchemaTypes,
|
|
130
|
+
Model extends PrismaModelTypes,
|
|
131
|
+
Selection,
|
|
132
|
+
> = Normalize<
|
|
127
133
|
Selection extends BaseSelection
|
|
128
134
|
? unknown extends Selection['select']
|
|
129
|
-
? Model['Shape'] & RelationShapeFromInclude<Model, Selection['include']>
|
|
135
|
+
? Model['Shape'] & RelationShapeFromInclude<Types, Model, Selection['include']>
|
|
130
136
|
: Pick<Model['Shape'], SelectedKeys<Selection['select']>> &
|
|
131
|
-
RelationShapeFromInclude<Model, Selection['select']> &
|
|
137
|
+
RelationShapeFromInclude<Types, Model, Selection['select']> &
|
|
132
138
|
('_count' extends keyof Selection['select']
|
|
133
139
|
? ShapeFromCount<Selection['select']['_count']>
|
|
134
140
|
: {})
|
|
@@ -141,13 +147,27 @@ export type ShapeFromCount<Selection> = Selection extends true
|
|
|
141
147
|
? { _count: { [K in keyof Counts]: number } }
|
|
142
148
|
: never;
|
|
143
149
|
|
|
144
|
-
type
|
|
150
|
+
export type TypesForRelation<
|
|
151
|
+
Types extends SchemaTypes,
|
|
152
|
+
Model extends PrismaModelTypes,
|
|
153
|
+
Relation extends keyof Model['Relations'],
|
|
154
|
+
> = Model['Relations'][Relation]['Name'] extends infer Name
|
|
155
|
+
? Name extends keyof Types['PrismaTypes']
|
|
156
|
+
? Types['PrismaTypes'][Name] & PrismaModelTypes
|
|
157
|
+
: never
|
|
158
|
+
: never;
|
|
159
|
+
|
|
160
|
+
type RelationShapeFromInclude<
|
|
161
|
+
Types extends SchemaTypes,
|
|
162
|
+
Model extends PrismaModelTypes,
|
|
163
|
+
Include,
|
|
164
|
+
> = Normalize<{
|
|
145
165
|
[K in SelectedKeys<Include> as K extends Model['RelationName']
|
|
146
166
|
? K
|
|
147
167
|
: never]: K extends keyof Model['Relations']
|
|
148
168
|
? Model['Relations'][K]['Shape'] extends unknown[]
|
|
149
|
-
? ShapeFromSelection<
|
|
150
|
-
: ShapeFromSelection<
|
|
169
|
+
? ShapeFromSelection<Types, TypesForRelation<Types, Model, K>, Include[K]>[]
|
|
170
|
+
: ShapeFromSelection<Types, TypesForRelation<Types, Model, K>, Include[K]>
|
|
151
171
|
: unknown;
|
|
152
172
|
}>;
|
|
153
173
|
|
|
@@ -372,7 +392,7 @@ export type RelatedFieldOptions<
|
|
|
372
392
|
>;
|
|
373
393
|
}) & {
|
|
374
394
|
description?: string | false;
|
|
375
|
-
type?: PrismaObjectRef<Model
|
|
395
|
+
type?: PrismaObjectRef<TypesForRelation<Types, Model, Field>>;
|
|
376
396
|
query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
|
|
377
397
|
};
|
|
378
398
|
|
|
@@ -643,7 +663,7 @@ export type RelatedConnectionOptions<
|
|
|
643
663
|
? {
|
|
644
664
|
description?: string | false;
|
|
645
665
|
query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
|
|
646
|
-
type?: PrismaObjectRef<Model
|
|
666
|
+
type?: PrismaObjectRef<TypesForRelation<Types, Model, Field>>;
|
|
647
667
|
cursor: CursorFromRelation<Model, Field>;
|
|
648
668
|
defaultSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
|
|
649
669
|
maxSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
|