@graphql-tools/wrap 8.4.21 → 8.5.0-alpha-b76ec274.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 (121) hide show
  1. package/cjs/generateProxyingResolvers.js +74 -0
  2. package/cjs/index.js +12 -0
  3. package/cjs/introspect.js +30 -0
  4. package/cjs/package.json +1 -0
  5. package/cjs/transforms/ExtractField.js +51 -0
  6. package/cjs/transforms/FilterInputObjectFields.js +16 -0
  7. package/cjs/transforms/FilterInterfaceFields.js +13 -0
  8. package/cjs/transforms/FilterObjectFieldDirectives.js +33 -0
  9. package/cjs/transforms/FilterObjectFields.js +13 -0
  10. package/cjs/transforms/FilterRootFields.js +18 -0
  11. package/cjs/transforms/FilterTypes.js +19 -0
  12. package/cjs/transforms/HoistField.js +176 -0
  13. package/cjs/transforms/MapFields.js +61 -0
  14. package/cjs/transforms/MapLeafValues.js +111 -0
  15. package/cjs/transforms/PruneSchema.js +12 -0
  16. package/cjs/transforms/RemoveObjectFieldDeprecations.js +25 -0
  17. package/cjs/transforms/RemoveObjectFieldDirectives.js +16 -0
  18. package/cjs/transforms/RemoveObjectFieldsWithDeprecation.js +19 -0
  19. package/cjs/transforms/RemoveObjectFieldsWithDirective.js +19 -0
  20. package/cjs/transforms/RenameInputObjectFields.js +57 -0
  21. package/cjs/transforms/RenameInterfaceFields.js +19 -0
  22. package/cjs/transforms/RenameObjectFieldArguments.js +72 -0
  23. package/cjs/transforms/RenameObjectFields.js +19 -0
  24. package/cjs/transforms/RenameRootFields.js +16 -0
  25. package/cjs/transforms/RenameRootTypes.js +57 -0
  26. package/cjs/transforms/RenameTypes.js +69 -0
  27. package/cjs/transforms/TransformCompositeFields.js +143 -0
  28. package/cjs/transforms/TransformEnumValues.js +55 -0
  29. package/cjs/transforms/TransformInputObjectFields.js +160 -0
  30. package/cjs/transforms/TransformInterfaceFields.js +35 -0
  31. package/cjs/transforms/TransformObjectFields.js +35 -0
  32. package/cjs/transforms/TransformQuery.js +89 -0
  33. package/cjs/transforms/TransformRootFields.js +41 -0
  34. package/cjs/transforms/WrapFields.js +220 -0
  35. package/cjs/transforms/WrapQuery.js +62 -0
  36. package/cjs/transforms/WrapType.js +19 -0
  37. package/cjs/transforms/index.js +71 -0
  38. package/cjs/types.js +2 -0
  39. package/cjs/wrapSchema.js +58 -0
  40. package/esm/generateProxyingResolvers.js +69 -0
  41. package/esm/index.js +5 -0
  42. package/esm/introspect.js +26 -0
  43. package/esm/transforms/ExtractField.js +48 -0
  44. package/esm/transforms/FilterInputObjectFields.js +12 -0
  45. package/esm/transforms/FilterInterfaceFields.js +9 -0
  46. package/esm/transforms/FilterObjectFieldDirectives.js +29 -0
  47. package/esm/transforms/FilterObjectFields.js +9 -0
  48. package/esm/transforms/FilterRootFields.js +14 -0
  49. package/esm/transforms/FilterTypes.js +16 -0
  50. package/esm/transforms/HoistField.js +168 -0
  51. package/esm/transforms/MapFields.js +57 -0
  52. package/esm/transforms/MapLeafValues.js +108 -0
  53. package/esm/transforms/PruneSchema.js +9 -0
  54. package/esm/transforms/RemoveObjectFieldDeprecations.js +21 -0
  55. package/esm/transforms/RemoveObjectFieldDirectives.js +12 -0
  56. package/esm/transforms/RemoveObjectFieldsWithDeprecation.js +15 -0
  57. package/esm/transforms/RemoveObjectFieldsWithDirective.js +15 -0
  58. package/esm/transforms/RenameInputObjectFields.js +53 -0
  59. package/esm/transforms/RenameInterfaceFields.js +15 -0
  60. package/esm/transforms/RenameObjectFieldArguments.js +68 -0
  61. package/esm/transforms/RenameObjectFields.js +15 -0
  62. package/esm/transforms/RenameRootFields.js +12 -0
  63. package/esm/transforms/RenameRootTypes.js +54 -0
  64. package/esm/transforms/RenameTypes.js +66 -0
  65. package/esm/transforms/TransformCompositeFields.js +140 -0
  66. package/esm/transforms/TransformEnumValues.js +51 -0
  67. package/esm/transforms/TransformInputObjectFields.js +157 -0
  68. package/esm/transforms/TransformInterfaceFields.js +31 -0
  69. package/esm/transforms/TransformObjectFields.js +31 -0
  70. package/esm/transforms/TransformQuery.js +86 -0
  71. package/esm/transforms/TransformRootFields.js +37 -0
  72. package/esm/transforms/WrapFields.js +214 -0
  73. package/esm/transforms/WrapQuery.js +59 -0
  74. package/esm/transforms/WrapType.js +15 -0
  75. package/esm/transforms/index.js +33 -0
  76. package/esm/types.js +1 -0
  77. package/esm/wrapSchema.js +54 -0
  78. package/package.json +34 -13
  79. package/{generateProxyingResolvers.d.ts → typings/generateProxyingResolvers.d.ts} +0 -0
  80. package/typings/index.d.ts +5 -0
  81. package/{introspect.d.ts → typings/introspect.d.ts} +0 -0
  82. package/{transforms → typings/transforms}/ExtractField.d.ts +0 -0
  83. package/{transforms → typings/transforms}/FilterInputObjectFields.d.ts +1 -1
  84. package/{transforms → typings/transforms}/FilterInterfaceFields.d.ts +0 -0
  85. package/{transforms → typings/transforms}/FilterObjectFieldDirectives.d.ts +0 -0
  86. package/{transforms → typings/transforms}/FilterObjectFields.d.ts +0 -0
  87. package/{transforms → typings/transforms}/FilterRootFields.d.ts +0 -0
  88. package/{transforms → typings/transforms}/FilterTypes.d.ts +0 -0
  89. package/{transforms → typings/transforms}/HoistField.d.ts +0 -0
  90. package/{transforms → typings/transforms}/MapFields.d.ts +1 -1
  91. package/{transforms → typings/transforms}/MapLeafValues.d.ts +1 -1
  92. package/{transforms → typings/transforms}/PruneSchema.d.ts +0 -0
  93. package/{transforms → typings/transforms}/RemoveObjectFieldDeprecations.d.ts +0 -0
  94. package/{transforms → typings/transforms}/RemoveObjectFieldDirectives.d.ts +0 -0
  95. package/{transforms → typings/transforms}/RemoveObjectFieldsWithDeprecation.d.ts +0 -0
  96. package/{transforms → typings/transforms}/RemoveObjectFieldsWithDirective.d.ts +0 -0
  97. package/{transforms → typings/transforms}/RenameInputObjectFields.d.ts +0 -0
  98. package/{transforms → typings/transforms}/RenameInterfaceFields.d.ts +0 -0
  99. package/{transforms → typings/transforms}/RenameObjectFieldArguments.d.ts +0 -0
  100. package/{transforms → typings/transforms}/RenameObjectFields.d.ts +0 -0
  101. package/{transforms → typings/transforms}/RenameRootFields.d.ts +0 -0
  102. package/{transforms → typings/transforms}/RenameRootTypes.d.ts +0 -0
  103. package/{transforms → typings/transforms}/RenameTypes.d.ts +0 -0
  104. package/{transforms → typings/transforms}/TransformCompositeFields.d.ts +1 -1
  105. package/{transforms → typings/transforms}/TransformEnumValues.d.ts +2 -2
  106. package/{transforms → typings/transforms}/TransformInputObjectFields.d.ts +1 -1
  107. package/{transforms → typings/transforms}/TransformInterfaceFields.d.ts +1 -1
  108. package/{transforms → typings/transforms}/TransformObjectFields.d.ts +1 -1
  109. package/{transforms → typings/transforms}/TransformQuery.d.ts +0 -0
  110. package/{transforms → typings/transforms}/TransformRootFields.d.ts +1 -1
  111. package/{transforms → typings/transforms}/WrapFields.d.ts +0 -0
  112. package/{transforms → typings/transforms}/WrapQuery.d.ts +0 -0
  113. package/{transforms → typings/transforms}/WrapType.d.ts +0 -0
  114. package/typings/transforms/index.d.ts +32 -0
  115. package/{types.d.ts → typings/types.d.ts} +0 -0
  116. package/{wrapSchema.d.ts → typings/wrapSchema.d.ts} +0 -0
  117. package/README.md +0 -5
  118. package/index.d.ts +0 -5
  119. package/index.js +0 -1806
  120. package/index.mjs +0 -1767
  121. package/transforms/index.d.ts +0 -32
@@ -0,0 +1,54 @@
1
+ import { GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, } from 'graphql';
2
+ import { MapperKind, mapSchema } from '@graphql-tools/utils';
3
+ import { defaultMergedResolver, applySchemaTransforms } from '@graphql-tools/delegate';
4
+ import { generateProxyingResolvers } from './generateProxyingResolvers.js';
5
+ export function wrapSchema(subschemaConfig) {
6
+ const targetSchema = subschemaConfig.schema;
7
+ const proxyingResolvers = generateProxyingResolvers(subschemaConfig);
8
+ const schema = createWrappingSchema(targetSchema, proxyingResolvers);
9
+ const transformedSchema = applySchemaTransforms(schema, subschemaConfig);
10
+ return applySchemaTransforms(schema, subschemaConfig, transformedSchema);
11
+ }
12
+ function createWrappingSchema(schema, proxyingResolvers) {
13
+ return mapSchema(schema, {
14
+ [MapperKind.ROOT_OBJECT]: type => {
15
+ var _a;
16
+ const config = type.toConfig();
17
+ const fieldConfigMap = config.fields;
18
+ for (const fieldName in fieldConfigMap) {
19
+ const field = fieldConfigMap[fieldName];
20
+ if (field == null) {
21
+ continue;
22
+ }
23
+ fieldConfigMap[fieldName] = {
24
+ ...field,
25
+ ...(_a = proxyingResolvers[type.name]) === null || _a === void 0 ? void 0 : _a[fieldName],
26
+ };
27
+ }
28
+ return new GraphQLObjectType(config);
29
+ },
30
+ [MapperKind.OBJECT_TYPE]: type => {
31
+ const config = type.toConfig();
32
+ config.isTypeOf = undefined;
33
+ for (const fieldName in config.fields) {
34
+ const field = config.fields[fieldName];
35
+ if (field == null) {
36
+ continue;
37
+ }
38
+ field.resolve = defaultMergedResolver;
39
+ field.subscribe = undefined;
40
+ }
41
+ return new GraphQLObjectType(config);
42
+ },
43
+ [MapperKind.INTERFACE_TYPE]: type => {
44
+ const config = type.toConfig();
45
+ delete config.resolveType;
46
+ return new GraphQLInterfaceType(config);
47
+ },
48
+ [MapperKind.UNION_TYPE]: type => {
49
+ const config = type.toConfig();
50
+ delete config.resolveType;
51
+ return new GraphQLUnionType(config);
52
+ },
53
+ });
54
+ }
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@graphql-tools/wrap",
3
- "version": "8.4.21",
3
+ "version": "8.5.0-alpha-b76ec274.0",
4
4
  "description": "A set of utils for faster development of GraphQL tools",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
7
7
  "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
8
8
  },
9
9
  "dependencies": {
10
- "@graphql-tools/delegate": "8.7.12",
11
- "@graphql-tools/schema": "8.4.0",
12
- "@graphql-tools/utils": "8.7.0",
10
+ "@graphql-tools/delegate": "8.8.0-alpha-b76ec274.0",
11
+ "@graphql-tools/schema": "8.5.0-alpha-b76ec274.0",
12
+ "@graphql-tools/utils": "8.8.0-alpha-b76ec274.0",
13
13
  "tslib": "^2.4.0",
14
14
  "value-or-promise": "1.0.11"
15
15
  },
@@ -19,21 +19,42 @@
19
19
  "directory": "packages/wrap"
20
20
  },
21
21
  "license": "MIT",
22
- "main": "index.js",
23
- "module": "index.mjs",
24
- "typings": "index.d.ts",
22
+ "main": "cjs/index.js",
23
+ "module": "esm/index.js",
24
+ "typings": "typings/index.d.ts",
25
25
  "typescript": {
26
- "definition": "index.d.ts"
26
+ "definition": "typings/index.d.ts"
27
27
  },
28
+ "type": "module",
28
29
  "exports": {
29
30
  ".": {
30
- "require": "./index.js",
31
- "import": "./index.mjs"
31
+ "require": {
32
+ "types": "./typings/index.d.ts",
33
+ "default": "./cjs/index.js"
34
+ },
35
+ "import": {
36
+ "types": "./typings/index.d.ts",
37
+ "default": "./esm/index.js"
38
+ },
39
+ "default": {
40
+ "types": "./typings/index.d.ts",
41
+ "default": "./esm/index.js"
42
+ }
32
43
  },
33
44
  "./*": {
34
- "require": "./*.js",
35
- "import": "./*.mjs"
45
+ "require": {
46
+ "types": "./typings/*.d.ts",
47
+ "default": "./cjs/*.js"
48
+ },
49
+ "import": {
50
+ "types": "./typings/*.d.ts",
51
+ "default": "./esm/*.js"
52
+ },
53
+ "default": {
54
+ "types": "./typings/*.d.ts",
55
+ "default": "./esm/*.js"
56
+ }
36
57
  },
37
58
  "./package.json": "./package.json"
38
59
  }
39
- }
60
+ }
@@ -0,0 +1,5 @@
1
+ export { wrapSchema } from './wrapSchema.js';
2
+ export { defaultCreateProxyingResolver, generateProxyingResolvers } from './generateProxyingResolvers.js';
3
+ export * from './transforms/index.js';
4
+ export * from './types.js';
5
+ export * from './introspect.js';
File without changes
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, InputFieldFilter } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { InputObjectNodeTransformer } from '../types';
4
+ import { InputObjectNodeTransformer } from '../types.js';
5
5
  interface FilterInputObjectFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class FilterInputObjectFields<TContext = Record<string, any>> implements Transform<FilterInputObjectFieldsTransformationContext, TContext> {
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, FieldNodeMappers, ExecutionResult } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { ObjectValueTransformerMap, ErrorsTransformer } from '../types';
4
+ import { ObjectValueTransformerMap, ErrorsTransformer } from '../types.js';
5
5
  interface MapFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class MapFields<TContext> implements Transform<MapFieldsTransformationContext, TContext> {
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { LeafValueTransformer } from '../types';
4
+ import { LeafValueTransformer } from '../types.js';
5
5
  export interface MapLeafValuesTransformationContext {
6
6
  transformedRequest: ExecutionRequest;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { FieldTransformer, FieldNodeTransformer, DataTransformer, ErrorsTransformer } from '../types';
4
+ import { FieldTransformer, FieldNodeTransformer, DataTransformer, ErrorsTransformer } from '../types.js';
5
5
  interface TransformCompositeFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class TransformCompositeFields<TContext = Record<string, any>> implements Transform<TransformCompositeFieldsTransformationContext, TContext> {
@@ -1,8 +1,8 @@
1
1
  import { GraphQLSchema, ExecutionResult } from 'graphql';
2
2
  import { ExecutionRequest } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { EnumValueTransformer, LeafValueTransformer } from '../types';
5
- import { MapLeafValuesTransformationContext } from './MapLeafValues';
4
+ import { EnumValueTransformer, LeafValueTransformer } from '../types.js';
5
+ import { MapLeafValuesTransformationContext } from './MapLeafValues.js';
6
6
  interface TransformEnumValuesTransformationContext extends MapLeafValuesTransformationContext {
7
7
  }
8
8
  export default class TransformEnumValues<TContext = Record<string, any>> implements Transform<TransformEnumValuesTransformationContext, TContext> {
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { InputFieldTransformer, InputFieldNodeTransformer, InputObjectNodeTransformer } from '../types';
4
+ import { InputFieldTransformer, InputFieldNodeTransformer, InputObjectNodeTransformer } from '../types.js';
5
5
  interface TransformInputObjectFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class TransformInputObjectFields<TContext = Record<string, any>> implements Transform<TransformInputObjectFieldsTransformationContext, TContext> {
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { FieldTransformer, FieldNodeTransformer } from '../types';
4
+ import { FieldTransformer, FieldNodeTransformer } from '../types.js';
5
5
  interface TransformInterfaceFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class TransformInterfaceFields<TContext = Record<string, any>> implements Transform<TransformInterfaceFieldsTransformationContext, TContext> {
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { FieldTransformer, FieldNodeTransformer } from '../types';
4
+ import { FieldTransformer, FieldNodeTransformer } from '../types.js';
5
5
  interface TransformObjectFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class TransformObjectFields<TContext = Record<string, any>> implements Transform<TransformObjectFieldsTransformationContext, TContext> {
@@ -1,7 +1,7 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import { ExecutionRequest, ExecutionResult } from '@graphql-tools/utils';
3
3
  import { Transform, DelegationContext, SubschemaConfig } from '@graphql-tools/delegate';
4
- import { RootFieldTransformer, FieldNodeTransformer } from '../types';
4
+ import { RootFieldTransformer, FieldNodeTransformer } from '../types.js';
5
5
  interface TransformRootFieldsTransformationContext extends Record<string, any> {
6
6
  }
7
7
  export default class TransformRootFields<TContext = Record<string, any>> implements Transform<TransformRootFieldsTransformationContext, TContext> {
File without changes
@@ -0,0 +1,32 @@
1
+ export { default as RenameTypes } from './RenameTypes.js';
2
+ export { default as FilterTypes } from './FilterTypes.js';
3
+ export { default as RenameRootTypes } from './RenameRootTypes.js';
4
+ export { default as TransformCompositeFields } from './TransformCompositeFields.js';
5
+ export { default as TransformRootFields } from './TransformRootFields.js';
6
+ export { default as RenameRootFields } from './RenameRootFields.js';
7
+ export { default as FilterRootFields } from './FilterRootFields.js';
8
+ export { default as TransformObjectFields } from './TransformObjectFields.js';
9
+ export { default as RenameObjectFields } from './RenameObjectFields.js';
10
+ export { default as RenameObjectFieldArguments } from './RenameObjectFieldArguments.js';
11
+ export { default as FilterObjectFields } from './FilterObjectFields.js';
12
+ export { default as TransformInterfaceFields } from './TransformInterfaceFields.js';
13
+ export { default as RenameInterfaceFields } from './RenameInterfaceFields.js';
14
+ export { default as FilterInterfaceFields } from './FilterInterfaceFields.js';
15
+ export { default as TransformInputObjectFields } from './TransformInputObjectFields.js';
16
+ export { default as RenameInputObjectFields } from './RenameInputObjectFields.js';
17
+ export { default as FilterInputObjectFields } from './FilterInputObjectFields.js';
18
+ export { default as MapLeafValues } from './MapLeafValues.js';
19
+ export { default as TransformEnumValues } from './TransformEnumValues.js';
20
+ export { default as TransformQuery } from './TransformQuery.js';
21
+ export { default as FilterObjectFieldDirectives } from './FilterObjectFieldDirectives.js';
22
+ export { default as RemoveObjectFieldDirectives } from './RemoveObjectFieldDirectives.js';
23
+ export { default as RemoveObjectFieldsWithDirective } from './RemoveObjectFieldsWithDirective.js';
24
+ export { default as RemoveObjectFieldDeprecations } from './RemoveObjectFieldDeprecations.js';
25
+ export { default as RemoveObjectFieldsWithDeprecation } from './RemoveObjectFieldsWithDeprecation.js';
26
+ export { default as PruneSchema } from './PruneSchema.js';
27
+ export { default as WrapType } from './WrapType.js';
28
+ export { default as WrapFields } from './WrapFields.js';
29
+ export { default as HoistField } from './HoistField.js';
30
+ export { default as MapFields } from './MapFields.js';
31
+ export { default as WrapQuery } from './WrapQuery.js';
32
+ export { default as ExtractField } from './ExtractField.js';
File without changes
File without changes
package/README.md DELETED
@@ -1,5 +0,0 @@
1
- Check API Reference for more information about this package;
2
- https://www.graphql-tools.com/docs/api/modules/wrap_src
3
-
4
- You can also learn more about Schema Wrapping in this chapter;
5
- https://www.graphql-tools.com/docs/schema-wrapping
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export { wrapSchema } from './wrapSchema';
2
- export { defaultCreateProxyingResolver, generateProxyingResolvers } from './generateProxyingResolvers';
3
- export * from './transforms/index';
4
- export * from './types';
5
- export * from './introspect';