@wundergraph/composition 0.0.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/LICENSE +197 -14
  2. package/README.md +140 -1
  3. package/dist/ast/ast.d.ts +2 -0
  4. package/dist/ast/ast.js.map +1 -1
  5. package/dist/ast/utils.d.ts +7 -7
  6. package/dist/ast/utils.js +30 -16
  7. package/dist/ast/utils.js.map +1 -1
  8. package/dist/errors/errors.d.ts +8 -4
  9. package/dist/errors/errors.js +67 -10
  10. package/dist/errors/errors.js.map +1 -1
  11. package/dist/federation/federation-factory.d.ts +6 -5
  12. package/dist/federation/federation-factory.js +105 -30
  13. package/dist/federation/federation-factory.js.map +1 -1
  14. package/dist/federation/federation-result.d.ts +2 -2
  15. package/dist/federation/federation-result.js +0 -7
  16. package/dist/federation/federation-result.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/normalization/normalization-factory.d.ts +9 -3
  21. package/dist/normalization/normalization-factory.js +235 -105
  22. package/dist/normalization/normalization-factory.js.map +1 -1
  23. package/dist/normalization/utils.d.ts +7 -3
  24. package/dist/normalization/utils.js +0 -1
  25. package/dist/normalization/utils.js.map +1 -1
  26. package/dist/subgraph/field-configuration.d.ts +7 -0
  27. package/dist/subgraph/field-configuration.js +3 -0
  28. package/dist/subgraph/field-configuration.js.map +1 -0
  29. package/dist/{federation → subgraph}/subgraph.d.ts +1 -1
  30. package/dist/{federation → subgraph}/subgraph.js +8 -28
  31. package/dist/subgraph/subgraph.js.map +1 -0
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/dist/utils/constants.js +8 -1
  34. package/dist/utils/constants.js.map +1 -1
  35. package/dist/utils/string-constants.d.ts +1 -0
  36. package/dist/utils/string-constants.js +2 -1
  37. package/dist/utils/string-constants.js.map +1 -1
  38. package/dist/utils/utils.d.ts +22 -1
  39. package/dist/utils/utils.js +65 -3
  40. package/dist/utils/utils.js.map +1 -1
  41. package/package.json +11 -10
  42. package/dist/federation/subgraph.js.map +0 -1
@@ -1,10 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FederationResult = void 0;
4
- class FederationResult {
5
- errors;
6
- federatedGraphAST;
7
- federatedGraphSchema;
8
- }
9
- exports.FederationResult = FederationResult;
10
3
  //# sourceMappingURL=federation-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"federation-result.js","sourceRoot":"","sources":["../../src/federation/federation-result.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAgB;IAC3B,MAAM,CAAW;IACjB,iBAAiB,CAAgB;IACjC,oBAAoB,CAAiB;CACtC;AAJD,4CAIC"}
1
+ {"version":3,"file":"federation-result.js","sourceRoot":"","sources":["../../src/federation/federation-result.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from './normalization/normalization-factory';
2
2
  export * from './federation/federation-factory';
3
3
  export * from './federation/federation-result';
4
- export * from './federation/subgraph';
4
+ export * from './subgraph/subgraph';
5
5
  export * from './errors/errors';
6
6
  export * from './utils/utils';
7
7
  export * from './ast/utils';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./normalization/normalization-factory"), exports);
18
18
  __exportStar(require("./federation/federation-factory"), exports);
19
19
  __exportStar(require("./federation/federation-result"), exports);
20
- __exportStar(require("./federation/subgraph"), exports);
20
+ __exportStar(require("./subgraph/subgraph"), exports);
21
21
  __exportStar(require("./errors/errors"), exports);
22
22
  __exportStar(require("./utils/utils"), exports);
23
23
  __exportStar(require("./ast/utils"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAqD;AACrD,kEAA+C;AAC/C,iEAA8C;AAC9C,wDAAqC;AACrC,kDAA+B;AAC/B,gDAA6B;AAC7B,8CAA2B;AAC3B,4CAAyB;AACzB,8DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAqD;AACrD,kEAA+C;AAC/C,iEAA8C;AAC9C,sDAAmC;AACnC,kDAA+B;AAC/B,gDAA6B;AAC7B,8CAA2B;AAC3B,4CAAyB;AACzB,8DAA2C"}
@@ -1,7 +1,9 @@
1
- import { ConstDirectiveNode, DocumentNode, EnumValueDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputValueDefinitionNode, InterfaceTypeExtensionNode, NamedTypeNode, ObjectTypeExtensionNode, OperationTypeNode, SchemaDefinitionNode, SchemaExtensionNode, TypeDefinitionNode, TypeExtensionNode, DirectiveDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
1
+ import { ConstDirectiveNode, DirectiveDefinitionNode, DocumentNode, EnumValueDefinitionNode, FieldDefinitionNode, GraphQLSchema, InputValueDefinitionNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, Kind, NamedTypeNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, OperationTypeNode, SchemaDefinitionNode, SchemaExtensionNode, TypeDefinitionNode, TypeExtensionNode } from 'graphql';
2
2
  import { EntityKey } from '../ast/utils';
3
- import { ChildContainer, ExtensionContainer, ExtensionMap, ObjectExtensionContainer, ParentContainer, ParentMap, SchemaContainer, UnionContainer, UnionExtensionContainer } from './utils';
3
+ import { ChildContainer, ExtensionContainer, ExtensionMap, ObjectExtensionContainer, ObjectLikeContainer, ParentContainer, ParentMap, SchemaContainer, UnionContainer, UnionExtensionContainer } from './utils';
4
+ import { ConfigurationData, ConfigurationDataMap } from '../subgraph/field-configuration';
4
5
  export type NormalizationResult = {
6
+ configurationDataMap: ConfigurationDataMap;
5
7
  isVersionTwo: boolean;
6
8
  operationTypes: Map<string, OperationTypeNode>;
7
9
  schema: GraphQLSchema;
@@ -30,19 +32,23 @@ export declare class NormalizationFactory {
30
32
  referencedDirectives: Set<string>;
31
33
  referencedTypeNames: Set<string>;
32
34
  constructor();
35
+ extractArguments(node: FieldDefinitionNode, map: Map<string, InputValueDefinitionNode>): Map<string, InputValueDefinitionNode>;
33
36
  extractDirectives(node: EnumValueDefinitionNode | FieldDefinitionNode | InputValueDefinitionNode | SchemaDefinitionNode | SchemaExtensionNode | TypeDefinitionNode | TypeExtensionNode, map: Map<string, ConstDirectiveNode[]>): Map<string, ConstDirectiveNode[]>;
34
- extractUniqueInterfaces(node: ObjectTypeDefinitionNode | ObjectTypeExtensionNode | InterfaceTypeExtensionNode, interfaces: Set<string>): Set<string>;
35
37
  extractUniqueUnionMembers(members: NamedTypeNode[], map: Map<string, NamedTypeNode>): Map<string, NamedTypeNode>;
36
38
  mergeUniqueInterfaces(extensionInterfaces: Set<string>, interfaces: Set<string>, typeName: string): void;
37
39
  mergeUniqueUnionMembers(baseUnion: UnionContainer, extensionUnion?: UnionExtensionContainer): void;
38
40
  mergeDirectives(baseTypeDirectives: Map<string, ConstDirectiveNode[]>, extension?: ExtensionContainer): void;
39
41
  getValidatedAndNormalizedParentDirectives(parent: ParentContainer | SchemaContainer | ObjectExtensionContainer): ConstDirectiveNode[];
42
+ convertKindForExtension(node: InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode | ObjectTypeDefinitionNode | ObjectTypeExtensionNode): Kind.INTERFACE_TYPE_EXTENSION | Kind.OBJECT_TYPE_EXTENSION;
43
+ handleObjectLikeExtension(node: InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode | ObjectTypeDefinitionNode | ObjectTypeExtensionNode): false | undefined;
40
44
  validateChildDirectives(child: ChildContainer, hostPath: string): void;
45
+ validateInterfaceImplementations(container: ObjectLikeContainer): void;
41
46
  normalize(document: DocumentNode): {
42
47
  errors: Error[];
43
48
  normalizationResult?: undefined;
44
49
  } | {
45
50
  normalizationResult: {
51
+ configurationDataMap: Map<string, ConfigurationData>;
46
52
  isVersionTwo: boolean;
47
53
  operationTypes: Map<string, OperationTypeNode>;
48
54
  subgraphAST: DocumentNode;