@omnigraph/json-schema 1.0.0-alpha-3fc47d119.0 → 1.0.0-alpha-20230420181317-a95037648

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 (89) hide show
  1. package/README.md +5 -4
  2. package/cjs/addExecutionLogicToComposer.js +208 -0
  3. package/cjs/addRootFieldResolver.js +395 -0
  4. package/cjs/bundle.js +65 -0
  5. package/cjs/directives.js +580 -0
  6. package/cjs/getComposerFromJSONSchema.js +1297 -0
  7. package/cjs/getDereferencedJSONSchemaFromOperations.js +33 -0
  8. package/cjs/getGraphQLSchemaFromDereferencedJSONSchema.js +39 -0
  9. package/cjs/getJSONSchemaStringFormatScalarMap.js +61 -0
  10. package/cjs/getReferencedJSONSchemaFromOperations.js +260 -0
  11. package/cjs/getTypeResolverFromOutputTCs.js +69 -0
  12. package/cjs/getUnionTypeComposers.js +85 -0
  13. package/cjs/getValidTypeName.js +20 -0
  14. package/cjs/index.js +14 -0
  15. package/cjs/loadGraphQLSchemaFromJSONSchemas.js +59 -0
  16. package/cjs/package.json +1 -0
  17. package/cjs/resolveDataByUnionInputType.js +40 -0
  18. package/cjs/scalars.js +30 -0
  19. package/cjs/types.js +0 -0
  20. package/cjs/utils.js +65 -0
  21. package/esm/addExecutionLogicToComposer.js +204 -0
  22. package/esm/addRootFieldResolver.js +390 -0
  23. package/esm/bundle.js +60 -0
  24. package/esm/directives.js +565 -0
  25. package/esm/getComposerFromJSONSchema.js +1293 -0
  26. package/esm/getDereferencedJSONSchemaFromOperations.js +29 -0
  27. package/esm/getGraphQLSchemaFromDereferencedJSONSchema.js +35 -0
  28. package/esm/getJSONSchemaStringFormatScalarMap.js +56 -0
  29. package/esm/getReferencedJSONSchemaFromOperations.js +255 -0
  30. package/esm/getTypeResolverFromOutputTCs.js +65 -0
  31. package/esm/getUnionTypeComposers.js +80 -0
  32. package/esm/getValidTypeName.js +16 -0
  33. package/esm/index.js +9 -0
  34. package/esm/loadGraphQLSchemaFromJSONSchemas.js +54 -0
  35. package/esm/resolveDataByUnionInputType.js +36 -0
  36. package/esm/scalars.js +27 -0
  37. package/esm/types.js +0 -0
  38. package/esm/utils.js +57 -0
  39. package/package.json +34 -27
  40. package/typings/addExecutionLogicToComposer.d.cts +14 -0
  41. package/typings/addExecutionLogicToComposer.d.ts +14 -0
  42. package/typings/addRootFieldResolver.d.cts +26 -0
  43. package/typings/addRootFieldResolver.d.ts +26 -0
  44. package/typings/bundle.d.cts +34 -0
  45. package/typings/bundle.d.ts +34 -0
  46. package/typings/directives.d.cts +54 -0
  47. package/typings/directives.d.ts +54 -0
  48. package/typings/getComposerFromJSONSchema.d.cts +13 -0
  49. package/{getComposerFromJSONSchema.d.ts → typings/getComposerFromJSONSchema.d.ts} +7 -4
  50. package/typings/getDereferencedJSONSchemaFromOperations.d.cts +14 -0
  51. package/{getDereferencedJSONSchemaFromOperations.d.ts → typings/getDereferencedJSONSchemaFromOperations.d.ts} +5 -3
  52. package/typings/getGraphQLSchemaFromDereferencedJSONSchema.d.cts +5 -0
  53. package/typings/getGraphQLSchemaFromDereferencedJSONSchema.d.ts +5 -0
  54. package/typings/getJSONSchemaStringFormatScalarMap.d.cts +2 -0
  55. package/typings/getJSONSchemaStringFormatScalarMap.d.ts +2 -0
  56. package/typings/getReferencedJSONSchemaFromOperations.d.cts +16 -0
  57. package/{getReferencedJSONSchemaFromOperations.d.ts → typings/getReferencedJSONSchemaFromOperations.d.ts} +6 -4
  58. package/typings/getTypeResolverFromOutputTCs.d.cts +7 -0
  59. package/typings/getTypeResolverFromOutputTCs.d.ts +7 -0
  60. package/typings/getUnionTypeComposers.d.cts +24 -0
  61. package/typings/getUnionTypeComposers.d.ts +24 -0
  62. package/{getStringScalarWithMinMaxLength.d.ts → typings/getValidTypeName.d.cts} +4 -3
  63. package/typings/index.d.cts +9 -0
  64. package/typings/index.d.ts +9 -0
  65. package/typings/loadGraphQLSchemaFromJSONSchemas.d.cts +3 -0
  66. package/typings/loadGraphQLSchemaFromJSONSchemas.d.ts +3 -0
  67. package/typings/resolveDataByUnionInputType.d.cts +2 -0
  68. package/typings/resolveDataByUnionInputType.d.ts +2 -0
  69. package/typings/scalars.d.cts +4 -0
  70. package/typings/scalars.d.ts +4 -0
  71. package/typings/types.d.cts +76 -0
  72. package/typings/types.d.ts +76 -0
  73. package/typings/utils.d.cts +15 -0
  74. package/{utils.d.ts → typings/utils.d.ts} +1 -1
  75. package/addExecutionLogicToComposer.d.ts +0 -15
  76. package/bundle.d.ts +0 -39
  77. package/getGenericJSONScalar.d.ts +0 -8
  78. package/getGraphQLSchemaFromDereferencedJSONSchema.d.ts +0 -5
  79. package/getJSONSchemaStringFormatScalarMap.d.ts +0 -3
  80. package/getTypeResolverFromOutputTCs.d.ts +0 -4
  81. package/getUnionTypeComposers.d.ts +0 -21
  82. package/getValidateFnForSchemaPath.d.ts +0 -3
  83. package/index.d.ts +0 -9
  84. package/index.js +0 -1890
  85. package/index.mjs +0 -1877
  86. package/loadGraphQLSchemaFromJSONSchemas.d.ts +0 -2
  87. package/resolveDataByUnionInputType.d.ts +0 -3
  88. package/types.d.ts +0 -63
  89. package/{getValidTypeName.d.ts → typings/getValidTypeName.d.ts} +1 -1
package/esm/utils.js ADDED
@@ -0,0 +1,57 @@
1
+ export function isPubSubOperationConfig(operationConfig) {
2
+ return 'pubsubTopic' in operationConfig;
3
+ }
4
+ export function getOperationMetadata(operationConfig) {
5
+ let httpMethod;
6
+ let operationType;
7
+ let rootTypeName;
8
+ if (isPubSubOperationConfig(operationConfig)) {
9
+ httpMethod = null;
10
+ operationType = 'subscription';
11
+ rootTypeName = 'Subscription';
12
+ }
13
+ else {
14
+ httpMethod = operationConfig.method;
15
+ // Fix compability with Mesh handler
16
+ operationType = operationConfig.type.toLowerCase();
17
+ if (!httpMethod) {
18
+ if (operationType === 'mutation') {
19
+ httpMethod = 'POST';
20
+ }
21
+ else {
22
+ httpMethod = 'GET';
23
+ }
24
+ }
25
+ if (!rootTypeName) {
26
+ if (httpMethod === 'GET') {
27
+ rootTypeName = 'Query';
28
+ }
29
+ }
30
+ rootTypeName = operationType === 'query' ? 'Query' : 'Mutation';
31
+ }
32
+ return {
33
+ httpMethod,
34
+ operationType,
35
+ rootTypeName,
36
+ fieldName: operationConfig.field,
37
+ };
38
+ }
39
+ export function cleanObject(obj) {
40
+ if (typeof obj === 'object' && obj != null) {
41
+ const newObj = Array.isArray(obj) ? [] : {};
42
+ for (const key in obj) {
43
+ const newObjForKey = cleanObject(obj[key]);
44
+ if (newObjForKey != null) {
45
+ newObj[key] = newObjForKey;
46
+ }
47
+ }
48
+ return newObj;
49
+ }
50
+ return obj;
51
+ }
52
+ export function isFileUpload(obj) {
53
+ return typeof obj.createReadStream === 'function';
54
+ }
55
+ export function isFile(obj) {
56
+ return typeof obj.arrayBuffer === 'function';
57
+ }
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "name": "@omnigraph/json-schema",
3
- "version": "1.0.0-alpha-3fc47d119.0",
3
+ "version": "1.0.0-alpha-20230420181317-a95037648",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@graphql-mesh/types": "0.79.0-alpha-3fc47d119.0",
7
- "@graphql-mesh/utils": "1.0.0-alpha-3fc47d119.0",
8
- "graphql": "*"
6
+ "@graphql-mesh/cross-helpers": "^0.3.4",
7
+ "@graphql-mesh/types": "1.0.0-alpha-20230420181317-a95037648",
8
+ "@graphql-mesh/utils": "1.0.0-alpha-20230420181317-a95037648",
9
+ "@graphql-tools/utils": "^9.2.1",
10
+ "graphql": "*",
11
+ "tslib": "^2.4.0"
9
12
  },
10
13
  "dependencies": {
11
- "@graphql-mesh/cross-helpers": "0.2.0",
12
- "@graphql-mesh/string-interpolation": "0.3.0",
13
- "@graphql-tools/utils": "8.8.0",
14
- "@json-schema-tools/meta-schema": "1.6.19",
15
- "@whatwg-node/fetch": "^0.0.2",
16
- "ajv": "8.11.0",
14
+ "@graphql-mesh/string-interpolation": "0.4.4",
15
+ "@json-schema-tools/meta-schema": "1.7.0",
16
+ "@whatwg-node/fetch": "^0.8.3",
17
+ "ajv": "8.12.0",
17
18
  "ajv-formats": "2.1.1",
18
- "graphql-compose": "9.0.8",
19
- "graphql-scalars": "1.17.0",
20
- "json-machete": "1.0.0-alpha-3fc47d119.0",
21
- "lodash.set": "4.3.2",
19
+ "dset": "3.1.2",
20
+ "graphql-compose": "9.0.10",
21
+ "graphql-scalars": "^1.20.4",
22
+ "json-machete": "1.0.0-alpha-20230420181317-a95037648",
22
23
  "pascal-case": "3.1.2",
23
- "qs": "6.11.0",
24
+ "qs": "6.11.1",
24
25
  "to-json-schema": "0.2.5",
25
- "tslib": "^2.4.0",
26
26
  "url-join": "4.0.1"
27
27
  },
28
28
  "repository": {
@@ -31,21 +31,28 @@
31
31
  "directory": "packages/loaders/json-schema"
32
32
  },
33
33
  "license": "MIT",
34
- "main": "index.js",
35
- "module": "index.mjs",
36
- "typings": "index.d.ts",
34
+ "main": "cjs/index.js",
35
+ "module": "esm/index.js",
36
+ "typings": "typings/index.d.ts",
37
37
  "typescript": {
38
- "definition": "index.d.ts"
38
+ "definition": "typings/index.d.ts"
39
39
  },
40
+ "type": "module",
40
41
  "exports": {
41
42
  ".": {
42
- "require": "./index.js",
43
- "import": "./index.mjs"
44
- },
45
- "./*": {
46
- "require": "./*.js",
47
- "import": "./*.mjs"
43
+ "require": {
44
+ "types": "./typings/index.d.cts",
45
+ "default": "./cjs/index.js"
46
+ },
47
+ "import": {
48
+ "types": "./typings/index.d.ts",
49
+ "default": "./esm/index.js"
50
+ },
51
+ "default": {
52
+ "types": "./typings/index.d.ts",
53
+ "default": "./esm/index.js"
54
+ }
48
55
  },
49
56
  "./package.json": "./package.json"
50
57
  }
51
- }
58
+ }
@@ -0,0 +1,14 @@
1
+ import { SchemaComposer } from 'graphql-compose';
2
+ import { IStringifyOptions } from 'qs';
3
+ import { Logger } from '@graphql-mesh/types';
4
+ import { JSONSchemaOperationConfig, OperationHeadersConfiguration } from './types.cjs';
5
+ export interface AddExecutionLogicToComposerOptions {
6
+ schemaComposer: SchemaComposer;
7
+ endpoint: string;
8
+ operations: JSONSchemaOperationConfig[];
9
+ operationHeaders?: OperationHeadersConfiguration;
10
+ logger: Logger;
11
+ queryParams?: Record<string, string | number | boolean>;
12
+ queryStringOptions?: IStringifyOptions;
13
+ }
14
+ export declare function addExecutionDirectivesToComposer(name: string, { schemaComposer, logger, operations, operationHeaders, endpoint, queryParams, queryStringOptions, }: AddExecutionLogicToComposerOptions): Promise<SchemaComposer<any>>;
@@ -0,0 +1,14 @@
1
+ import { SchemaComposer } from 'graphql-compose';
2
+ import { IStringifyOptions } from 'qs';
3
+ import { Logger } from '@graphql-mesh/types';
4
+ import { JSONSchemaOperationConfig, OperationHeadersConfiguration } from './types.js';
5
+ export interface AddExecutionLogicToComposerOptions {
6
+ schemaComposer: SchemaComposer;
7
+ endpoint: string;
8
+ operations: JSONSchemaOperationConfig[];
9
+ operationHeaders?: OperationHeadersConfiguration;
10
+ logger: Logger;
11
+ queryParams?: Record<string, string | number | boolean>;
12
+ queryStringOptions?: IStringifyOptions;
13
+ }
14
+ export declare function addExecutionDirectivesToComposer(name: string, { schemaComposer, logger, operations, operationHeaders, endpoint, queryParams, queryStringOptions, }: AddExecutionLogicToComposerOptions): Promise<SchemaComposer<any>>;
@@ -0,0 +1,26 @@
1
+ import { GraphQLField, GraphQLSchema } from 'graphql';
2
+ import { IStringifyOptions } from 'qs';
3
+ import { Logger, MeshFetch } from '@graphql-mesh/types';
4
+ import { HTTPMethod } from './types.cjs';
5
+ export interface HTTPRootFieldResolverOpts {
6
+ sourceName: string;
7
+ endpoint: string;
8
+ path: string;
9
+ httpMethod: HTTPMethod;
10
+ operationSpecificHeaders: Record<string, string>;
11
+ isBinary: boolean;
12
+ requestBaseBody: any;
13
+ queryParamArgMap: Record<string, string>;
14
+ queryStringOptionsByParam: Record<string, IStringifyOptions & {
15
+ destructObject?: boolean;
16
+ }>;
17
+ }
18
+ export interface GlobalOptions {
19
+ sourceName: string;
20
+ endpoint: string;
21
+ timeout: number;
22
+ operationHeaders: Record<string, string>;
23
+ queryStringOptions: IStringifyOptions;
24
+ queryParams: Record<string, string | number | boolean>;
25
+ }
26
+ export declare function addHTTPRootFieldResolver(schema: GraphQLSchema, field: GraphQLField<any, any>, logger: Logger, globalFetch: MeshFetch, { path, operationSpecificHeaders, httpMethod, isBinary, requestBaseBody, queryParamArgMap, queryStringOptionsByParam, }: HTTPRootFieldResolverOpts, { sourceName, endpoint, timeout, operationHeaders: globalOperationHeaders, queryStringOptions: globalQueryStringOptions, queryParams: globalQueryParams, }: GlobalOptions): void;
@@ -0,0 +1,26 @@
1
+ import { GraphQLField, GraphQLSchema } from 'graphql';
2
+ import { IStringifyOptions } from 'qs';
3
+ import { Logger, MeshFetch } from '@graphql-mesh/types';
4
+ import { HTTPMethod } from './types.js';
5
+ export interface HTTPRootFieldResolverOpts {
6
+ sourceName: string;
7
+ endpoint: string;
8
+ path: string;
9
+ httpMethod: HTTPMethod;
10
+ operationSpecificHeaders: Record<string, string>;
11
+ isBinary: boolean;
12
+ requestBaseBody: any;
13
+ queryParamArgMap: Record<string, string>;
14
+ queryStringOptionsByParam: Record<string, IStringifyOptions & {
15
+ destructObject?: boolean;
16
+ }>;
17
+ }
18
+ export interface GlobalOptions {
19
+ sourceName: string;
20
+ endpoint: string;
21
+ timeout: number;
22
+ operationHeaders: Record<string, string>;
23
+ queryStringOptions: IStringifyOptions;
24
+ queryParams: Record<string, string | number | boolean>;
25
+ }
26
+ export declare function addHTTPRootFieldResolver(schema: GraphQLSchema, field: GraphQLField<any, any>, logger: Logger, globalFetch: MeshFetch, { path, operationSpecificHeaders, httpMethod, isBinary, requestBaseBody, queryParamArgMap, queryStringOptionsByParam, }: HTTPRootFieldResolverOpts, { sourceName, endpoint, timeout, operationHeaders: globalOperationHeaders, queryStringOptions: globalQueryStringOptions, queryParams: globalQueryParams, }: GlobalOptions): void;
@@ -0,0 +1,34 @@
1
+ import { GraphQLSchema } from 'graphql';
2
+ import { JSONSchemaObject } from 'json-machete';
3
+ import type { IStringifyOptions } from 'qs';
4
+ import { Logger, MeshFetch } from '@graphql-mesh/types';
5
+ import { JSONSchemaOperationConfig, OperationHeadersConfiguration } from './types.cjs';
6
+ export interface JSONSchemaLoaderBundle {
7
+ name?: string;
8
+ endpoint?: string;
9
+ operations: JSONSchemaOperationConfig[];
10
+ operationHeaders?: Record<string, string>;
11
+ referencedSchema: JSONSchemaObject;
12
+ }
13
+ export interface JSONSchemaLoaderBundleOptions {
14
+ dereferencedSchema: JSONSchemaObject;
15
+ endpoint?: string;
16
+ operations: JSONSchemaOperationConfig[];
17
+ operationHeaders?: Record<string, string>;
18
+ logger?: Logger;
19
+ }
20
+ export declare function createBundleFromDereferencedSchema(name: string, { dereferencedSchema, endpoint, operations, operationHeaders, logger, }: JSONSchemaLoaderBundleOptions): Promise<JSONSchemaLoaderBundle>;
21
+ export interface JSONSchemaLoaderBundleToGraphQLSchemaOptions {
22
+ cwd?: string;
23
+ logger?: Logger;
24
+ fetch?: MeshFetch;
25
+ endpoint?: string;
26
+ operationHeaders?: OperationHeadersConfiguration;
27
+ queryParams?: Record<string, string>;
28
+ queryStringOptions?: IStringifyOptions;
29
+ }
30
+ /**
31
+ * Generates a local GraphQLSchema instance from
32
+ * previously generated JSON Schema bundle
33
+ */
34
+ export declare function getGraphQLSchemaFromBundle({ name, endpoint: bundledBaseUrl, operations, operationHeaders: bundledOperationHeaders, referencedSchema, }: JSONSchemaLoaderBundle, { cwd, logger, fetch, endpoint: overwrittenBaseUrl, operationHeaders: additionalOperationHeaders, queryParams, queryStringOptions, }?: JSONSchemaLoaderBundleToGraphQLSchemaOptions): Promise<GraphQLSchema>;
@@ -0,0 +1,34 @@
1
+ import { GraphQLSchema } from 'graphql';
2
+ import { JSONSchemaObject } from 'json-machete';
3
+ import type { IStringifyOptions } from 'qs';
4
+ import { Logger, MeshFetch } from '@graphql-mesh/types';
5
+ import { JSONSchemaOperationConfig, OperationHeadersConfiguration } from './types.js';
6
+ export interface JSONSchemaLoaderBundle {
7
+ name?: string;
8
+ endpoint?: string;
9
+ operations: JSONSchemaOperationConfig[];
10
+ operationHeaders?: Record<string, string>;
11
+ referencedSchema: JSONSchemaObject;
12
+ }
13
+ export interface JSONSchemaLoaderBundleOptions {
14
+ dereferencedSchema: JSONSchemaObject;
15
+ endpoint?: string;
16
+ operations: JSONSchemaOperationConfig[];
17
+ operationHeaders?: Record<string, string>;
18
+ logger?: Logger;
19
+ }
20
+ export declare function createBundleFromDereferencedSchema(name: string, { dereferencedSchema, endpoint, operations, operationHeaders, logger, }: JSONSchemaLoaderBundleOptions): Promise<JSONSchemaLoaderBundle>;
21
+ export interface JSONSchemaLoaderBundleToGraphQLSchemaOptions {
22
+ cwd?: string;
23
+ logger?: Logger;
24
+ fetch?: MeshFetch;
25
+ endpoint?: string;
26
+ operationHeaders?: OperationHeadersConfiguration;
27
+ queryParams?: Record<string, string>;
28
+ queryStringOptions?: IStringifyOptions;
29
+ }
30
+ /**
31
+ * Generates a local GraphQLSchema instance from
32
+ * previously generated JSON Schema bundle
33
+ */
34
+ export declare function getGraphQLSchemaFromBundle({ name, endpoint: bundledBaseUrl, operations, operationHeaders: bundledOperationHeaders, referencedSchema, }: JSONSchemaLoaderBundle, { cwd, logger, fetch, endpoint: overwrittenBaseUrl, operationHeaders: additionalOperationHeaders, queryParams, queryStringOptions, }?: JSONSchemaLoaderBundleToGraphQLSchemaOptions): Promise<GraphQLSchema>;
@@ -0,0 +1,54 @@
1
+ import { GraphQLDirective, GraphQLField, GraphQLInterfaceType, GraphQLLeafType, GraphQLScalarType, GraphQLSchema } from 'graphql';
2
+ import { Logger, MeshFetch, MeshPubSub } from '@graphql-mesh/types';
3
+ export declare const LengthDirective: GraphQLDirective;
4
+ export declare function processLengthAnnotations(scalar: GraphQLScalarType, { min: minLength, max: maxLength, }: {
5
+ min?: number;
6
+ max?: number;
7
+ }): void;
8
+ export declare const DiscriminatorDirective: GraphQLDirective;
9
+ export declare function processDiscriminatorAnnotations({ interfaceType, discriminatorFieldName, }: {
10
+ interfaceType: GraphQLInterfaceType;
11
+ discriminatorFieldName: string;
12
+ }): void;
13
+ export declare const ResolveRootDirective: GraphQLDirective;
14
+ export declare function processResolveRootAnnotations(field: GraphQLField<any, any>): void;
15
+ export declare const ResolveRootFieldDirective: GraphQLDirective;
16
+ export declare function processResolveRootFieldAnnotations(field: GraphQLField<any, any>, propertyName: string): void;
17
+ export declare const RegExpDirective: GraphQLDirective;
18
+ export declare function processRegExpAnnotations(scalar: GraphQLScalarType, pattern: string): void;
19
+ export declare const PubSubOperationDirective: GraphQLDirective;
20
+ interface ProcessPubSubOperationAnnotationsOpts {
21
+ field: GraphQLField<any, any>;
22
+ globalPubsub: MeshPubSub;
23
+ pubsubTopic: string;
24
+ logger: Logger;
25
+ }
26
+ export declare function processPubSubOperationAnnotations({ field, globalPubsub, pubsubTopic, logger, }: ProcessPubSubOperationAnnotationsOpts): void;
27
+ export declare const TypeScriptDirective: GraphQLDirective;
28
+ export declare function processTypeScriptAnnotations(type: GraphQLLeafType, typeDefinition: string): void;
29
+ export declare function processScalarType(schema: GraphQLSchema, type: GraphQLScalarType): void;
30
+ export declare const HTTPOperationDirective: GraphQLDirective;
31
+ export declare const GlobalOptionsDirective: GraphQLDirective;
32
+ export declare const ResponseMetadataDirective: GraphQLDirective;
33
+ export declare function processResponseMetadataAnnotations(field: GraphQLField<any, any>): void;
34
+ export declare const LinkDirective: GraphQLDirective;
35
+ export declare const LinkResolverDirective: GraphQLDirective;
36
+ export declare function processLinkFieldAnnotations(field: GraphQLField<any, any>, defaultRootTypeName: string, defaultFieldName: string): void;
37
+ export declare const DictionaryDirective: GraphQLDirective;
38
+ export declare function processDictionaryDirective(fieldMap: Record<string, GraphQLField<any, any>>, field: GraphQLField<any, any>): void;
39
+ interface ProcessDirectiveArgs {
40
+ schema: GraphQLSchema;
41
+ pubsub: MeshPubSub;
42
+ logger: Logger;
43
+ globalFetch: MeshFetch;
44
+ endpoint?: string;
45
+ timeout?: number;
46
+ operationHeaders?: Record<string, string>;
47
+ queryParams?: Record<string, any>;
48
+ }
49
+ export declare function processDirectives({ schema, globalFetch, logger, pubsub, ...extraGlobalOptions }: ProcessDirectiveArgs): GraphQLSchema;
50
+ export declare const StatusCodeTypeNameDirective: GraphQLDirective;
51
+ export declare const EnumDirective: GraphQLDirective;
52
+ export declare const OneOfDirective: GraphQLDirective;
53
+ export declare const ExampleDirective: GraphQLDirective;
54
+ export {};
@@ -0,0 +1,54 @@
1
+ import { GraphQLDirective, GraphQLField, GraphQLInterfaceType, GraphQLLeafType, GraphQLScalarType, GraphQLSchema } from 'graphql';
2
+ import { Logger, MeshFetch, MeshPubSub } from '@graphql-mesh/types';
3
+ export declare const LengthDirective: GraphQLDirective;
4
+ export declare function processLengthAnnotations(scalar: GraphQLScalarType, { min: minLength, max: maxLength, }: {
5
+ min?: number;
6
+ max?: number;
7
+ }): void;
8
+ export declare const DiscriminatorDirective: GraphQLDirective;
9
+ export declare function processDiscriminatorAnnotations({ interfaceType, discriminatorFieldName, }: {
10
+ interfaceType: GraphQLInterfaceType;
11
+ discriminatorFieldName: string;
12
+ }): void;
13
+ export declare const ResolveRootDirective: GraphQLDirective;
14
+ export declare function processResolveRootAnnotations(field: GraphQLField<any, any>): void;
15
+ export declare const ResolveRootFieldDirective: GraphQLDirective;
16
+ export declare function processResolveRootFieldAnnotations(field: GraphQLField<any, any>, propertyName: string): void;
17
+ export declare const RegExpDirective: GraphQLDirective;
18
+ export declare function processRegExpAnnotations(scalar: GraphQLScalarType, pattern: string): void;
19
+ export declare const PubSubOperationDirective: GraphQLDirective;
20
+ interface ProcessPubSubOperationAnnotationsOpts {
21
+ field: GraphQLField<any, any>;
22
+ globalPubsub: MeshPubSub;
23
+ pubsubTopic: string;
24
+ logger: Logger;
25
+ }
26
+ export declare function processPubSubOperationAnnotations({ field, globalPubsub, pubsubTopic, logger, }: ProcessPubSubOperationAnnotationsOpts): void;
27
+ export declare const TypeScriptDirective: GraphQLDirective;
28
+ export declare function processTypeScriptAnnotations(type: GraphQLLeafType, typeDefinition: string): void;
29
+ export declare function processScalarType(schema: GraphQLSchema, type: GraphQLScalarType): void;
30
+ export declare const HTTPOperationDirective: GraphQLDirective;
31
+ export declare const GlobalOptionsDirective: GraphQLDirective;
32
+ export declare const ResponseMetadataDirective: GraphQLDirective;
33
+ export declare function processResponseMetadataAnnotations(field: GraphQLField<any, any>): void;
34
+ export declare const LinkDirective: GraphQLDirective;
35
+ export declare const LinkResolverDirective: GraphQLDirective;
36
+ export declare function processLinkFieldAnnotations(field: GraphQLField<any, any>, defaultRootTypeName: string, defaultFieldName: string): void;
37
+ export declare const DictionaryDirective: GraphQLDirective;
38
+ export declare function processDictionaryDirective(fieldMap: Record<string, GraphQLField<any, any>>, field: GraphQLField<any, any>): void;
39
+ interface ProcessDirectiveArgs {
40
+ schema: GraphQLSchema;
41
+ pubsub: MeshPubSub;
42
+ logger: Logger;
43
+ globalFetch: MeshFetch;
44
+ endpoint?: string;
45
+ timeout?: number;
46
+ operationHeaders?: Record<string, string>;
47
+ queryParams?: Record<string, any>;
48
+ }
49
+ export declare function processDirectives({ schema, globalFetch, logger, pubsub, ...extraGlobalOptions }: ProcessDirectiveArgs): GraphQLSchema;
50
+ export declare const StatusCodeTypeNameDirective: GraphQLDirective;
51
+ export declare const EnumDirective: GraphQLDirective;
52
+ export declare const OneOfDirective: GraphQLDirective;
53
+ export declare const ExampleDirective: GraphQLDirective;
54
+ export {};
@@ -0,0 +1,13 @@
1
+ import { AnyTypeComposer, SchemaComposer } from 'graphql-compose';
2
+ import { JSONSchema } from 'json-machete';
3
+ import { Logger } from '@graphql-mesh/types';
4
+ export interface TypeComposers {
5
+ input?: AnyTypeComposer<any>;
6
+ output: AnyTypeComposer<any> | SchemaComposer;
7
+ description?: string;
8
+ nullable?: boolean;
9
+ default?: any;
10
+ readOnly?: boolean;
11
+ writeOnly?: boolean;
12
+ }
13
+ export declare function getComposerFromJSONSchema(schema: JSONSchema, logger: Logger): Promise<TypeComposers>;
@@ -1,10 +1,13 @@
1
1
  import { AnyTypeComposer, SchemaComposer } from 'graphql-compose';
2
- import { Logger } from '@graphql-mesh/types';
3
2
  import { JSONSchema } from 'json-machete';
4
- interface TypeComposers {
3
+ import { Logger } from '@graphql-mesh/types';
4
+ export interface TypeComposers {
5
5
  input?: AnyTypeComposer<any>;
6
6
  output: AnyTypeComposer<any> | SchemaComposer;
7
7
  description?: string;
8
+ nullable?: boolean;
9
+ default?: any;
10
+ readOnly?: boolean;
11
+ writeOnly?: boolean;
8
12
  }
9
- export declare function getComposerFromJSONSchema(schema: JSONSchema, logger: Logger, generateInterfaceFromSharedFields?: boolean): Promise<TypeComposers>;
10
- export {};
13
+ export declare function getComposerFromJSONSchema(schema: JSONSchema, logger: Logger): Promise<TypeComposers>;
@@ -0,0 +1,14 @@
1
+ import { JSONSchemaObject } from 'json-machete';
2
+ import { Logger } from '@graphql-mesh/types';
3
+ import { JSONSchemaOperationConfig } from './types.cjs';
4
+ export declare function getDereferencedJSONSchemaFromOperations({ operations, cwd, logger, fetchFn, schemaHeaders, ignoreErrorResponses, endpoint, operationHeaders, queryParams, }: {
5
+ operations: JSONSchemaOperationConfig[];
6
+ cwd: string;
7
+ logger: Logger;
8
+ fetchFn: WindowOrWorkerGlobalScope['fetch'];
9
+ schemaHeaders?: Record<string, string>;
10
+ ignoreErrorResponses?: boolean;
11
+ endpoint: string;
12
+ operationHeaders: Record<string, string>;
13
+ queryParams: Record<string, string | number | boolean>;
14
+ }): Promise<JSONSchemaObject>;
@@ -1,12 +1,14 @@
1
- import { JSONSchemaOperationConfig } from './types';
2
1
  import { JSONSchemaObject } from 'json-machete';
3
2
  import { Logger } from '@graphql-mesh/types';
4
- export declare function getDereferencedJSONSchemaFromOperations({ operations, cwd, logger, fetchFn, schemaHeaders, ignoreErrorResponses, noDeduplication, }: {
3
+ import { JSONSchemaOperationConfig } from './types.js';
4
+ export declare function getDereferencedJSONSchemaFromOperations({ operations, cwd, logger, fetchFn, schemaHeaders, ignoreErrorResponses, endpoint, operationHeaders, queryParams, }: {
5
5
  operations: JSONSchemaOperationConfig[];
6
6
  cwd: string;
7
7
  logger: Logger;
8
8
  fetchFn: WindowOrWorkerGlobalScope['fetch'];
9
9
  schemaHeaders?: Record<string, string>;
10
10
  ignoreErrorResponses?: boolean;
11
- noDeduplication?: boolean;
11
+ endpoint: string;
12
+ operationHeaders: Record<string, string>;
13
+ queryParams: Record<string, string | number | boolean>;
12
14
  }): Promise<JSONSchemaObject>;
@@ -0,0 +1,5 @@
1
+ import { JSONSchemaObject } from 'json-machete';
2
+ import { AddExecutionLogicToComposerOptions } from './addExecutionLogicToComposer.cjs';
3
+ export declare function getGraphQLSchemaFromDereferencedJSONSchema(name: string, opts: Omit<AddExecutionLogicToComposerOptions, 'schemaComposer'> & {
4
+ fullyDeferencedSchema: JSONSchemaObject;
5
+ }): Promise<import("graphql").GraphQLSchema>;
@@ -0,0 +1,5 @@
1
+ import { JSONSchemaObject } from 'json-machete';
2
+ import { AddExecutionLogicToComposerOptions } from './addExecutionLogicToComposer.js';
3
+ export declare function getGraphQLSchemaFromDereferencedJSONSchema(name: string, opts: Omit<AddExecutionLogicToComposerOptions, 'schemaComposer'> & {
4
+ fullyDeferencedSchema: JSONSchemaObject;
5
+ }): Promise<import("graphql").GraphQLSchema>;
@@ -0,0 +1,2 @@
1
+ import { GraphQLScalarType } from 'graphql';
2
+ export declare function getJSONSchemaStringFormatScalarMap(): Map<string, GraphQLScalarType>;
@@ -0,0 +1,2 @@
1
+ import { GraphQLScalarType } from 'graphql';
2
+ export declare function getJSONSchemaStringFormatScalarMap(): Map<string, GraphQLScalarType>;
@@ -0,0 +1,16 @@
1
+ import { JSONSchemaObject } from 'json-machete';
2
+ import { Logger } from '@graphql-mesh/types';
3
+ import { JSONSchemaOperationConfig } from './types.cjs';
4
+ export declare function getReferencedJSONSchemaFromOperations({ operations, cwd, schemaHeaders, ignoreErrorResponses, logger, fetchFn, endpoint, operationHeaders, queryParams, }: {
5
+ operations: JSONSchemaOperationConfig[];
6
+ cwd: string;
7
+ schemaHeaders?: {
8
+ [key: string]: string;
9
+ };
10
+ ignoreErrorResponses?: boolean;
11
+ logger?: Logger;
12
+ fetchFn: WindowOrWorkerGlobalScope['fetch'];
13
+ endpoint: string;
14
+ operationHeaders: Record<string, string>;
15
+ queryParams: Record<string, string | number | boolean>;
16
+ }): Promise<JSONSchemaObject>;
@@ -1,8 +1,7 @@
1
- import { Logger } from '@graphql-mesh/types';
2
1
  import { JSONSchemaObject } from 'json-machete';
3
- import { JSONSchemaOperationConfig } from './types';
4
- export declare const anySchema: JSONSchemaObject;
5
- export declare function getReferencedJSONSchemaFromOperations({ operations, cwd, schemaHeaders, ignoreErrorResponses, logger, fetchFn, }: {
2
+ import { Logger } from '@graphql-mesh/types';
3
+ import { JSONSchemaOperationConfig } from './types.js';
4
+ export declare function getReferencedJSONSchemaFromOperations({ operations, cwd, schemaHeaders, ignoreErrorResponses, logger, fetchFn, endpoint, operationHeaders, queryParams, }: {
6
5
  operations: JSONSchemaOperationConfig[];
7
6
  cwd: string;
8
7
  schemaHeaders?: {
@@ -11,4 +10,7 @@ export declare function getReferencedJSONSchemaFromOperations({ operations, cwd,
11
10
  ignoreErrorResponses?: boolean;
12
11
  logger?: Logger;
13
12
  fetchFn: WindowOrWorkerGlobalScope['fetch'];
13
+ endpoint: string;
14
+ operationHeaders: Record<string, string>;
15
+ queryParams: Record<string, string | number | boolean>;
14
16
  }): Promise<JSONSchemaObject>;
@@ -0,0 +1,7 @@
1
+ import { GraphQLObjectType, GraphQLTypeResolver } from 'graphql';
2
+ export declare function getTypeResolverFromOutputTCs({ possibleTypes, discriminatorField, discriminatorMapping, statusCodeTypeNameMap, }: {
3
+ possibleTypes: readonly GraphQLObjectType[];
4
+ discriminatorField?: string;
5
+ discriminatorMapping?: Record<string, string>;
6
+ statusCodeTypeNameMap?: Record<string, string>;
7
+ }): GraphQLTypeResolver<any, any>;
@@ -0,0 +1,7 @@
1
+ import { GraphQLObjectType, GraphQLTypeResolver } from 'graphql';
2
+ export declare function getTypeResolverFromOutputTCs({ possibleTypes, discriminatorField, discriminatorMapping, statusCodeTypeNameMap, }: {
3
+ possibleTypes: readonly GraphQLObjectType[];
4
+ discriminatorField?: string;
5
+ discriminatorMapping?: Record<string, string>;
6
+ statusCodeTypeNameMap?: Record<string, string>;
7
+ }): GraphQLTypeResolver<any, any>;
@@ -0,0 +1,24 @@
1
+ import { AnyTypeComposer, ComposeInputType, InputTypeComposer, ObjectTypeComposer, SchemaComposer, UnionTypeComposer } from 'graphql-compose';
2
+ import { Logger } from '@graphql-mesh/types';
3
+ import { JSONSchemaObject } from '@json-schema-tools/meta-schema';
4
+ import { TypeComposers } from './getComposerFromJSONSchema.cjs';
5
+ export interface GetUnionTypeComposersOpts {
6
+ schemaComposer: SchemaComposer;
7
+ typeComposersList: {
8
+ input?: AnyTypeComposer<any>;
9
+ output?: ObjectTypeComposer | UnionTypeComposer;
10
+ }[];
11
+ subSchemaAndTypeComposers: JSONSchemaObject & TypeComposers;
12
+ logger: Logger;
13
+ }
14
+ export declare function getContainerTC(schemaComposer: SchemaComposer, output: ComposeInputType): ObjectTypeComposer<any, any>;
15
+ export declare function getUnionTypeComposers({ schemaComposer, typeComposersList, subSchemaAndTypeComposers, logger, }: GetUnionTypeComposersOpts): {
16
+ input?: AnyTypeComposer<any>;
17
+ output?: ObjectTypeComposer<any, any> | UnionTypeComposer<any, any>;
18
+ } | {
19
+ input: InputTypeComposer<any>;
20
+ output: UnionTypeComposer<any, any>;
21
+ nullable: boolean;
22
+ readOnly: boolean;
23
+ writeOnly: boolean;
24
+ };
@@ -0,0 +1,24 @@
1
+ import { AnyTypeComposer, ComposeInputType, InputTypeComposer, ObjectTypeComposer, SchemaComposer, UnionTypeComposer } from 'graphql-compose';
2
+ import { Logger } from '@graphql-mesh/types';
3
+ import { JSONSchemaObject } from '@json-schema-tools/meta-schema';
4
+ import { TypeComposers } from './getComposerFromJSONSchema.js';
5
+ export interface GetUnionTypeComposersOpts {
6
+ schemaComposer: SchemaComposer;
7
+ typeComposersList: {
8
+ input?: AnyTypeComposer<any>;
9
+ output?: ObjectTypeComposer | UnionTypeComposer;
10
+ }[];
11
+ subSchemaAndTypeComposers: JSONSchemaObject & TypeComposers;
12
+ logger: Logger;
13
+ }
14
+ export declare function getContainerTC(schemaComposer: SchemaComposer, output: ComposeInputType): ObjectTypeComposer<any, any>;
15
+ export declare function getUnionTypeComposers({ schemaComposer, typeComposersList, subSchemaAndTypeComposers, logger, }: GetUnionTypeComposersOpts): {
16
+ input?: AnyTypeComposer<any>;
17
+ output?: ObjectTypeComposer<any, any> | UnionTypeComposer<any, any>;
18
+ } | {
19
+ input: InputTypeComposer<any>;
20
+ output: UnionTypeComposer<any, any>;
21
+ nullable: boolean;
22
+ readOnly: boolean;
23
+ writeOnly: boolean;
24
+ };
@@ -1,6 +1,7 @@
1
- import { JSONSchemaObject } from '@json-schema-tools/meta-schema';
2
1
  import { SchemaComposer } from 'graphql-compose';
3
- export declare function getStringScalarWithMinMaxLength({ schemaComposer, subSchema, }: {
2
+ import { JSONSchemaObject } from '@json-schema-tools/meta-schema';
3
+ export declare function getValidTypeName({ schemaComposer, isInput, subSchema, }: {
4
4
  schemaComposer: SchemaComposer;
5
+ isInput: boolean;
5
6
  subSchema: JSONSchemaObject;
6
- }): import("graphql-compose").ScalarTypeComposer<any>;
7
+ }): string;
@@ -0,0 +1,9 @@
1
+ import { loadGraphQLSchemaFromJSONSchemas } from './loadGraphQLSchemaFromJSONSchemas.cjs';
2
+ export default loadGraphQLSchemaFromJSONSchemas;
3
+ export * from './loadGraphQLSchemaFromJSONSchemas.cjs';
4
+ export * from './getComposerFromJSONSchema.cjs';
5
+ export * from './getDereferencedJSONSchemaFromOperations.cjs';
6
+ export * from './getGraphQLSchemaFromDereferencedJSONSchema.cjs';
7
+ export * from './types.cjs';
8
+ export { processDirectives } from './directives.cjs';
9
+ export * from './bundle.cjs';
@@ -0,0 +1,9 @@
1
+ import { loadGraphQLSchemaFromJSONSchemas } from './loadGraphQLSchemaFromJSONSchemas.js';
2
+ export default loadGraphQLSchemaFromJSONSchemas;
3
+ export * from './loadGraphQLSchemaFromJSONSchemas.js';
4
+ export * from './getComposerFromJSONSchema.js';
5
+ export * from './getDereferencedJSONSchemaFromOperations.js';
6
+ export * from './getGraphQLSchemaFromDereferencedJSONSchema.js';
7
+ export * from './types.js';
8
+ export { processDirectives } from './directives.js';
9
+ export * from './bundle.js';