@pothos/plugin-prisma 0.18.0 → 0.19.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.
Files changed (163) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +403 -308
  3. package/esm/field-builder.js +3 -3
  4. package/esm/field-builder.js.map +1 -1
  5. package/esm/generator.js +4 -0
  6. package/esm/generator.js.map +1 -1
  7. package/esm/global-types.d.ts +23 -5
  8. package/esm/global-types.d.ts.map +1 -1
  9. package/esm/index.d.ts +4 -1
  10. package/esm/index.d.ts.map +1 -1
  11. package/esm/index.js +46 -1
  12. package/esm/index.js.map +1 -1
  13. package/esm/model-loader.d.ts +5 -6
  14. package/esm/model-loader.d.ts.map +1 -1
  15. package/esm/model-loader.js +12 -69
  16. package/esm/model-loader.js.map +1 -1
  17. package/esm/prisma-field-builder.d.ts +25 -6
  18. package/esm/prisma-field-builder.d.ts.map +1 -1
  19. package/esm/prisma-field-builder.js +83 -116
  20. package/esm/prisma-field-builder.js.map +1 -1
  21. package/esm/schema-builder.js +14 -4
  22. package/esm/schema-builder.js.map +1 -1
  23. package/esm/types.d.ts +73 -77
  24. package/esm/types.d.ts.map +1 -1
  25. package/esm/types.js +1 -0
  26. package/esm/types.js.map +1 -1
  27. package/esm/{cursors.d.ts → util/cursors.d.ts} +1 -1
  28. package/esm/util/cursors.d.ts.map +1 -0
  29. package/esm/{cursors.js → util/cursors.js} +0 -0
  30. package/esm/util/cursors.js.map +1 -0
  31. package/{lib/refs.d.ts → esm/util/datamodel.d.ts} +4 -8
  32. package/esm/util/datamodel.d.ts.map +1 -0
  33. package/esm/{refs.js → util/datamodel.js} +2 -25
  34. package/esm/util/datamodel.js.map +1 -0
  35. package/esm/util/deep-equal.d.ts +2 -0
  36. package/esm/util/deep-equal.d.ts.map +1 -0
  37. package/esm/util/deep-equal.js +39 -0
  38. package/esm/util/deep-equal.js.map +1 -0
  39. package/esm/util/loader-map.d.ts +6 -0
  40. package/esm/util/loader-map.d.ts.map +1 -0
  41. package/esm/{loader-map.js → util/loader-map.js} +10 -12
  42. package/esm/util/loader-map.js.map +1 -0
  43. package/esm/util/map-query.d.ts +6 -0
  44. package/esm/util/map-query.d.ts.map +1 -0
  45. package/esm/util/map-query.js +169 -0
  46. package/esm/util/map-query.js.map +1 -0
  47. package/esm/util/relation-map.d.ts +9 -0
  48. package/esm/util/relation-map.d.ts.map +1 -0
  49. package/esm/util/relation-map.js +20 -0
  50. package/esm/util/relation-map.js.map +1 -0
  51. package/esm/util/selections.d.ts +20 -0
  52. package/esm/util/selections.d.ts.map +1 -0
  53. package/esm/util/selections.js +139 -0
  54. package/esm/util/selections.js.map +1 -0
  55. package/lib/field-builder.js +9 -9
  56. package/lib/field-builder.js.map +1 -1
  57. package/lib/generator.js +4 -0
  58. package/lib/generator.js.map +1 -1
  59. package/lib/global-types.d.ts +23 -5
  60. package/lib/global-types.d.ts.map +1 -1
  61. package/lib/index.d.ts +4 -1
  62. package/lib/index.d.ts.map +1 -1
  63. package/lib/index.js +45 -0
  64. package/lib/index.js.map +1 -1
  65. package/lib/model-loader.d.ts +5 -6
  66. package/lib/model-loader.d.ts.map +1 -1
  67. package/lib/model-loader.js +13 -70
  68. package/lib/model-loader.js.map +1 -1
  69. package/lib/prisma-field-builder.d.ts +25 -6
  70. package/lib/prisma-field-builder.d.ts.map +1 -1
  71. package/lib/prisma-field-builder.js +89 -122
  72. package/lib/prisma-field-builder.js.map +1 -1
  73. package/lib/schema-builder.js +17 -7
  74. package/lib/schema-builder.js.map +1 -1
  75. package/lib/types.d.ts +73 -77
  76. package/lib/types.d.ts.map +1 -1
  77. package/lib/types.js +2 -0
  78. package/lib/types.js.map +1 -1
  79. package/lib/{cursors.d.ts → util/cursors.d.ts} +1 -1
  80. package/lib/util/cursors.d.ts.map +1 -0
  81. package/lib/{cursors.js → util/cursors.js} +0 -0
  82. package/lib/util/cursors.js.map +1 -0
  83. package/{esm/refs.d.ts → lib/util/datamodel.d.ts} +4 -8
  84. package/lib/util/datamodel.d.ts.map +1 -0
  85. package/lib/{refs.js → util/datamodel.js} +3 -29
  86. package/lib/util/datamodel.js.map +1 -0
  87. package/lib/util/deep-equal.d.ts +2 -0
  88. package/lib/util/deep-equal.d.ts.map +1 -0
  89. package/lib/util/deep-equal.js +43 -0
  90. package/lib/util/deep-equal.js.map +1 -0
  91. package/lib/util/loader-map.d.ts +6 -0
  92. package/lib/util/loader-map.d.ts.map +1 -0
  93. package/lib/{loader-map.js → util/loader-map.js} +10 -12
  94. package/lib/util/loader-map.js.map +1 -0
  95. package/lib/util/map-query.d.ts +6 -0
  96. package/lib/util/map-query.d.ts.map +1 -0
  97. package/lib/util/map-query.js +175 -0
  98. package/lib/util/map-query.js.map +1 -0
  99. package/lib/util/relation-map.d.ts +9 -0
  100. package/lib/util/relation-map.d.ts.map +1 -0
  101. package/lib/util/relation-map.js +24 -0
  102. package/lib/util/relation-map.js.map +1 -0
  103. package/lib/util/selections.d.ts +20 -0
  104. package/lib/util/selections.d.ts.map +1 -0
  105. package/lib/util/selections.js +148 -0
  106. package/lib/util/selections.js.map +1 -0
  107. package/package.json +5 -5
  108. package/src/field-builder.ts +3 -3
  109. package/src/generator.ts +18 -0
  110. package/src/global-types.ts +59 -12
  111. package/src/index.ts +75 -1
  112. package/src/model-loader.ts +19 -92
  113. package/src/prisma-field-builder.ts +194 -152
  114. package/src/schema-builder.ts +28 -7
  115. package/src/types.ts +138 -102
  116. package/src/{cursors.ts → util/cursors.ts} +1 -1
  117. package/src/{refs.ts → util/datamodel.ts} +3 -44
  118. package/src/util/deep-equal.ts +51 -0
  119. package/src/{loader-map.ts → util/loader-map.ts} +13 -13
  120. package/src/util/map-query.ts +327 -0
  121. package/src/util/relation-map.ts +36 -0
  122. package/src/util/selections.ts +192 -0
  123. package/esm/cursors.d.ts.map +0 -1
  124. package/esm/cursors.js.map +0 -1
  125. package/esm/loader-map.d.ts +0 -6
  126. package/esm/loader-map.d.ts.map +0 -1
  127. package/esm/loader-map.js.map +0 -1
  128. package/esm/refs.d.ts.map +0 -1
  129. package/esm/refs.js.map +0 -1
  130. package/esm/util/index.d.ts +0 -5
  131. package/esm/util/index.d.ts.map +0 -1
  132. package/esm/util/index.js +0 -16
  133. package/esm/util/index.js.map +0 -1
  134. package/esm/util/map-includes.d.ts +0 -6
  135. package/esm/util/map-includes.d.ts.map +0 -1
  136. package/esm/util/map-includes.js +0 -184
  137. package/esm/util/map-includes.js.map +0 -1
  138. package/esm/util/merge-includes.d.ts +0 -3
  139. package/esm/util/merge-includes.d.ts.map +0 -1
  140. package/esm/util/merge-includes.js +0 -91
  141. package/esm/util/merge-includes.js.map +0 -1
  142. package/lib/cursors.d.ts.map +0 -1
  143. package/lib/cursors.js.map +0 -1
  144. package/lib/loader-map.d.ts +0 -6
  145. package/lib/loader-map.d.ts.map +0 -1
  146. package/lib/loader-map.js.map +0 -1
  147. package/lib/refs.d.ts.map +0 -1
  148. package/lib/refs.js.map +0 -1
  149. package/lib/util/index.d.ts +0 -5
  150. package/lib/util/index.d.ts.map +0 -1
  151. package/lib/util/index.js +0 -30
  152. package/lib/util/index.js.map +0 -1
  153. package/lib/util/map-includes.d.ts +0 -6
  154. package/lib/util/map-includes.d.ts.map +0 -1
  155. package/lib/util/map-includes.js +0 -189
  156. package/lib/util/map-includes.js.map +0 -1
  157. package/lib/util/merge-includes.d.ts +0 -3
  158. package/lib/util/merge-includes.d.ts.map +0 -1
  159. package/lib/util/merge-includes.js +0 -96
  160. package/lib/util/merge-includes.js.map +0 -1
  161. package/src/util/index.ts +0 -26
  162. package/src/util/map-includes.ts +0 -328
  163. package/src/util/merge-includes.ts +0 -121
@@ -0,0 +1,139 @@
1
+ /* eslint-disable no-param-reassign */
2
+ /* eslint-disable no-underscore-dangle */
3
+ import { deepEqual } from './deep-equal.js';
4
+ export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
5
+ if (typeof selectionMap === "boolean") {
6
+ return ignoreQuery || !selectionMap || Object.keys(state.query).length === 0;
7
+ }
8
+ const { select, include, ...query } = selectionMap;
9
+ if (select && Object.keys(select).some((key) => compare(key, select[key]))) {
10
+ return false;
11
+ }
12
+ if (include && Object.keys(include).some((key) => compare(key, include[key]))) {
13
+ return false;
14
+ }
15
+ return ignoreQuery || deepEqual(state.query, query);
16
+ function compare(key, value) {
17
+ return (value &&
18
+ state.fieldMap.relations.has(key) &&
19
+ state.relations.has(key) &&
20
+ !selectionCompatible(state.relations.get(key), value));
21
+ }
22
+ }
23
+ export function stateCompatible(state, newState, ignoreQuery = false) {
24
+ for (const [name, relationState] of newState.relations) {
25
+ if (state.relations.has(name) && !stateCompatible(state.relations.get(name), relationState)) {
26
+ return false;
27
+ }
28
+ }
29
+ return ignoreQuery || deepEqual(state.query, newState.query);
30
+ }
31
+ export function mergeState(state, newState) {
32
+ for (const [name, relationState] of newState.relations) {
33
+ if (state.relations.has(name)) {
34
+ mergeState(state.relations.get(name), relationState);
35
+ }
36
+ }
37
+ if (newState.mode === "include") {
38
+ state.mode = "include";
39
+ }
40
+ else {
41
+ for (const name of newState.fields) {
42
+ state.fields.add(name);
43
+ }
44
+ }
45
+ }
46
+ export function createState(fieldMap, mode, parent) {
47
+ return {
48
+ parent,
49
+ mode,
50
+ fieldMap,
51
+ query: {},
52
+ fields: new Set(),
53
+ counts: new Set(),
54
+ relations: new Map(),
55
+ mappings: {},
56
+ };
57
+ }
58
+ export function mergeSelection(state, { select, include, ...query }) {
59
+ if (state.mode === "select" && !select) {
60
+ state.mode = "include";
61
+ }
62
+ if (include) {
63
+ Object.keys(include).forEach((key) => {
64
+ merge(key, include[key]);
65
+ });
66
+ }
67
+ if (select) {
68
+ Object.keys(select).forEach((key) => {
69
+ merge(key, select[key]);
70
+ });
71
+ }
72
+ if (Object.keys(query).length > 0) {
73
+ state.query = query;
74
+ }
75
+ function merge(key, value) {
76
+ var _a;
77
+ if (!value) {
78
+ return;
79
+ }
80
+ if (key === "_count") {
81
+ const counts = (_a = value.select) !== null && _a !== void 0 ? _a : {};
82
+ Object.keys(counts).forEach((count) => {
83
+ state.counts.add(count);
84
+ });
85
+ return;
86
+ }
87
+ const selection = value === true ? { include: {} } : value;
88
+ const childMap = state.fieldMap.relations.get(key);
89
+ if (childMap) {
90
+ if (state.relations.has(key)) {
91
+ mergeSelection(state.relations.get(key), selection);
92
+ }
93
+ else {
94
+ const relatedState = createState(childMap, "select");
95
+ mergeSelection(relatedState, selection);
96
+ state.relations.set(key, relatedState);
97
+ }
98
+ }
99
+ else {
100
+ state.fields.add(key);
101
+ }
102
+ }
103
+ }
104
+ export function selectionToQuery(state) {
105
+ const nestedIncludes = {};
106
+ const counts = {};
107
+ let hasSelection = false;
108
+ state.relations.forEach((sel, relation) => {
109
+ hasSelection = true;
110
+ const nested = selectionToQuery(sel);
111
+ nestedIncludes[relation] = Object.keys(nested).length > 0 ? nested : true;
112
+ });
113
+ if (state.counts.size > 0) {
114
+ hasSelection = true;
115
+ for (const count of state.counts) {
116
+ counts[count] = true;
117
+ }
118
+ nestedIncludes._count = {
119
+ select: counts,
120
+ };
121
+ }
122
+ if (state.mode === "select") {
123
+ state.fields.forEach((field) => {
124
+ hasSelection = true;
125
+ nestedIncludes[field] = true;
126
+ });
127
+ return {
128
+ ...state.query,
129
+ select: nestedIncludes,
130
+ };
131
+ }
132
+ return hasSelection
133
+ ? {
134
+ ...state.query,
135
+ include: nestedIncludes,
136
+ }
137
+ : state.query;
138
+ }
139
+ //# sourceMappingURL=selections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selections.js","sourceRoot":"","sources":["../../src/util/selections.ts"],"names":[],"mappings":"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"}
@@ -11,38 +11,38 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  const core_1 = require("@pothos/core");
14
- const cursors_1 = require("./cursors");
15
- const refs_1 = require("./refs");
16
- const util_1 = require("./util");
14
+ const cursors_1 = require("./util/cursors");
15
+ const datamodel_1 = require("./util/datamodel");
16
+ const map_query_1 = require("./util/map-query");
17
17
  __exportStar(require("./prisma-field-builder"), exports);
18
18
  const fieldBuilderProto = core_1.RootFieldBuilder.prototype;
19
19
  fieldBuilderProto.prismaField = function prismaField({ type, resolve, ...options }) {
20
20
  const modelOrRef = Array.isArray(type) ? type[0] : type;
21
21
  const typeRef = typeof modelOrRef === 'string'
22
- ? (0, refs_1.getRefFromModel)(modelOrRef, this.builder)
22
+ ? (0, datamodel_1.getRefFromModel)(modelOrRef, this.builder)
23
23
  : modelOrRef;
24
24
  const typeParam = Array.isArray(type) ? [typeRef] : typeRef;
25
25
  return this.field({
26
26
  ...options,
27
27
  type: typeParam,
28
28
  resolve: (parent, args, ctx, info) => {
29
- const query = (0, util_1.queryFromInfo)(ctx, info);
29
+ const query = (0, map_query_1.queryFromInfo)(ctx, info);
30
30
  return resolve(query, parent, args, ctx, info);
31
31
  },
32
32
  });
33
33
  };
34
34
  fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, maxSize, defaultSize, resolve, ...options }, connectionOptions, edgeOptions) {
35
35
  var _a, _b;
36
- const ref = typeof type === 'string' ? (0, refs_1.getRefFromModel)(type, this.builder) : type;
36
+ const ref = typeof type === 'string' ? (0, datamodel_1.getRefFromModel)(type, this.builder) : type;
37
37
  const typeName = this.builder.configStore.getTypeConfig(ref).name;
38
38
  const model = (_a = this.builder.configStore.getTypeConfig(ref).extensions) === null || _a === void 0 ? void 0 : _a.pothosPrismaModel;
39
- const formatCursor = (0, refs_1.getCursorFormatter)(model, this.builder, cursor);
40
- const parseCursor = (0, refs_1.getCursorParser)(model, this.builder, cursor);
39
+ const formatCursor = (0, datamodel_1.getCursorFormatter)(model, this.builder, cursor);
40
+ const parseCursor = (0, datamodel_1.getCursorParser)(model, this.builder, cursor);
41
41
  const fieldRef = this.connection({
42
42
  ...options,
43
43
  type: ref,
44
44
  resolve: (parent, args, ctx, info) => (0, cursors_1.resolvePrismaCursorConnection)({
45
- query: (0, util_1.queryFromInfo)(ctx, info),
45
+ query: (0, map_query_1.queryFromInfo)(ctx, info),
46
46
  parseCursor,
47
47
  maxSize,
48
48
  defaultSize,
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
package/lib/generator.js CHANGED
@@ -48,10 +48,14 @@ const generator_helper_1 = require("@prisma/generator-helper");
48
48
  typescript_1.default.factory.createPropertySignature([], 'Include', undefined, relations.length > 0
49
49
  ? typescript_1.default.factory.createTypeReferenceNode(`Prisma.${model.name}Include`)
50
50
  : typescript_1.default.factory.createTypeReferenceNode('never')),
51
+ typescript_1.default.factory.createPropertySignature([], 'Select', undefined, typescript_1.default.factory.createTypeReferenceNode(`Prisma.${model.name}Select`)),
51
52
  typescript_1.default.factory.createPropertySignature([], 'Where', undefined, typescript_1.default.factory.createTypeReferenceNode(`Prisma.${model.name}WhereUniqueInput`)),
52
53
  typescript_1.default.factory.createPropertySignature([], 'Fields', undefined, relations.length > 0
53
54
  ? typescript_1.default.factory.createUnionTypeNode(relations.map((field) => typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(field.name))))
54
55
  : typescript_1.default.factory.createTypeReferenceNode('never')),
56
+ typescript_1.default.factory.createPropertySignature([], 'RelationName', undefined, relations.length > 0
57
+ ? typescript_1.default.factory.createUnionTypeNode(relations.map((field) => typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(field.name))))
58
+ : typescript_1.default.factory.createTypeReferenceNode('never')),
55
59
  typescript_1.default.factory.createPropertySignature([], 'ListRelations', undefined, listRelations.length > 0
56
60
  ? typescript_1.default.factory.createUnionTypeNode(listRelations.map((field) => typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(field.name))))
57
61
  : typescript_1.default.factory.createTypeReferenceNode('never')),
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { FieldKind, FieldNullability, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam } from '@pothos/core';
1
+ import { FieldKind, FieldNullability, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
2
2
  import PrismaNodeRef from './node-ref';
3
3
  import { prismaModelKey, PrismaObjectRef } from './object-ref';
4
- import { PrismaConnectionFieldOptions, PrismaFieldOptions, PrismaModelTypes, PrismaNodeOptions, PrismaObjectTypeOptions, ShapeWithInclude } from './types';
5
- import { PrismaPlugin, ShapeFromConnection } from '.';
4
+ import { PrismaConnectionFieldOptions, PrismaFieldOptions, PrismaModelTypes, PrismaNodeOptions, PrismaObjectTypeOptions } from './types';
5
+ import { PrismaObjectFieldOptions, PrismaPlugin, ShapeFromConnection, ShapeFromSelection } from '.';
6
6
  declare global {
7
7
  export namespace PothosSchemaTypes {
8
8
  interface Plugins<Types extends SchemaTypes> {
@@ -21,9 +21,27 @@ declare global {
21
21
  interface ExtendDefaultTypes<PartialTypes extends Partial<UserSchemaTypes>> {
22
22
  PrismaTypes: undefined extends PartialTypes['PrismaTypes'] ? {} : PartialTypes['PrismaTypes'] & {};
23
23
  }
24
+ interface PothosKindToGraphQLType {
25
+ PrismaObject: 'Object';
26
+ }
27
+ interface FieldOptionsByKind<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, ResolveShape, ResolveReturnShape> {
28
+ PrismaObject: PrismaObjectFieldOptions<Types, ParentShape, Type, Nullable, Args, ResolveShape, ResolveReturnShape>;
29
+ }
24
30
  interface SchemaBuilder<Types extends SchemaTypes> {
25
- prismaObject: <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], FindUnique, Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include extends Model['Include'] = {}, Shape extends object = ShapeWithInclude<Model, Include>>(name: Name, options: PrismaObjectTypeOptions<Types, Model, Interfaces, FindUnique, Include, Shape>) => PrismaObjectRef<Model, Shape>;
26
- prismaNode: 'relay' extends PluginName ? <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include extends Model['Include'] = {}, Shape extends object = ShapeWithInclude<Model, Include>>(name: Name, options: PrismaNodeOptions<Types, Model, Interfaces, Include, Shape>) => PrismaNodeRef<Model, Shape> : '@pothos/plugin-relay is required to use this method';
31
+ prismaObject: <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], FindUnique, Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include = unknown, Select = unknown>(name: Name, options: PrismaObjectTypeOptions<Types, Model, Interfaces, FindUnique, Include, Select, ShapeFromSelection<Model, {
32
+ select: Select;
33
+ include: Include;
34
+ }>>) => PrismaObjectRef<Model, ShapeFromSelection<Model, {
35
+ select: Select;
36
+ include: Include;
37
+ }>>;
38
+ prismaNode: 'relay' extends PluginName ? <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[] = [], Include = unknown, Select = unknown>(name: Name, options: PrismaNodeOptions<Types, Types['PrismaTypes'][Name] & PrismaModelTypes, Interfaces, Include, Select, ShapeFromSelection<PrismaModelTypes & Types['PrismaTypes'][Name], {
39
+ select: Select;
40
+ include: Include;
41
+ }>>) => PrismaNodeRef<Types['PrismaTypes'][Name] & PrismaModelTypes, ShapeFromSelection<PrismaModelTypes & Types['PrismaTypes'][Name], {
42
+ select: Select;
43
+ include: Include;
44
+ }>> : '@pothos/plugin-relay is required to use this method';
27
45
  }
28
46
  interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
29
47
  prismaField: <Args extends InputFieldMap, TypeParam extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaObjectRef<PrismaModelTypes>], Nullable extends FieldNullability<Type>, ResolveReturnShape, Type extends TypeParam extends [unknown] ? [ObjectRef<Model['Shape']>] : ObjectRef<Model['Shape']>, Model extends PrismaModelTypes = PrismaModelTypes & (TypeParam extends [keyof Types['PrismaTypes']] ? Types['PrismaTypes'][TypeParam[0]] : TypeParam extends [PrismaObjectRef<PrismaModelTypes>] ? TypeParam[0][typeof prismaModelKey] : TypeParam extends PrismaObjectRef<PrismaModelTypes> ? TypeParam[typeof prismaModelKey] : TypeParam extends keyof Types['PrismaTypes'] ? Types['PrismaTypes'][TypeParam] : never)>(options: PrismaFieldOptions<Types, ParentShape, TypeParam, Model, Type, Args, Nullable, ResolveReturnShape, Kind>) => FieldRef<ShapeFromTypeParam<Types, Type, Nullable>>;
@@ -1 +1 @@
1
- {"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,GAAG,CAAC;AAEtD,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,WAAW,iBAAiB,CAAC;QACjC,UAAiB,OAAO,CAAC,KAAK,SAAS,WAAW;YAChD,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;SAC7B;QAED,UAAiB,oBAAoB,CAAC,KAAK,SAAS,WAAW;YAC7D,MAAM,EAAE;gBACN,MAAM,EAAE;oBACN,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/B,CAAC;aACH,CAAC;SACH;QAED,UAAiB,eAAe;YAC9B,WAAW,EAAE,EAAE,CAAC;SACjB;QAED,UAAiB,kBAAkB,CAAC,YAAY,SAAS,OAAO,CAAC,eAAe,CAAC;YAC/E,WAAW,EAAE,SAAS,SAAS,YAAY,CAAC,aAAa,CAAC,GACtD,EAAE,GACF,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SACtC;QAED,UAAiB,aAAa,CAAC,KAAK,SAAS,WAAW;YACtD,YAAY,EAAE,CACZ,IAAI,SAAS,MAAM,KAAK,CAAC,aAAa,CAAC,EACvC,UAAU,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EAC1C,UAAU,EACV,KAAK,SAAS,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAC3D,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EACrC,KAAK,SAAS,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAEvD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,KACnF,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEnC,UAAU,EAAE,OAAO,SAAS,UAAU,GAClC,CACE,IAAI,SAAS,MAAM,KAAK,CAAC,aAAa,CAAC,EACvC,UAAU,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,EAC1C,KAAK,SAAS,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAC3D,OAAO,SAAS,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EACrC,KAAK,SAAS,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAEvD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,KACjE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAChC,qDAAqD,CAAC;SAC3D;QAED,UAAiB,gBAAgB,CAC/B,KAAK,SAAS,WAAW,EACzB,WAAW,EACX,IAAI,SAAS,SAAS,GAAG,SAAS;YAElC,WAAW,EAAE,CACX,IAAI,SAAS,aAAa,EAC1B,SAAS,SACL,eAAe,CAAC,gBAAgB,CAAC,GACjC,MAAM,KAAK,CAAC,aAAa,CAAC,GAC1B,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,GAC5B,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,EACvC,QAAQ,SAAS,gBAAgB,CAAC,IAAI,CAAC,EACvC,kBAAkB,EAClB,IAAI,SAAS,SAAS,SAAS,CAAC,OAAO,CAAC,GACpC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAC3B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAC7B,KAAK,SAAS,gBAAgB,GAAG,gBAAgB,GAC/C,CAAC,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,GAC3C,KAAK,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAClC,SAAS,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,GACrD,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,GACnC,SAAS,SAAS,eAAe,CAAC,gBAAgB,CAAC,GACnD,SAAS,CAAC,OAAO,cAAc,CAAC,GAChC,SAAS,SAAS,MAAM,KAAK,CAAC,aAAa,CAAC,GAC5C,KAAK,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,GAC/B,KAAK,CAAC,EAEZ,OAAO,EAAE,kBAAkB,CACzB,KAAK,EACL,WAAW,EACX,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,IAAI,CACL,KACE,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAEzD,gBAAgB,EAAE,OAAO,SAAS,UAAU,GACxC,CACE,IAAI,SAAS,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAC3E,QAAQ,SAAS,OAAO,EACxB,kBAAkB,EAClB,IAAI,SAAS,aAAa,GAAG,EAAE,EAC/B,KAAK,SAAS,gBAAgB,GAAG,IAAI,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GAClE,CAAC,GACD,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,EAE9E,GAAG,IAAI,EAAE,aAAa,CACpB;gBACE,OAAO,EAAE,4BAA4B,CACnC,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACzB,QAAQ,EACR,IAAI,EACJ,kBAAkB,EAClB,IAAI,CACL;gBACD,iBAAiB,CAAC,EAAE,uBAAuB,CACzC,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACzB,KAAK,EACL,KAAK,EACL,kBAAkB,CACnB;gBACD,WAAW,CAAC,EAAE,2BAA2B,CACvC,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACzB,KAAK,EACL,kBAAkB,CACnB;aACF,CACF,KACE,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAC1F,qDAAqD,CAAC;SAC3D;QAED,UAAiB,sBAAsB,CACrC,KAAK,SAAS,WAAW,EACzB,WAAW,EACX,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,EAC9B,QAAQ,SAAS,OAAO,EACxB,eAAe,SAAS,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,EACnD,eAAe,SAAS,OAAO,EAC/B,IAAI,SAAS,aAAa,EAC1B,kBAAkB;SAChB;QAEJ,UAAiB,uBAAuB,CACtC,KAAK,SAAS,WAAW,EACzB,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,EAC9B,eAAe,SAAS,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,EACnD,eAAe,SAAS,OAAO,EAC/B,QAAQ;SACN;QAEJ,UAAiB,2BAA2B,CAC1C,KAAK,SAAS,WAAW,EACzB,IAAI,SAAS,UAAU,CAAC,KAAK,CAAC,EAC9B,eAAe,SAAS,OAAO,EAC/B,QAAQ;SACN;QAEJ,UAAiB,0BAA0B;YACzC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;YACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;YACnC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;SACnC;QAED,UAAiB,qBAAqB,CAAC,KAAK,SAAS,WAAW,EAAE,CAAC,EAAE,QAAQ;SAAI;KAClF;CACF"}
1
+ {"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  import './global-types';
2
2
  import './field-builder';
3
3
  import './schema-builder';
4
- import { BasePlugin, BuildCache, SchemaTypes } from '@pothos/core';
4
+ import { GraphQLFieldResolver } from 'graphql';
5
+ import { BasePlugin, BuildCache, PothosOutputFieldConfig, SchemaTypes } from '@pothos/core';
5
6
  export * from './types';
6
7
  declare const pluginName: "prisma";
7
8
  export default pluginName;
8
9
  export declare class PrismaPlugin<Types extends SchemaTypes> extends BasePlugin<Types> {
9
10
  constructor(cache: BuildCache<Types>);
11
+ onOutputFieldConfig(fieldConfig: PothosOutputFieldConfig<Types>): PothosOutputFieldConfig<Types> | null;
12
+ wrapResolve(resolver: GraphQLFieldResolver<unknown, Types['Context'], object, unknown>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types['Context'], object>;
10
13
  }
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAsB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElF,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,UAAU,UAAoB,CAAC;AAErC,eAAe,UAAU,CAAC;AAE1B,qBAAa,YAAY,CAAC,KAAK,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;gBAChE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;CAGrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAgB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAsB,EACpB,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,WAAW,EACZ,MAAM,cAAc,CAAC;AAKtB,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,UAAU,UAAoB,CAAC;AAErC,eAAe,UAAU,CAAC;AAE1B,qBAAa,YAAY,CAAC,KAAK,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;gBAChE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;IAI3B,mBAAmB,CAC1B,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,IAAI;IAc/B,WAAW,CAClB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1E,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CA6C3D"}
package/lib/index.js CHANGED
@@ -26,7 +26,10 @@ exports.PrismaPlugin = void 0;
26
26
  require("./global-types");
27
27
  require("./field-builder");
28
28
  require("./schema-builder");
29
+ const graphql_1 = require("graphql");
29
30
  const core_1 = __importStar(require("@pothos/core"));
31
+ const loader_map_1 = require("./util/loader-map");
32
+ const map_query_1 = require("./util/map-query");
30
33
  __exportStar(require("./types"), exports);
31
34
  const pluginName = 'prisma';
32
35
  exports.default = pluginName;
@@ -34,6 +37,48 @@ class PrismaPlugin extends core_1.BasePlugin {
34
37
  constructor(cache) {
35
38
  super(cache, pluginName);
36
39
  }
40
+ onOutputFieldConfig(fieldConfig) {
41
+ if (fieldConfig.kind === 'PrismaObject' && fieldConfig.pothosOptions.select) {
42
+ return {
43
+ ...fieldConfig,
44
+ extensions: {
45
+ ...fieldConfig.extensions,
46
+ pothosPrismaSelect: fieldConfig.pothosOptions.select,
47
+ },
48
+ };
49
+ }
50
+ return fieldConfig;
51
+ }
52
+ wrapResolve(resolver, fieldConfig) {
53
+ var _a, _b;
54
+ if (fieldConfig.kind !== 'PrismaObject' || !((_a = fieldConfig.extensions) === null || _a === void 0 ? void 0 : _a.pothosPrismaSelect)) {
55
+ return resolver;
56
+ }
57
+ const parentConfig = this.buildCache.getTypeConfig(fieldConfig.parentType, 'Object');
58
+ const loadedCheck = fieldConfig.extensions.pothosPrismaLoaded;
59
+ const loaderCache = (_b = parentConfig.extensions) === null || _b === void 0 ? void 0 : _b.pothosPrismaLoader;
60
+ const fallback = fieldConfig.extensions.pothosPrismaFallback;
61
+ return (parent, args, context, info) => {
62
+ const mapping = (0, loader_map_1.getLoaderMapping)(context, info.path, info.parentType.name);
63
+ if ((!loadedCheck || loadedCheck(parent)) && mapping) {
64
+ (0, loader_map_1.setLoaderMappings)(context, info, mapping, (0, graphql_1.getNamedType)(info.returnType));
65
+ return resolver(parent, args, context, info);
66
+ }
67
+ if (fallback) {
68
+ return fallback((0, map_query_1.queryFromInfo)(context, info), parent, args, context, info);
69
+ }
70
+ const selectionState = (0, map_query_1.selectionStateFromInfo)(context, info);
71
+ return loaderCache(parent)
72
+ .loadSelection(selectionState, context)
73
+ .then((result) => {
74
+ const mappings = selectionState.mappings[info.path.key];
75
+ if (mappings) {
76
+ (0, loader_map_1.setLoaderMappings)(context, info, mappings.mappings, (0, graphql_1.getNamedType)(info.returnType));
77
+ }
78
+ return resolver(result, args, context, info);
79
+ });
80
+ };
81
+ }
37
82
  }
38
83
  exports.PrismaPlugin = PrismaPlugin;
39
84
  core_1.default.registerPlugin(pluginName, PrismaPlugin);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAAwB;AACxB,2BAAyB;AACzB,4BAA0B;AAC1B,qDAAkF;AAElF,0CAAwB;AAExB,MAAM,UAAU,GAAG,QAAiB,CAAC;AAErC,kBAAe,UAAU,CAAC;AAE1B,MAAa,YAAwC,SAAQ,iBAAiB;IAC5E,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3B,CAAC;CACF;AAJD,oCAIC;AAED,cAAa,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,17 @@
1
1
  import { SchemaTypes } from '@pothos/core';
2
2
  import { PrismaDelegate } from './types';
3
+ import { SelectionState } from './util/selections';
3
4
  export declare class ModelLoader {
4
5
  model: object;
5
6
  delegate: PrismaDelegate;
6
7
  findUnique: (args: unknown, ctx: {}) => unknown;
7
8
  staged: Set<{
8
9
  promise: Promise<Record<string, unknown>>;
9
- include: Record<string, unknown>;
10
+ state: SelectionState;
10
11
  }>;
11
12
  constructor(model: object, delegate: PrismaDelegate, findUnique: (args: unknown, ctx: {}) => unknown);
12
- static forModel<Types extends SchemaTypes>(modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): (model: object) => ModelLoader;
13
- loadCount(relation: string, context: {}): Promise<number>;
14
- loadSelf(include: unknown, context: {}): Promise<Record<string, unknown>>;
15
- loadRelation(relation: string, include: unknown, context: {}): Promise<unknown>;
16
- initLoad(relation: string | null, includeArg: unknown, context: {}, count?: boolean): Promise<Record<string, unknown>>;
13
+ static forRef<Types extends SchemaTypes>(modelName: string, findUnique: (args: unknown, ctx: {}) => unknown, builder: PothosSchemaTypes.SchemaBuilder<Types>): import("@pothos/core").ContextCache<ModelLoader, object, []>;
14
+ loadSelection(selection: SelectionState, context: object): Promise<Record<string, unknown>>;
15
+ initLoad(state: SelectionState, context: {}): Promise<Record<string, unknown>>;
17
16
  }
18
17
  //# sourceMappingURL=model-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,qBAAa,WAAW;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO,CAAC;IAEhD,MAAM;iBACK,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;iBAChC,OAAO,MAAM,EAAE,OAAO,CAAC;OAC7B;gBAGH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO;IAOjD,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,WAAW,EACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;IAiB3C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzD,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IActC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IA8B5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,UAAQ;CAuCxF"}
1
+ {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAGL,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,WAAW;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO,CAAC;IAEhD,MAAM;iBACK,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,CAAC;eAClC,cAAc;OAClB;gBAGH,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO;IAOjD,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS,WAAW,EACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,OAAO,EAC/C,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;IAO3C,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM;IAcxD,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE;CAwBlD"}
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModelLoader = void 0;
4
- /* eslint-disable prefer-destructuring */
5
- /* eslint-disable no-underscore-dangle */
6
4
  const core_1 = require("@pothos/core");
7
- const refs_1 = require("./refs");
8
- const util_1 = require("./util");
9
- const loaderCache = new WeakMap();
5
+ const datamodel_1 = require("./util/datamodel");
6
+ const selections_1 = require("./util/selections");
10
7
  class ModelLoader {
11
8
  constructor(model, delegate, findUnique) {
12
9
  this.staged = new Set();
@@ -14,88 +11,34 @@ class ModelLoader {
14
11
  this.delegate = delegate;
15
12
  this.findUnique = findUnique;
16
13
  }
17
- static forModel(modelName, builder) {
18
- const delegate = (0, refs_1.getDelegateFromModel)(builder.options.prisma.client, modelName);
19
- if (!loaderCache.has(delegate)) {
20
- const ref = (0, refs_1.getRefFromModel)(modelName, builder);
21
- const findUnique = (0, refs_1.getFindUniqueForRef)(ref, builder);
22
- loaderCache.set(delegate, (0, core_1.createContextCache)((model) => new ModelLoader(model, delegate, findUnique)));
23
- }
24
- return loaderCache.get(delegate);
25
- }
26
- async loadCount(relation, context) {
27
- let promise;
28
- const entry = [...this.staged][0];
29
- if (entry) {
30
- if (!entry.include._count) {
31
- entry.include._count = { select: {} };
32
- }
33
- entry.include._count.select[relation] = true;
34
- promise = entry.promise;
35
- }
36
- else {
37
- promise = this.initLoad(relation, null, context, true);
38
- }
39
- const result = await promise;
40
- return result._count[relation];
14
+ static forRef(modelName, findUnique, builder) {
15
+ const delegate = (0, datamodel_1.getDelegateFromModel)(builder.options.prisma.client, modelName);
16
+ return (0, core_1.createContextCache)((model) => new ModelLoader(model, delegate, findUnique));
41
17
  }
42
- async loadSelf(include, context) {
18
+ async loadSelection(selection, context) {
19
+ const query = (0, selections_1.selectionToQuery)(selection);
43
20
  for (const entry of this.staged) {
44
- const merged = (0, util_1.mergeIncludes)(entry.include, include);
45
- if (merged) {
46
- entry.include = merged;
21
+ if ((0, selections_1.selectionCompatible)(entry.state, query)) {
22
+ (0, selections_1.mergeSelection)(entry.state, query);
47
23
  return entry.promise;
48
24
  }
49
25
  }
50
- return this.initLoad(null, include, context);
51
- }
52
- async loadRelation(relation, include, context) {
53
- let promise;
54
- for (const entry of this.staged) {
55
- if (entry.include[relation] === undefined) {
56
- promise = entry.promise;
57
- entry.include[relation] = include;
58
- break;
59
- }
60
- const merged = (0, util_1.mergeIncludes)(entry.include[relation], include);
61
- if (merged) {
62
- entry.include[relation] = merged;
63
- break;
64
- }
65
- }
66
- if (!promise) {
67
- promise = this.initLoad(relation, include, context);
68
- }
69
- const result = await promise;
70
- return result[relation];
26
+ return this.initLoad(selection, context);
71
27
  }
72
- async initLoad(relation, includeArg, context, count = false) {
73
- const include = (relation &&
74
- (count
75
- ? {
76
- _count: {
77
- select: {
78
- [relation]: true,
79
- },
80
- },
81
- }
82
- : {
83
- [relation]: includeArg,
84
- })) ||
85
- {};
28
+ async initLoad(state, context) {
86
29
  const promise = new Promise((resolve, reject) => {
87
30
  setTimeout(() => {
88
31
  this.staged.delete(entry);
89
32
  resolve(this.delegate.findUnique({
90
33
  rejectOnNotFound: true,
34
+ ...(0, selections_1.selectionToQuery)(state),
91
35
  where: { ...this.findUnique(this.model, context) },
92
- include: Object.keys(include).length > 0 ? include : undefined,
93
36
  }));
94
37
  }, 0);
95
38
  });
96
39
  const entry = {
97
40
  promise,
98
- include,
41
+ state,
99
42
  };
100
43
  this.staged.add(entry);
101
44
  return promise;
@@ -1 +1 @@
1
- {"version":3,"file":"model-loader.js","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-loader.js","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":";;;AAAA,uCAA+D;AAE/D,gDAAwD;AACxD,kDAK2B;AAE3B,MAAa,WAAW;IAUtB,YACE,KAAa,EACb,QAAwB,EACxB,UAA+C;QARjD,WAAM,GAAG,IAAI,GAAG,EAGZ,CAAC;QAOH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAiB,EACjB,UAA+C,EAC/C,OAA+C;QAE/C,MAAM,QAAQ,GAAG,IAAA,gCAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEhF,OAAO,IAAA,yBAAkB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAyB,EAAE,OAAe;QAC5D,MAAM,KAAK,GAAG,IAAA,6BAAgB,EAAC,SAAS,CAAC,CAAC;QAE1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC/B,IAAI,IAAA,gCAAmB,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBAC3C,IAAA,2BAAc,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAEnC,OAAO,KAAK,CAAC,OAAO,CAAC;aACtB;SACF;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAqB,EAAE,OAAW;QAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE1B,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvB,gBAAgB,EAAE,IAAI;oBACtB,GAAG,IAAA,6BAAgB,EAAC,KAAK,CAAC;oBAC1B,KAAK,EAAE,EAAE,GAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAQ,EAAE;iBAClD,CAAqC,CAChD,CAAC;YACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;YACZ,OAAO;YACP,KAAK;SACN,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEvB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AApED,kCAoEC"}