@gqlbase/plugins 0.1.1 → 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 (68) hide show
  1. package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.d.ts.map +1 -1
  2. package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.js +8 -8
  3. package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.js.map +1 -1
  4. package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.d.ts.map +1 -1
  5. package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.js +16 -16
  6. package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.js.map +1 -1
  7. package/dist/base/ModelPlugin/ModelPlugin.d.ts.map +1 -1
  8. package/dist/base/ModelPlugin/ModelPlugin.js +79 -83
  9. package/dist/base/ModelPlugin/ModelPlugin.js.map +1 -1
  10. package/dist/base/ModelPlugin/ModelPlugin.utils.d.ts +1 -5
  11. package/dist/base/ModelPlugin/ModelPlugin.utils.d.ts.map +1 -1
  12. package/dist/base/ModelPlugin/ModelPlugin.utils.js +1 -16
  13. package/dist/base/ModelPlugin/ModelPlugin.utils.js.map +1 -1
  14. package/dist/base/ModelPlugin/index.d.ts +1 -1
  15. package/dist/base/ModelPlugin/index.d.ts.map +1 -1
  16. package/dist/base/ModelPlugin/index.js +1 -1
  17. package/dist/base/ModelPlugin/index.js.map +1 -1
  18. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.d.ts.map +1 -1
  19. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.js +3 -5
  20. package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.js.map +1 -1
  21. package/dist/base/RelationsPlugin/RelationsPlugin.d.ts.map +1 -1
  22. package/dist/base/RelationsPlugin/RelationsPlugin.js +24 -26
  23. package/dist/base/RelationsPlugin/RelationsPlugin.js.map +1 -1
  24. package/dist/base/RelationsPlugin/RelationsPlugin.utils.d.ts +4 -2
  25. package/dist/base/RelationsPlugin/RelationsPlugin.utils.d.ts.map +1 -1
  26. package/dist/base/RelationsPlugin/RelationsPlugin.utils.js +36 -6
  27. package/dist/base/RelationsPlugin/RelationsPlugin.utils.js.map +1 -1
  28. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.d.ts.map +1 -1
  29. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.js +1 -1
  30. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.js.map +1 -1
  31. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.d.ts +1 -5
  32. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.d.ts.map +1 -1
  33. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js +2 -23
  34. package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js.map +1 -1
  35. package/dist/base/RfcFeaturesPlugin/index.d.ts +1 -1
  36. package/dist/base/RfcFeaturesPlugin/index.d.ts.map +1 -1
  37. package/dist/base/RfcFeaturesPlugin/index.js +1 -1
  38. package/dist/base/RfcFeaturesPlugin/index.js.map +1 -1
  39. package/dist/base/ScalarsPlugin/ScalarsPlugin.js +10 -10
  40. package/dist/base/ScalarsPlugin/ScalarsPlugin.js.map +1 -1
  41. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.d.ts.map +1 -1
  42. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.js +6 -7
  43. package/dist/base/TypesGeneratorBase/TypesGeneratorBase.js.map +1 -1
  44. package/dist/base/TypesGeneratorBase/index.d.ts +0 -1
  45. package/dist/base/TypesGeneratorBase/index.d.ts.map +1 -1
  46. package/dist/base/TypesGeneratorBase/index.js +0 -1
  47. package/dist/base/TypesGeneratorBase/index.js.map +1 -1
  48. package/dist/base/UtilitiesPlugin/UtilitiesPlugin.d.ts.map +1 -1
  49. package/dist/base/UtilitiesPlugin/UtilitiesPlugin.js +17 -7
  50. package/dist/base/UtilitiesPlugin/UtilitiesPlugin.js.map +1 -1
  51. package/dist/base/index.d.ts +3 -3
  52. package/dist/base/index.d.ts.map +1 -1
  53. package/dist/base/index.js +3 -3
  54. package/dist/base/index.js.map +1 -1
  55. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.d.ts.map +1 -1
  56. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.js +5 -5
  57. package/dist/middy/MiddyAppSyncGraphQLPlugin/MiddyAppSyncGraphQLPlugin.js.map +1 -1
  58. package/dist/relay/ConnectionPlugin/ConnectionPlugin.d.ts.map +1 -1
  59. package/dist/relay/ConnectionPlugin/ConnectionPlugin.js +14 -18
  60. package/dist/relay/ConnectionPlugin/ConnectionPlugin.js.map +1 -1
  61. package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.d.ts.map +1 -1
  62. package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.js +5 -3
  63. package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.js.map +1 -1
  64. package/package.json +3 -3
  65. package/dist/base/TypesGeneratorBase/TypeGeneratorBase.utils.d.ts +0 -3
  66. package/dist/base/TypesGeneratorBase/TypeGeneratorBase.utils.d.ts.map +0 -1
  67. package/dist/base/TypesGeneratorBase/TypeGeneratorBase.utils.js +0 -5
  68. package/dist/base/TypesGeneratorBase/TypeGeneratorBase.utils.js.map +0 -1
@@ -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, isScalar, isEnum, 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,QAAQ,EACR,MAAM,EACN,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, isScalar, isEnum, } 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,EACZ,QAAQ,EACR,MAAM,GAGP,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,EAGL,gCAAgC,EACjC,MAAM,sCAAsC,CAAC;AAQ9C;;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,14 +1,12 @@
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";
4
+ import { EnumNode, InterfaceNode, isEnumNode, isObjectLike, isOperationNode, isScalarNode, ListTypeNode, NonNullTypeNode, ObjectNode, UnionNode, } from "@gqlbase/core/definition";
5
5
  import { getBuildinScalarTypeKeyword, mergeOptions, } from "./ModelTypesGeneratorPlugin.utils.js";
6
- import { isEnum, isObjectLike, isScalar } from "../ModelPlugin/ModelPlugin.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";
10
9
  import { isSemanticNullable } from "../RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js";
11
- import { isOperationNode } from "../TypesGeneratorBase/index.js";
12
10
  /**
13
11
  * This plugin generates TypeScript types for all objects defined in the schema.
14
12
  */
@@ -34,7 +32,7 @@ export class ModelTypesGeneratorPlugin extends TransformerPluginBase {
34
32
  return ts.factory.createIdentifier(getBuildinScalarTypeKeyword(typeName));
35
33
  }
36
34
  const typeDef = this.context.document.getNodeOrThrow(typeName);
37
- if (isScalar(typeDef)) {
35
+ if (isScalarNode(typeDef)) {
38
36
  const hint = getTypeHint(typeDef);
39
37
  switch (hint) {
40
38
  case "id":
@@ -141,7 +139,7 @@ export class ModelTypesGeneratorPlugin extends TransformerPluginBase {
141
139
  ])));
142
140
  }
143
141
  match(definition) {
144
- return ((isObjectLike(definition) || isEnum(definition)) &&
142
+ return ((isObjectLike(definition) || isEnumNode(definition)) &&
145
143
  !isOperationNode(definition) &&
146
144
  !isInternal(definition));
147
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModelTypesGeneratorPlugin.js","sourceRoot":"","sources":["../../../src/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelTypesGeneratorPlugin.js","sourceRoot":"","sources":["../../../src/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationsPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EACL,cAAc,EAId,aAAa,EAGb,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EASL,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,qBAA0B;IAO7E,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,sBAAsB;IAiBvB,IAAI;IAkBJ,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO;IAW1C,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAoC9D,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAoB9C,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAY5D,KAAK,IAAI,IAAI;CAKd;AAED,eAAO,MAAM,cAAc,yFAAuC,CAAC"}
1
+ {"version":3,"file":"RelationsPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EACL,cAAc,EAId,aAAa,EAMb,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EASL,qBAAqB,EAGtB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;gBAE9C,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,qBAA0B;IAO7E,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,sBAAsB;IA0BvB,IAAI;IA4BJ,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO;IAW1C,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAmB9D,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAoB9C,OAAO,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI;IAY5D,KAAK,IAAI,IAAI;CAKd;AAED,eAAO,MAAM,cAAc,yFAAuC,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { createPluginFactory } from "@gqlbase/core";
2
- import { DirectiveDefinitionNode, FieldNode, InputValueNode, InterfaceNode, ListTypeNode, NamedTypeNode, ObjectNode, UnionNode, } from "@gqlbase/core/definition";
2
+ import { DirectiveDefinitionNode, FieldNode, InputValueNode, InterfaceNode, isInterfaceNode, isObjectNode, isUnionNode, ListTypeNode, NamedTypeNode, ObjectNode, isListTypeNode, } from "@gqlbase/core/definition";
3
3
  import { TransformerPluginExecutionError } from "@gqlbase/shared/errors";
4
4
  import { pascalCase } from "@gqlbase/shared/format";
5
- import { isPaginationConnection, isManyRelationship, isOneRelationship, isRelationField, isValidRelationTarget, parseFieldRelation, RelationDirective, } from "./RelationsPlugin.utils.js";
6
- import { isListTypeNode } from "../ModelPlugin/ModelPlugin.utils.js";
7
- import { isOperationNode } from "../TypesGeneratorBase/TypeGeneratorBase.utils.js";
5
+ import { isPaginationConnection, isManyRelationship, isOneRelationship, isRelationField, isValidRelationTarget, parseFieldRelation, RelationDirective, isBelongsToRelationship, } from "./RelationsPlugin.utils.js";
8
6
  /**
9
7
  * This plugin is responsible for adding the `@hasOne` and `@hasMany` directives to the schema, which can be used to define relationships between types.
10
8
  *
@@ -73,16 +71,27 @@ export class RelationsPlugin {
73
71
  return parseFieldRelation(object, field, target);
74
72
  }
75
73
  _setRelationKey(node, key) {
74
+ if (isUnionNode(node)) {
75
+ for (const type of node.types ?? []) {
76
+ const unionType = this.context.document.getNodeOrThrow(type.getTypeName());
77
+ if (isObjectNode(unionType) || isInterfaceNode(unionType)) {
78
+ this._setRelationKey(unionType, key);
79
+ continue;
80
+ }
81
+ throw new TransformerPluginExecutionError(this.name, `Invalid relation union target: ${node.name}`);
82
+ }
83
+ return;
84
+ }
76
85
  if (!node.hasField(key)) {
77
- node.addField(FieldNode.create(key, NamedTypeNode.create("ID")));
86
+ node.addField(FieldNode.create(key, undefined, undefined, NamedTypeNode.create("ID")));
78
87
  }
79
88
  }
80
89
  _setConnectionArguments(field) {
81
90
  if (!field.hasArgument("limit")) {
82
- field.addArgument(InputValueNode.create("limit", NamedTypeNode.create("Int")));
91
+ field.addArgument(InputValueNode.create("limit", undefined, undefined, NamedTypeNode.create("Int")));
83
92
  }
84
93
  if (!field.hasArgument("nextToken")) {
85
- field.addArgument(InputValueNode.create("nextToken", NamedTypeNode.create("String")));
94
+ field.addArgument(InputValueNode.create("nextToken", undefined, undefined, NamedTypeNode.create("String")));
86
95
  }
87
96
  }
88
97
  _createFieldConnection(field, target) {
@@ -92,13 +101,14 @@ export class RelationsPlugin {
92
101
  }
93
102
  const connectionTypeName = pascalCase(target.name, "Connection");
94
103
  return this.context.document.getOrCreateNode(connectionTypeName, ObjectNode.create(connectionTypeName)
95
- .addField(FieldNode.create("items", ListTypeNode.create(NamedTypeNode.create(target.name))))
96
- .addField(FieldNode.create("nextToken", NamedTypeNode.create("String"))));
104
+ .addField(FieldNode.create("items", undefined, undefined, ListTypeNode.create(NamedTypeNode.create(target.name))))
105
+ .addField(FieldNode.create("nextToken", undefined, undefined, NamedTypeNode.create("String"))));
97
106
  }
98
107
  init() {
99
108
  this.context.base
100
- .addNode(DirectiveDefinitionNode.create(RelationDirective.HAS_ONE, ["FIELD_DEFINITION"], [InputValueNode.create("key", "String")]))
101
- .addNode(DirectiveDefinitionNode.create(RelationDirective.HAS_MANY, ["FIELD_DEFINITION"], [InputValueNode.create("key", "String")]));
109
+ .addNode(DirectiveDefinitionNode.create(RelationDirective.HAS_ONE, undefined, ["FIELD_DEFINITION"], [InputValueNode.create("key", undefined, undefined, "String")]))
110
+ .addNode(DirectiveDefinitionNode.create(RelationDirective.BELONGS_TO, undefined, ["FIELD_DEFINITION"], [InputValueNode.create("key", undefined, undefined, "String")]))
111
+ .addNode(DirectiveDefinitionNode.create(RelationDirective.HAS_MANY, undefined, ["FIELD_DEFINITION"], [InputValueNode.create("key", undefined, undefined, "String")]));
102
112
  }
103
113
  match(definition) {
104
114
  if (definition instanceof InterfaceNode || definition instanceof ObjectNode) {
@@ -118,23 +128,11 @@ export class RelationsPlugin {
118
128
  if (!relation) {
119
129
  continue;
120
130
  }
121
- if (relation.type === "oneToOne") {
122
- if (!isOperationNode(definition)) {
131
+ if (relation.key) {
132
+ if (isBelongsToRelationship(field)) {
123
133
  this._setRelationKey(definition, relation.key);
134
+ continue;
124
135
  }
125
- continue;
126
- }
127
- if (relation.target instanceof UnionNode) {
128
- for (const type of relation.target.types ?? []) {
129
- const unionType = this.context.document.getNode(type.getTypeName());
130
- if (unionType instanceof ObjectNode || unionType instanceof InterfaceNode) {
131
- this._setRelationKey(unionType, relation.key);
132
- continue;
133
- }
134
- throw new TransformerPluginExecutionError(this.name, `Invalid relation union target: ${relation.target.name}`);
135
- }
136
- }
137
- else {
138
136
  this._setRelationKey(relation.target, relation.key);
139
137
  }
140
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RelationsPlugin.js","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RelationsPlugin.js","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA2C,MAAM,eAAe,CAAC;AAC7F,OAAO,EAEL,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EAEV,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAEL,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAGjB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,iBAAiB,CAAC;IACzB,OAAO,CAAsB;IACrB,OAAO,CAAkC;IAE1D,YAAY,OAA4B,EAAE,UAAiC,EAAE;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG;YACb,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;SACxD,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,MAAkC,EAClC,KAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,+BAA+B,CACvC,IAAI,CAAC,IAAI,EACT,QAAQ,MAAM,EAAE,IAAI,IAAI,cAAc,2CAA2C,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAC7G,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,iBAAiB,CACvB,MAAkC,EAClC,KAAgB;QAEhB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE1D,OAAO,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,eAAe,CAAC,IAA4C,EAAE,GAAW;QAC/E,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBAE3E,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBACrC,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,+BAA+B,CACvC,IAAI,CAAC,IAAI,EACT,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAC9C,CAAC;YACJ,CAAC;YAED,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,KAAgB;QAC9C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,WAAW,CACf,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,WAAW,CACf,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,KAAgB,EAAE,MAA8C;QAC7F,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAC1C,kBAAkB,EAClB,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC;aAClC,QAAQ,CACP,SAAS,CAAC,MAAM,CACd,OAAO,EACP,SAAS,EACT,SAAS,EACT,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACvD,CACF;aACA,QAAQ,CACP,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACpF,CACJ,CAAC;IACJ,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,IAAI;aACd,OAAO,CACN,uBAAuB,CAAC,MAAM,CAC5B,iBAAiB,CAAC,OAAO,EACzB,SAAS,EACT,CAAC,kBAAkB,CAAC,EACpB,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC/D,CACF;aACA,OAAO,CACN,uBAAuB,CAAC,MAAM,CAC5B,iBAAiB,CAAC,UAAU,EAC5B,SAAS,EACT,CAAC,kBAAkB,CAAC,EACpB,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC/D,CACF;aACA,OAAO,CACN,uBAAuB,CAAC,MAAM,CAC5B,iBAAiB,CAAC,QAAQ,EAC1B,SAAS,EACT,CAAC,kBAAkB,CAAC,EACpB,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC/D,CACF,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,UAA0B;QACrC,IAAI,UAAU,YAAY,aAAa,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;YAC5E,IAAI,UAAU,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YACjD,IAAI,sBAAsB,CAAC,UAAU,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,SAAS,CAAC,UAAsC;QACrD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC/C,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,UAAsC;QAC5C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAE3D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACpC,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAEM,OAAO,CAAC,UAAsC;QACnD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,QAAQ;aAClB,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC;aACrC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC"}
@@ -5,17 +5,19 @@ export interface RelationPluginOptions {
5
5
  export declare const RelationDirective: {
6
6
  readonly HAS_ONE: "hasOne";
7
7
  readonly HAS_MANY: "hasMany";
8
+ readonly BELONGS_TO: "belongsTo";
8
9
  };
9
10
  export interface FieldRelationship {
10
11
  type: "oneToOne" | "oneToMany";
11
12
  target: ObjectNode | InterfaceNode | UnionNode;
12
- key?: string;
13
+ key?: string | null;
13
14
  }
14
15
  export type RelationTarget = ObjectNode | InterfaceNode | UnionNode;
15
16
  export declare const isOneRelationship: (field: FieldNode) => boolean;
16
17
  export declare const isManyRelationship: (field: FieldNode) => boolean;
18
+ export declare const isBelongsToRelationship: (field: FieldNode) => boolean;
17
19
  export declare const isRelationField: (field: FieldNode) => boolean;
18
20
  export declare const isPaginationConnection: (node: DefinitionNode) => boolean;
19
21
  export declare const isValidRelationTarget: (node: DefinitionNode) => node is RelationTarget;
20
- export declare const parseFieldRelation: (object: ObjectNode | InterfaceNode, field: FieldNode, target: RelationTarget) => Required<FieldRelationship> | null;
22
+ export declare const parseFieldRelation: (object: ObjectNode | InterfaceNode, field: FieldNode, target: RelationTarget) => FieldRelationship | null;
21
23
  //# sourceMappingURL=RelationsPlugin.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RelationsPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACV,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAC/B,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpE,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,OAEpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,KAAG,OAErD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,OAElD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM,cAAc,KAAG,OAS7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,cAAc,KAAG,IAAI,IAAI,cAEpE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,UAAU,GAAG,aAAa,EAClC,OAAO,SAAS,EAChB,QAAQ,cAAc,KACrB,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IA4BhC,CAAC"}
1
+ {"version":3,"file":"RelationsPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,aAAa,EAGb,UAAU,EACV,SAAS,EACV,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IAC/B,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpE,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,OAEpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,KAAG,OAErD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,OAAO,SAAS,KAAG,OAE1D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,KAAG,OAElD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM,cAAc,KAAG,OAS7D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,cAAc,KAAG,IAAI,IAAI,cAEpE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,UAAU,GAAG,aAAa,EAClC,OAAO,SAAS,EAChB,QAAQ,cAAc,KACrB,iBAAiB,GAAG,IA4DtB,CAAC"}
@@ -1,8 +1,9 @@
1
- import { InterfaceNode, ObjectNode, UnionNode, } from "@gqlbase/core/definition";
1
+ import { isObjectLike, isOperationNode, ObjectNode, } from "@gqlbase/core/definition";
2
2
  import { camelCase } from "@gqlbase/shared/format";
3
3
  export const RelationDirective = {
4
4
  HAS_ONE: "hasOne",
5
5
  HAS_MANY: "hasMany",
6
+ BELONGS_TO: "belongsTo",
6
7
  };
7
8
  export const isOneRelationship = (field) => {
8
9
  return field.hasDirective(RelationDirective.HAS_ONE);
@@ -10,8 +11,11 @@ export const isOneRelationship = (field) => {
10
11
  export const isManyRelationship = (field) => {
11
12
  return field.hasDirective(RelationDirective.HAS_MANY);
12
13
  };
14
+ export const isBelongsToRelationship = (field) => {
15
+ return field.hasDirective(RelationDirective.BELONGS_TO);
16
+ };
13
17
  export const isRelationField = (field) => {
14
- return isOneRelationship(field) || isManyRelationship(field);
18
+ return isOneRelationship(field) || isBelongsToRelationship(field) || isManyRelationship(field);
15
19
  };
16
20
  export const isPaginationConnection = (node) => {
17
21
  if (node instanceof ObjectNode) {
@@ -26,28 +30,54 @@ export const isPaginationConnection = (node) => {
26
30
  return false;
27
31
  };
28
32
  export const isValidRelationTarget = (node) => {
29
- return node instanceof ObjectNode || node instanceof InterfaceNode || node instanceof UnionNode;
33
+ return isObjectLike(node);
30
34
  };
31
35
  export const parseFieldRelation = (object, field, target) => {
32
- if (isOneRelationship(field) && isManyRelationship(field)) {
36
+ const relationships = [
37
+ isOneRelationship(field),
38
+ isManyRelationship(field),
39
+ isBelongsToRelationship(field),
40
+ ].filter(Boolean);
41
+ if (relationships.length > 1) {
33
42
  throw new Error(`Multiple relationship directives detected for field: ${field.name}`);
34
43
  }
35
44
  if (isOneRelationship(field)) {
36
45
  const directive = field.getDirective(RelationDirective.HAS_ONE);
37
46
  const args = directive?.getArgumentsJSON();
47
+ let key = args?.key ?? null;
48
+ if (!key && !isOperationNode(object)) {
49
+ key = camelCase(object.name, "id");
50
+ }
51
+ return {
52
+ type: "oneToOne",
53
+ target: target,
54
+ key,
55
+ };
56
+ }
57
+ if (isBelongsToRelationship(field)) {
58
+ const directive = field.getDirective(RelationDirective.BELONGS_TO);
59
+ const args = directive?.getArgumentsJSON();
60
+ let key = args?.key ?? null;
61
+ if (!key && !isOperationNode(object)) {
62
+ key = camelCase(field.name, "id");
63
+ }
38
64
  return {
39
65
  type: "oneToOne",
40
66
  target: target,
41
- key: args?.key ?? camelCase(field.name, "id"),
67
+ key,
42
68
  };
43
69
  }
44
70
  if (isManyRelationship(field)) {
45
71
  const directive = field.getDirective(RelationDirective.HAS_MANY);
46
72
  const args = directive?.getArgumentsJSON();
73
+ let key = args?.key ?? null;
74
+ if (!key && !isOperationNode(object)) {
75
+ key = camelCase(object.name, "id");
76
+ }
47
77
  return {
48
78
  type: "oneToMany",
49
79
  target: target,
50
- key: args?.key ?? camelCase(object.name, "id"),
80
+ key,
51
81
  };
52
82
  }
53
83
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationsPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RelationsPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/RelationsPlugin/RelationsPlugin.utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RfcFeaturesPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUhG;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qBAAa,iBAAkB,SAAQ,qBAAqB;gBAC9C,OAAO,EAAE,mBAAmB;IAIjC,IAAI;CAeZ;AAED,eAAO,MAAM,iBAAiB,+DAAyC,CAAC"}
1
+ {"version":3,"file":"RfcFeaturesPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUhG;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qBAAa,iBAAkB,SAAQ,qBAAqB;gBAC9C,OAAO,EAAE,mBAAmB;IAIjC,IAAI;CAkBZ;AAED,eAAO,MAAM,iBAAiB,+DAAyC,CAAC"}
@@ -26,7 +26,7 @@ export class RfcFeaturesPlugin extends TransformerPluginBase {
26
26
  super("RfcFeaturesPlugin", context);
27
27
  }
28
28
  init() {
29
- this.context.base.addNode(DirectiveDefinitionNode.create("semanticNonNull", ["FIELD_DEFINITION"], InputValueNode.create("levels", NonNullTypeNode.create(ListTypeNode.create(NonNullTypeNode.create(NamedTypeNode.create("Int")))), ValueNode.list([ValueNode.int(0)]))));
29
+ this.context.base.addNode(DirectiveDefinitionNode.create("semanticNonNull", undefined, ["FIELD_DEFINITION"], InputValueNode.create("levels", undefined, undefined, NonNullTypeNode.create(ListTypeNode.create(NonNullTypeNode.create(NamedTypeNode.create("Int")))), ValueNode.list([ValueNode.int(0)]))));
30
30
  }
31
31
  }
32
32
  export const rfcFeaturesPlugin = createPluginFactory(RfcFeaturesPlugin);
@@ -1 +1 @@
1
- {"version":3,"file":"RfcFeaturesPlugin.js","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,SAAS,GACV,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D,YAAY,OAA4B;QACtC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CACvB,uBAAuB,CAAC,MAAM,CAC5B,iBAAiB,EACjB,CAAC,kBAAkB,CAAC,EACpB,cAAc,CAAC,MAAM,CACnB,QAAQ,EACR,eAAe,CAAC,MAAM,CACpB,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACzE,EACD,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"RfcFeaturesPlugin.js","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,SAAS,GACV,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,OAAO,iBAAkB,SAAQ,qBAAqB;IAC1D,YAAY,OAA4B;QACtC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CACvB,uBAAuB,CAAC,MAAM,CAC5B,iBAAiB,EACjB,SAAS,EACT,CAAC,kBAAkB,CAAC,EACpB,cAAc,CAAC,MAAM,CACnB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,eAAe,CAAC,MAAM,CACpB,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACzE,EACD,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CACF,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC"}
@@ -1,11 +1,7 @@
1
- import { FieldNode, TypeNode } from "@gqlbase/core/definition";
1
+ import { FieldNode } from "@gqlbase/core/definition";
2
2
  export declare const RfcDirective: {
3
3
  readonly SEMANTIC_NON_NULL: "semanticNonNull";
4
4
  };
5
- /**
6
- *
7
- */
8
- export declare const isNullable: (type: TypeNode, level?: number) => boolean;
9
5
  /**
10
6
  * Determines if a field is semantically nullable based on its type and/or the presence of the `@semanticNonNull` directive.
11
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RfcFeaturesPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiC,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAE9F,eAAO,MAAM,YAAY;;CAEf,CAAC;AAgBX;;GAEG;AAEH,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,EAAE,cAAS,KAAG,OAItD,CAAC;AAEF;;;;;;;GAOG;AAEH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,EAAE,cAAS,YAa7D,CAAC"}
1
+ {"version":3,"file":"RfcFeaturesPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,0BAA0B,CAAC;AAEzE,eAAO,MAAM,YAAY;;CAEf,CAAC;AAEX;;;;;;;GAOG;AAEH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,EAAE,cAAS,YAa7D,CAAC"}
@@ -1,28 +1,7 @@
1
- import { ListTypeNode, NonNullTypeNode } from "@gqlbase/core/definition";
1
+ import { isNullableTypeNode } from "@gqlbase/core/definition";
2
2
  export const RfcDirective = {
3
3
  SEMANTIC_NON_NULL: "semanticNonNull",
4
4
  };
5
- /**
6
- * Unwraps a type to the given depth level.
7
- * Only `ListTypeNode` counts as a level — `NonNullTypeNode` is
8
- * a modifier at the same depth and is skipped transparently.
9
- */
10
- const getTypeAtLevel = (type, level) => {
11
- if (level <= 0)
12
- return type;
13
- if (type instanceof NonNullTypeNode)
14
- return getTypeAtLevel(type.type, level);
15
- if (type instanceof ListTypeNode)
16
- return getTypeAtLevel(type.type, level - 1);
17
- return type;
18
- };
19
- /**
20
- *
21
- */
22
- export const isNullable = (type, level = 0) => {
23
- const typeAtLevel = getTypeAtLevel(type, level);
24
- return !(typeAtLevel instanceof NonNullTypeNode);
25
- };
26
5
  /**
27
6
  * Determines if a field is semantically nullable based on its type and/or the presence of the `@semanticNonNull` directive.
28
7
  *
@@ -32,7 +11,7 @@ export const isNullable = (type, level = 0) => {
32
11
  * @returns `false` if the field is non-nullable either by being a NonNullType or by having the `@semanticNonNull` directive at the specified level, `true` otherwise.
33
12
  */
34
13
  export const isSemanticNullable = (field, level = 0) => {
35
- if (!isNullable(field.type, level)) {
14
+ if (!isNullableTypeNode(field.type, level)) {
36
15
  return false;
37
16
  }
38
17
  if (field.hasDirective(RfcDirective.SEMANTIC_NON_NULL)) {
@@ -1 +1 @@
1
- {"version":3,"file":"RfcFeaturesPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAE,eAAe,EAAY,MAAM,0BAA0B,CAAC;AAE9F,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB,EAAE,iBAAiB;CAC5B,CAAC;AAEX;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,IAAc,EAAE,KAAa,EAAY,EAAE;IACjE,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5B,IAAI,IAAI,YAAY,eAAe;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7E,IAAI,IAAI,YAAY,YAAY;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAE9E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;GAEG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,KAAK,GAAG,CAAC,EAAW,EAAE;IAC/D,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEhD,OAAO,CAAC,CAAC,WAAW,YAAY,eAAe,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IAChE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACrE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,gBAAgB,EAAwB,IAAI,EAAE,CAAC;QAEnF,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"RfcFeaturesPlugin.utils.js","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB,EAAE,iBAAiB;CAC5B,CAAC;AAEX;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IAChE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACrE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,gBAAgB,EAAwB,IAAI,EAAE,CAAC;QAEnF,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { RfcFeaturesPlugin, rfcFeaturesPlugin } from "./RfcFeaturesPlugin.js";
2
- export { RfcDirective, isNullable, isSemanticNullable } from "./RfcFeaturesPlugin.utils.js";
2
+ export { RfcDirective, isSemanticNullable } from "./RfcFeaturesPlugin.utils.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { RfcFeaturesPlugin, rfcFeaturesPlugin } from "./RfcFeaturesPlugin.js";
2
- export { RfcDirective, isNullable, isSemanticNullable } from "./RfcFeaturesPlugin.utils.js";
2
+ export { RfcDirective, isSemanticNullable } from "./RfcFeaturesPlugin.utils.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/RfcFeaturesPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC"}