UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

1 lines 23.9 kB
{"version":3,"file":"printer.js","sourceRoot":"","sources":["../../src/language/printer.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Printing */\n\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type { ASTNode } from './ast.ts';\nimport { printBlockString } from './blockString.ts';\nimport { printString } from './printString.ts';\nimport type { ASTReducer } from './visitor.ts';\nimport { visit } from './visitor.ts';\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n * @param ast - The GraphQL AST node to print.\n * @returns A stable string representation of the AST.\n * @example\n * ```ts\n * import { parse, print } from 'graphql';\n *\n * const ast = parse('{ hero { name } }');\n * const text = print(ast);\n *\n * text; // => '{\\n hero {\\n name\\n }\\n}'\n * ```\n */\nexport function print(ast: ASTNode): string {\n return visit(ast, printDocASTReducer);\n}\n\nconst MAX_LINE_LENGTH = 80;\n\nconst printDocASTReducer: ASTReducer<string> = {\n Name: { leave: (node) => node.value },\n Variable: { leave: (node) => '$' + node.name },\n\n // Document\n\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n\n OperationDefinition: {\n leave(node) {\n const varDefs = hasMultilineItems(node.variableDefinitions)\n ? wrap('(\\n', join(node.variableDefinitions, '\\n'), '\\n)')\n : wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix =\n wrap('', node.description, '\\n') +\n join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n );\n\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives, description }) =>\n wrap('', description, '\\n') +\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: { leave: ({ selections }) => block(selections) },\n\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = join([wrap('', alias, ': '), name], '');\n\n return join([\n wrappedLineAndArgs(prefix, args),\n wrap(' ', join(directives, ' ')),\n wrap(' ', selectionSet),\n ]);\n },\n },\n Argument: { leave: ({ name, value }) => name + ': ' + value },\n FragmentArgument: { leave: ({ name, value }) => name + ': ' + value },\n\n // Fragments\n\n FragmentSpread: {\n leave: ({ name, arguments: args, directives }) => {\n const prefix = '...' + name;\n return (\n wrappedLineAndArgs(prefix, args) + wrap(' ', join(directives, ' '))\n );\n },\n },\n\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n\n FragmentDefinition: {\n leave: ({\n name,\n typeCondition,\n variableDefinitions,\n directives,\n selectionSet,\n description,\n }) =>\n wrap('', description, '\\n') +\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n\n // Value\n\n IntValue: { leave: ({ value }) => value },\n FloatValue: { leave: ({ value }) => value },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString === true ? printBlockString(value) : printString(value),\n },\n BooleanValue: { leave: ({ value }) => (value ? 'true' : 'false') },\n NullValue: { leave: () => 'null' },\n EnumValue: { leave: ({ value }) => value },\n ListValue: {\n leave: ({ values }) => {\n const valuesLine = '[' + join(values, ', ') + ']';\n\n if (valuesLine.length > MAX_LINE_LENGTH) {\n return '[\\n' + indent(join(values, '\\n')) + '\\n]';\n }\n return valuesLine;\n },\n },\n ObjectValue: {\n leave: ({ fields }) => {\n const fieldsLine = '{ ' + join(fields, ', ') + ' }';\n return fieldsLine.length > MAX_LINE_LENGTH ? block(fields) : fieldsLine;\n },\n },\n ObjectField: { leave: ({ name, value }) => name + ': ' + value },\n\n // Directive\n\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n\n // Type\n\n NamedType: { leave: ({ name }) => name },\n ListType: { leave: ({ type }) => '[' + type + ']' },\n NonNullType: { leave: ({ type }) => type + '!' },\n\n // Type System Definitions\n\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveDefinition: {\n leave: ({\n description,\n name,\n arguments: args,\n directives,\n repeatable,\n locations,\n }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n wrap(' ', join(directives, ' ')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n\n DirectiveExtension: {\n leave: ({ name, directives }) =>\n join(['extend directive @' + name, join(directives, ' ')], ' '),\n },\n\n // Schema Coordinates\n\n TypeCoordinate: { leave: ({ name }) => name },\n\n MemberCoordinate: {\n leave: ({ name, memberName }) => join([name, wrap('.', memberName)]),\n },\n\n ArgumentCoordinate: {\n leave: ({ name, fieldName, argumentName }) =>\n join([name, wrap('.', fieldName), wrap('(', argumentName, ':)')]),\n },\n\n DirectiveCoordinate: { leave: ({ name }) => join(['@', name]) },\n\n DirectiveArgumentCoordinate: {\n leave: ({ name, argumentName }) =>\n join(['@', name, wrap('(', argumentName, ':)')]),\n },\n};\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n *\n * @internal\n */\nfunction join(\n maybeArray: Maybe<ReadonlyArray<string | undefined>>,\n separator = '',\n): string {\n return (\n maybeArray?.filter((x) => x !== undefined && x !== '').join(separator) ?? ''\n );\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n *\n * @internal\n */\nfunction block(array: Maybe<ReadonlyArray<string | undefined>>): string {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n *\n * @internal\n */\nfunction wrap(\n start: string,\n maybeString: Maybe<string>,\n end: string = '',\n): string {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str: string): string {\n return wrap(' ', str.replaceAll('\\n', '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray: Maybe<ReadonlyArray<string>>): boolean {\n return maybeArray?.some((str) => str.includes('\\n')) ?? false;\n}\n\nfunction wrappedLineAndArgs(\n prefix: string,\n args: ReadonlyArray<string> | undefined,\n): string {\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n return argsLine;\n}\n"]}