@gqlbase/plugins 0.0.6 → 0.0.8
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.
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.d.ts +31 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.d.ts.map +1 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.js +139 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.js.map +1 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.utils.d.ts +18 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.utils.d.ts.map +1 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.utils.js +8 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.utils.js.map +1 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/index.d.ts +3 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/index.d.ts.map +1 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/index.js +2 -0
- package/dist/appsync/AppSyncSchemaGeneratorPlugin/index.js.map +1 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.d.ts +33 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.d.ts.map +1 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.js +91 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.js.map +1 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.d.ts +29 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.d.ts.map +1 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.js +53 -0
- package/dist/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.js.map +1 -0
- package/dist/appsync/AppSyncUtilsPlugin/index.d.ts +3 -0
- package/dist/appsync/AppSyncUtilsPlugin/index.d.ts.map +1 -0
- package/dist/appsync/AppSyncUtilsPlugin/index.js +3 -0
- package/dist/appsync/AppSyncUtilsPlugin/index.js.map +1 -0
- package/dist/appsync/appSyncPreset.d.ts +17 -0
- package/dist/appsync/appSyncPreset.d.ts.map +1 -0
- package/dist/appsync/appSyncPreset.js +21 -0
- package/dist/appsync/appSyncPreset.js.map +1 -0
- package/dist/appsync/index.d.ts +2 -0
- package/dist/appsync/index.d.ts.map +1 -0
- package/dist/appsync/index.js +2 -0
- package/dist/appsync/index.js.map +1 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.d.ts +55 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.d.ts.map +1 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.js +100 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.js.map +1 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.utils.d.ts +3 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.utils.d.ts.map +1 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.utils.js +4 -0
- package/dist/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.utils.js.map +1 -0
- package/dist/base/InterfaceUtilsPlugin/index.d.ts +3 -0
- package/dist/base/InterfaceUtilsPlugin/index.d.ts.map +1 -0
- package/dist/base/InterfaceUtilsPlugin/index.js +3 -0
- package/dist/base/InterfaceUtilsPlugin/index.js.map +1 -0
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.d.ts +9 -3
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.d.ts.map +1 -1
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.js +26 -16
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.js.map +1 -1
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.d.ts +19 -9
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.d.ts.map +1 -1
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.js +11 -11
- package/dist/base/ModelTypesGeneratorPlugin/ModelTypesGeneratorPlugin.utils.js.map +1 -1
- package/dist/base/RelationsPlugin/RelationsPlugin.d.ts +13 -8
- package/dist/base/RelationsPlugin/RelationsPlugin.d.ts.map +1 -1
- package/dist/base/RelationsPlugin/RelationsPlugin.js +30 -46
- package/dist/base/RelationsPlugin/RelationsPlugin.js.map +1 -1
- package/dist/base/RelationsPlugin/RelationsPlugin.utils.d.ts +5 -3
- package/dist/base/RelationsPlugin/RelationsPlugin.utils.d.ts.map +1 -1
- package/dist/base/RelationsPlugin/RelationsPlugin.utils.js +26 -1
- package/dist/base/RelationsPlugin/RelationsPlugin.utils.js.map +1 -1
- package/dist/base/RelationsPlugin/index.d.ts +1 -1
- package/dist/base/RelationsPlugin/index.d.ts.map +1 -1
- package/dist/base/RelationsPlugin/index.js +1 -1
- package/dist/base/RelationsPlugin/index.js.map +1 -1
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.d.ts +28 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.d.ts.map +1 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.js +33 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.js.map +1 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.d.ts +14 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.d.ts.map +1 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js +39 -0
- package/dist/base/RfcFeaturesPlugin/RfcFeaturesPlugin.utils.js.map +1 -0
- package/dist/base/RfcFeaturesPlugin/index.d.ts +3 -0
- package/dist/base/RfcFeaturesPlugin/index.d.ts.map +1 -0
- package/dist/base/RfcFeaturesPlugin/index.js +3 -0
- package/dist/base/RfcFeaturesPlugin/index.js.map +1 -0
- package/dist/base/ScalarsPlugin/ScalarsPlugin.utils.d.ts +15 -0
- package/dist/base/ScalarsPlugin/ScalarsPlugin.utils.d.ts.map +1 -0
- package/dist/base/ScalarsPlugin/ScalarsPlugin.utils.js +16 -0
- package/dist/base/ScalarsPlugin/ScalarsPlugin.utils.js.map +1 -0
- package/dist/base/ScalarsPlugin/index.d.ts +1 -0
- package/dist/base/ScalarsPlugin/index.d.ts.map +1 -1
- package/dist/base/ScalarsPlugin/index.js +1 -0
- package/dist/base/ScalarsPlugin/index.js.map +1 -1
- package/dist/base/basePreset.d.ts +2 -0
- package/dist/base/basePreset.d.ts.map +1 -1
- package/dist/base/basePreset.js +6 -0
- package/dist/base/basePreset.js.map +1 -1
- package/dist/base/index.d.ts +2 -0
- package/dist/base/index.d.ts.map +1 -1
- package/dist/base/index.js +2 -0
- package/dist/base/index.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.d.ts +63 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.d.ts.map +1 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.js +156 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.js.map +1 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.utils.d.ts +4 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.utils.d.ts.map +1 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.utils.js +26 -0
- package/dist/relay/ConnectionPlugin/ConnectionPlugin.utils.js.map +1 -0
- package/dist/relay/ConnectionPlugin/index.d.ts +3 -0
- package/dist/relay/ConnectionPlugin/index.d.ts.map +1 -0
- package/dist/relay/ConnectionPlugin/index.js +3 -0
- package/dist/relay/ConnectionPlugin/index.js.map +1 -0
- package/dist/relay/{NodeInterfacePlugin.d.ts → NodeInterfacePlugin/NodeInterfacePlugin.d.ts} +30 -6
- package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.d.ts.map +1 -0
- package/dist/relay/{NodeInterfacePlugin.js → NodeInterfacePlugin/NodeInterfacePlugin.js} +37 -27
- package/dist/relay/NodeInterfacePlugin/NodeInterfacePlugin.js.map +1 -0
- package/dist/relay/NodeInterfacePlugin/index.d.ts +2 -0
- package/dist/relay/NodeInterfacePlugin/index.d.ts.map +1 -0
- package/dist/relay/NodeInterfacePlugin/index.js +2 -0
- package/dist/relay/NodeInterfacePlugin/index.js.map +1 -0
- package/dist/relay/index.d.ts +3 -2
- package/dist/relay/index.d.ts.map +1 -1
- package/dist/relay/index.js +3 -2
- package/dist/relay/index.js.map +1 -1
- package/dist/relay/relayPreset.js +2 -2
- package/dist/relay/relayPreset.js.map +1 -1
- package/package.json +7 -3
- package/dist/relay/ConnectionPlugin.d.ts +0 -46
- package/dist/relay/ConnectionPlugin.d.ts.map +0 -1
- package/dist/relay/ConnectionPlugin.js +0 -200
- package/dist/relay/ConnectionPlugin.js.map +0 -1
- package/dist/relay/NodeInterfacePlugin.d.ts.map +0 -1
- package/dist/relay/NodeInterfacePlugin.js.map +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ITransformerContext, TransformerPluginBase } from "@gqlbase/core";
|
|
2
|
+
import { DefinitionNode, DocumentNode } from "@gqlbase/core/definition";
|
|
3
|
+
import { AppSyncSchemaGeneratorPluginOptions } from "./AppSyncSchemaGeneratorPlugin.utils.js";
|
|
4
|
+
/**
|
|
5
|
+
* Generates an AppSync compatible GraphQL schema.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AppSyncSchemaGeneratorPlugin extends TransformerPluginBase {
|
|
8
|
+
document: DocumentNode;
|
|
9
|
+
options: AppSyncSchemaGeneratorPluginOptions;
|
|
10
|
+
constructor(context: ITransformerContext, options?: AppSyncSchemaGeneratorPluginOptions);
|
|
11
|
+
private _getDirectives;
|
|
12
|
+
private _getTypeNode;
|
|
13
|
+
private _getFieldTypeNode;
|
|
14
|
+
private _getFields;
|
|
15
|
+
private _getInputFields;
|
|
16
|
+
private _addObject;
|
|
17
|
+
private _addInterface;
|
|
18
|
+
private _addUnion;
|
|
19
|
+
private _addEnum;
|
|
20
|
+
private _addInputObject;
|
|
21
|
+
before(): void;
|
|
22
|
+
match(definition: DefinitionNode): boolean;
|
|
23
|
+
generate(definition: DefinitionNode): void;
|
|
24
|
+
output(): {
|
|
25
|
+
appsync: {
|
|
26
|
+
schema: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare const appSyncSchemaGeneratorPlugin: (options?: AppSyncSchemaGeneratorPluginOptions | undefined) => import("@gqlbase/core").IPluginFactory;
|
|
31
|
+
//# sourceMappingURL=AppSyncSchemaGeneratorPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncSchemaGeneratorPlugin.d.ts","sourceRoot":"","sources":["../../../src/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,cAAc,EAEd,YAAY,EAYb,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,mCAAmC,EAGpC,MAAM,yCAAyC,CAAC;AASjD;;GAEG;AAEH,qBAAa,4BAA6B,SAAQ,qBAAqB;IACrE,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,mCAAmC,CAAC;gBAEjC,OAAO,EAAE,mBAAmB,EAAE,OAAO,GAAE,mCAAwC;IAW3F,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,eAAe;IAOhB,MAAM;IAIN,KAAK,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO;IAI1C,QAAQ,CAAC,UAAU,EAAE,cAAc;IAsBnC,MAAM;;;;;CAWd;AAED,eAAO,MAAM,4BAA4B,uGAAoD,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { TransformerPluginBase } from "@gqlbase/core";
|
|
2
|
+
import { DirectiveNode, DocumentNode, EnumNode, FieldNode, InputObjectNode, InputValueNode, InterfaceNode, ListTypeNode, NamedTypeNode, NonNullTypeNode, ObjectNode, UnionNode, } from "@gqlbase/core/definition";
|
|
3
|
+
import { createPluginFactory, isInternal } from "@gqlbase/core/plugins";
|
|
4
|
+
import { isBuildInScalar } from "@gqlbase/shared/definition";
|
|
5
|
+
import { isDirectiveNode, isScalarNode, } from "./AppSyncSchemaGeneratorPlugin.utils.js";
|
|
6
|
+
import { isAppSyncDirective, isAppSyncScalar, mapToAppSyncScalarName, } from "../AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.js";
|
|
7
|
+
import { writeOutputFile } from "@gqlbase/shared/files";
|
|
8
|
+
import path from "node:path";
|
|
9
|
+
/**
|
|
10
|
+
* Generates an AppSync compatible GraphQL schema.
|
|
11
|
+
*/
|
|
12
|
+
export class AppSyncSchemaGeneratorPlugin extends TransformerPluginBase {
|
|
13
|
+
document;
|
|
14
|
+
options;
|
|
15
|
+
constructor(context, options = {}) {
|
|
16
|
+
super("AppSyncSchemaGeneratorPlugin", context);
|
|
17
|
+
this.options = {
|
|
18
|
+
emitFile: options.emitFile ?? true,
|
|
19
|
+
scalarMappings: options.scalarMappings ?? {},
|
|
20
|
+
};
|
|
21
|
+
this.document = DocumentNode.create();
|
|
22
|
+
}
|
|
23
|
+
_getDirectives(node) {
|
|
24
|
+
const directives = [];
|
|
25
|
+
for (const directive of node.directives ?? []) {
|
|
26
|
+
if (isAppSyncDirective(directive.name)) {
|
|
27
|
+
directives.push(DirectiveNode.fromDefinition(directive.serialize()));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return directives;
|
|
31
|
+
}
|
|
32
|
+
_getTypeNode(type, typeName) {
|
|
33
|
+
if (type instanceof NonNullTypeNode) {
|
|
34
|
+
return NonNullTypeNode.create(this._getTypeNode(type.type, typeName));
|
|
35
|
+
}
|
|
36
|
+
if (type instanceof ListTypeNode) {
|
|
37
|
+
return ListTypeNode.create(this._getTypeNode(type.type, typeName));
|
|
38
|
+
}
|
|
39
|
+
return NamedTypeNode.create(typeName);
|
|
40
|
+
}
|
|
41
|
+
_getFieldTypeNode(field) {
|
|
42
|
+
const typeName = field.type.getTypeName();
|
|
43
|
+
if (isBuildInScalar(typeName) || isAppSyncScalar(typeName)) {
|
|
44
|
+
return this._getTypeNode(field.type, field.type.getTypeName());
|
|
45
|
+
}
|
|
46
|
+
const node = this.context.document.getNodeOrThrow(typeName);
|
|
47
|
+
if (isScalarNode(node)) {
|
|
48
|
+
return this._getTypeNode(field.type, mapToAppSyncScalarName(typeName, this.options.scalarMappings));
|
|
49
|
+
}
|
|
50
|
+
return this._getTypeNode(field.type, typeName);
|
|
51
|
+
}
|
|
52
|
+
_getFields(node) {
|
|
53
|
+
const fields = [];
|
|
54
|
+
for (const field of node.fields ?? []) {
|
|
55
|
+
const typeNode = this._getFieldTypeNode(field);
|
|
56
|
+
const directives = this._getDirectives(field);
|
|
57
|
+
const args = field.arguments
|
|
58
|
+
? field.arguments.map((arg) => {
|
|
59
|
+
const argTypeNode = this._getFieldTypeNode(arg);
|
|
60
|
+
const argDirectives = this._getDirectives(arg);
|
|
61
|
+
return InputValueNode.create(arg.name, argTypeNode, arg.defaultValue, argDirectives);
|
|
62
|
+
})
|
|
63
|
+
: undefined;
|
|
64
|
+
fields.push(FieldNode.create(field.name, typeNode, args, directives));
|
|
65
|
+
}
|
|
66
|
+
return fields;
|
|
67
|
+
}
|
|
68
|
+
_getInputFields(node) {
|
|
69
|
+
const fields = [];
|
|
70
|
+
for (const field of node.fields ?? []) {
|
|
71
|
+
const typeNode = this._getFieldTypeNode(field);
|
|
72
|
+
const directives = this._getDirectives(field);
|
|
73
|
+
fields.push(InputValueNode.create(field.name, typeNode, field.defaultValue, directives));
|
|
74
|
+
}
|
|
75
|
+
return fields;
|
|
76
|
+
}
|
|
77
|
+
_addObject(node) {
|
|
78
|
+
const fields = this._getFields(node);
|
|
79
|
+
const directives = this._getDirectives(node);
|
|
80
|
+
const interfaces = node.interfaces
|
|
81
|
+
? node.interfaces.map((iface) => NamedTypeNode.create(iface.name))
|
|
82
|
+
: undefined;
|
|
83
|
+
this.document.addNode(ObjectNode.create(node.name, fields, interfaces, directives));
|
|
84
|
+
}
|
|
85
|
+
_addInterface(node) {
|
|
86
|
+
const fields = this._getFields(node);
|
|
87
|
+
const directives = this._getDirectives(node);
|
|
88
|
+
const interfaces = node.interfaces
|
|
89
|
+
? node.interfaces.map((iface) => NamedTypeNode.create(iface.name))
|
|
90
|
+
: undefined;
|
|
91
|
+
this.document.addNode(InterfaceNode.create(node.name, fields, interfaces, directives));
|
|
92
|
+
}
|
|
93
|
+
_addUnion(node) {
|
|
94
|
+
const directives = this._getDirectives(node);
|
|
95
|
+
const types = node.types ? node.types.map((type) => NamedTypeNode.create(type.name)) : [];
|
|
96
|
+
this.document.addNode(UnionNode.create(node.name, types, directives));
|
|
97
|
+
}
|
|
98
|
+
_addEnum(node) {
|
|
99
|
+
const directives = this._getDirectives(node);
|
|
100
|
+
const values = node.values ? node.values.map((value) => value.name) : [];
|
|
101
|
+
this.document.addNode(EnumNode.create(node.name, values, directives));
|
|
102
|
+
}
|
|
103
|
+
_addInputObject(node) {
|
|
104
|
+
const fields = this._getInputFields(node);
|
|
105
|
+
const directives = this._getDirectives(node);
|
|
106
|
+
this.document.addNode(InputObjectNode.create(node.name, fields, directives));
|
|
107
|
+
}
|
|
108
|
+
before() {
|
|
109
|
+
this.document = DocumentNode.create();
|
|
110
|
+
}
|
|
111
|
+
match(definition) {
|
|
112
|
+
return !isScalarNode(definition) && !isDirectiveNode(definition) && !isInternal(definition);
|
|
113
|
+
}
|
|
114
|
+
generate(definition) {
|
|
115
|
+
if (definition instanceof InterfaceNode) {
|
|
116
|
+
return this._addInterface(definition);
|
|
117
|
+
}
|
|
118
|
+
if (definition instanceof ObjectNode) {
|
|
119
|
+
return this._addObject(definition);
|
|
120
|
+
}
|
|
121
|
+
if (definition instanceof UnionNode) {
|
|
122
|
+
return this._addUnion(definition);
|
|
123
|
+
}
|
|
124
|
+
if (definition instanceof InputObjectNode) {
|
|
125
|
+
return this._addInputObject(definition);
|
|
126
|
+
}
|
|
127
|
+
if (definition instanceof EnumNode) {
|
|
128
|
+
return this._addEnum(definition);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
output() {
|
|
132
|
+
if (this.options.emitFile) {
|
|
133
|
+
writeOutputFile(path.resolve(this.context.outputDirectory, "appsync"), "schema.graphql", this.document.print());
|
|
134
|
+
}
|
|
135
|
+
return { appsync: { schema: this.document.print() } };
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
export const appSyncSchemaGeneratorPlugin = createPluginFactory(AppSyncSchemaGeneratorPlugin);
|
|
139
|
+
//# sourceMappingURL=AppSyncSchemaGeneratorPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncSchemaGeneratorPlugin.js","sourceRoot":"","sources":["../../../src/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,GAEV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAEL,eAAe,EACf,YAAY,GACb,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;GAEG;AAEH,MAAM,OAAO,4BAA6B,SAAQ,qBAAqB;IACrE,QAAQ,CAAe;IACvB,OAAO,CAAsC;IAE7C,YAAY,OAA4B,EAAE,UAA+C,EAAE;QACzF,KAAK,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,GAAG;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;SAC7C,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAEO,cAAc,CACpB,IAOkB;QAElB,MAAM,UAAU,GAAoB,EAAE,CAAC;QAEvC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC9C,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,YAAY,CAAqB,IAAO,EAAE,QAAgB;QAChE,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAM,CAAC;QAC7E,CAAC;QAED,IAAI,IAAI,YAAY,YAAY,EAAE,CAAC;YACjC,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAM,CAAC;QAC1E,CAAC;QAED,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAM,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,KAAiC;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CACtB,KAAK,CAAC,IAAI,EACV,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAEO,UAAU,CAAC,IAAgC;QACjD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS;gBAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAE/C,OAAO,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;gBACvF,CAAC,CAAC;gBACJ,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,IAAqB;QAC3C,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,IAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,aAAa,CAAC,IAAmB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;YAChC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,SAAS,CAAC,IAAe;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE1F,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,QAAQ,CAAC,IAAc;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,eAAe,CAAC,IAAqB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,UAA0B;QACrC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9F,CAAC;IAEM,QAAQ,CAAC,UAA0B;QACxC,IAAI,UAAU,YAAY,aAAa,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,UAAU,YAAY,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,UAAU,YAAY,eAAe,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,UAAU,YAAY,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,eAAe,CACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,EACrD,gBAAgB,EAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;IACxD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,mBAAmB,CAAC,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DefinitionNode } from "@gqlbase/core/definition";
|
|
2
|
+
import { AppSyncScalarName } from "../AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.js";
|
|
3
|
+
import { BuildInScalar } from "@gqlbase/shared/definition";
|
|
4
|
+
export interface AppSyncSchemaGeneratorPluginOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Whether to emit the generated schema as a file.
|
|
7
|
+
* If false, the schema will only be available in the plugin context and not written to disk.
|
|
8
|
+
*/
|
|
9
|
+
emitFile?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Optional mapping of custom scalar names to AppSync scalar names or built-in scalar types.
|
|
12
|
+
* This allows you to specify how custom scalars should be represented in the generated AppSync schema.
|
|
13
|
+
*/
|
|
14
|
+
scalarMappings?: Record<string, AppSyncScalarName | BuildInScalar>;
|
|
15
|
+
}
|
|
16
|
+
export declare const isScalarNode: (node: DefinitionNode) => boolean;
|
|
17
|
+
export declare const isDirectiveNode: (node: DefinitionNode) => boolean;
|
|
18
|
+
//# sourceMappingURL=AppSyncSchemaGeneratorPlugin.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncSchemaGeneratorPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuC,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAAC,CAAC;CACpE;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,cAAc,KAAG,OAEnD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,cAAc,KAAG,OAEtD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DirectiveDefinitionNode, ScalarNode } from "@gqlbase/core/definition";
|
|
2
|
+
export const isScalarNode = (node) => {
|
|
3
|
+
return node instanceof ScalarNode;
|
|
4
|
+
};
|
|
5
|
+
export const isDirectiveNode = (node) => {
|
|
6
|
+
return node instanceof DirectiveDefinitionNode;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=AppSyncSchemaGeneratorPlugin.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncSchemaGeneratorPlugin.utils.js","sourceRoot":"","sources":["../../../src/appsync/AppSyncSchemaGeneratorPlugin/AppSyncSchemaGeneratorPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,uBAAuB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAkB/F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAoB,EAAW,EAAE;IAC5D,OAAO,IAAI,YAAY,UAAU,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAoB,EAAW,EAAE;IAC/D,OAAO,IAAI,YAAY,uBAAuB,CAAC;AACjD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/appsync/AppSyncSchemaGeneratorPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,yCAAyC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/appsync/AppSyncSchemaGeneratorPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ITransformerContext, TransformerPluginBase } from "@gqlbase/core";
|
|
2
|
+
/**
|
|
3
|
+
* This plugin adds support for AWS AppSync specific scalar and directive types.
|
|
4
|
+
*
|
|
5
|
+
* @definition
|
|
6
|
+
* ```graphql
|
|
7
|
+
* scalar AWSDate
|
|
8
|
+
* scalar AWSDateTime
|
|
9
|
+
* scalar AWSTime
|
|
10
|
+
* scalar AWSTimestamp
|
|
11
|
+
* scalar AWSEmail
|
|
12
|
+
* scalar AWSJSON
|
|
13
|
+
* scalar AWSURL
|
|
14
|
+
* scalar AWSPhone
|
|
15
|
+
* scalar AWSIPAddress
|
|
16
|
+
*
|
|
17
|
+
* directive `@aws_subscribe(mutations: [String!]!)` on FIELD_DEFINITION
|
|
18
|
+
* directive `@aws_auth(cognito_groups: [String!])` on FIELD_DEFINITION | OBJECT
|
|
19
|
+
* directive `@aws_cognito_user_pools(cognito_groups: [String!])` on FIELD_DEFINITION | OBJECT
|
|
20
|
+
* directive `@aws_api_key` on FIELD_DEFINITION | OBJECT
|
|
21
|
+
* directive `@aws_iam` on FIELD_DEFINITION | OBJECT
|
|
22
|
+
* directive `@aws_oidc` on FIELD_DEFINITION | OBJECT
|
|
23
|
+
* directive `@aws_lambda` on FIELD_DEFINITION | OBJECT
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @see https://docs.aws.amazon.com/appsync/latest/devguide
|
|
27
|
+
*/
|
|
28
|
+
export declare class AppSyncUtilsPlugin extends TransformerPluginBase {
|
|
29
|
+
constructor(context: ITransformerContext);
|
|
30
|
+
init(): void;
|
|
31
|
+
}
|
|
32
|
+
export declare const appSyncUtilsPlugin: (options?: unknown) => import("@gqlbase/core").IPluginFactory;
|
|
33
|
+
//# sourceMappingURL=AppSyncUtilsPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncUtilsPlugin.d.ts","sourceRoot":"","sources":["../../../src/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAa3E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,qBAAa,kBAAmB,SAAQ,qBAAqB;gBAC/C,OAAO,EAAE,mBAAmB;IAIjC,IAAI;CAoGZ;AAED,eAAO,MAAM,kBAAkB,+DAA0C,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { TransformerPluginBase } from "@gqlbase/core";
|
|
2
|
+
import { ArgumentNode, DirectiveDefinitionNode, DirectiveNode, InputValueNode, ListTypeNode, NonNullTypeNode, ScalarNode, ValueNode, } from "@gqlbase/core/definition";
|
|
3
|
+
import { createPluginFactory, InternalDirective } from "@gqlbase/core/plugins";
|
|
4
|
+
/**
|
|
5
|
+
* This plugin adds support for AWS AppSync specific scalar and directive types.
|
|
6
|
+
*
|
|
7
|
+
* @definition
|
|
8
|
+
* ```graphql
|
|
9
|
+
* scalar AWSDate
|
|
10
|
+
* scalar AWSDateTime
|
|
11
|
+
* scalar AWSTime
|
|
12
|
+
* scalar AWSTimestamp
|
|
13
|
+
* scalar AWSEmail
|
|
14
|
+
* scalar AWSJSON
|
|
15
|
+
* scalar AWSURL
|
|
16
|
+
* scalar AWSPhone
|
|
17
|
+
* scalar AWSIPAddress
|
|
18
|
+
*
|
|
19
|
+
* directive `@aws_subscribe(mutations: [String!]!)` on FIELD_DEFINITION
|
|
20
|
+
* directive `@aws_auth(cognito_groups: [String!])` on FIELD_DEFINITION | OBJECT
|
|
21
|
+
* directive `@aws_cognito_user_pools(cognito_groups: [String!])` on FIELD_DEFINITION | OBJECT
|
|
22
|
+
* directive `@aws_api_key` on FIELD_DEFINITION | OBJECT
|
|
23
|
+
* directive `@aws_iam` on FIELD_DEFINITION | OBJECT
|
|
24
|
+
* directive `@aws_oidc` on FIELD_DEFINITION | OBJECT
|
|
25
|
+
* directive `@aws_lambda` on FIELD_DEFINITION | OBJECT
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @see https://docs.aws.amazon.com/appsync/latest/devguide
|
|
29
|
+
*/
|
|
30
|
+
export class AppSyncUtilsPlugin extends TransformerPluginBase {
|
|
31
|
+
constructor(context) {
|
|
32
|
+
super("AppSyncUtilsPlugin", context);
|
|
33
|
+
}
|
|
34
|
+
init() {
|
|
35
|
+
this.context.base
|
|
36
|
+
.addNode(ScalarNode.create("AWSDate", [
|
|
37
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
38
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
39
|
+
]),
|
|
40
|
+
]))
|
|
41
|
+
.addNode(ScalarNode.create("AWSDateTime", [
|
|
42
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
43
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
44
|
+
]),
|
|
45
|
+
]))
|
|
46
|
+
.addNode(ScalarNode.create("AWSTime", [
|
|
47
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
48
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
49
|
+
]),
|
|
50
|
+
]))
|
|
51
|
+
.addNode(ScalarNode.create("AWSTimestamp", [
|
|
52
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
53
|
+
ArgumentNode.create("type", ValueNode.enum("number")),
|
|
54
|
+
]),
|
|
55
|
+
]))
|
|
56
|
+
.addNode(ScalarNode.create("AWSEmail", [
|
|
57
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
58
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
59
|
+
]),
|
|
60
|
+
]))
|
|
61
|
+
.addNode(ScalarNode.create("AWSJSON", [
|
|
62
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
63
|
+
ArgumentNode.create("type", ValueNode.enum("object")),
|
|
64
|
+
]),
|
|
65
|
+
]))
|
|
66
|
+
.addNode(ScalarNode.create("AWSURL", [
|
|
67
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
68
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
69
|
+
]),
|
|
70
|
+
]))
|
|
71
|
+
.addNode(ScalarNode.create("AWSPhone", [
|
|
72
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
73
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
74
|
+
]),
|
|
75
|
+
]))
|
|
76
|
+
.addNode(ScalarNode.create("AWSIPAddress", [
|
|
77
|
+
DirectiveNode.create(InternalDirective.TYPE_HINT, [
|
|
78
|
+
ArgumentNode.create("type", ValueNode.enum("string")),
|
|
79
|
+
]),
|
|
80
|
+
]))
|
|
81
|
+
.addNode(DirectiveDefinitionNode.create("aws_subscribe", ["FIELD_DEFINITION"], InputValueNode.create("mutations", NonNullTypeNode.create(ListTypeNode.create(NonNullTypeNode.create("String"))))))
|
|
82
|
+
.addNode(DirectiveDefinitionNode.create("aws_auth", ["FIELD_DEFINITION", "OBJECT"], InputValueNode.create("cognito_groups", ListTypeNode.create(NonNullTypeNode.create("String")))))
|
|
83
|
+
.addNode(DirectiveDefinitionNode.create("aws_cognito_user_pools", ["FIELD_DEFINITION", "OBJECT"], InputValueNode.create("cognito_groups", ListTypeNode.create(NonNullTypeNode.create("String")))))
|
|
84
|
+
.addNode(DirectiveDefinitionNode.create("aws_api_key", ["FIELD_DEFINITION", "OBJECT"]))
|
|
85
|
+
.addNode(DirectiveDefinitionNode.create("aws_iam", ["FIELD_DEFINITION", "OBJECT"]))
|
|
86
|
+
.addNode(DirectiveDefinitionNode.create("aws_oidc", ["FIELD_DEFINITION", "OBJECT"]))
|
|
87
|
+
.addNode(DirectiveDefinitionNode.create("aws_lambda", ["FIELD_DEFINITION", "OBJECT"]));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export const appSyncUtilsPlugin = createPluginFactory(AppSyncUtilsPlugin);
|
|
91
|
+
//# sourceMappingURL=AppSyncUtilsPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncUtilsPlugin.js","sourceRoot":"","sources":["../../../src/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BuildInScalar } from "@gqlbase/shared/definition";
|
|
2
|
+
import { BaseScalarName } from "../../base/ScalarsPlugin/index.js";
|
|
3
|
+
export declare const AppSyncScalar: {
|
|
4
|
+
readonly AWS_DATE: "AWSDate";
|
|
5
|
+
readonly AWS_DATE_TIME: "AWSDateTime";
|
|
6
|
+
readonly AWS_TIME: "AWSTime";
|
|
7
|
+
readonly AWS_TIMESTAMP: "AWSTimestamp";
|
|
8
|
+
readonly AWS_EMAIL: "AWSEmail";
|
|
9
|
+
readonly AWS_JSON: "AWSJSON";
|
|
10
|
+
readonly AWS_URL: "AWSURL";
|
|
11
|
+
readonly AWS_PHONE: "AWSPhone";
|
|
12
|
+
readonly AWS_IP_ADDRESS: "AWSIPAddress";
|
|
13
|
+
};
|
|
14
|
+
export type AppSyncScalarName = (typeof AppSyncScalar)[keyof typeof AppSyncScalar];
|
|
15
|
+
export declare const AppSyncDirective: {
|
|
16
|
+
readonly AWS_SUBSCRIBE: "aws_subscribe";
|
|
17
|
+
readonly AWS_AUTH: "aws_auth";
|
|
18
|
+
readonly AWS_COGNITO_USER_POOLS: "aws_cognito_user_pools";
|
|
19
|
+
readonly AWS_API_KEY: "aws_api_key";
|
|
20
|
+
readonly AWS_IAM: "aws_iam";
|
|
21
|
+
readonly AWS_OIDC: "aws_oidc";
|
|
22
|
+
readonly AWS_LAMBDA: "aws_lambda";
|
|
23
|
+
};
|
|
24
|
+
export type AppSyncDirectiveName = (typeof AppSyncDirective)[keyof typeof AppSyncDirective];
|
|
25
|
+
export declare const isAppSyncScalar: (typeName: string) => typeName is AppSyncScalarName;
|
|
26
|
+
export declare const isAppSyncDirective: (directiveName: string) => directiveName is AppSyncDirectiveName;
|
|
27
|
+
export declare const BaseScalarMappings: Record<BaseScalarName, AppSyncScalarName | BuildInScalar>;
|
|
28
|
+
export declare const mapToAppSyncScalarName: (name: string, customConfig?: Record<string, AppSyncScalarName | BuildInScalar>) => AppSyncScalarName | BuildInScalar;
|
|
29
|
+
//# sourceMappingURL=AppSyncUtilsPlugin.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncUtilsPlugin.utils.d.ts","sourceRoot":"","sources":["../../../src/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAgB,MAAM,mCAAmC,CAAC;AAEjF,eAAO,MAAM,aAAa;;;;;;;;;;CAUhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAEnF,eAAO,MAAM,gBAAgB;;;;;;;;CAQnB,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAE5F,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,QAAQ,IAAI,iBAE9D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,eAAe,MAAM,KACpB,aAAa,IAAI,oBAEnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,GAAG,aAAa,CAW/E,CAAC;AAEX,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,eAAc,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAAM,KACnE,iBAAiB,GAAG,aAgBtB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { BuildInScalar, isBuildInScalar } from "@gqlbase/shared/definition";
|
|
2
|
+
import { isBaseScalar } from "../../base/ScalarsPlugin/index.js";
|
|
3
|
+
export const AppSyncScalar = {
|
|
4
|
+
AWS_DATE: "AWSDate",
|
|
5
|
+
AWS_DATE_TIME: "AWSDateTime",
|
|
6
|
+
AWS_TIME: "AWSTime",
|
|
7
|
+
AWS_TIMESTAMP: "AWSTimestamp",
|
|
8
|
+
AWS_EMAIL: "AWSEmail",
|
|
9
|
+
AWS_JSON: "AWSJSON",
|
|
10
|
+
AWS_URL: "AWSURL",
|
|
11
|
+
AWS_PHONE: "AWSPhone",
|
|
12
|
+
AWS_IP_ADDRESS: "AWSIPAddress",
|
|
13
|
+
};
|
|
14
|
+
export const AppSyncDirective = {
|
|
15
|
+
AWS_SUBSCRIBE: "aws_subscribe",
|
|
16
|
+
AWS_AUTH: "aws_auth",
|
|
17
|
+
AWS_COGNITO_USER_POOLS: "aws_cognito_user_pools",
|
|
18
|
+
AWS_API_KEY: "aws_api_key",
|
|
19
|
+
AWS_IAM: "aws_iam",
|
|
20
|
+
AWS_OIDC: "aws_oidc",
|
|
21
|
+
AWS_LAMBDA: "aws_lambda",
|
|
22
|
+
};
|
|
23
|
+
export const isAppSyncScalar = (typeName) => {
|
|
24
|
+
return Object.values(AppSyncScalar).includes(typeName);
|
|
25
|
+
};
|
|
26
|
+
export const isAppSyncDirective = (directiveName) => {
|
|
27
|
+
return Object.values(AppSyncDirective).includes(directiveName);
|
|
28
|
+
};
|
|
29
|
+
export const BaseScalarMappings = {
|
|
30
|
+
Date: AppSyncScalar.AWS_DATE,
|
|
31
|
+
DateTime: AppSyncScalar.AWS_DATE_TIME,
|
|
32
|
+
Time: AppSyncScalar.AWS_TIME,
|
|
33
|
+
Timestamp: AppSyncScalar.AWS_TIMESTAMP,
|
|
34
|
+
UUID: BuildInScalar.ID,
|
|
35
|
+
URL: AppSyncScalar.AWS_URL,
|
|
36
|
+
EmailAddress: AppSyncScalar.AWS_EMAIL,
|
|
37
|
+
PhoneNumber: AppSyncScalar.AWS_PHONE,
|
|
38
|
+
IPAddress: AppSyncScalar.AWS_IP_ADDRESS,
|
|
39
|
+
JSON: AppSyncScalar.AWS_JSON,
|
|
40
|
+
};
|
|
41
|
+
export const mapToAppSyncScalarName = (name, customConfig = {}) => {
|
|
42
|
+
if (customConfig[name]) {
|
|
43
|
+
return customConfig[name];
|
|
44
|
+
}
|
|
45
|
+
if (isBuildInScalar(name)) {
|
|
46
|
+
return name;
|
|
47
|
+
}
|
|
48
|
+
if (isBaseScalar(name)) {
|
|
49
|
+
return BaseScalarMappings[name];
|
|
50
|
+
}
|
|
51
|
+
throw new Error(`Unsupported scalar type: ${name}. Custom scalars must be explicitly mapped in the plugin configuration when using AppSync plugins.`);
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=AppSyncUtilsPlugin.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppSyncUtilsPlugin.utils.js","sourceRoot":"","sources":["../../../src/appsync/AppSyncUtilsPlugin/AppSyncUtilsPlugin.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAkB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,cAAc;IAC7B,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,UAAU;IACrB,cAAc,EAAE,cAAc;CACtB,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,sBAAsB,EAAE,wBAAwB;IAChD,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC;AAIX,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAiC,EAAE;IACjF,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAA6B,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,aAAqB,EACkB,EAAE;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAqC,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAA8D;IAC3F,IAAI,EAAE,aAAa,CAAC,QAAQ;IAC5B,QAAQ,EAAE,aAAa,CAAC,aAAa;IACrC,IAAI,EAAE,aAAa,CAAC,QAAQ;IAC5B,SAAS,EAAE,aAAa,CAAC,aAAa;IACtC,IAAI,EAAE,aAAa,CAAC,EAAE;IACtB,GAAG,EAAE,aAAa,CAAC,OAAO;IAC1B,YAAY,EAAE,aAAa,CAAC,SAAS;IACrC,WAAW,EAAE,aAAa,CAAC,SAAS;IACpC,SAAS,EAAE,aAAa,CAAC,cAAc;IACvC,IAAI,EAAE,aAAa,CAAC,QAAQ;CACpB,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,eAAkE,EAAE,EACjC,EAAE;IACrC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,oGAAoG,CACrI,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { AppSyncUtilsPlugin, appSyncUtilsPlugin } from "./AppSyncUtilsPlugin.js";
|
|
2
|
+
export { AppSyncDirective, AppSyncScalar, BaseScalarMappings, isAppSyncDirective, isAppSyncScalar, mapToAppSyncScalarName, type AppSyncDirectiveName, type AppSyncScalarName, } from "./AppSyncUtilsPlugin.utils.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/appsync/AppSyncUtilsPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { AppSyncUtilsPlugin, appSyncUtilsPlugin } from "./AppSyncUtilsPlugin.js";
|
|
2
|
+
export { AppSyncDirective, AppSyncScalar, BaseScalarMappings, isAppSyncDirective, isAppSyncScalar, mapToAppSyncScalarName, } from "./AppSyncUtilsPlugin.utils.js";
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/appsync/AppSyncUtilsPlugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GAGvB,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AppSyncSchemaGeneratorPluginOptions } from "./AppSyncSchemaGeneratorPlugin/index.js";
|
|
2
|
+
interface AppSyncPresetOptions {
|
|
3
|
+
emitFile?: boolean;
|
|
4
|
+
scalarMappings?: AppSyncSchemaGeneratorPluginOptions["scalarMappings"];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Register AWS AppSync specific features and ensures schema compatibility
|
|
8
|
+
*
|
|
9
|
+
* Includes:
|
|
10
|
+
* - `AppSyncUtilsPlugin`
|
|
11
|
+
* - `AppSyncSchemaGeneratorPlugin`
|
|
12
|
+
*
|
|
13
|
+
* @returns An array of plugin factories.
|
|
14
|
+
*/
|
|
15
|
+
export declare function appsyncPreset(options?: AppSyncPresetOptions): import("@gqlbase/core").IPluginFactory[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=appSyncPreset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appSyncPreset.d.ts","sourceRoot":"","sources":["../../src/appsync/appSyncPreset.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,mCAAmC,EACpC,MAAM,yCAAyC,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,mCAAmC,CAAC,gBAAgB,CAAC,CAAC;CACxE;AAED;;;;;;;;GAQG;AAEH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,4CAQ/D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { appSyncUtilsPlugin } from "./AppSyncUtilsPlugin/index.js";
|
|
2
|
+
import { appSyncSchemaGeneratorPlugin, } from "./AppSyncSchemaGeneratorPlugin/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Register AWS AppSync specific features and ensures schema compatibility
|
|
5
|
+
*
|
|
6
|
+
* Includes:
|
|
7
|
+
* - `AppSyncUtilsPlugin`
|
|
8
|
+
* - `AppSyncSchemaGeneratorPlugin`
|
|
9
|
+
*
|
|
10
|
+
* @returns An array of plugin factories.
|
|
11
|
+
*/
|
|
12
|
+
export function appsyncPreset(options = {}) {
|
|
13
|
+
return [
|
|
14
|
+
appSyncUtilsPlugin(),
|
|
15
|
+
appSyncSchemaGeneratorPlugin({
|
|
16
|
+
emitFile: options.emitFile,
|
|
17
|
+
scalarMappings: options.scalarMappings,
|
|
18
|
+
}),
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=appSyncPreset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appSyncPreset.js","sourceRoot":"","sources":["../../src/appsync/appSyncPreset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,4BAA4B,GAE7B,MAAM,yCAAyC,CAAC;AAOjD;;;;;;;;GAQG;AAEH,MAAM,UAAU,aAAa,CAAC,UAAgC,EAAE;IAC9D,OAAO;QACL,kBAAkB,EAAE;QACpB,4BAA4B,CAAC;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/appsync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/appsync/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ITransformerContext, TransformerPluginBase } from "@gqlbase/core";
|
|
2
|
+
import { DefinitionNode, InterfaceNode, ObjectNode } from "@gqlbase/core/definition";
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes interface implementation by other interfaces and objects, makeing sure that all fields defined in an interface are implemented by its implementors, and that interfaces can implement other interfaces:
|
|
5
|
+
*
|
|
6
|
+
* - When an object or interface implements another interface, it must implement all fields defined in the implemented interface.
|
|
7
|
+
* - "Transitively implemented interfaces (interfaces implemented by the interface that is being implemented) must also be defined on an implementing type or interface."
|
|
8
|
+
*
|
|
9
|
+
* @see https://spec.graphql.org/September2025/#sec-Interfaces
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```graphql
|
|
13
|
+
* # Before
|
|
14
|
+
* interface Node {
|
|
15
|
+
* id: ID!
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* interface Timestamped {
|
|
19
|
+
* createdAt: DateTime!
|
|
20
|
+
* updatedAt: DateTime!
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* interface User implements Node & Timestamped {
|
|
24
|
+
* id: ID!
|
|
25
|
+
* name: String!
|
|
26
|
+
* }
|
|
27
|
+
*
|
|
28
|
+
* # After
|
|
29
|
+
* interface Node {
|
|
30
|
+
* id: ID!
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* interface Timestamped {
|
|
34
|
+
* createdAt: DateTime!
|
|
35
|
+
* updatedAt: DateTime!
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* interface User implements Node & Timestamped {
|
|
39
|
+
* id: ID!
|
|
40
|
+
* name: String!
|
|
41
|
+
* createdAt: DateTime! # added by the plugin
|
|
42
|
+
* updatedAt: DateTime! # added by the plugin
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare class InterfaceUtilsPlugin extends TransformerPluginBase {
|
|
47
|
+
constructor(context: ITransformerContext);
|
|
48
|
+
private _getValidInterface;
|
|
49
|
+
private _normalizeTransitiveInterfaces;
|
|
50
|
+
private _normalizeInterfaceFields;
|
|
51
|
+
match(definition: DefinitionNode): definition is InterfaceNode | ObjectNode;
|
|
52
|
+
normalize(node: InterfaceNode | ObjectNode): void;
|
|
53
|
+
}
|
|
54
|
+
export declare const interfaceUtilsPlugin: (options?: unknown) => import("@gqlbase/core").IPluginFactory;
|
|
55
|
+
//# sourceMappingURL=InterfaceUtilsPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterfaceUtilsPlugin.d.ts","sourceRoot":"","sources":["../../../src/base/InterfaceUtilsPlugin/InterfaceUtilsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EACL,cAAc,EAEd,aAAa,EAEb,UAAU,EACX,MAAM,0BAA0B,CAAC;AAIlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,qBAAa,oBAAqB,SAAQ,qBAAqB;gBACjD,OAAO,EAAE,mBAAmB;IAIxC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,8BAA8B;IAgBtC,OAAO,CAAC,yBAAyB;IAwB1B,KAAK,CAAC,UAAU,EAAE,cAAc;IAIhC,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU;CAQlD;AAED,eAAO,MAAM,oBAAoB,+DAA4C,CAAC"}
|