@contember/graphql-builder 2.1.0-alpha.36 → 2.1.0-alpha.39
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/development/index.cjs +13 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +13 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/GraphQlQueryPrinter.cjs +139 -0
- package/dist/development/src/GraphQlQueryPrinter.cjs.map +1 -0
- package/dist/development/src/GraphQlQueryPrinter.js +139 -0
- package/dist/development/src/GraphQlQueryPrinter.js.map +1 -0
- package/dist/development/src/nodes/GraphQlField.cjs +12 -0
- package/dist/development/src/nodes/GraphQlField.cjs.map +1 -0
- package/dist/development/src/nodes/GraphQlField.js +12 -0
- package/dist/development/src/nodes/GraphQlField.js.map +1 -0
- package/dist/development/src/nodes/GraphQlFragment.cjs +11 -0
- package/dist/development/src/nodes/GraphQlFragment.cjs.map +1 -0
- package/dist/development/src/nodes/GraphQlFragment.js +11 -0
- package/dist/development/src/nodes/GraphQlFragment.js.map +1 -0
- package/dist/development/src/nodes/GraphQlFragmentSpread.cjs +9 -0
- package/dist/development/src/nodes/GraphQlFragmentSpread.cjs.map +1 -0
- package/dist/development/src/nodes/GraphQlFragmentSpread.js +9 -0
- package/dist/development/src/nodes/GraphQlFragmentSpread.js.map +1 -0
- package/dist/development/src/nodes/GraphQlInlineFragment.cjs +10 -0
- package/dist/development/src/nodes/GraphQlInlineFragment.cjs.map +1 -0
- package/dist/development/src/nodes/GraphQlInlineFragment.js +10 -0
- package/dist/development/src/nodes/GraphQlInlineFragment.js.map +1 -0
- package/dist/production/index.cjs +13 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +13 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/GraphQlQueryPrinter.cjs +139 -0
- package/dist/production/src/GraphQlQueryPrinter.cjs.map +1 -0
- package/dist/production/src/GraphQlQueryPrinter.js +139 -0
- package/dist/production/src/GraphQlQueryPrinter.js.map +1 -0
- package/dist/production/src/nodes/GraphQlField.cjs +12 -0
- package/dist/production/src/nodes/GraphQlField.cjs.map +1 -0
- package/dist/production/src/nodes/GraphQlField.js +12 -0
- package/dist/production/src/nodes/GraphQlField.js.map +1 -0
- package/dist/production/src/nodes/GraphQlFragment.cjs +11 -0
- package/dist/production/src/nodes/GraphQlFragment.cjs.map +1 -0
- package/dist/production/src/nodes/GraphQlFragment.js +11 -0
- package/dist/production/src/nodes/GraphQlFragment.js.map +1 -0
- package/dist/production/src/nodes/GraphQlFragmentSpread.cjs +9 -0
- package/dist/production/src/nodes/GraphQlFragmentSpread.cjs.map +1 -0
- package/dist/production/src/nodes/GraphQlFragmentSpread.js +9 -0
- package/dist/production/src/nodes/GraphQlFragmentSpread.js.map +1 -0
- package/dist/production/src/nodes/GraphQlInlineFragment.cjs +10 -0
- package/dist/production/src/nodes/GraphQlInlineFragment.cjs.map +1 -0
- package/dist/production/src/nodes/GraphQlInlineFragment.js +10 -0
- package/dist/production/src/nodes/GraphQlInlineFragment.js.map +1 -0
- package/dist/types/GraphQlQueryPrinter.d.ts +23 -0
- package/dist/types/GraphQlQueryPrinter.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/nodes/GraphQlField.d.ts +17 -0
- package/dist/types/nodes/GraphQlField.d.ts.map +1 -0
- package/dist/types/nodes/GraphQlFragment.d.ts +8 -0
- package/dist/types/nodes/GraphQlFragment.d.ts.map +1 -0
- package/dist/types/nodes/GraphQlFragmentSpread.d.ts +5 -0
- package/dist/types/nodes/GraphQlFragmentSpread.d.ts.map +1 -0
- package/dist/types/nodes/GraphQlInlineFragment.d.ts +7 -0
- package/dist/types/nodes/GraphQlInlineFragment.d.ts.map +1 -0
- package/dist/types/nodes/index.d.ts +5 -0
- package/dist/types/nodes/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const GraphQlQueryPrinter = require("./src/GraphQlQueryPrinter.cjs");
|
|
4
|
+
const GraphQlField = require("./src/nodes/GraphQlField.cjs");
|
|
5
|
+
const GraphQlFragment = require("./src/nodes/GraphQlFragment.cjs");
|
|
6
|
+
const GraphQlFragmentSpread = require("./src/nodes/GraphQlFragmentSpread.cjs");
|
|
7
|
+
const GraphQlInlineFragment = require("./src/nodes/GraphQlInlineFragment.cjs");
|
|
8
|
+
exports.GraphQlQueryPrinter = GraphQlQueryPrinter.GraphQlQueryPrinter;
|
|
9
|
+
exports.GraphQlField = GraphQlField.GraphQlField;
|
|
10
|
+
exports.GraphQlFragment = GraphQlFragment.GraphQlFragment;
|
|
11
|
+
exports.GraphQlFragmentSpread = GraphQlFragmentSpread.GraphQlFragmentSpread;
|
|
12
|
+
exports.GraphQlInlineFragment = GraphQlInlineFragment.GraphQlInlineFragment;
|
|
13
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphQlQueryPrinter } from "./src/GraphQlQueryPrinter.js";
|
|
2
|
+
import { GraphQlField } from "./src/nodes/GraphQlField.js";
|
|
3
|
+
import { GraphQlFragment } from "./src/nodes/GraphQlFragment.js";
|
|
4
|
+
import { GraphQlFragmentSpread } from "./src/nodes/GraphQlFragmentSpread.js";
|
|
5
|
+
import { GraphQlInlineFragment } from "./src/nodes/GraphQlInlineFragment.js";
|
|
6
|
+
export {
|
|
7
|
+
GraphQlField,
|
|
8
|
+
GraphQlFragment,
|
|
9
|
+
GraphQlFragmentSpread,
|
|
10
|
+
GraphQlInlineFragment,
|
|
11
|
+
GraphQlQueryPrinter
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const GraphQlField = require("./nodes/GraphQlField.cjs");
|
|
4
|
+
const GraphQlFragmentSpread = require("./nodes/GraphQlFragmentSpread.cjs");
|
|
5
|
+
const GraphQlInlineFragment = require("./nodes/GraphQlInlineFragment.cjs");
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
|
+
class GraphQlQueryPrinter {
|
|
10
|
+
constructor() {
|
|
11
|
+
__publicField(this, "indentString", " ");
|
|
12
|
+
__publicField(this, "variableCounter", 0);
|
|
13
|
+
__publicField(this, "variables", {});
|
|
14
|
+
__publicField(this, "variableValueToName", {});
|
|
15
|
+
__publicField(this, "usedFragments", /* @__PURE__ */ new Set());
|
|
16
|
+
__publicField(this, "body", "");
|
|
17
|
+
}
|
|
18
|
+
printDocument(operation, select, fragments) {
|
|
19
|
+
this.cleanState();
|
|
20
|
+
this.processSelectionSet(select, 1);
|
|
21
|
+
const body = this.body;
|
|
22
|
+
this.body = "";
|
|
23
|
+
this.processUsedFragments(fragments);
|
|
24
|
+
const fragmentsStr = this.body;
|
|
25
|
+
const variablesString = this.printVariables();
|
|
26
|
+
const query = `${operation}${variablesString} {
|
|
27
|
+
${body}}${fragmentsStr}
|
|
28
|
+
`;
|
|
29
|
+
return {
|
|
30
|
+
query,
|
|
31
|
+
variables: Object.fromEntries(Object.entries(this.variables).map(([key, value]) => [key, value.value]))
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
processUsedFragments(fragments) {
|
|
35
|
+
const printed = /* @__PURE__ */ new Set();
|
|
36
|
+
while (this.usedFragments.size > 0) {
|
|
37
|
+
const fragmentName = this.usedFragments.values().next().value;
|
|
38
|
+
if (!fragmentName) {
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
this.usedFragments.delete(fragmentName);
|
|
42
|
+
if (printed.has(fragmentName)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
printed.add(fragmentName);
|
|
46
|
+
if (!fragments[fragmentName]) {
|
|
47
|
+
throw new Error(`Unknown fragment ${fragmentName}`);
|
|
48
|
+
}
|
|
49
|
+
this.processFragment(fragments[fragmentName]);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
processFragment(fragment) {
|
|
53
|
+
this.body += `
|
|
54
|
+
fragment ${fragment.name} on ${fragment.type} {
|
|
55
|
+
`;
|
|
56
|
+
this.processSelectionSet(fragment.selectionSet, 1);
|
|
57
|
+
this.body += "}";
|
|
58
|
+
}
|
|
59
|
+
printVariables() {
|
|
60
|
+
let variablesString = "";
|
|
61
|
+
let i = 0;
|
|
62
|
+
for (const [variableName, variable] of Object.entries(this.variables)) {
|
|
63
|
+
if (i++ === 0) {
|
|
64
|
+
variablesString += "(";
|
|
65
|
+
} else {
|
|
66
|
+
variablesString += ", ";
|
|
67
|
+
}
|
|
68
|
+
variablesString += `$${variableName}: ${variable.type}`;
|
|
69
|
+
}
|
|
70
|
+
if (i > 0) {
|
|
71
|
+
variablesString += ")";
|
|
72
|
+
}
|
|
73
|
+
return variablesString;
|
|
74
|
+
}
|
|
75
|
+
processSelectionSet(selectionSet, indent) {
|
|
76
|
+
for (const node of selectionSet) {
|
|
77
|
+
if (node instanceof GraphQlField.GraphQlField) {
|
|
78
|
+
this.processField(node, indent);
|
|
79
|
+
} else if (node instanceof GraphQlFragmentSpread.GraphQlFragmentSpread) {
|
|
80
|
+
this.body += this.indentString.repeat(indent) + "... " + node.name + "\n";
|
|
81
|
+
this.usedFragments.add(node.name);
|
|
82
|
+
} else if (node instanceof GraphQlInlineFragment.GraphQlInlineFragment) {
|
|
83
|
+
this.body += this.indentString.repeat(indent) + "... on " + node.type + " {\n";
|
|
84
|
+
this.processSelectionSet(node.selectionSet, indent + 1);
|
|
85
|
+
this.body += this.indentString.repeat(indent) + "}\n";
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
processField(field, indent) {
|
|
90
|
+
const indentString = this.indentString.repeat(indent);
|
|
91
|
+
this.body += indentString + (field.alias && field.alias !== field.name ? field.alias + ": " + field.name : field.name);
|
|
92
|
+
let i = 0;
|
|
93
|
+
for (const [argName, arg] of Object.entries(field.args)) {
|
|
94
|
+
if (arg.value === void 0) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const variableName = this.resolveVariableName(arg.graphQlType, arg.value);
|
|
98
|
+
if (i++ === 0) {
|
|
99
|
+
this.body += "(";
|
|
100
|
+
} else {
|
|
101
|
+
this.body += ", ";
|
|
102
|
+
}
|
|
103
|
+
this.body += `${argName}: $${variableName}`;
|
|
104
|
+
}
|
|
105
|
+
if (i > 0) {
|
|
106
|
+
this.body += ")";
|
|
107
|
+
}
|
|
108
|
+
if (field.selectionSet) {
|
|
109
|
+
this.body += " {\n";
|
|
110
|
+
this.processSelectionSet(field.selectionSet, indent + 1);
|
|
111
|
+
this.body += this.indentString.repeat(indent) + "}";
|
|
112
|
+
}
|
|
113
|
+
this.body += "\n";
|
|
114
|
+
}
|
|
115
|
+
resolveVariableName(graphQlType, value) {
|
|
116
|
+
const variableName = this.variableValueToName[graphQlType]?.get(value);
|
|
117
|
+
if (variableName) {
|
|
118
|
+
return variableName;
|
|
119
|
+
}
|
|
120
|
+
const newVariableName = `${graphQlType.replace(/[\W]/g, "")}_${this.variableCounter++}`;
|
|
121
|
+
this.variables[newVariableName] = {
|
|
122
|
+
type: graphQlType,
|
|
123
|
+
value
|
|
124
|
+
};
|
|
125
|
+
if (!this.variableValueToName[graphQlType]) {
|
|
126
|
+
this.variableValueToName[graphQlType] = /* @__PURE__ */ new Map();
|
|
127
|
+
}
|
|
128
|
+
this.variableValueToName[graphQlType].set(value, newVariableName);
|
|
129
|
+
return newVariableName;
|
|
130
|
+
}
|
|
131
|
+
cleanState() {
|
|
132
|
+
this.body = "";
|
|
133
|
+
this.variableCounter = 0;
|
|
134
|
+
this.variables = {};
|
|
135
|
+
this.usedFragments = /* @__PURE__ */ new Set();
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.GraphQlQueryPrinter = GraphQlQueryPrinter;
|
|
139
|
+
//# sourceMappingURL=GraphQlQueryPrinter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlQueryPrinter.cjs","sources":["../../../../packages/graphql-builder/src/GraphQlQueryPrinter.ts"],"sourcesContent":["import { JSONValue } from '@contember/schema'\nimport { GraphQlField, GraphQlFragment, GraphQlFragmentSpread, GraphQlInlineFragment, GraphQlSelectionSet } from './nodes'\n\nexport type GraphQlPrintResult = { query: string; variables: Record<string, JSONValue> }\n\nexport class GraphQlQueryPrinter {\n\tprivate indentString = '\\t'\n\n\tprivate variableCounter = 0\n\tprivate variables: Record<string, {\n\t\ttype: string\n\t\tvalue: JSONValue\n\t}> = {}\n\n\tprivate variableValueToName: Record<string, Map<JSONValue, string>> = {}\n\n\tprivate usedFragments = new Set<string>()\n\n\tprivate body = ''\n\n\tpublic printDocument(\n\t\toperation: 'query' | 'mutation',\n\t\tselect: GraphQlSelectionSet,\n\t\tfragments: Record<string, GraphQlFragment>,\n\t): GraphQlPrintResult {\n\t\tthis.cleanState()\n\t\tthis.processSelectionSet(select, 1)\n\t\tconst body = this.body\n\t\tthis.body = ''\n\t\tthis.processUsedFragments(fragments)\n\t\tconst fragmentsStr = this.body\n\t\tconst variablesString = this.printVariables()\n\t\tconst query = `${operation}${variablesString} {\\n${body}}${fragmentsStr}\\n`\n\t\treturn {\n\t\t\tquery: query,\n\t\t\tvariables: Object.fromEntries(Object.entries(this.variables).map(([key, value]) => [key, value.value])),\n\t\t}\n\t}\n\n\tprivate processUsedFragments(fragments: Record<string, GraphQlFragment>): void {\n\t\tconst printed = new Set()\n\t\twhile (this.usedFragments.size > 0) {\n\t\t\tconst fragmentName = this.usedFragments.values().next().value\n\t\t\tif (!fragmentName) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tthis.usedFragments.delete(fragmentName)\n\t\t\tif (printed.has(fragmentName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprinted.add(fragmentName)\n\t\t\tif (!fragments[fragmentName]) {\n\t\t\t\tthrow new Error(`Unknown fragment ${fragmentName}`)\n\t\t\t}\n\t\t\tthis.processFragment(fragments[fragmentName])\n\t\t}\n\t}\n\n\tprivate processFragment(fragment: GraphQlFragment): void {\n\t\tthis.body += `\\nfragment ${fragment.name} on ${fragment.type} {\\n`\n\t\tthis.processSelectionSet(fragment.selectionSet, 1)\n\t\tthis.body += '}'\n\t}\n\n\tprivate printVariables(): string {\n\t\tlet variablesString = ''\n\t\tlet i = 0\n\t\tfor (const [variableName, variable] of Object.entries(this.variables)) {\n\t\t\tif (i++ === 0) {\n\t\t\t\tvariablesString += '('\n\t\t\t} else {\n\t\t\t\tvariablesString += ', '\n\t\t\t}\n\t\t\tvariablesString += `$${variableName}: ${variable.type}`\n\t\t}\n\t\tif (i > 0) {\n\t\t\tvariablesString += ')'\n\t\t}\n\t\treturn variablesString\n\t}\n\n\tprivate processSelectionSet(selectionSet: GraphQlSelectionSet, indent: number): void {\n\t\tfor (const node of selectionSet) {\n\t\t\tif (node instanceof GraphQlField) {\n\t\t\t\tthis.processField(node, indent)\n\t\t\t} else if (node instanceof GraphQlFragmentSpread) {\n\t\t\t\tthis.body += this.indentString.repeat(indent) + '... ' + node.name + '\\n'\n\t\t\t\tthis.usedFragments.add(node.name)\n\t\t\t} else if (node instanceof GraphQlInlineFragment) {\n\t\t\t\tthis.body += this.indentString.repeat(indent) + '... on ' + node.type + ' {\\n'\n\t\t\t\tthis.processSelectionSet(node.selectionSet, indent + 1)\n\t\t\t\tthis.body += this.indentString.repeat(indent) + '}\\n'\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate processField(field: GraphQlField, indent: number): void {\n\t\tconst indentString = this.indentString.repeat(indent)\n\t\tthis.body += indentString + (field.alias && field.alias !== field.name ? (field.alias + ': ' + field.name) : field.name)\n\t\tlet i = 0\n\t\tfor (const [argName, arg] of Object.entries(field.args)) {\n\t\t\tif (arg.value === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst variableName = this.resolveVariableName(arg.graphQlType, arg.value)\n\t\t\tif (i++ === 0) {\n\t\t\t\tthis.body += '('\n\t\t\t} else {\n\t\t\t\tthis.body += ', '\n\t\t\t}\n\t\t\tthis.body += `${argName}: $${variableName}`\n\t\t}\n\t\tif (i > 0) {\n\t\t\tthis.body += ')'\n\t\t}\n\t\tif (field.selectionSet) {\n\t\t\tthis.body += ' {\\n'\n\t\t\tthis.processSelectionSet(field.selectionSet, indent + 1)\n\t\t\tthis.body += this.indentString.repeat(indent) + '}'\n\t\t}\n\t\tthis.body += '\\n'\n\t}\n\n\tprivate resolveVariableName(graphQlType: string, value: JSONValue): string {\n\t\tconst variableName = this.variableValueToName[graphQlType]?.get(value)\n\t\tif (variableName) {\n\t\t\treturn variableName\n\t\t}\n\t\tconst newVariableName = `${graphQlType.replace(/[\\W]/g, '')}_${this.variableCounter++}`\n\t\tthis.variables[newVariableName] = {\n\t\t\ttype: graphQlType,\n\t\t\tvalue: value,\n\t\t}\n\t\tif (!this.variableValueToName[graphQlType]) {\n\t\t\tthis.variableValueToName[graphQlType] = new Map()\n\t\t}\n\t\tthis.variableValueToName[graphQlType].set(value, newVariableName)\n\t\treturn newVariableName\n\t}\n\n\tprivate cleanState(): void {\n\t\tthis.body = ''\n\t\tthis.variableCounter = 0\n\t\tthis.variables = {}\n\t\tthis.usedFragments = new Set<string>()\n\t}\n}\n"],"names":["GraphQlField","GraphQlFragmentSpread","GraphQlInlineFragment"],"mappings":";;;;;;;;AAKO,MAAM,oBAAoB;AAAA,EAA1B,cAAA;AACN,kBAAA,MAAQ,gBAAe,GAAA;AAEvB,kBAAA,MAAQ,mBAAkB,CAAA;AAC1B,kBAAA,MAAQ,aAGH,EAAC;AAEN,kBAAA,MAAQ,uBAA8D,EAAC;AAEvE,kBAAA,MAAQ,qCAAoB,IAAA,CAAY;AAExC,kBAAA,MAAQ,QAAO,EAAA;AAAA,EAAA;AAAA,EAER,cACN,WACA,QACA,WACqB;AACrB,SAAK,WAAA;AACL,SAAK,oBAAoB,QAAQ,CAAC;AAClC,UAAM,OAAO,KAAK;AAClB,SAAK,OAAO;AACZ,SAAK,qBAAqB,SAAS;AACnC,UAAM,eAAe,KAAK;AAC1B,UAAM,kBAAkB,KAAK,eAAA;AAC7B,UAAM,QAAQ,GAAG,SAAS,GAAG,eAAe;AAAA,EAAO,IAAI,IAAI,YAAY;AAAA;AACvE,WAAO;AAAA,MACN;AAAA,MACA,WAAW,OAAO,YAAY,OAAO,QAAQ,KAAK,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,MAAM,KAAK,CAAC,CAAC;AAAA,IAAA;AAAA,EAExG;AAAA,EAEQ,qBAAqB,WAAkD;AAC9E,UAAM,8BAAc,IAAA;AACpB,WAAO,KAAK,cAAc,OAAO,GAAG;AACnC,YAAM,eAAe,KAAK,cAAc,OAAA,EAAS,OAAO;AACxD,UAAI,CAAC,cAAc;AAClB;AAAA,MACD;AACA,WAAK,cAAc,OAAO,YAAY;AACtC,UAAI,QAAQ,IAAI,YAAY,GAAG;AAC9B;AAAA,MACD;AACA,cAAQ,IAAI,YAAY;AACxB,UAAI,CAAC,UAAU,YAAY,GAAG;AAC7B,cAAM,IAAI,MAAM,oBAAoB,YAAY,EAAE;AAAA,MACnD;AACA,WAAK,gBAAgB,UAAU,YAAY,CAAC;AAAA,IAC7C;AAAA,EACD;AAAA,EAEQ,gBAAgB,UAAiC;AACxD,SAAK,QAAQ;AAAA,WAAc,SAAS,IAAI,OAAO,SAAS,IAAI;AAAA;AAC5D,SAAK,oBAAoB,SAAS,cAAc,CAAC;AACjD,SAAK,QAAQ;AAAA,EACd;AAAA,EAEQ,iBAAyB;AAChC,QAAI,kBAAkB;AACtB,QAAI,IAAI;AACR,eAAW,CAAC,cAAc,QAAQ,KAAK,OAAO,QAAQ,KAAK,SAAS,GAAG;AACtE,UAAI,QAAQ,GAAG;AACd,2BAAmB;AAAA,MACpB,OAAO;AACN,2BAAmB;AAAA,MACpB;AACA,yBAAmB,IAAI,YAAY,KAAK,SAAS,IAAI;AAAA,IACtD;AACA,QAAI,IAAI,GAAG;AACV,yBAAmB;AAAA,IACpB;AACA,WAAO;AAAA,EACR;AAAA,EAEQ,oBAAoB,cAAmC,QAAsB;AACpF,eAAW,QAAQ,cAAc;AAChC,UAAI,gBAAgBA,aAAAA,cAAc;AACjC,aAAK,aAAa,MAAM,MAAM;AAAA,MAC/B,WAAW,gBAAgBC,6CAAuB;AACjD,aAAK,QAAQ,KAAK,aAAa,OAAO,MAAM,IAAI,SAAS,KAAK,OAAO;AACrE,aAAK,cAAc,IAAI,KAAK,IAAI;AAAA,MACjC,WAAW,gBAAgBC,6CAAuB;AACjD,aAAK,QAAQ,KAAK,aAAa,OAAO,MAAM,IAAI,YAAY,KAAK,OAAO;AACxE,aAAK,oBAAoB,KAAK,cAAc,SAAS,CAAC;AACtD,aAAK,QAAQ,KAAK,aAAa,OAAO,MAAM,IAAI;AAAA,MACjD;AAAA,IACD;AAAA,EACD;AAAA,EAEQ,aAAa,OAAqB,QAAsB;AAC/D,UAAM,eAAe,KAAK,aAAa,OAAO,MAAM;AACpD,SAAK,QAAQ,gBAAgB,MAAM,SAAS,MAAM,UAAU,MAAM,OAAQ,MAAM,QAAQ,OAAO,MAAM,OAAQ,MAAM;AACnH,QAAI,IAAI;AACR,eAAW,CAAC,SAAS,GAAG,KAAK,OAAO,QAAQ,MAAM,IAAI,GAAG;AACxD,UAAI,IAAI,UAAU,QAAW;AAC5B;AAAA,MACD;AACA,YAAM,eAAe,KAAK,oBAAoB,IAAI,aAAa,IAAI,KAAK;AACxE,UAAI,QAAQ,GAAG;AACd,aAAK,QAAQ;AAAA,MACd,OAAO;AACN,aAAK,QAAQ;AAAA,MACd;AACA,WAAK,QAAQ,GAAG,OAAO,MAAM,YAAY;AAAA,IAC1C;AACA,QAAI,IAAI,GAAG;AACV,WAAK,QAAQ;AAAA,IACd;AACA,QAAI,MAAM,cAAc;AACvB,WAAK,QAAQ;AACb,WAAK,oBAAoB,MAAM,cAAc,SAAS,CAAC;AACvD,WAAK,QAAQ,KAAK,aAAa,OAAO,MAAM,IAAI;AAAA,IACjD;AACA,SAAK,QAAQ;AAAA,EACd;AAAA,EAEQ,oBAAoB,aAAqB,OAA0B;AAC1E,UAAM,eAAe,KAAK,oBAAoB,WAAW,GAAG,IAAI,KAAK;AACrE,QAAI,cAAc;AACjB,aAAO;AAAA,IACR;AACA,UAAM,kBAAkB,GAAG,YAAY,QAAQ,SAAS,EAAE,CAAC,IAAI,KAAK,iBAAiB;AACrF,SAAK,UAAU,eAAe,IAAI;AAAA,MACjC,MAAM;AAAA,MACN;AAAA,IAAA;AAED,QAAI,CAAC,KAAK,oBAAoB,WAAW,GAAG;AAC3C,WAAK,oBAAoB,WAAW,IAAI,oBAAI,IAAA;AAAA,IAC7C;AACA,SAAK,oBAAoB,WAAW,EAAE,IAAI,OAAO,eAAe;AAChE,WAAO;AAAA,EACR;AAAA,EAEQ,aAAmB;AAC1B,SAAK,OAAO;AACZ,SAAK,kBAAkB;AACvB,SAAK,YAAY,CAAA;AACjB,SAAK,oCAAoB,IAAA;AAAA,EAC1B;AACD;;"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { GraphQlField } from "./nodes/GraphQlField.js";
|
|
2
|
+
import { GraphQlFragmentSpread } from "./nodes/GraphQlFragmentSpread.js";
|
|
3
|
+
import { GraphQlInlineFragment } from "./nodes/GraphQlInlineFragment.js";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
7
|
+
class GraphQlQueryPrinter {
|
|
8
|
+
constructor() {
|
|
9
|
+
__publicField(this, "indentString", " ");
|
|
10
|
+
__publicField(this, "variableCounter", 0);
|
|
11
|
+
__publicField(this, "variables", {});
|
|
12
|
+
__publicField(this, "variableValueToName", {});
|
|
13
|
+
__publicField(this, "usedFragments", /* @__PURE__ */ new Set());
|
|
14
|
+
__publicField(this, "body", "");
|
|
15
|
+
}
|
|
16
|
+
printDocument(operation, select, fragments) {
|
|
17
|
+
this.cleanState();
|
|
18
|
+
this.processSelectionSet(select, 1);
|
|
19
|
+
const body = this.body;
|
|
20
|
+
this.body = "";
|
|
21
|
+
this.processUsedFragments(fragments);
|
|
22
|
+
const fragmentsStr = this.body;
|
|
23
|
+
const variablesString = this.printVariables();
|
|
24
|
+
const query = `${operation}${variablesString} {
|
|
25
|
+
${body}}${fragmentsStr}
|
|
26
|
+
`;
|
|
27
|
+
return {
|
|
28
|
+
query,
|
|
29
|
+
variables: Object.fromEntries(Object.entries(this.variables).map(([key, value]) => [key, value.value]))
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
processUsedFragments(fragments) {
|
|
33
|
+
const printed = /* @__PURE__ */ new Set();
|
|
34
|
+
while (this.usedFragments.size > 0) {
|
|
35
|
+
const fragmentName = this.usedFragments.values().next().value;
|
|
36
|
+
if (!fragmentName) {
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
this.usedFragments.delete(fragmentName);
|
|
40
|
+
if (printed.has(fragmentName)) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
printed.add(fragmentName);
|
|
44
|
+
if (!fragments[fragmentName]) {
|
|
45
|
+
throw new Error(`Unknown fragment ${fragmentName}`);
|
|
46
|
+
}
|
|
47
|
+
this.processFragment(fragments[fragmentName]);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
processFragment(fragment) {
|
|
51
|
+
this.body += `
|
|
52
|
+
fragment ${fragment.name} on ${fragment.type} {
|
|
53
|
+
`;
|
|
54
|
+
this.processSelectionSet(fragment.selectionSet, 1);
|
|
55
|
+
this.body += "}";
|
|
56
|
+
}
|
|
57
|
+
printVariables() {
|
|
58
|
+
let variablesString = "";
|
|
59
|
+
let i = 0;
|
|
60
|
+
for (const [variableName, variable] of Object.entries(this.variables)) {
|
|
61
|
+
if (i++ === 0) {
|
|
62
|
+
variablesString += "(";
|
|
63
|
+
} else {
|
|
64
|
+
variablesString += ", ";
|
|
65
|
+
}
|
|
66
|
+
variablesString += `$${variableName}: ${variable.type}`;
|
|
67
|
+
}
|
|
68
|
+
if (i > 0) {
|
|
69
|
+
variablesString += ")";
|
|
70
|
+
}
|
|
71
|
+
return variablesString;
|
|
72
|
+
}
|
|
73
|
+
processSelectionSet(selectionSet, indent) {
|
|
74
|
+
for (const node of selectionSet) {
|
|
75
|
+
if (node instanceof GraphQlField) {
|
|
76
|
+
this.processField(node, indent);
|
|
77
|
+
} else if (node instanceof GraphQlFragmentSpread) {
|
|
78
|
+
this.body += this.indentString.repeat(indent) + "... " + node.name + "\n";
|
|
79
|
+
this.usedFragments.add(node.name);
|
|
80
|
+
} else if (node instanceof GraphQlInlineFragment) {
|
|
81
|
+
this.body += this.indentString.repeat(indent) + "... on " + node.type + " {\n";
|
|
82
|
+
this.processSelectionSet(node.selectionSet, indent + 1);
|
|
83
|
+
this.body += this.indentString.repeat(indent) + "}\n";
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
processField(field, indent) {
|
|
88
|
+
const indentString = this.indentString.repeat(indent);
|
|
89
|
+
this.body += indentString + (field.alias && field.alias !== field.name ? field.alias + ": " + field.name : field.name);
|
|
90
|
+
let i = 0;
|
|
91
|
+
for (const [argName, arg] of Object.entries(field.args)) {
|
|
92
|
+
if (arg.value === void 0) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const variableName = this.resolveVariableName(arg.graphQlType, arg.value);
|
|
96
|
+
if (i++ === 0) {
|
|
97
|
+
this.body += "(";
|
|
98
|
+
} else {
|
|
99
|
+
this.body += ", ";
|
|
100
|
+
}
|
|
101
|
+
this.body += `${argName}: $${variableName}`;
|
|
102
|
+
}
|
|
103
|
+
if (i > 0) {
|
|
104
|
+
this.body += ")";
|
|
105
|
+
}
|
|
106
|
+
if (field.selectionSet) {
|
|
107
|
+
this.body += " {\n";
|
|
108
|
+
this.processSelectionSet(field.selectionSet, indent + 1);
|
|
109
|
+
this.body += this.indentString.repeat(indent) + "}";
|
|
110
|
+
}
|
|
111
|
+
this.body += "\n";
|
|
112
|
+
}
|
|
113
|
+
resolveVariableName(graphQlType, value) {
|
|
114
|
+
const variableName = this.variableValueToName[graphQlType]?.get(value);
|
|
115
|
+
if (variableName) {
|
|
116
|
+
return variableName;
|
|
117
|
+
}
|
|
118
|
+
const newVariableName = `${graphQlType.replace(/[\W]/g, "")}_${this.variableCounter++}`;
|
|
119
|
+
this.variables[newVariableName] = {
|
|
120
|
+
type: graphQlType,
|
|
121
|
+
value
|
|
122
|
+
};
|
|
123
|
+
if (!this.variableValueToName[graphQlType]) {
|
|
124
|
+
this.variableValueToName[graphQlType] = /* @__PURE__ */ new Map();
|
|
125
|
+
}
|
|
126
|
+
this.variableValueToName[graphQlType].set(value, newVariableName);
|
|
127
|
+
return newVariableName;
|
|
128
|
+
}
|
|
129
|
+
cleanState() {
|
|
130
|
+
this.body = "";
|
|
131
|
+
this.variableCounter = 0;
|
|
132
|
+
this.variables = {};
|
|
133
|
+
this.usedFragments = /* @__PURE__ */ new Set();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export {
|
|
137
|
+
GraphQlQueryPrinter
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=GraphQlQueryPrinter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlQueryPrinter.js","sources":["../../../../packages/graphql-builder/src/GraphQlQueryPrinter.ts"],"sourcesContent":["import { JSONValue } from '@contember/schema'\nimport { GraphQlField, GraphQlFragment, GraphQlFragmentSpread, GraphQlInlineFragment, GraphQlSelectionSet } from './nodes'\n\nexport type GraphQlPrintResult = { query: string; variables: Record<string, JSONValue> }\n\nexport class GraphQlQueryPrinter {\n\tprivate indentString = '\\t'\n\n\tprivate variableCounter = 0\n\tprivate variables: Record<string, {\n\t\ttype: string\n\t\tvalue: JSONValue\n\t}> = {}\n\n\tprivate variableValueToName: Record<string, Map<JSONValue, string>> = {}\n\n\tprivate usedFragments = new Set<string>()\n\n\tprivate body = ''\n\n\tpublic printDocument(\n\t\toperation: 'query' | 'mutation',\n\t\tselect: GraphQlSelectionSet,\n\t\tfragments: Record<string, GraphQlFragment>,\n\t): GraphQlPrintResult {\n\t\tthis.cleanState()\n\t\tthis.processSelectionSet(select, 1)\n\t\tconst body = this.body\n\t\tthis.body = ''\n\t\tthis.processUsedFragments(fragments)\n\t\tconst fragmentsStr = this.body\n\t\tconst variablesString = this.printVariables()\n\t\tconst query = `${operation}${variablesString} {\\n${body}}${fragmentsStr}\\n`\n\t\treturn {\n\t\t\tquery: query,\n\t\t\tvariables: Object.fromEntries(Object.entries(this.variables).map(([key, value]) => [key, value.value])),\n\t\t}\n\t}\n\n\tprivate processUsedFragments(fragments: Record<string, GraphQlFragment>): void {\n\t\tconst printed = new Set()\n\t\twhile (this.usedFragments.size > 0) {\n\t\t\tconst fragmentName = this.usedFragments.values().next().value\n\t\t\tif (!fragmentName) {\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tthis.usedFragments.delete(fragmentName)\n\t\t\tif (printed.has(fragmentName)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tprinted.add(fragmentName)\n\t\t\tif (!fragments[fragmentName]) {\n\t\t\t\tthrow new Error(`Unknown fragment ${fragmentName}`)\n\t\t\t}\n\t\t\tthis.processFragment(fragments[fragmentName])\n\t\t}\n\t}\n\n\tprivate processFragment(fragment: GraphQlFragment): void {\n\t\tthis.body += `\\nfragment ${fragment.name} on ${fragment.type} {\\n`\n\t\tthis.processSelectionSet(fragment.selectionSet, 1)\n\t\tthis.body += '}'\n\t}\n\n\tprivate printVariables(): string {\n\t\tlet variablesString = ''\n\t\tlet i = 0\n\t\tfor (const [variableName, variable] of Object.entries(this.variables)) {\n\t\t\tif (i++ === 0) {\n\t\t\t\tvariablesString += '('\n\t\t\t} else {\n\t\t\t\tvariablesString += ', '\n\t\t\t}\n\t\t\tvariablesString += `$${variableName}: ${variable.type}`\n\t\t}\n\t\tif (i > 0) {\n\t\t\tvariablesString += ')'\n\t\t}\n\t\treturn variablesString\n\t}\n\n\tprivate processSelectionSet(selectionSet: GraphQlSelectionSet, indent: number): void {\n\t\tfor (const node of selectionSet) {\n\t\t\tif (node instanceof GraphQlField) {\n\t\t\t\tthis.processField(node, indent)\n\t\t\t} else if (node instanceof GraphQlFragmentSpread) {\n\t\t\t\tthis.body += this.indentString.repeat(indent) + '... ' + node.name + '\\n'\n\t\t\t\tthis.usedFragments.add(node.name)\n\t\t\t} else if (node instanceof GraphQlInlineFragment) {\n\t\t\t\tthis.body += this.indentString.repeat(indent) + '... on ' + node.type + ' {\\n'\n\t\t\t\tthis.processSelectionSet(node.selectionSet, indent + 1)\n\t\t\t\tthis.body += this.indentString.repeat(indent) + '}\\n'\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate processField(field: GraphQlField, indent: number): void {\n\t\tconst indentString = this.indentString.repeat(indent)\n\t\tthis.body += indentString + (field.alias && field.alias !== field.name ? (field.alias + ': ' + field.name) : field.name)\n\t\tlet i = 0\n\t\tfor (const [argName, arg] of Object.entries(field.args)) {\n\t\t\tif (arg.value === undefined) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst variableName = this.resolveVariableName(arg.graphQlType, arg.value)\n\t\t\tif (i++ === 0) {\n\t\t\t\tthis.body += '('\n\t\t\t} else {\n\t\t\t\tthis.body += ', '\n\t\t\t}\n\t\t\tthis.body += `${argName}: $${variableName}`\n\t\t}\n\t\tif (i > 0) {\n\t\t\tthis.body += ')'\n\t\t}\n\t\tif (field.selectionSet) {\n\t\t\tthis.body += ' {\\n'\n\t\t\tthis.processSelectionSet(field.selectionSet, indent + 1)\n\t\t\tthis.body += this.indentString.repeat(indent) + '}'\n\t\t}\n\t\tthis.body += '\\n'\n\t}\n\n\tprivate resolveVariableName(graphQlType: string, value: JSONValue): string {\n\t\tconst variableName = this.variableValueToName[graphQlType]?.get(value)\n\t\tif (variableName) {\n\t\t\treturn variableName\n\t\t}\n\t\tconst newVariableName = `${graphQlType.replace(/[\\W]/g, '')}_${this.variableCounter++}`\n\t\tthis.variables[newVariableName] = {\n\t\t\ttype: graphQlType,\n\t\t\tvalue: value,\n\t\t}\n\t\tif (!this.variableValueToName[graphQlType]) {\n\t\t\tthis.variableValueToName[graphQlType] = new Map()\n\t\t}\n\t\tthis.variableValueToName[graphQlType].set(value, newVariableName)\n\t\treturn newVariableName\n\t}\n\n\tprivate cleanState(): void {\n\t\tthis.body = ''\n\t\tthis.variableCounter = 0\n\t\tthis.variables = {}\n\t\tthis.usedFragments = new Set<string>()\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class GraphQlField {
|
|
4
|
+
constructor(alias, name, args = {}, selectionSet) {
|
|
5
|
+
this.alias = alias;
|
|
6
|
+
this.name = name;
|
|
7
|
+
this.args = args;
|
|
8
|
+
this.selectionSet = selectionSet;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.GraphQlField = GraphQlField;
|
|
12
|
+
//# sourceMappingURL=GraphQlField.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlField.cjs","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlField.ts"],"sourcesContent":["import { GraphQlFragmentSpread } from './GraphQlFragmentSpread'\nimport { GraphQlInlineFragment } from './GraphQlInlineFragment'\nimport { JSONValue } from '@contember/schema'\n\nexport class GraphQlField {\n\tconstructor(\n\t\tpublic readonly alias: string | null,\n\t\tpublic readonly name: string,\n\t\tpublic readonly args: GraphQlFieldTypedArgs = {},\n\t\tpublic readonly selectionSet?: GraphQlSelectionSet,\n\t) {\n\t}\n}\n\nexport type GraphQlFieldTypedArgs = Record<string, {\n\tgraphQlType: string\n\tvalue?: JSONValue\n}>\n\nexport type GraphQlSelectionSetItem = GraphQlField | GraphQlFragmentSpread | GraphQlInlineFragment\n\nexport type GraphQlSelectionSet = GraphQlSelectionSetItem[]\n"],"names":[],"mappings":";;AAIO,MAAM,aAAa;AAAA,EACzB,YACiB,OACA,MACA,OAA8B,CAAA,GAC9B,cACf;AAJe,SAAA,QAAA;AACA,SAAA,OAAA;AACA,SAAA,OAAA;AACA,SAAA,eAAA;AAAA,EAEjB;AACD;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
class GraphQlField {
|
|
2
|
+
constructor(alias, name, args = {}, selectionSet) {
|
|
3
|
+
this.alias = alias;
|
|
4
|
+
this.name = name;
|
|
5
|
+
this.args = args;
|
|
6
|
+
this.selectionSet = selectionSet;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
GraphQlField
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=GraphQlField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlField.js","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlField.ts"],"sourcesContent":["import { GraphQlFragmentSpread } from './GraphQlFragmentSpread'\nimport { GraphQlInlineFragment } from './GraphQlInlineFragment'\nimport { JSONValue } from '@contember/schema'\n\nexport class GraphQlField {\n\tconstructor(\n\t\tpublic readonly alias: string | null,\n\t\tpublic readonly name: string,\n\t\tpublic readonly args: GraphQlFieldTypedArgs = {},\n\t\tpublic readonly selectionSet?: GraphQlSelectionSet,\n\t) {\n\t}\n}\n\nexport type GraphQlFieldTypedArgs = Record<string, {\n\tgraphQlType: string\n\tvalue?: JSONValue\n}>\n\nexport type GraphQlSelectionSetItem = GraphQlField | GraphQlFragmentSpread | GraphQlInlineFragment\n\nexport type GraphQlSelectionSet = GraphQlSelectionSetItem[]\n"],"names":[],"mappings":"AAIO,MAAM,aAAa;AAAA,EACzB,YACiB,OACA,MACA,OAA8B,CAAA,GAC9B,cACf;AAJe,SAAA,QAAA;AACA,SAAA,OAAA;AACA,SAAA,OAAA;AACA,SAAA,eAAA;AAAA,EAEjB;AACD;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class GraphQlFragment {
|
|
4
|
+
constructor(name, type, selectionSet) {
|
|
5
|
+
this.name = name;
|
|
6
|
+
this.type = type;
|
|
7
|
+
this.selectionSet = selectionSet;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.GraphQlFragment = GraphQlFragment;
|
|
11
|
+
//# sourceMappingURL=GraphQlFragment.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlFragment.cjs","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlFragment.ts"],"sourcesContent":["import { GraphQlSelectionSet } from './GraphQlField'\n\nexport class GraphQlFragment {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly type: string,\n\t\tpublic readonly selectionSet: GraphQlSelectionSet,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,gBAAgB;AAAA,EAC5B,YACiB,MACA,MACA,cACf;AAHe,SAAA,OAAA;AACA,SAAA,OAAA;AACA,SAAA,eAAA;AAAA,EAEjB;AACD;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlFragment.js","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlFragment.ts"],"sourcesContent":["import { GraphQlSelectionSet } from './GraphQlField'\n\nexport class GraphQlFragment {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t\tpublic readonly type: string,\n\t\tpublic readonly selectionSet: GraphQlSelectionSet,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,gBAAgB;AAAA,EAC5B,YACiB,MACA,MACA,cACf;AAHe,SAAA,OAAA;AACA,SAAA,OAAA;AACA,SAAA,eAAA;AAAA,EAEjB;AACD;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class GraphQlFragmentSpread {
|
|
4
|
+
constructor(name) {
|
|
5
|
+
this.name = name;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
exports.GraphQlFragmentSpread = GraphQlFragmentSpread;
|
|
9
|
+
//# sourceMappingURL=GraphQlFragmentSpread.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlFragmentSpread.cjs","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlFragmentSpread.ts"],"sourcesContent":["export class GraphQlFragmentSpread {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAAO,MAAM,sBAAsB;AAAA,EAClC,YACiB,MACf;AADe,SAAA,OAAA;AAAA,EAEjB;AACD;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlFragmentSpread.js","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlFragmentSpread.ts"],"sourcesContent":["export class GraphQlFragmentSpread {\n\tconstructor(\n\t\tpublic readonly name: string,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAAO,MAAM,sBAAsB;AAAA,EAClC,YACiB,MACf;AADe,SAAA,OAAA;AAAA,EAEjB;AACD;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class GraphQlInlineFragment {
|
|
4
|
+
constructor(type, selectionSet) {
|
|
5
|
+
this.type = type;
|
|
6
|
+
this.selectionSet = selectionSet;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.GraphQlInlineFragment = GraphQlInlineFragment;
|
|
10
|
+
//# sourceMappingURL=GraphQlInlineFragment.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlInlineFragment.cjs","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlInlineFragment.ts"],"sourcesContent":["import { GraphQlSelectionSet } from './GraphQlField'\n\nexport class GraphQlInlineFragment {\n\tconstructor(\n\t\tpublic readonly type: string,\n\t\tpublic readonly selectionSet: GraphQlSelectionSet,\n\t) {\n\t}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,sBAAsB;AAAA,EAClC,YACiB,MACA,cACf;AAFe,SAAA,OAAA;AACA,SAAA,eAAA;AAAA,EAEjB;AACD;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphQlInlineFragment.js","sources":["../../../../../packages/graphql-builder/src/nodes/GraphQlInlineFragment.ts"],"sourcesContent":["import { GraphQlSelectionSet } from './GraphQlField'\n\nexport class GraphQlInlineFragment {\n\tconstructor(\n\t\tpublic readonly type: string,\n\t\tpublic readonly selectionSet: GraphQlSelectionSet,\n\t) {\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,sBAAsB;AAAA,EAClC,YACiB,MACA,cACf;AAFe,SAAA,OAAA;AACA,SAAA,eAAA;AAAA,EAEjB;AACD;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const GraphQlQueryPrinter = require("./src/GraphQlQueryPrinter.cjs");
|
|
4
|
+
const GraphQlField = require("./src/nodes/GraphQlField.cjs");
|
|
5
|
+
const GraphQlFragment = require("./src/nodes/GraphQlFragment.cjs");
|
|
6
|
+
const GraphQlFragmentSpread = require("./src/nodes/GraphQlFragmentSpread.cjs");
|
|
7
|
+
const GraphQlInlineFragment = require("./src/nodes/GraphQlInlineFragment.cjs");
|
|
8
|
+
exports.GraphQlQueryPrinter = GraphQlQueryPrinter.GraphQlQueryPrinter;
|
|
9
|
+
exports.GraphQlField = GraphQlField.GraphQlField;
|
|
10
|
+
exports.GraphQlFragment = GraphQlFragment.GraphQlFragment;
|
|
11
|
+
exports.GraphQlFragmentSpread = GraphQlFragmentSpread.GraphQlFragmentSpread;
|
|
12
|
+
exports.GraphQlInlineFragment = GraphQlInlineFragment.GraphQlInlineFragment;
|
|
13
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { GraphQlQueryPrinter } from "./src/GraphQlQueryPrinter.js";
|
|
2
|
+
import { GraphQlField } from "./src/nodes/GraphQlField.js";
|
|
3
|
+
import { GraphQlFragment } from "./src/nodes/GraphQlFragment.js";
|
|
4
|
+
import { GraphQlFragmentSpread } from "./src/nodes/GraphQlFragmentSpread.js";
|
|
5
|
+
import { GraphQlInlineFragment } from "./src/nodes/GraphQlInlineFragment.js";
|
|
6
|
+
export {
|
|
7
|
+
GraphQlField,
|
|
8
|
+
GraphQlFragment,
|
|
9
|
+
GraphQlFragmentSpread,
|
|
10
|
+
GraphQlInlineFragment,
|
|
11
|
+
GraphQlQueryPrinter
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|