@gqlbase/plugins 0.1.0 → 0.1.2

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 (81) hide show
  1. package/README.md +15 -0
  2. package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.d.ts.map +1 -1
  3. package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.js +8 -8
  4. package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.js.map +1 -1
  5. package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.d.ts.map +1 -1
  6. package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.js +16 -16
  7. package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.js.map +1 -1
  8. package/dist/base/ModelPlugin/ModelPlugin.d.ts +1 -0
  9. package/dist/base/ModelPlugin/ModelPlugin.d.ts.map +1 -1
  10. package/dist/base/ModelPlugin/ModelPlugin.js +136 -116
  11. package/dist/base/ModelPlugin/ModelPlugin.js.map +1 -1
  12. package/dist/base/ModelPlugin/ModelPlugin.utils.d.ts +1 -5
  13. package/dist/base/ModelPlugin/ModelPlugin.utils.d.ts.map +1 -1
  14. package/dist/base/ModelPlugin/ModelPlugin.utils.js +1 -16
  15. package/dist/base/ModelPlugin/ModelPlugin.utils.js.map +1 -1
  16. package/dist/base/ModelPlugin/index.d.ts +1 -1
  17. package/dist/base/ModelPlugin/index.d.ts.map +1 -1
  18. package/dist/base/ModelPlugin/index.js +1 -1
  19. package/dist/base/ModelPlugin/index.js.map +1 -1
  20. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.d.ts.map +1 -1
  21. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.js +4 -5
  22. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.js.map +1 -1
  23. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.d.ts +0 -2
  24. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.d.ts.map +1 -1
  25. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.js +0 -4
  26. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.js.map +1 -1
  27. package/dist/base/RelationsPlugin/RelationsPlugin.d.ts.map +1 -1
  28. package/dist/base/RelationsPlugin/RelationsPlugin.js +25 -24
  29. package/dist/base/RelationsPlugin/RelationsPlugin.js.map +1 -1
  30. package/dist/base/RelationsPlugin/RelationsPlugin.utils.d.ts +4 -2
  31. package/dist/base/RelationsPlugin/RelationsPlugin.utils.d.ts.map +1 -1
  32. package/dist/base/RelationsPlugin/RelationsPlugin.utils.js +36 -6
  33. package/dist/base/RelationsPlugin/RelationsPlugin.utils.js.map +1 -1
  34. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.d.ts.map +1 -1
  35. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.js +1 -1
  36. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.js.map +1 -1
  37. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.d.ts.map +1 -1
  38. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js +2 -17
  39. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js.map +1 -1
  40. package/dist/base/ScalarsPlugin/ScalarsPlugin.js +10 -10
  41. package/dist/base/ScalarsPlugin/ScalarsPlugin.js.map +1 -1
  42. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.d.ts +16 -0
  43. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.d.ts.map +1 -0
  44. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.js +156 -0
  45. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.js.map +1 -0
  46. package/dist/base/TypesGeneratorBase/index.d.ts +2 -0
  47. package/dist/base/TypesGeneratorBase/index.d.ts.map +1 -0
  48. package/dist/base/TypesGeneratorBase/index.js +2 -0
  49. package/dist/base/TypesGeneratorBase/index.js.map +1 -0
  50. package/dist/base/UtilitiesPlugin/UtilitiesPlugin.d.ts.map +1 -1
  51. package/dist/base/UtilitiesPlugin/UtilitiesPlugin.js +17 -7
  52. package/dist/base/UtilitiesPlugin/UtilitiesPlugin.js.map +1 -1
  53. package/dist/base/basePreset.js +1 -1
  54. package/dist/base/basePreset.js.map +1 -1
  55. package/dist/base/index.d.ts +1 -0
  56. package/dist/base/index.d.ts.map +1 -1
  57. package/dist/base/index.js +1 -0
  58. package/dist/base/index.js.map +1 -1
  59. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.d.ts +72 -0
  60. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.d.ts.map +1 -0
  61. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.js +188 -0
  62. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.js.map +1 -0
  63. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.utils.d.ts +10 -0
  64. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.utils.d.ts.map +1 -0
  65. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.utils.js +17 -0
  66. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.utils.js.map +1 -0
  67. package/dist/middy/MiddyAppSyncGraphQLPlugin/index.d.ts +2 -0
  68. package/dist/middy/MiddyAppSyncGraphQLPlugin/index.d.ts.map +1 -0
  69. package/dist/middy/MiddyAppSyncGraphQLPlugin/index.js +2 -0
  70. package/dist/middy/MiddyAppSyncGraphQLPlugin/index.js.map +1 -0
  71. package/dist/middy/index.d.ts +2 -0
  72. package/dist/middy/index.d.ts.map +1 -0
  73. package/dist/middy/index.js +2 -0
  74. package/dist/middy/index.js.map +1 -0
  75. package/dist/relay/ConnectionPlugin/ConnectionPlugin.d.ts.map +1 -1
  76. package/dist/relay/ConnectionPlugin/ConnectionPlugin.js +14 -18
  77. package/dist/relay/ConnectionPlugin/ConnectionPlugin.js.map +1 -1
  78. package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.d.ts.map +1 -1
  79. package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.js +5 -3
  80. package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.js.map +1 -1
  81. package/package.json +12 -3
@@ -1,9 +1,10 @@
1
- import { DirectiveDefinitionNode, DirectiveNode, EnumNode, FieldNode, InputObjectNode, InputValueNode, ListTypeNode, NamedTypeNode, NonNullTypeNode, ObjectNode, ScalarNode, } from "@gqlbase/core/definition";
1
+ import { DirectiveDefinitionNode, DirectiveNode, EnumNode, FieldNode, InputObjectNode, InputValueNode, isEnumNode, isListTypeNode, isObjectLike, isScalarNode, ListTypeNode, NamedTypeNode, NonNullTypeNode, ObjectNode, ScalarNode, } from "@gqlbase/core/definition";
2
2
  import { createPluginFactory, getTypeHint, InternalDirective } from "@gqlbase/core/plugins";
3
3
  import { TransformerPluginExecutionError } from "@gqlbase/shared/errors";
4
4
  import { camelCase, pascalCase, pluralize } from "@gqlbase/shared/format";
5
5
  import { isBuildInScalar } from "@gqlbase/shared/definition";
6
- import { DEFAULT_READ_OPERATIONS, DEFAULT_WRITE_OPERATIONS, isEnum, isListTypeNode, isModel, isObjectLike, isScalar, ModelDirective, ModelOperation, shouldSkipFieldFromFilterInput, shouldSkipFieldFromMutationInput, } from "./ModelPlugin.utils.js";
6
+ import { DEFAULT_READ_OPERATIONS, DEFAULT_WRITE_OPERATIONS, isModel, ModelDirective, ModelOperation, shouldSkipFieldFromFilterInput, shouldSkipFieldFromMutationInput, } from "./ModelPlugin.utils.js";
7
+ import { isManyRelationship } from "../RelationsPlugin/RelationsPlugin.utils.js";
7
8
  /**
8
9
  * `@model` directive plugin.
9
10
  *
@@ -100,84 +101,84 @@ export class ModelPlugin {
100
101
  }
101
102
  // #region Filter Inputs
102
103
  _createSizeFilterInput() {
103
- const input = InputObjectNode.create("SizeFilterInput", [
104
- InputValueNode.create("ne", NamedTypeNode.create("Int")),
105
- InputValueNode.create("eq", NamedTypeNode.create("Int")),
106
- InputValueNode.create("le", NamedTypeNode.create("Int")),
107
- InputValueNode.create("lt", NamedTypeNode.create("Int")),
108
- InputValueNode.create("ge", NamedTypeNode.create("Int")),
109
- InputValueNode.create("gt", NamedTypeNode.create("Int")),
110
- InputValueNode.create("between", ListTypeNode.create(NonNullTypeNode.create("Int"))),
104
+ const input = InputObjectNode.create("SizeFilterInput", undefined, undefined, [
105
+ InputValueNode.create("ne", undefined, undefined, NamedTypeNode.create("Int")),
106
+ InputValueNode.create("eq", undefined, undefined, NamedTypeNode.create("Int")),
107
+ InputValueNode.create("le", undefined, undefined, NamedTypeNode.create("Int")),
108
+ InputValueNode.create("lt", undefined, undefined, NamedTypeNode.create("Int")),
109
+ InputValueNode.create("ge", undefined, undefined, NamedTypeNode.create("Int")),
110
+ InputValueNode.create("gt", undefined, undefined, NamedTypeNode.create("Int")),
111
+ InputValueNode.create("between", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create("Int"))),
111
112
  ]);
112
113
  return input;
113
114
  }
114
115
  _createSortDirection() {
115
- const enumNode = EnumNode.create("SortDirection", ["ASC", "DESC"]);
116
+ const enumNode = EnumNode.create("SortDirection", undefined, undefined, ["ASC", "DESC"]);
116
117
  return enumNode;
117
118
  }
118
119
  _createStringLikeFilterInput(name, typeName) {
119
- const input = InputObjectNode.create(name, [
120
- InputValueNode.create("ne", NamedTypeNode.create(typeName)),
121
- InputValueNode.create("eq", NamedTypeNode.create(typeName)),
122
- InputValueNode.create("le", NamedTypeNode.create(typeName)),
123
- InputValueNode.create("lt", NamedTypeNode.create(typeName)),
124
- InputValueNode.create("ge", NamedTypeNode.create(typeName)),
125
- InputValueNode.create("gt", NamedTypeNode.create(typeName)),
126
- InputValueNode.create("in", ListTypeNode.create(NonNullTypeNode.create(typeName))),
127
- InputValueNode.create("contains", NamedTypeNode.create(typeName)),
128
- InputValueNode.create("notContains", NamedTypeNode.create(typeName)),
129
- InputValueNode.create("between", ListTypeNode.create(NonNullTypeNode.create(typeName))),
130
- InputValueNode.create("beginsWith", NamedTypeNode.create(typeName)),
131
- InputValueNode.create("exists", NamedTypeNode.create("Boolean")),
132
- InputValueNode.create("size", NamedTypeNode.create("SizeFilterInput")),
120
+ const input = InputObjectNode.create(name, undefined, undefined, [
121
+ InputValueNode.create("ne", undefined, undefined, NamedTypeNode.create(typeName)),
122
+ InputValueNode.create("eq", undefined, undefined, NamedTypeNode.create(typeName)),
123
+ InputValueNode.create("le", undefined, undefined, NamedTypeNode.create(typeName)),
124
+ InputValueNode.create("lt", undefined, undefined, NamedTypeNode.create(typeName)),
125
+ InputValueNode.create("ge", undefined, undefined, NamedTypeNode.create(typeName)),
126
+ InputValueNode.create("gt", undefined, undefined, NamedTypeNode.create(typeName)),
127
+ InputValueNode.create("in", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create(typeName))),
128
+ InputValueNode.create("contains", undefined, undefined, NamedTypeNode.create(typeName)),
129
+ InputValueNode.create("notContains", undefined, undefined, NamedTypeNode.create(typeName)),
130
+ InputValueNode.create("between", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create(typeName))),
131
+ InputValueNode.create("beginsWith", undefined, undefined, NamedTypeNode.create(typeName)),
132
+ InputValueNode.create("exists", undefined, undefined, NamedTypeNode.create("Boolean")),
133
+ InputValueNode.create("size", undefined, undefined, NamedTypeNode.create("SizeFilterInput")),
133
134
  ]);
134
135
  return input;
135
136
  }
136
137
  _createNumberLikeFilterInput(name, typeName) {
137
- const input = InputObjectNode.create(name, [
138
- InputValueNode.create("ne", NamedTypeNode.create(typeName)),
139
- InputValueNode.create("eq", NamedTypeNode.create(typeName)),
140
- InputValueNode.create("le", NamedTypeNode.create(typeName)),
141
- InputValueNode.create("lt", NamedTypeNode.create(typeName)),
142
- InputValueNode.create("ge", NamedTypeNode.create(typeName)),
143
- InputValueNode.create("gt", NamedTypeNode.create(typeName)),
144
- InputValueNode.create("in", ListTypeNode.create(NonNullTypeNode.create(typeName))),
145
- InputValueNode.create("between", ListTypeNode.create(NonNullTypeNode.create(typeName))),
146
- InputValueNode.create("exists", NamedTypeNode.create("Boolean")),
138
+ const input = InputObjectNode.create(name, undefined, undefined, [
139
+ InputValueNode.create("ne", undefined, undefined, NamedTypeNode.create(typeName)),
140
+ InputValueNode.create("eq", undefined, undefined, NamedTypeNode.create(typeName)),
141
+ InputValueNode.create("le", undefined, undefined, NamedTypeNode.create(typeName)),
142
+ InputValueNode.create("lt", undefined, undefined, NamedTypeNode.create(typeName)),
143
+ InputValueNode.create("ge", undefined, undefined, NamedTypeNode.create(typeName)),
144
+ InputValueNode.create("gt", undefined, undefined, NamedTypeNode.create(typeName)),
145
+ InputValueNode.create("in", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create(typeName))),
146
+ InputValueNode.create("between", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create(typeName))),
147
+ InputValueNode.create("exists", undefined, undefined, NamedTypeNode.create("Boolean")),
147
148
  ]);
148
149
  return input;
149
150
  }
150
151
  _createBooleanLikeFilterInput(name, typeName) {
151
- const input = InputObjectNode.create(name, [
152
- InputValueNode.create("ne", NamedTypeNode.create(typeName)),
153
- InputValueNode.create("eq", NamedTypeNode.create(typeName)),
154
- InputValueNode.create("exists", NamedTypeNode.create("Boolean")),
152
+ const input = InputObjectNode.create(name, undefined, undefined, [
153
+ InputValueNode.create("ne", undefined, undefined, NamedTypeNode.create(typeName)),
154
+ InputValueNode.create("eq", undefined, undefined, NamedTypeNode.create(typeName)),
155
+ InputValueNode.create("exists", undefined, undefined, NamedTypeNode.create("Boolean")),
155
156
  ]);
156
157
  return input;
157
158
  }
158
159
  _createIDLikeFilterInput(name, typeName) {
159
- const input = InputObjectNode.create(name, [
160
- InputValueNode.create("ne", NamedTypeNode.create(typeName)),
161
- InputValueNode.create("eq", NamedTypeNode.create(typeName)),
162
- InputValueNode.create("in", ListTypeNode.create(NonNullTypeNode.create(typeName))),
163
- InputValueNode.create("exists", NamedTypeNode.create("Boolean")),
160
+ const input = InputObjectNode.create(name, undefined, undefined, [
161
+ InputValueNode.create("ne", undefined, undefined, NamedTypeNode.create(typeName)),
162
+ InputValueNode.create("eq", undefined, undefined, NamedTypeNode.create(typeName)),
163
+ InputValueNode.create("in", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create(typeName))),
164
+ InputValueNode.create("exists", undefined, undefined, NamedTypeNode.create("Boolean")),
164
165
  ]);
165
166
  return input;
166
167
  }
167
168
  _createListLikeFilterInput(name, typeName) {
168
- const input = InputObjectNode.create(name, [
169
- InputValueNode.create("contains", NamedTypeNode.create(typeName)),
170
- InputValueNode.create("notContains", NamedTypeNode.create(typeName)),
171
- InputValueNode.create("size", NamedTypeNode.create("SizeFilterInput")),
169
+ const input = InputObjectNode.create(name, undefined, undefined, [
170
+ InputValueNode.create("contains", undefined, undefined, NamedTypeNode.create(typeName)),
171
+ InputValueNode.create("notContains", undefined, undefined, NamedTypeNode.create(typeName)),
172
+ InputValueNode.create("size", undefined, undefined, NamedTypeNode.create("SizeFilterInput")),
172
173
  ]);
173
174
  return input;
174
175
  }
175
176
  _createEnumLikeFilterInput(name, typeName) {
176
- const input = InputObjectNode.create(name, [
177
- InputValueNode.create("eq", NamedTypeNode.create(typeName)),
178
- InputValueNode.create("ne", NamedTypeNode.create(typeName)),
179
- InputValueNode.create("in", ListTypeNode.create(NonNullTypeNode.create(typeName))),
180
- InputValueNode.create("exists", NamedTypeNode.create("Boolean")),
177
+ const input = InputObjectNode.create(name, undefined, undefined, [
178
+ InputValueNode.create("eq", undefined, undefined, NamedTypeNode.create(typeName)),
179
+ InputValueNode.create("ne", undefined, undefined, NamedTypeNode.create(typeName)),
180
+ InputValueNode.create("in", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create(typeName))),
181
+ InputValueNode.create("exists", undefined, undefined, NamedTypeNode.create("Boolean")),
181
182
  ]);
182
183
  return input;
183
184
  }
@@ -216,84 +217,90 @@ export class ModelPlugin {
216
217
  const typeName = field.type.getTypeName();
217
218
  const inputName = pascalCase(typeName, "filter", "input");
218
219
  if (isBuildInScalar(typeName)) {
219
- filterInput.addField(InputValueNode.create(field.name, NamedTypeNode.create(inputName)));
220
+ filterInput.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(inputName)));
220
221
  continue;
221
222
  }
222
223
  if (this.context.document.hasNode(inputName)) {
223
- filterInput.addField(InputValueNode.create(field.name, NamedTypeNode.create(inputName)));
224
+ filterInput.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(inputName)));
224
225
  continue;
225
226
  }
226
227
  const typeDef = this.context.document.getNodeOrThrow(typeName);
227
228
  if (isObjectLike(typeDef)) {
228
229
  continue;
229
230
  }
230
- if (isListTypeNode(field.type) && (isScalar(typeDef) || isEnum(typeDef))) {
231
+ if (isListTypeNode(field.type) && (isScalarNode(typeDef) || isEnumNode(typeDef))) {
231
232
  const listFilterInputName = pascalCase(typeDef.name, "list", "filter", "input");
232
233
  if (!this.context.document.hasNode(listFilterInputName)) {
233
234
  const listFilterInput = this._createListLikeFilterInput(listFilterInputName, typeName);
234
235
  this.context.document.addNode(listFilterInput);
235
236
  }
236
- filterInput.addField(InputValueNode.create(field.name, NamedTypeNode.create(listFilterInputName)));
237
+ filterInput.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(listFilterInputName)));
237
238
  continue;
238
239
  }
239
- if (isScalar(typeDef)) {
240
+ if (isScalarNode(typeDef)) {
240
241
  const scalarFilterInput = this._createScalarFilterInput(typeDef, inputName);
241
242
  if (scalarFilterInput) {
242
243
  this.context.document.addNode(scalarFilterInput);
243
- filterInput.addField(InputValueNode.create(field.name, NamedTypeNode.create(inputName)));
244
+ filterInput.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(inputName)));
244
245
  }
245
246
  continue;
246
247
  }
247
- if (isEnum(typeDef)) {
248
+ if (isEnumNode(typeDef)) {
248
249
  const enumFilterInput = this._createEnumLikeFilterInput(inputName, typeDef.name);
249
250
  this.context.document.addNode(enumFilterInput);
250
- filterInput.addField(InputValueNode.create(field.name, NamedTypeNode.create(inputName)));
251
+ filterInput.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(inputName)));
251
252
  continue;
252
253
  }
253
254
  }
254
- filterInput.addField(InputValueNode.create("and", ListTypeNode.create(filterInputName)));
255
- filterInput.addField(InputValueNode.create("or", ListTypeNode.create(filterInputName)));
256
- filterInput.addField(InputValueNode.create("not", NamedTypeNode.create(filterInputName)));
255
+ filterInput.addField(InputValueNode.create("and", undefined, undefined, ListTypeNode.create(filterInputName)));
256
+ filterInput.addField(InputValueNode.create("or", undefined, undefined, ListTypeNode.create(filterInputName)));
257
+ filterInput.addField(InputValueNode.create("not", undefined, undefined, NamedTypeNode.create(filterInputName)));
257
258
  this.context.document.addNode(filterInput);
258
259
  }
259
260
  return filterInput;
260
261
  }
261
262
  _createMutationInput(model, inputName, requiredFields = []) {
262
- const input = InputObjectNode.create(inputName);
263
- for (const field of model.fields ?? []) {
264
- if (shouldSkipFieldFromMutationInput(field)) {
265
- continue;
266
- }
267
- const fieldTypeName = field.type.getTypeName();
268
- if (requiredFields.includes(field.name)) {
269
- input.addField(InputValueNode.create(field.name, NonNullTypeNode.create(fieldTypeName)));
270
- continue;
271
- }
272
- // Buildin scalars
273
- if (isBuildInScalar(fieldTypeName)) {
274
- input.addField(InputValueNode.create(field.name, NamedTypeNode.create(fieldTypeName)));
275
- continue;
276
- }
277
- const typeDef = this.context.document.getNode(fieldTypeName);
278
- if (!typeDef) {
279
- throw new TransformerPluginExecutionError(this.name, `Unknown type ${fieldTypeName}`);
280
- }
281
- if (typeDef instanceof ScalarNode || typeDef instanceof EnumNode) {
282
- input.addField(InputValueNode.create(field.name, NamedTypeNode.create(fieldTypeName)));
283
- continue;
284
- }
285
- if (typeDef instanceof ObjectNode) {
286
- if (typeDef.hasDirective("model")) {
263
+ const mutationInput = this.context.document.getNode(inputName);
264
+ if (mutationInput && !(mutationInput instanceof InputObjectNode)) {
265
+ throw new TransformerPluginExecutionError(this.name, `Type ${mutationInput} is not an input type`);
266
+ }
267
+ if (!mutationInput) {
268
+ const input = InputObjectNode.create(inputName);
269
+ for (const field of model.fields ?? []) {
270
+ if (shouldSkipFieldFromMutationInput(field)) {
271
+ continue;
272
+ }
273
+ const fieldTypeName = field.type.getTypeName();
274
+ if (requiredFields.includes(field.name)) {
275
+ input.addField(InputValueNode.create(field.name, undefined, undefined, NonNullTypeNode.create(fieldTypeName)));
276
+ continue;
277
+ }
278
+ // Buildin scalars
279
+ if (isBuildInScalar(fieldTypeName)) {
280
+ input.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(fieldTypeName)));
287
281
  continue;
288
282
  }
289
- const inputName = pascalCase(fieldTypeName, "input");
290
- if (!this.context.document.hasNode(inputName)) {
291
- this._createMutationInput(typeDef, inputName);
283
+ const typeDef = this.context.document.getNode(fieldTypeName);
284
+ if (!typeDef) {
285
+ throw new TransformerPluginExecutionError(this.name, `Unknown type ${fieldTypeName}`);
286
+ }
287
+ if (typeDef instanceof ScalarNode || typeDef instanceof EnumNode) {
288
+ input.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(fieldTypeName)));
289
+ continue;
290
+ }
291
+ if (typeDef instanceof ObjectNode) {
292
+ if (typeDef.hasDirective("model")) {
293
+ continue;
294
+ }
295
+ const inputName = pascalCase(fieldTypeName, "input");
296
+ if (!this.context.document.hasNode(inputName)) {
297
+ this._createMutationInput(typeDef, inputName);
298
+ }
299
+ input.addField(InputValueNode.create(field.name, undefined, undefined, NamedTypeNode.create(inputName)));
292
300
  }
293
- input.addField(InputValueNode.create(field.name, NamedTypeNode.create(inputName)));
294
301
  }
302
+ this.context.document.addNode(input);
295
303
  }
296
- this.context.document.addNode(input);
297
304
  }
298
305
  // #endregion Filter Inputs
299
306
  // #region Operations
@@ -301,7 +308,7 @@ export class ModelPlugin {
301
308
  const fieldName = camelCase("get", model.name);
302
309
  const queryNode = this.context.document.getQueryNode();
303
310
  if (!queryNode.hasField(fieldName)) {
304
- const field = FieldNode.create(fieldName, NamedTypeNode.create(model.name), [InputValueNode.create("id", NonNullTypeNode.create("ID"))], [DirectiveNode.create("hasOne")]);
311
+ const field = FieldNode.create(fieldName, undefined, [DirectiveNode.create("hasOne")], NamedTypeNode.create(model.name), [InputValueNode.create("id", undefined, undefined, NonNullTypeNode.create("ID"))]);
305
312
  queryNode.addField(field);
306
313
  }
307
314
  }
@@ -312,26 +319,21 @@ export class ModelPlugin {
312
319
  const fieldName = camelCase("list", pluralize(model.name));
313
320
  const filterInputName = pascalCase(model.name, "filter", "input");
314
321
  const queryNode = this.context.document.getQueryNode();
315
- if (!this.context.document.hasNode(filterInputName)) {
316
- this._createFilterInput(model);
317
- }
318
322
  let field = queryNode.getField(fieldName);
319
323
  if (!field) {
320
- field = FieldNode.create(fieldName, NamedTypeNode.create(model.name), null, [
321
- DirectiveNode.create("hasMany"),
322
- ]);
324
+ field = FieldNode.create(fieldName, undefined, [DirectiveNode.create("hasMany")], NamedTypeNode.create(model.name), null);
323
325
  queryNode.addField(field);
324
326
  }
325
327
  if (!field.hasArgument("filter")) {
326
- field.addArgument(InputValueNode.create("filter", NamedTypeNode.create(filterInputName)));
328
+ field.addArgument(InputValueNode.create("filter", undefined, undefined, NamedTypeNode.create(filterInputName)));
327
329
  }
328
330
  }
329
331
  _createDeleteMutationField(model) {
330
332
  const fieldName = camelCase("delete", model.name);
331
333
  const mutationNode = this.context.document.getMutationNode();
332
334
  if (!mutationNode.hasField(fieldName)) {
333
- const field = FieldNode.create(fieldName, NamedTypeNode.create(model.name), [
334
- InputValueNode.create("id", NonNullTypeNode.create(NamedTypeNode.create("ID"))),
335
+ const field = FieldNode.create(fieldName, undefined, undefined, NamedTypeNode.create(model.name), [
336
+ InputValueNode.create("id", undefined, undefined, NonNullTypeNode.create(NamedTypeNode.create("ID"))),
335
337
  ]);
336
338
  mutationNode.addField(field);
337
339
  }
@@ -340,12 +342,9 @@ export class ModelPlugin {
340
342
  const fieldName = camelCase(verb, model.name);
341
343
  const inputName = pascalCase(verb, model.name, "input");
342
344
  const mutationNode = this.context.document.getMutationNode();
343
- if (!this.context.document.getNode(inputName)) {
344
- this._createMutationInput(model, inputName, verb === "update" ? ["id"] : []);
345
- }
346
345
  if (!mutationNode.hasField(fieldName)) {
347
- const field = FieldNode.create(fieldName, NamedTypeNode.create(model.name), [
348
- InputValueNode.create("input", NonNullTypeNode.create(NamedTypeNode.create(inputName))),
346
+ const field = FieldNode.create(fieldName, undefined, undefined, NamedTypeNode.create(model.name), [
347
+ InputValueNode.create("input", undefined, undefined, NonNullTypeNode.create(NamedTypeNode.create(inputName))),
349
348
  ]);
350
349
  mutationNode.addField(field);
351
350
  }
@@ -353,11 +352,9 @@ export class ModelPlugin {
353
352
  // #endregion Operations
354
353
  init() {
355
354
  this.context.base
356
- .addNode(EnumNode.create("ModelOperation", Object.values(ModelOperation), [
357
- DirectiveNode.create(InternalDirective.INTERNAL),
358
- ]))
359
- .addNode(DirectiveDefinitionNode.create("model", ["OBJECT"], [
360
- InputValueNode.create("operations", ListTypeNode.create(NonNullTypeNode.create("ModelOperation"))),
355
+ .addNode(EnumNode.create("ModelOperation", undefined, [DirectiveNode.create(InternalDirective.INTERNAL)], Object.values(ModelOperation)))
356
+ .addNode(DirectiveDefinitionNode.create("model", undefined, ["OBJECT"], [
357
+ InputValueNode.create("operations", undefined, undefined, ListTypeNode.create(NonNullTypeNode.create("ModelOperation"))),
361
358
  ]))
362
359
  .addNode(this._createIDLikeFilterInput("IDFilterInput", "ID"))
363
360
  .addNode(this._createStringLikeFilterInput("StringFilterInput", "String"))
@@ -370,8 +367,7 @@ export class ModelPlugin {
370
367
  match(definition) {
371
368
  return isModel(definition);
372
369
  }
373
- execute(definition) {
374
- // 1. Add operation fields
370
+ normalize(definition) {
375
371
  const operations = this._getOperationNames(definition);
376
372
  for (const verb of operations) {
377
373
  switch (verb) {
@@ -394,6 +390,30 @@ export class ModelPlugin {
394
390
  }
395
391
  }
396
392
  }
393
+ execute(definition) {
394
+ const operations = this._getOperationNames(definition);
395
+ for (const verb of operations) {
396
+ switch (verb) {
397
+ case "list":
398
+ this._createFilterInput(definition);
399
+ continue;
400
+ case "create":
401
+ case "upsert":
402
+ case "update":
403
+ this._createMutationInput(definition, pascalCase(verb, definition.name, "input"), verb === "update" ? ["id"] : []);
404
+ continue;
405
+ default:
406
+ continue;
407
+ }
408
+ }
409
+ for (const field of definition.fields ?? []) {
410
+ if (isManyRelationship(field) && !field.hasArgument("filter")) {
411
+ const target = this.context.document.getNodeOrThrow(field.type.getTypeName());
412
+ this._createFilterInput(target);
413
+ field.addArgument(InputValueNode.create("filter", undefined, undefined, NamedTypeNode.create(pascalCase(target.name, "filter", "input"))));
414
+ }
415
+ }
416
+ }
397
417
  cleanup(definition) {
398
418
  definition.removeDirective(ModelDirective.MODEL);
399
419
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPlugin.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelPlugin.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,uBAAuB,EACvB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,eAAe,EACf,cAAc,EAEd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,OAAO,EACP,cAAc,EACd,cAAc,EAGd,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,MAAM,OAAO,WAAW;IACN,IAAI,GAAG,aAAa,CAAC;IAC5B,OAAO,CAAsB;IAC9B,kBAAkB,CAAkB;IAE5C,YACE,OAA4B,EAC5B,UAA8B,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QAE/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAEO,iBAAiB,CAAC,UAA2B;QACnD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBACzB,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBACjC,wBAAwB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAEO,kBAAkB,CAAC,MAAkB;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,+BAA+B,CACvC,IAAI,CAAC,IAAI,EACT,uCAAuC,MAAM,CAAC,IAAI,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,EAAoC,CAAC;QAE5E,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,wBAAwB;IAEhB,sBAAsB;QAC5B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE;YAC5E,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9E,cAAc,CAAC,MAAM,CACnB,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACnD;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB;QAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACzF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,4BAA4B,CAAC,IAAY,EAAE,QAAgB;QACjE,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;YAC/D,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD;YACD,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvF,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1F,cAAc,CAAC,MAAM,CACnB,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD;YACD,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzF,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtF,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SAC7F,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,4BAA4B,CAAC,IAAY,EAAE,QAAgB;QACjE,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;YAC/D,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD;YACD,cAAc,CAAC,MAAM,CACnB,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD;YACD,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACvF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,6BAA6B,CAAC,IAAY,EAAE,QAAgB;QAClE,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;YAC/D,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACvF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wBAAwB,CAAC,IAAY,EAAE,QAAgB;QAC7D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;YAC/D,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD;YACD,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACvF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,0BAA0B,CAAC,IAAY,EAAE,QAAgB;QAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;YAC/D,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvF,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1F,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SAC7F,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,0BAA0B,CAAC,IAAY,EAAE,QAAgB;QAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;YAC/D,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjF,cAAc,CAAC,MAAM,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD;YACD,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SACvF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wBAAwB,CAAC,IAAgB,EAAE,SAAiB;QAClE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAErC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,KAAK,SAAS,CAAC;YACf,OAAO,CAAC,CAAC,CAAC;gBACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACtB,2BAA2B,IAAI,CAAC,IAAI,qDAAqD,CAC1F,CAAC;gBACF,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,MAAkC;QAC3D,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEjE,IAAI,WAAW,IAAI,CAAC,CAAC,WAAW,YAAY,eAAe,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,+BAA+B,CACvC,IAAI,CAAC,IAAI,EACT,QAAQ,eAAe,uBAAuB,CAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAEtD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACxC,IAAI,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAE1D,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9B,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACzF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACzF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAE/D,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1B,SAAS;gBACX,CAAC;gBAED,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBACjF,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAEhF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACxD,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;wBACvF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBACjD,CAAC;oBAED,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CACnB,KAAK,CAAC,IAAI,EACV,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAC1C,CACF,CAAC;oBAEF,SAAS;gBACX,CAAC;gBAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAE5E,IAAI,iBAAiB,EAAE,CAAC;wBACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;wBACjD,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CACnB,KAAK,CAAC,IAAI,EACV,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAChC,CACF,CAAC;oBACJ,CAAC;oBAED,SAAS;gBACX,CAAC;gBAED,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxB,MAAM,eAAe,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBACjF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAE/C,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACzF,CAAC;oBAEF,SAAS;gBACX,CAAC;YACH,CAAC;YAED,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CACzF,CAAC;YACF,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CACxF,CAAC;YACF,WAAW,CAAC,QAAQ,CAClB,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAC1F,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAC1B,KAAiB,EACjB,SAAiB,EACjB,iBAA2B,EAAE;QAE7B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/D,IAAI,aAAa,IAAI,CAAC,CAAC,aAAa,YAAY,eAAe,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,+BAA+B,CACvC,IAAI,CAAC,IAAI,EACT,QAAQ,aAAa,uBAAuB,CAC7C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEhD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,gCAAgC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5C,SAAS;gBACX,CAAC;gBAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAE/C,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxC,KAAK,CAAC,QAAQ,CACZ,cAAc,CAAC,MAAM,CACnB,KAAK,CAAC,IAAI,EACV,SAAS,EACT,SAAS,EACT,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CACtC,CACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,kBAAkB;gBAClB,IAAI,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,QAAQ,CACZ,cAAc,CAAC,MAAM,CACnB,KAAK,CAAC,IAAI,EACV,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CACpC,CACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,aAAa,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAED,IAAI,OAAO,YAAY,UAAU,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;oBACjE,KAAK,CAAC,QAAQ,CACZ,cAAc,CAAC,MAAM,CACnB,KAAK,CAAC,IAAI,EACV,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CACpC,CACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;oBAClC,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,SAAS;oBACX,CAAC;oBAED,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBAErD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9C,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAChD,CAAC;oBAED,KAAK,CAAC,QAAQ,CACZ,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACzF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,2BAA2B;IAE3B,qBAAqB;IAEb,oBAAoB,CAAC,KAAiB;QAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAC5B,SAAS,EACT,SAAS,EACT,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAChC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAChC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAClF,CAAC;YAEF,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,KAAiB;QAC7C,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEvD,IAAI,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,SAAS,CAAC,MAAM,CACtB,SAAS,EACT,SAAS,EACT,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EACjC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAChC,IAAI,CACL,CAAC;YAEF,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,WAAW,CACf,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,KAAiB;QAClD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAE7D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAChC;gBACE,cAAc,CAAC,MAAM,CACnB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACnD;aACF,CACF,CAAC;YAEF,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAiB,EAAE,IAAoC;QAClF,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAE7D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAC5B,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAChC;gBACE,cAAc,CAAC,MAAM,CACnB,OAAO,EACP,SAAS,EACT,SAAS,EACT,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACxD;aACF,CACF,CAAC;YAEF,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,wBAAwB;IAEjB,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,IAAI;aACd,OAAO,CACN,QAAQ,CAAC,MAAM,CACb,gBAAgB,EAChB,SAAS,EACT,CAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAClD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAC9B,CACF;aACA,OAAO,CACN,uBAAuB,CAAC,MAAM,CAC5B,OAAO,EACP,SAAS,EACT,CAAC,QAAQ,CAAC,EACV;YACE,cAAc,CAAC,MAAM,CACnB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAC9D;SACF,CACF,CACF;aACA,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aAC7D,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;aACzE,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;aACnE,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;aACvE,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;aAC5E,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;aACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,UAA0B;QACrC,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAC,UAAsB;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEvD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,KAAK;oBACR,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBACtC,SAAS;gBACX,KAAK,MAAM;oBACT,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;oBACvC,SAAS;gBACX,KAAK,QAAQ;oBACX,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;oBAC5C,SAAS;gBACX,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5C,SAAS;gBACX;oBACE,SAAS;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,UAAsB;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEvD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,MAAM;oBACT,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBACpC,SAAS;gBACX,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,IAAI,CAAC,oBAAoB,CACvB,UAAU,EACV,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAC1C,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC;oBACF,SAAS;gBACX;oBACE,SAAS;YACb,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAe,CAAC;gBAC5F,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAEhC,KAAK,CAAC,WAAW,CACf,cAAc,CAAC,MAAM,CACnB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CACjE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,UAAsB;QACnC,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACtF,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DefinitionNode, EnumNode, FieldNode, InterfaceNode, ObjectNode, ScalarNode, TypeNode, UnionNode } from "@gqlbase/core/definition";
1
+ import { DefinitionNode, FieldNode, ObjectNode } from "@gqlbase/core/definition";
2
2
  export interface ModelPluginOptions {
3
3
  operations: OperationType[];
4
4
  }
@@ -21,10 +21,6 @@ export type OperationType = (typeof ModelOperation)[keyof typeof ModelOperation]
21
21
  export declare const DEFAULT_READ_OPERATIONS: ["get", "list"];
22
22
  export declare const DEFAULT_WRITE_OPERATIONS: ["create", "update", "delete"];
23
23
  export declare const isModel: (definition: DefinitionNode) => definition is ObjectNode;
24
- export declare const isObjectLike: (type: DefinitionNode) => type is ObjectNode | InterfaceNode | UnionNode;
25
- export declare const isListTypeNode: (node: TypeNode) => boolean;
26
- export declare const isScalar: (node: DefinitionNode) => node is ScalarNode;
27
- export declare const isEnum: (node: DefinitionNode) => node is EnumNode;
28
24
  export declare const shouldSkipFieldFromMutationInput: (field: FieldNode) => boolean;
29
25
  export declare const shouldSkipFieldFromFilterInput: (field: FieldNode) => boolean;
30
26
  export declare const shouldSkipFieldFromSortInput: (field: FieldNode) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,aAAa,EAGb,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACV,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAEX,eAAO,MAAM,cAAc;IACzB,oDAAoD;;IAGpD,oEAAoE;;;;;;;;CAgB5D,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEjF,eAAO,MAAM,uBAAuB,iBAAqD,CAAC;AAC1F,eAAO,MAAM,wBAAwB,gCAID,CAAC;AAErC,eAAO,MAAM,OAAO,GAAI,YAAY,cAAc,KAAG,UAAU,IAAI,UAElE,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,MAAM,cAAc,KACnB,IAAI,IAAI,UAAU,GAAG,aAAa,GAAG,SAEvC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,QAAQ,KAAG,OAM/C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,MAAM,cAAc,KAAG,IAAI,IAAI,UAEvD,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,MAAM,cAAc,KAAG,IAAI,IAAI,QAErD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,OAAO,SAAS,KAAG,OAEnE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAEjE,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,OAAO,SAAS,KAAG,OAE/D,CAAC"}
1
+ {"version":3,"file":"ModelPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAIjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAEX,eAAO,MAAM,cAAc;IACzB,oDAAoD;;IAGpD,oEAAoE;;;;;;;;CAgB5D,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEjF,eAAO,MAAM,uBAAuB,iBAAqD,CAAC;AAC1F,eAAO,MAAM,wBAAwB,gCAID,CAAC;AAErC,eAAO,MAAM,OAAO,GAAI,YAAY,cAAc,KAAG,UAAU,IAAI,UAElE,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,OAAO,SAAS,KAAG,OAEnE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,KAAG,OAEjE,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,OAAO,SAAS,KAAG,OAE/D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { EnumNode, InterfaceNode, ListTypeNode, NonNullTypeNode, ObjectNode, ScalarNode, UnionNode, } from "@gqlbase/core/definition";
1
+ import { ObjectNode } from "@gqlbase/core/definition";
2
2
  import { isClientOnly, isReadOnly, isServerOnly, isWriteOnly } from "../UtilitiesPlugin/index.js";
3
3
  import { isRelationField } from "../RelationsPlugin/index.js";
4
4
  export const ModelDirective = {
@@ -30,21 +30,6 @@ export const DEFAULT_WRITE_OPERATIONS = [
30
30
  export const isModel = (definition) => {
31
31
  return definition instanceof ObjectNode && definition.hasDirective(ModelDirective.MODEL);
32
32
  };
33
- export const isObjectLike = (type) => {
34
- return type instanceof ObjectNode || type instanceof InterfaceNode || type instanceof UnionNode;
35
- };
36
- export const isListTypeNode = (node) => {
37
- if (node instanceof NonNullTypeNode && node.type instanceof ListTypeNode) {
38
- return true;
39
- }
40
- return node instanceof ListTypeNode;
41
- };
42
- export const isScalar = (node) => {
43
- return node instanceof ScalarNode;
44
- };
45
- export const isEnum = (node) => {
46
- return node instanceof EnumNode;
47
- };
48
33
  export const shouldSkipFieldFromMutationInput = (field) => {
49
34
  return isReadOnly(field) || isServerOnly(field) || isClientOnly(field) || isRelationField(field);
50
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ModelPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAER,aAAa,EACb,YAAY,EACZ,eAAe,EACf,UAAU,EACV,UAAU,EAEV,SAAS,GACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM;IAEZ,oEAAoE;IACpE,KAAK,EAAE,OAAO;IAEd,mBAAmB;IACnB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IAEZ,sBAAsB;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,MAAM;IACN,gBAAgB;IAChB,0BAA0B;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAoC,CAAC;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ;IACR,QAAQ;IACR,QAAQ;CAC0B,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,UAA0B,EAA4B,EAAE;IAC9E,OAAO,UAAU,YAAY,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAoB,EAC4B,EAAE;IAClD,OAAO,IAAI,YAAY,UAAU,IAAI,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,SAAS,CAAC;AAClG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAc,EAAW,EAAE;IACxD,IAAI,IAAI,YAAY,eAAe,IAAI,IAAI,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,YAAY,YAAY,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAoB,EAAsB,EAAE;IACnE,OAAO,IAAI,YAAY,UAAU,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAoB,EAAoB,EAAE;IAC/D,OAAO,IAAI,YAAY,QAAQ,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC5E,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAgB,EAAW,EAAE;IACxE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"ModelPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/ModelPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,oDAAoD;IACpD,IAAI,EAAE,MAAM;IAEZ,oEAAoE;IACpE,KAAK,EAAE,OAAO;IAEd,mBAAmB;IACnB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IAEZ,sBAAsB;IACtB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,MAAM;IACN,gBAAgB;IAChB,0BAA0B;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAoC,CAAC;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ;IACR,QAAQ;IACR,QAAQ;CAC0B,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,UAA0B,EAA4B,EAAE;IAC9E,OAAO,UAAU,YAAY,UAAU,IAAI,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC5E,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAgB,EAAW,EAAE;IAC1E,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAgB,EAAW,EAAE;IACxE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { ModelPlugin, modelPlugin } from "./ModelPlugin.js";
2
- export { ModelDirective, ModelOperation, isModel, isObjectLike, type OperationType, type ModelPluginOptions, } from "./ModelPlugin.utils.js";
2
+ export { ModelDirective, ModelOperation, isModel, type OperationType, type ModelPluginOptions, } from "./ModelPlugin.utils.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { ModelPlugin, modelPlugin } from "./ModelPlugin.js";
2
- export { ModelDirective, ModelOperation, isModel, isObjectLike, } from "./ModelPlugin.utils.js";
2
+ export { ModelDirective, ModelOperation, isModel, } from "./ModelPlugin.utils.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,EACP,YAAY,GAGb,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/ModelPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,OAAO,GAGR,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelTypesGeneratorPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEhG,OAAO,EACL,cAAc,EASf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAIL,gCAAgC,EACjC,MAAM,sCAAsC,CAAC;AAO9C;;GAEG;AAEH,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAA6C;gBAEhD,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,gCAAqC;IAMxF,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IAsBjB,MAAM;IAkBN,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO;IAQ1C,QAAQ,CAAC,UAAU,EAAE,cAAc;IAkBnC,MAAM;;;;;CAYd;AAED,eAAO,MAAM,yBAAyB,oGAAiD,CAAC"}
1
+ {"version":3,"file":"ModelTypesGeneratorPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEhG,OAAO,EACL,cAAc,EAaf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,gCAAgC,EACjC,MAAM,sCAAsC,CAAC;AAM9C;;GAEG;AAEH,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAA6C;gBAEhD,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,gCAAqC;IAMxF,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IAsBjB,MAAM;IAkBN,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO;IAQ1C,QAAQ,CAAC,UAAU,EAAE,cAAc;IAkBnC,MAAM;;;;;CAYd;AAED,eAAO,MAAM,yBAAyB,oGAAiD,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import ts from "typescript";
2
2
  import { createPluginFactory, TransformerPluginBase } from "@gqlbase/core";
3
3
  import { createFileHeaders } from "@gqlbase/shared/codegen";
4
- import { EnumNode, InterfaceNode, ListTypeNode, NonNullTypeNode, ObjectNode, UnionNode, } from "@gqlbase/core/definition";
5
- import { getBuildinScalarTypeKeyword, isOperationNode, mergeOptions, } from "./ModelTypesGeneratorPlugin.utils.js";
6
- import { isEnum, isObjectLike, isScalar } from "../ModelPlugin/ModelPlugin.utils.js";
4
+ import { EnumNode, InterfaceNode, isEnumNode, isObjectLike, isOperationNode, isScalarNode, ListTypeNode, NonNullTypeNode, ObjectNode, UnionNode, } from "@gqlbase/core/definition";
5
+ import { getBuildinScalarTypeKeyword, mergeOptions, } from "./ModelTypesGeneratorPlugin.utils.js";
7
6
  import { isRelationField } from "../RelationsPlugin/RelationsPlugin.utils.js";
8
7
  import { isBuildInScalar } from "@gqlbase/shared/definition";
9
8
  import { getTypeHint, isInternal } from "@gqlbase/core/plugins";
@@ -33,7 +32,7 @@ export class ModelTypesGeneratorPlugin extends TransformerPluginBase {
33
32
  return ts.factory.createIdentifier(getBuildinScalarTypeKeyword(typeName));
34
33
  }
35
34
  const typeDef = this.context.document.getNodeOrThrow(typeName);
36
- if (isScalar(typeDef)) {
35
+ if (isScalarNode(typeDef)) {
37
36
  const hint = getTypeHint(typeDef);
38
37
  switch (hint) {
39
38
  case "id":
@@ -140,7 +139,7 @@ export class ModelTypesGeneratorPlugin extends TransformerPluginBase {
140
139
  ])));
141
140
  }
142
141
  match(definition) {
143
- return ((isObjectLike(definition) || isEnum(definition)) &&
142
+ return ((isObjectLike(definition) || isEnumNode(definition)) &&
144
143
  !isOperationNode(definition) &&
145
144
  !isInternal(definition));
146
145
  }