@contember/graphql-builder 1.3.0-alpha.7 → 1.3.0-alpha.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.
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlQueryPrinter.cjs","sources":["../../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\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\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\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":"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"}
1
+ {"version":3,"file":"GraphQlQueryPrinter.cjs","sources":["../../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\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\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\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlQueryPrinter.js","sources":["../../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\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\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\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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"}
1
+ {"version":3,"file":"GraphQlQueryPrinter.js","sources":["../../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\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\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\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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlQueryPrinter.cjs","sources":["../../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\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\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\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":"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"}
1
+ {"version":3,"file":"GraphQlQueryPrinter.cjs","sources":["../../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\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\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\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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlQueryPrinter.js","sources":["../../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\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\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\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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"}
1
+ {"version":3,"file":"GraphQlQueryPrinter.js","sources":["../../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\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\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\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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"}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/@types/react/ts5.0/global.d.ts","../../../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../../../node_modules/@types/prop-types/index.d.ts","../../../../node_modules/@types/scheduler/tracing.d.ts","../../../../node_modules/@types/react/ts5.0/index.d.ts","../../../../node_modules/@types/react/ts5.0/jsx-runtime.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/value.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/input.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/json.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/acl.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/actions.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/model.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/result.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/validation.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/settings.d.ts","../../../../node_modules/@contember/schema/dist/src/ProjectRole.d.ts","../../../../node_modules/@contember/schema/dist/src/index.d.ts","../../src/nodes/GraphQlFragmentSpread.ts","../../src/nodes/GraphQlInlineFragment.ts","../../src/nodes/GraphQlField.ts","../../src/nodes/GraphQlFragment.ts","../../src/nodes/index.ts","../../src/GraphQlQueryPrinter.ts","../../src/index.ts","../../../../node_modules/vite/types/hmrPayload.d.ts","../../../../node_modules/vite/types/customEvent.d.ts","../../../../node_modules/vite/types/hot.d.ts","../../../../node_modules/vite/types/importGlob.d.ts","../../../../node_modules/vite/types/importMeta.d.ts","../../../../node_modules/vite/client.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"49a253ec027e56c55c7450a0c331cfe96212b3d1cc215b1710ba94a083404cf3","affectsGlobalScope":true},"1c29793071152b207c01ea1954e343be9a44d85234447b2b236acae9e709a383","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"278fe30e638dad09488d130287c728f99f61cb315ed86b70c36040e4311f9cf5","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","3ae62be455efcb1874e7fd1f30f2bb83144757d2f349ceb0c6523bb9f7f7a860","be0f711ade459d8e51739f8544a565bc7d2ea56a9dda7ef6d5edd9d864737276","b1296831e111197bd9ebd73f0d15ad0fe2e11fcc51a6302edb23ffd93794db36","5610e8177b34fa50394973f3faba06fd5268b1264a2f4f7daaa71fee1194a94d","4dc29833bfcaa8597097a99fd486d72a0de9c38bb7a6dcd1dadb70e1b9c17282","9869fe612661e4bb3a63b339b3a0d0cdbb6c9e85dd4a59209c86383179e3fbd9","f42116e2e8ad600dc90bdf8ceade9dcf593c35812d8aaba9c03a3f1dbb87330e","dff2fee737ebe5174f549c9f28e114c0cabac4b5fe4e364654465ba528979ba4","86c9954d4c0c270f2952a8695b90fbf4a58210deae10911be98b6c31b84cc8db","466df547af9cf3861658b08baf3ecbd41c0eaad2101378fadfa54ab24db103e6","66b37de2f4b108cf4467570730a30cac8aa7d9ec94a0e335825c9192c1188094",{"version":"1492704513322629439c269bb9a1daf672c9319bff4cb85fb3739a5a53afbbae","signature":"34e5c5b2be8aa1b3f75ccd21529ae8b9163f510dbdabae4caae3fec3010cc33b"},{"version":"17f850d81088adf2bbc979ed59102d9f67f57a4581d24b63886ae4c6b5f79e89","signature":"45fb3525f5c652416e54f91bd8378464d41e22b0ccc108de7db918cf8e92ffd3"},{"version":"75faa8444f3d7281d1ec337213720d738129ef55a9672c7176bf6a949217ed77","signature":"e2402a646d4471b0985495b6bfca6c9c731d335195bf206e8c982d8ca362692f"},{"version":"10b5677a98e54b81f2ebd2661cb5c6cd9df9f210082b50c4281a308ffedbe72f","signature":"08d34fcbf615950f6d3dd6858437159f0c0af08d5af645ec415ebfeaeacf3bd0"},{"version":"ee4207ce0cb680870df58a4f65bc63d22601f63c867a319bf94e1196b9a03c93","signature":"13ce162c8088b92a985e41a2ddf61cbb191101c280214a74dd9e8d2fd3c9c905"},{"version":"41d26b47fa23c6126b4407396799af8a4d5a63be15837f61204beb4d2692209d","signature":"d2689735d2498972d6f02fbaff989b1fa500b5a140af7e7c08a15fbc36c1d3d3"},{"version":"cd017864db761491dd1dca6cf01c70ee66313a662062664ceb01254b61ce64b1","signature":"4b47e095287cc1351b5fa9c5112d1d2d255bd8916ce76347225837b244e97ed5"},"bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","0aa7220845f5f3902fe043f646f9d9218bd7dd6c4046e8471580866ea6b03aa2","4d5fb5d6b35f731b2ae4d9d7c592d48e91d6de531dd130628edf4eba16add893","739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f",{"version":"df93bb67d5ae7be3d599323de42e12cb8da59f0b490c3186ae91d493632b5e36","affectsGlobalScope":true},{"version":"f8b8b34c4f7651c9f7b126af8affda4139a0499e62e74f0f8dc2be36e9f14b59","affectsGlobalScope":true}],"root":[[79,85]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":4,"module":99,"noEmitOnError":true,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[68,69,70,71,72,73,74,75,76,77],[69,70],[70],[68],[69],[62,63,64,65],[66],[90],[86],[87],[88,89],[67,78,83],[67,83,84],[67,78,79,80],[67,81],[67],[67,79,80,81,82],[78,83],[83,84],[78,79,80],[81],[79,80,81,82]],"referencedMap":[[78,1],[71,2],[72,3],[69,4],[73,5],[74,4],[75,3],[66,6],[67,7],[91,8],[87,9],[88,10],[90,11],[84,12],[85,13],[81,14],[82,15],[79,16],[80,15],[83,17]],"exportedModulesMap":[[78,1],[71,2],[72,3],[69,4],[73,5],[74,4],[75,3],[66,6],[67,7],[91,8],[87,9],[88,10],[90,11],[84,18],[85,19],[81,20],[82,21],[80,21],[83,22]],"semanticDiagnosticsPerFile":[77,78,71,72,69,70,73,74,76,75,68,64,63,62,66,67,65,60,61,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,10,1,11,59,91,87,86,88,89,90,84,85,81,82,79,80,83],"latestChangedDtsFile":"./index.d.ts"},"version":"5.0.4"}
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/@types/react/global.d.ts","../../../../node_modules/csstype/index.d.ts","../../../../node_modules/@types/prop-types/index.d.ts","../../../../node_modules/@types/scheduler/tracing.d.ts","../../../../node_modules/@types/react/index.d.ts","../../../../node_modules/@types/react/jsx-runtime.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/value.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/input.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/json.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/acl.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/actions.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/model.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/result.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/validation.d.ts","../../../../node_modules/@contember/schema/dist/src/schema/settings.d.ts","../../../../node_modules/@contember/schema/dist/src/ProjectRole.d.ts","../../../../node_modules/@contember/schema/dist/src/index.d.ts","../../src/nodes/GraphQlFragmentSpread.ts","../../src/nodes/GraphQlInlineFragment.ts","../../src/nodes/GraphQlField.ts","../../src/nodes/GraphQlFragment.ts","../../src/nodes/index.ts","../../src/GraphQlQueryPrinter.ts","../../src/index.ts","../../../../node_modules/vite/types/hmrPayload.d.ts","../../../../node_modules/vite/types/customEvent.d.ts","../../../../node_modules/vite/types/hot.d.ts","../../../../node_modules/vite/types/importGlob.d.ts","../../../../node_modules/vite/types/importMeta.d.ts","../../../../node_modules/vite/client.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"0bd5e7096c7bc02bf70b2cc017fc45ef489cb19bd2f32a71af39ff5787f1b56a","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"369b91cb44fdb8a8fa15de2bd6c28a7abfe6cc16d483ea42291cc7b1efff88d4","affectsGlobalScope":true},"2879a055439b6c0c0132a1467120a0f85b56b5d735c973ad235acd958b1b5345","3ae62be455efcb1874e7fd1f30f2bb83144757d2f349ceb0c6523bb9f7f7a860","be0f711ade459d8e51739f8544a565bc7d2ea56a9dda7ef6d5edd9d864737276","b1296831e111197bd9ebd73f0d15ad0fe2e11fcc51a6302edb23ffd93794db36","5610e8177b34fa50394973f3faba06fd5268b1264a2f4f7daaa71fee1194a94d","4dc29833bfcaa8597097a99fd486d72a0de9c38bb7a6dcd1dadb70e1b9c17282","9869fe612661e4bb3a63b339b3a0d0cdbb6c9e85dd4a59209c86383179e3fbd9","f42116e2e8ad600dc90bdf8ceade9dcf593c35812d8aaba9c03a3f1dbb87330e","dff2fee737ebe5174f549c9f28e114c0cabac4b5fe4e364654465ba528979ba4","86c9954d4c0c270f2952a8695b90fbf4a58210deae10911be98b6c31b84cc8db","466df547af9cf3861658b08baf3ecbd41c0eaad2101378fadfa54ab24db103e6","66b37de2f4b108cf4467570730a30cac8aa7d9ec94a0e335825c9192c1188094",{"version":"1492704513322629439c269bb9a1daf672c9319bff4cb85fb3739a5a53afbbae","signature":"34e5c5b2be8aa1b3f75ccd21529ae8b9163f510dbdabae4caae3fec3010cc33b"},{"version":"17f850d81088adf2bbc979ed59102d9f67f57a4581d24b63886ae4c6b5f79e89","signature":"45fb3525f5c652416e54f91bd8378464d41e22b0ccc108de7db918cf8e92ffd3"},{"version":"75faa8444f3d7281d1ec337213720d738129ef55a9672c7176bf6a949217ed77","signature":"e2402a646d4471b0985495b6bfca6c9c731d335195bf206e8c982d8ca362692f"},{"version":"10b5677a98e54b81f2ebd2661cb5c6cd9df9f210082b50c4281a308ffedbe72f","signature":"08d34fcbf615950f6d3dd6858437159f0c0af08d5af645ec415ebfeaeacf3bd0"},{"version":"ee4207ce0cb680870df58a4f65bc63d22601f63c867a319bf94e1196b9a03c93","signature":"13ce162c8088b92a985e41a2ddf61cbb191101c280214a74dd9e8d2fd3c9c905"},{"version":"41d26b47fa23c6126b4407396799af8a4d5a63be15837f61204beb4d2692209d","signature":"d2689735d2498972d6f02fbaff989b1fa500b5a140af7e7c08a15fbc36c1d3d3"},{"version":"cd017864db761491dd1dca6cf01c70ee66313a662062664ceb01254b61ce64b1","signature":"4b47e095287cc1351b5fa9c5112d1d2d255bd8916ce76347225837b244e97ed5"},"bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","1363ba7d52f2353d0c4306d0ecdaf171bf4509c0148842f9fd8d3986c098a2eb","cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","21092de52736dc30f478fe5f1e88ad1b545ce4b276062999302aa65b30a6787a",{"version":"4025a454b1ca489b179ee8c684bdd70ff8c1967e382076ade53e7e4653e1daec","affectsGlobalScope":true},{"version":"84d68135178bf014e5cdc27e88c9148fc22f82e1a733dc6e1869a5263e58d5db","affectsGlobalScope":true}],"root":[[83,89]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":4,"module":99,"noEmitOnError":true,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[72,73,74,75,76,77,78,79,80,81],[73,74],[74],[72],[73],[66,67,68,69],[70],[94],[90],[91],[92,93],[71,82,87],[71,87,88],[71,82,83,84],[71,85],[71],[71,83,84,85,86],[82,87],[87,88],[82,83,84],[85],[83,84,85,86]],"referencedMap":[[82,1],[75,2],[76,3],[73,4],[77,5],[78,4],[79,3],[70,6],[71,7],[95,8],[91,9],[92,10],[94,11],[88,12],[89,13],[85,14],[86,15],[83,16],[84,15],[87,17]],"exportedModulesMap":[[82,1],[75,2],[76,3],[73,4],[77,5],[78,4],[79,3],[70,6],[71,7],[95,8],[91,9],[92,10],[94,11],[88,18],[89,19],[85,20],[86,21],[84,21],[87,22]],"semanticDiagnosticsPerFile":[81,82,75,76,73,74,77,78,80,79,72,68,66,70,71,69,67,64,65,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,24,28,25,26,27,29,30,31,5,32,33,34,35,6,39,36,37,38,40,7,41,46,47,42,43,44,45,8,51,48,49,50,52,9,53,54,55,58,56,57,59,60,10,1,11,63,62,61,95,91,90,92,93,94,88,89,85,86,83,84,87],"latestChangedDtsFile":"./index.d.ts"},"version":"5.3.3"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contember/graphql-builder",
3
3
  "license": "Apache-2.0",
4
- "version": "1.3.0-alpha.7",
4
+ "version": "1.3.0-alpha.8",
5
5
  "main": "./dist/production/index.js",
6
6
  "exports": {
7
7
  ".": {