@luvio/graphql-parser
Advanced tools
| /*! | ||
| * Copyright (c) 2022, Salesforce, Inc., | ||
| * All rights reserved. | ||
| * For full license text, see the LICENSE.txt file | ||
| */ | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"} |
| export {}; |
| /** | ||
| * strips Document node and nested definitions of location references, tests only. | ||
| */ | ||
| export declare function stripLocation(node: any): any; |
| /** | ||
| * Exposes a tagged template literal to parse graphql operation string | ||
| * "gql" is the only publicly exposed method | ||
| * @module gql | ||
| */ | ||
| import type { DefinitionNode, DocumentNode } from 'graphql/language'; | ||
| export type AstResolver = (astReference: any) => DocumentNode | undefined; | ||
| /** | ||
| * we should look into optimizing this before it turns into a memory hog | ||
| * weakmaps, or limiting the size of the cache, or something | ||
| */ | ||
| export declare const docMap: Map<string, DocumentNode>; | ||
| /** | ||
| * Opaque reference map to return keys to userland | ||
| * As a user shouldn't have access to the Document | ||
| */ | ||
| export declare const referenceMap: WeakMap<Object, DocumentNode>; | ||
| /** | ||
| * Returns document node if cached or else update the cache and return the document node | ||
| * @param inputString - operation string | ||
| * @returns DocumentNode | ||
| */ | ||
| export declare function parseDocument(inputString: string): DocumentNode | null; | ||
| export declare function updateReferenceMapWithKnownKey(doc: DocumentNode, key: object): void; | ||
| export declare function updateReferenceMapAndGetKey(doc: DocumentNode): object; | ||
| /** | ||
| * Insert string and fragment substitutions with the actual nodes | ||
| * @param inputString | ||
| * @param substitutions - string | fragment DocumentNode | ||
| * @returns { operation string, fragment docs [] } | ||
| */ | ||
| export declare function processSubstitutions(inputString: ReadonlyArray<string>, substitutions: (string | object)[]): { | ||
| operationString: string; | ||
| fragments: DefinitionNode[]; | ||
| } | null; | ||
| /** | ||
| * | ||
| * @param astReference - ast reference passed from user land | ||
| */ | ||
| export declare const astResolver: AstResolver; | ||
| /** | ||
| * | ||
| * @param literals - operation query string | ||
| * @param subs - all other substitutions | ||
| * @returns an opaque reference to the parsed document | ||
| */ | ||
| export declare function gql(literals: ReadonlyArray<string> | string, ...subs: (string | object)[]): object | null; |
| export type { GraphQLObjectType, GraphQLInterfaceType, GraphQLDirective, GraphQLUnionType, GraphQLNamedType, } from 'graphql/type'; | ||
| export type { ObjectValueNode, ListTypeNode, BooleanValueNode, EnumTypeDefinitionNode, FieldDefinitionNode, FloatValueNode, InterfaceTypeDefinitionNode, IntValueNode, NamedTypeNode, ObjectTypeDefinitionNode, StringValueNode, TypeNode, UnionTypeDefinitionNode, DocumentNode, OperationDefinitionNode, FieldNode, ArgumentNode, ValueNode, SelectionNode, SelectionSetNode, FragmentDefinitionNode, DirectiveNode, ObjectFieldNode, ScalarTypeDefinitionNode, InputObjectTypeDefinitionNode, InlineFragmentNode, FragmentSpreadNode, VariableDefinitionNode, ListValueNode, VariableNode, NullValueNode, } from 'graphql/language'; | ||
| export { Kind } from 'graphql/language'; | ||
| export { gql, astResolver } from './gql'; | ||
| export type { AstResolver } from './gql'; | ||
| export { parse } from 'graphql/language'; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
+24
-21
| { | ||
| "name": "@luvio/graphql-parser", | ||
| "version": "0.158.5", | ||
| "description": "GraphQL parser for Luvio GraphQL adapter support", | ||
| "version": "5.42.0", | ||
| "description": "GraphQL parser for GraphQL adapter support", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/salesforce-experience-platform-emu/luvio.git", | ||
| "url": "https://github.com/salesforce-experience-platform-emu/onestore.git", | ||
| "directory": "packages/@luvio/graphql-parser" | ||
| }, | ||
| "license": "MIT", | ||
| "type": "module", | ||
| "exports": { | ||
| "types": "./dist/esm/types/main.d.ts", | ||
| "require": "./dist/cjs/luvioGraphqlParser.js", | ||
| "import": "./dist/esm/luvioGraphqlParser.js" | ||
| "./v1": { | ||
| "import": "./dist/v1/index.js", | ||
| "types": "./dist/types/v1/index.d.ts", | ||
| "require": "./dist/v1/index.js" | ||
| }, | ||
| ".": { | ||
| "import": "./dist/index.js", | ||
| "types": "./dist/types/index.d.ts", | ||
| "require": "./dist/index.js" | ||
| } | ||
| }, | ||
| "main": "./dist/cjs/luvioGraphqlParser.js", | ||
| "module": "./dist/esm/luvioGraphqlParser.js", | ||
| "types": "dist/esm/types/main.d.ts", | ||
| "main": "./dist/index.js", | ||
| "module": "./dist/index.js", | ||
| "types": "./dist/types/index.d.ts", | ||
| "files": [ | ||
@@ -23,11 +31,10 @@ "dist/" | ||
| "scripts": { | ||
| "build": "rollup --bundleConfigAsCjs --config rollup.config.js", | ||
| "build": "vite build && tsc --build --emitDeclarationOnly", | ||
| "clean": "rm -rf dist", | ||
| "parse": "node ./scripts/cli.mjs", | ||
| "test": "jest", | ||
| "test:debug": "node --inspect-brk ../../../node_modules/.bin/jest --runInBand", | ||
| "test:size": "luvioBundlesize" | ||
| "test": "vitest run", | ||
| "test:size": "size-limit" | ||
| }, | ||
| "dependencies": { | ||
| "graphql": "^15.0.0" | ||
| "graphql": "16.11.0" | ||
| }, | ||
@@ -40,10 +47,6 @@ "volta": { | ||
| }, | ||
| "luvioBundlesize": [ | ||
| "size-limit": [ | ||
| { | ||
| "path": "./dist/esm/luvioGraphqlParser.js", | ||
| "maxSize": { | ||
| "none": "365 kB", | ||
| "min": "158 kB", | ||
| "compressed": "60 kB" | ||
| } | ||
| "path": "./dist/v1/index.js", | ||
| "limit": "17.6 kB" | ||
| } | ||
@@ -50,0 +53,0 @@ ], |
Sorry, the diff of this file is too big to display
| import type { ArgumentNode } from 'graphql/language'; | ||
| import type { LuvioArgumentNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: ArgumentNode, transformState: TransformState): LuvioArgumentNode; |
| import type { DocumentNode, OperationDefinitionNode, FieldNode, ArgumentNode, IntValueNode, ListValueNode, ObjectValueNode, FloatValueNode, StringValueNode, BooleanValueNode, NullValueNode, EnumValueNode, VariableNode, DirectiveNode, VariableDefinitionNode, NonNullTypeNode, ListTypeNode, NamedTypeNode, FragmentSpreadNode, InlineFragmentNode, FragmentDefinitionNode, DefinitionNode, TypeNode } from 'graphql/language'; | ||
| /** | ||
| * Luvio specific custom GraphQL AST | ||
| * | ||
| * - Omit Location | ||
| * - flatten NameNode for easier value access | ||
| * - Add luvioSelections for custom selections | ||
| * - LuvioSelectionCustomFieldNode for fields with custom client side directives | ||
| */ | ||
| export interface LuvioDocumentNode extends Omit<DocumentNode, 'loc' | 'definitions'> { | ||
| definitions: LuvioDefinitionNode[]; | ||
| } | ||
| export type LuvioDefinitionNode = LuvioOperationDefinitionNode | LuvioFragmentDefinitionNode; | ||
| export interface LuvioOperationDefinitionNode extends Omit<OperationDefinitionNode, 'loc' | 'name' | 'variableDefinitions' | 'directives' | 'selectionSet'> { | ||
| name?: string; | ||
| variableDefinitions?: LuvioVariableDefinitionNode[]; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections: LuvioSelectionNode[]; | ||
| } | ||
| export interface LuvioVariableDefinitionNode extends Omit<VariableDefinitionNode, 'loc' | 'variable' | 'type' | 'defaultValue' | 'directives'> { | ||
| variable: LuvioVariableNode; | ||
| type: LuvioTypeNode; | ||
| defaultValue?: LuvioValueNode; | ||
| directives?: LuvioDirectiveNode[]; | ||
| } | ||
| export interface LuvioVariableNode extends Omit<VariableNode, 'loc' | 'name'> { | ||
| name: string; | ||
| } | ||
| export type LuvioSelectionNode = LuvioFieldNode | LuvioFragmentSpreadNode | LuvioInlineFragmentNode; | ||
| export type LuvioFieldNode = LuvioSelectionScalarFieldNode | LuvioSelectionObjectFieldNode | LuvioSelectionCustomFieldNode; | ||
| export interface LuvioArgumentNode extends Omit<ArgumentNode, 'loc' | 'name' | 'value'> { | ||
| name: string; | ||
| value: LuvioValueNode; | ||
| } | ||
| export interface LuvioFragmentSpreadNode extends Omit<FragmentSpreadNode, 'loc' | 'name' | 'directives'> { | ||
| name: string; | ||
| directives?: LuvioDirectiveNode[]; | ||
| } | ||
| export interface LuvioInlineFragmentNode extends Omit<InlineFragmentNode, 'loc' | 'typeCondition' | 'directives' | 'selectionSet'> { | ||
| typeCondition?: LuvioNamedTypeNode; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections: LuvioSelectionNode[]; | ||
| } | ||
| export interface LuvioFragmentDefinitionNode extends Omit<FragmentDefinitionNode, 'loc' | 'name' | 'variableDefinitions' | 'typeCondition' | 'directives' | 'selectionSet'> { | ||
| name: string; | ||
| variableDefinitions?: LuvioVariableDefinitionNode[]; | ||
| typeCondition: LuvioNamedTypeNode; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections: LuvioSelectionNode[]; | ||
| } | ||
| export type LuvioValueNode = LuvioVariableNode | IntValueNode | FloatValueNode | StringValueNode | BooleanValueNode | NullValueNode | EnumValueNode | LuvioListValueNode | LuvioObjectValueNode; | ||
| export interface LuvioListValueNode extends Omit<ListValueNode, 'loc' | 'values'> { | ||
| values: LuvioValueNode[]; | ||
| } | ||
| export interface LuvioObjectValueNode extends Omit<ObjectValueNode, 'loc' | 'fields'> { | ||
| fields: { | ||
| [name: string]: LuvioValueNode; | ||
| }; | ||
| } | ||
| export interface LuvioDirectiveNode extends Omit<DirectiveNode, 'loc' | 'name' | 'arguments'> { | ||
| name: string; | ||
| arguments?: LuvioArgumentNode[]; | ||
| } | ||
| export type LuvioTypeNode = LuvioNamedTypeNode | LuvioListTypeNode | LuvioNonNullTypeNode; | ||
| export interface LuvioNamedTypeNode extends Omit<NamedTypeNode, 'loc' | 'name'> { | ||
| name: string; | ||
| } | ||
| export interface LuvioListTypeNode extends Omit<ListTypeNode, 'loc' | 'type'> { | ||
| type: LuvioTypeNode; | ||
| } | ||
| export interface LuvioNonNullTypeNode extends Omit<NonNullTypeNode, 'loc' | 'type'> { | ||
| type: LuvioNamedTypeNode | LuvioListTypeNode; | ||
| } | ||
| export interface LuvioSelectionScalarFieldNode extends Omit<FieldNode, 'kind' | 'loc' | 'alias' | 'name' | 'arguments' | 'directives' | 'selectionSet'> { | ||
| kind: 'ScalarFieldSelection'; | ||
| alias?: string; | ||
| name: string; | ||
| } | ||
| export interface LuvioSelectionObjectFieldNode extends Omit<FieldNode, 'kind' | 'loc' | 'alias' | 'name' | 'arguments' | 'directives' | 'selectionSet'> { | ||
| kind: 'ObjectFieldSelection'; | ||
| alias?: string; | ||
| name: string; | ||
| arguments?: LuvioArgumentNode[]; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections?: LuvioSelectionNode[]; | ||
| } | ||
| export interface LuvioSelectionCustomFieldNode extends Omit<LuvioSelectionObjectFieldNode, 'kind'> { | ||
| kind: 'CustomFieldSelection'; | ||
| type: string; | ||
| } | ||
| export declare function isOperationDefinitionNode(input: DefinitionNode): input is OperationDefinitionNode; | ||
| export declare function isFragmentDefinitionNode(input: DefinitionNode): input is FragmentDefinitionNode; | ||
| export declare function isNamedTypeNode(input: TypeNode): input is NamedTypeNode; | ||
| export declare function isListTypeNode(input: TypeNode): input is ListTypeNode; | ||
| export declare function isNonNullTypeNode(input: TypeNode): input is NonNullTypeNode; |
| export declare const CUSTOM_DIRECTIVE_CONNECTION = "connection"; | ||
| export declare const CUSTOM_DIRECTIVE_RESOURCE = "resource"; | ||
| export declare const NODE_KIND_CUSTOM_FIELD_SELECTION = "CustomFieldSelection"; | ||
| export declare const NODE_KIND_FIELD = "Field"; | ||
| export declare const NODE_KIND_FRAGMENT_SPREAD = "FragmentSpread"; | ||
| export declare const NODE_KIND_INLINE_FRAGMENT = "InlineFragment"; | ||
| export declare const NODE_KIND_LIST_TYPE = "ListType"; | ||
| export declare const NODE_KIND_NAMED_TYPE = "NamedType"; | ||
| export declare const NODE_KIND_NON_NULL_TYPE = "NonNullType"; | ||
| export declare const NODE_KIND_OBJECT_FIELD_SELECTION = "ObjectFieldSelection"; | ||
| export declare const NODE_KIND_SCALAR_FIELD_SELECTION = "ScalarFieldSelection"; | ||
| export declare const NODE_TYPE_CONNECTION = "Connection"; |
| import type { DirectiveNode } from 'graphql/language'; | ||
| import type { LuvioDirectiveNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: DirectiveNode, transformState: TransformState): LuvioDirectiveNode; | ||
| export declare function isCustomDirective(node: DirectiveNode): boolean; |
| import type { DocumentNode } from 'graphql/language'; | ||
| import type { LuvioDocumentNode } from './ast'; | ||
| export declare function transform(root: DocumentNode): LuvioDocumentNode; |
| import type { FieldNode } from 'graphql/language'; | ||
| import type { LuvioFieldNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: FieldNode, transformState: TransformState): LuvioFieldNode; |
| import type { FragmentSpreadNode } from 'graphql/language'; | ||
| import type { LuvioFragmentSpreadNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: FragmentSpreadNode, transformState: TransformState): LuvioFragmentSpreadNode; |
| import type { FragmentDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioFragmentDefinitionNode } from './ast'; | ||
| export declare function transform(node: FragmentDefinitionNode): LuvioFragmentDefinitionNode; |
| /** | ||
| * Exposes a tagged template literal to parse graphql operation string | ||
| * "gql" is the only publicly exposed method | ||
| * @module gql | ||
| */ | ||
| import type { DefinitionNode, DocumentNode } from 'graphql/language'; | ||
| export type AstResolver = (astReference: any) => DocumentNode | undefined; | ||
| /** | ||
| * we should look into optimizing this before it turns into a memory hog | ||
| * weakmaps, or limiting the size of the cache, or something | ||
| */ | ||
| export declare const docMap: Map<string, DocumentNode>; | ||
| /** | ||
| * Opaque reference map to return keys to userland | ||
| * As a user shouldn't have access to the Document | ||
| */ | ||
| export declare const referenceMap: WeakMap<Object, DocumentNode>; | ||
| /** | ||
| * Returns document node if cached or else update the cache and return the document node | ||
| * @param inputString - operation string | ||
| * @returns DocumentNode | ||
| */ | ||
| export declare function parseDocument(inputString: string): DocumentNode | null; | ||
| export declare function updateReferenceMapWithKnownKey(doc: DocumentNode, key: object): void; | ||
| export declare function updateReferenceMapAndGetKey(doc: DocumentNode): object; | ||
| /** | ||
| * Insert string and fragment substitutions with the actual nodes | ||
| * @param inputString | ||
| * @param substitutions - string | fragment DocumentNode | ||
| * @returns { operation string, fragment docs [] } | ||
| */ | ||
| export declare function processSubstitutions(inputString: ReadonlyArray<string>, substitutions: (string | object)[]): { | ||
| operationString: string; | ||
| fragments: DefinitionNode[]; | ||
| } | null; | ||
| /** | ||
| * | ||
| * @param astReference - ast reference passed from user land | ||
| */ | ||
| export declare const astResolver: AstResolver; | ||
| /** | ||
| * | ||
| * @param literals - operation query string | ||
| * @param subs - all other substitutions | ||
| * @returns an opaque reference to the parsed document | ||
| */ | ||
| export declare function gql(literals: ReadonlyArray<string> | string, ...subs: (string | object)[]): object | null; |
| import type { InlineFragmentNode } from 'graphql/language'; | ||
| import type { LuvioInlineFragmentNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: InlineFragmentNode, transformState: TransformState): LuvioInlineFragmentNode; |
| import { GraphQLSchema, GraphQLScalarType, execute, buildSchema, extendSchema, getNamedType, isObjectType, validateSchema, NameNode, GraphQLError, ObjectValueNode, defaultFieldResolver, type ASTNode, type DefinitionNode } from 'graphql'; | ||
| import { buildASTSchema } from 'graphql/utilities'; | ||
| import { LuvioDocumentNode, LuvioArgumentNode, LuvioDefinitionNode, LuvioObjectValueNode, LuvioOperationDefinitionNode, LuvioSelectionCustomFieldNode, LuvioSelectionNode, LuvioSelectionObjectFieldNode, LuvioSelectionScalarFieldNode, LuvioValueNode, LuvioFieldNode, LuvioVariableDefinitionNode, LuvioVariableNode, LuvioNamedTypeNode, LuvioListTypeNode, LuvioListValueNode, LuvioTypeNode } from './ast'; | ||
| export type { GraphQLObjectType, GraphQLInterfaceType, GraphQLDirective, GraphQLUnionType, GraphQLNamedType, } from 'graphql/type'; | ||
| export type { ListTypeNode, BooleanValueNode, EnumTypeDefinitionNode, FieldDefinitionNode, FloatValueNode, InterfaceTypeDefinitionNode, IntValueNode, NamedTypeNode, ObjectTypeDefinitionNode, StringValueNode, TypeNode, UnionTypeDefinitionNode, DocumentNode, OperationDefinitionNode, FieldNode, ArgumentNode, ValueNode, SelectionNode, SelectionSetNode, FragmentDefinitionNode, DirectiveNode, ObjectFieldNode, ScalarTypeDefinitionNode, InputObjectTypeDefinitionNode, InlineFragmentNode, FragmentSpreadNode, VariableDefinitionNode, ListValueNode, VariableNode, } from 'graphql/language'; | ||
| export { ASTVisitor, parse, Kind, print, visit } from 'graphql/language'; | ||
| export { isScalarType } from 'graphql/type'; | ||
| export { stripIgnoredCharacters } from 'graphql/utilities'; | ||
| export { gql, astResolver } from './gql'; | ||
| export type { AstResolver } from './gql'; | ||
| /** | ||
| * @deprecated - Schema-backed adapters will use standard graphql types re-exported from @luvio/graphql | ||
| */ | ||
| export { LuvioDocumentNode, LuvioArgumentNode, LuvioDefinitionNode, LuvioObjectValueNode, LuvioOperationDefinitionNode, LuvioSelectionCustomFieldNode, LuvioSelectionNode, LuvioSelectionObjectFieldNode, LuvioSelectionScalarFieldNode, LuvioValueNode, LuvioFieldNode, LuvioVariableDefinitionNode, LuvioVariableNode, LuvioNamedTypeNode, LuvioListTypeNode, LuvioListValueNode, LuvioTypeNode, GraphQLSchema, GraphQLScalarType, NameNode, GraphQLError, ASTNode, DefinitionNode, ObjectValueNode, buildASTSchema, execute, buildSchema, extendSchema, getNamedType, isObjectType, validateSchema, defaultFieldResolver, }; | ||
| /** | ||
| * @deprecated In favor of gql tagged template literal | ||
| */ | ||
| export declare function parseAndVisit(source: string): LuvioDocumentNode; |
| /** | ||
| * Add metaschema annotations to their corresponding custom notation counterparts | ||
| * @module metaschemaMapper | ||
| */ | ||
| import type { DocumentNode } from 'graphql/language'; | ||
| /** | ||
| * Accepts a document node and replaces the legacy custom directives with metaschema directives "in-place" | ||
| * @param doc | ||
| */ | ||
| export declare function metaschemaMapper(doc: DocumentNode): void; |
| import type { OperationDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioOperationDefinitionNode } from '../ast'; | ||
| export declare function transform(node: OperationDefinitionNode): LuvioOperationDefinitionNode; |
| import type { OperationDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioOperationDefinitionNode } from '../../ast'; | ||
| export interface TransformState { | ||
| variablesUsed: Record<string, true>; | ||
| } | ||
| export declare function transform(node: OperationDefinitionNode): LuvioOperationDefinitionNode; |
| import type { TypeNode } from 'graphql/language'; | ||
| import type { LuvioTypeNode } from './ast'; | ||
| export declare function transform(node: TypeNode): LuvioTypeNode; |
| declare const isArray: (arg: any) => arg is any[]; | ||
| declare const create: { | ||
| (o: object | null): any; | ||
| (o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any; | ||
| }, keys: { | ||
| (o: object): string[]; | ||
| (o: {}): string[]; | ||
| }; | ||
| export { isArray as ArrayIsArray, keys as ObjectKeys, create as ObjectCreate, }; |
| import type { ValueNode } from 'graphql/language'; | ||
| import type { LuvioValueNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: ValueNode, transformState: TransformState): LuvioValueNode; |
| import type { VariableDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioVariableDefinitionNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(variableDefinitions: VariableDefinitionNode, transformState: TransformState): LuvioVariableDefinitionNode; |
| import type { ASTNode } from 'graphql/language'; | ||
| import type { LuvioSelectionNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function selectionSetVisitor(ast: ASTNode, luvioSelectionPath: LuvioSelectionNode[], transformState: TransformState): void; |
Sorry, the diff of this file is too big to display
| import type { ArgumentNode } from 'graphql/language'; | ||
| import type { LuvioArgumentNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: ArgumentNode, transformState: TransformState): LuvioArgumentNode; |
| import type { DocumentNode, OperationDefinitionNode, FieldNode, ArgumentNode, IntValueNode, ListValueNode, ObjectValueNode, FloatValueNode, StringValueNode, BooleanValueNode, NullValueNode, EnumValueNode, VariableNode, DirectiveNode, VariableDefinitionNode, NonNullTypeNode, ListTypeNode, NamedTypeNode, FragmentSpreadNode, InlineFragmentNode, FragmentDefinitionNode, DefinitionNode, TypeNode } from 'graphql/language'; | ||
| /** | ||
| * Luvio specific custom GraphQL AST | ||
| * | ||
| * - Omit Location | ||
| * - flatten NameNode for easier value access | ||
| * - Add luvioSelections for custom selections | ||
| * - LuvioSelectionCustomFieldNode for fields with custom client side directives | ||
| */ | ||
| export interface LuvioDocumentNode extends Omit<DocumentNode, 'loc' | 'definitions'> { | ||
| definitions: LuvioDefinitionNode[]; | ||
| } | ||
| export type LuvioDefinitionNode = LuvioOperationDefinitionNode | LuvioFragmentDefinitionNode; | ||
| export interface LuvioOperationDefinitionNode extends Omit<OperationDefinitionNode, 'loc' | 'name' | 'variableDefinitions' | 'directives' | 'selectionSet'> { | ||
| name?: string; | ||
| variableDefinitions?: LuvioVariableDefinitionNode[]; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections: LuvioSelectionNode[]; | ||
| } | ||
| export interface LuvioVariableDefinitionNode extends Omit<VariableDefinitionNode, 'loc' | 'variable' | 'type' | 'defaultValue' | 'directives'> { | ||
| variable: LuvioVariableNode; | ||
| type: LuvioTypeNode; | ||
| defaultValue?: LuvioValueNode; | ||
| directives?: LuvioDirectiveNode[]; | ||
| } | ||
| export interface LuvioVariableNode extends Omit<VariableNode, 'loc' | 'name'> { | ||
| name: string; | ||
| } | ||
| export type LuvioSelectionNode = LuvioFieldNode | LuvioFragmentSpreadNode | LuvioInlineFragmentNode; | ||
| export type LuvioFieldNode = LuvioSelectionScalarFieldNode | LuvioSelectionObjectFieldNode | LuvioSelectionCustomFieldNode; | ||
| export interface LuvioArgumentNode extends Omit<ArgumentNode, 'loc' | 'name' | 'value'> { | ||
| name: string; | ||
| value: LuvioValueNode; | ||
| } | ||
| export interface LuvioFragmentSpreadNode extends Omit<FragmentSpreadNode, 'loc' | 'name' | 'directives'> { | ||
| name: string; | ||
| directives?: LuvioDirectiveNode[]; | ||
| } | ||
| export interface LuvioInlineFragmentNode extends Omit<InlineFragmentNode, 'loc' | 'typeCondition' | 'directives' | 'selectionSet'> { | ||
| typeCondition?: LuvioNamedTypeNode; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections: LuvioSelectionNode[]; | ||
| } | ||
| export interface LuvioFragmentDefinitionNode extends Omit<FragmentDefinitionNode, 'loc' | 'name' | 'variableDefinitions' | 'typeCondition' | 'directives' | 'selectionSet'> { | ||
| name: string; | ||
| variableDefinitions?: LuvioVariableDefinitionNode[]; | ||
| typeCondition: LuvioNamedTypeNode; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections: LuvioSelectionNode[]; | ||
| } | ||
| export type LuvioValueNode = LuvioVariableNode | IntValueNode | FloatValueNode | StringValueNode | BooleanValueNode | NullValueNode | EnumValueNode | LuvioListValueNode | LuvioObjectValueNode; | ||
| export interface LuvioListValueNode extends Omit<ListValueNode, 'loc' | 'values'> { | ||
| values: LuvioValueNode[]; | ||
| } | ||
| export interface LuvioObjectValueNode extends Omit<ObjectValueNode, 'loc' | 'fields'> { | ||
| fields: { | ||
| [name: string]: LuvioValueNode; | ||
| }; | ||
| } | ||
| export interface LuvioDirectiveNode extends Omit<DirectiveNode, 'loc' | 'name' | 'arguments'> { | ||
| name: string; | ||
| arguments?: LuvioArgumentNode[]; | ||
| } | ||
| export type LuvioTypeNode = LuvioNamedTypeNode | LuvioListTypeNode | LuvioNonNullTypeNode; | ||
| export interface LuvioNamedTypeNode extends Omit<NamedTypeNode, 'loc' | 'name'> { | ||
| name: string; | ||
| } | ||
| export interface LuvioListTypeNode extends Omit<ListTypeNode, 'loc' | 'type'> { | ||
| type: LuvioTypeNode; | ||
| } | ||
| export interface LuvioNonNullTypeNode extends Omit<NonNullTypeNode, 'loc' | 'type'> { | ||
| type: LuvioNamedTypeNode | LuvioListTypeNode; | ||
| } | ||
| export interface LuvioSelectionScalarFieldNode extends Omit<FieldNode, 'kind' | 'loc' | 'alias' | 'name' | 'arguments' | 'directives' | 'selectionSet'> { | ||
| kind: 'ScalarFieldSelection'; | ||
| alias?: string; | ||
| name: string; | ||
| } | ||
| export interface LuvioSelectionObjectFieldNode extends Omit<FieldNode, 'kind' | 'loc' | 'alias' | 'name' | 'arguments' | 'directives' | 'selectionSet'> { | ||
| kind: 'ObjectFieldSelection'; | ||
| alias?: string; | ||
| name: string; | ||
| arguments?: LuvioArgumentNode[]; | ||
| directives?: LuvioDirectiveNode[]; | ||
| luvioSelections?: LuvioSelectionNode[]; | ||
| } | ||
| export interface LuvioSelectionCustomFieldNode extends Omit<LuvioSelectionObjectFieldNode, 'kind'> { | ||
| kind: 'CustomFieldSelection'; | ||
| type: string; | ||
| } | ||
| export declare function isOperationDefinitionNode(input: DefinitionNode): input is OperationDefinitionNode; | ||
| export declare function isFragmentDefinitionNode(input: DefinitionNode): input is FragmentDefinitionNode; | ||
| export declare function isNamedTypeNode(input: TypeNode): input is NamedTypeNode; | ||
| export declare function isListTypeNode(input: TypeNode): input is ListTypeNode; | ||
| export declare function isNonNullTypeNode(input: TypeNode): input is NonNullTypeNode; |
| export declare const CUSTOM_DIRECTIVE_CONNECTION = "connection"; | ||
| export declare const CUSTOM_DIRECTIVE_RESOURCE = "resource"; | ||
| export declare const NODE_KIND_CUSTOM_FIELD_SELECTION = "CustomFieldSelection"; | ||
| export declare const NODE_KIND_FIELD = "Field"; | ||
| export declare const NODE_KIND_FRAGMENT_SPREAD = "FragmentSpread"; | ||
| export declare const NODE_KIND_INLINE_FRAGMENT = "InlineFragment"; | ||
| export declare const NODE_KIND_LIST_TYPE = "ListType"; | ||
| export declare const NODE_KIND_NAMED_TYPE = "NamedType"; | ||
| export declare const NODE_KIND_NON_NULL_TYPE = "NonNullType"; | ||
| export declare const NODE_KIND_OBJECT_FIELD_SELECTION = "ObjectFieldSelection"; | ||
| export declare const NODE_KIND_SCALAR_FIELD_SELECTION = "ScalarFieldSelection"; | ||
| export declare const NODE_TYPE_CONNECTION = "Connection"; |
| import type { DirectiveNode } from 'graphql/language'; | ||
| import type { LuvioDirectiveNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: DirectiveNode, transformState: TransformState): LuvioDirectiveNode; | ||
| export declare function isCustomDirective(node: DirectiveNode): boolean; |
| import type { DocumentNode } from 'graphql/language'; | ||
| import type { LuvioDocumentNode } from './ast'; | ||
| export declare function transform(root: DocumentNode): LuvioDocumentNode; |
| import type { FieldNode } from 'graphql/language'; | ||
| import type { LuvioFieldNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: FieldNode, transformState: TransformState): LuvioFieldNode; |
| import type { FragmentSpreadNode } from 'graphql/language'; | ||
| import type { LuvioFragmentSpreadNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: FragmentSpreadNode, transformState: TransformState): LuvioFragmentSpreadNode; |
| import type { FragmentDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioFragmentDefinitionNode } from './ast'; | ||
| export declare function transform(node: FragmentDefinitionNode): LuvioFragmentDefinitionNode; |
| /** | ||
| * Exposes a tagged template literal to parse graphql operation string | ||
| * "gql" is the only publicly exposed method | ||
| * @module gql | ||
| */ | ||
| import type { DefinitionNode, DocumentNode } from 'graphql/language'; | ||
| export type AstResolver = (astReference: any) => DocumentNode | undefined; | ||
| /** | ||
| * we should look into optimizing this before it turns into a memory hog | ||
| * weakmaps, or limiting the size of the cache, or something | ||
| */ | ||
| export declare const docMap: Map<string, DocumentNode>; | ||
| /** | ||
| * Opaque reference map to return keys to userland | ||
| * As a user shouldn't have access to the Document | ||
| */ | ||
| export declare const referenceMap: WeakMap<Object, DocumentNode>; | ||
| /** | ||
| * Returns document node if cached or else update the cache and return the document node | ||
| * @param inputString - operation string | ||
| * @returns DocumentNode | ||
| */ | ||
| export declare function parseDocument(inputString: string): DocumentNode | null; | ||
| export declare function updateReferenceMapWithKnownKey(doc: DocumentNode, key: object): void; | ||
| export declare function updateReferenceMapAndGetKey(doc: DocumentNode): object; | ||
| /** | ||
| * Insert string and fragment substitutions with the actual nodes | ||
| * @param inputString | ||
| * @param substitutions - string | fragment DocumentNode | ||
| * @returns { operation string, fragment docs [] } | ||
| */ | ||
| export declare function processSubstitutions(inputString: ReadonlyArray<string>, substitutions: (string | object)[]): { | ||
| operationString: string; | ||
| fragments: DefinitionNode[]; | ||
| } | null; | ||
| /** | ||
| * | ||
| * @param astReference - ast reference passed from user land | ||
| */ | ||
| export declare const astResolver: AstResolver; | ||
| /** | ||
| * | ||
| * @param literals - operation query string | ||
| * @param subs - all other substitutions | ||
| * @returns an opaque reference to the parsed document | ||
| */ | ||
| export declare function gql(literals: ReadonlyArray<string> | string, ...subs: (string | object)[]): object | null; |
| import type { InlineFragmentNode } from 'graphql/language'; | ||
| import type { LuvioInlineFragmentNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: InlineFragmentNode, transformState: TransformState): LuvioInlineFragmentNode; |
| import { GraphQLSchema, GraphQLScalarType, execute, buildSchema, extendSchema, getNamedType, isObjectType, validateSchema, NameNode, GraphQLError, ObjectValueNode, defaultFieldResolver, type ASTNode, type DefinitionNode } from 'graphql'; | ||
| import { buildASTSchema } from 'graphql/utilities'; | ||
| import { LuvioDocumentNode, LuvioArgumentNode, LuvioDefinitionNode, LuvioObjectValueNode, LuvioOperationDefinitionNode, LuvioSelectionCustomFieldNode, LuvioSelectionNode, LuvioSelectionObjectFieldNode, LuvioSelectionScalarFieldNode, LuvioValueNode, LuvioFieldNode, LuvioVariableDefinitionNode, LuvioVariableNode, LuvioNamedTypeNode, LuvioListTypeNode, LuvioListValueNode, LuvioTypeNode } from './ast'; | ||
| export type { GraphQLObjectType, GraphQLInterfaceType, GraphQLDirective, GraphQLUnionType, GraphQLNamedType, } from 'graphql/type'; | ||
| export type { ListTypeNode, BooleanValueNode, EnumTypeDefinitionNode, FieldDefinitionNode, FloatValueNode, InterfaceTypeDefinitionNode, IntValueNode, NamedTypeNode, ObjectTypeDefinitionNode, StringValueNode, TypeNode, UnionTypeDefinitionNode, DocumentNode, OperationDefinitionNode, FieldNode, ArgumentNode, ValueNode, SelectionNode, SelectionSetNode, FragmentDefinitionNode, DirectiveNode, ObjectFieldNode, ScalarTypeDefinitionNode, InputObjectTypeDefinitionNode, InlineFragmentNode, FragmentSpreadNode, VariableDefinitionNode, ListValueNode, VariableNode, } from 'graphql/language'; | ||
| export { ASTVisitor, parse, Kind, print, visit } from 'graphql/language'; | ||
| export { isScalarType } from 'graphql/type'; | ||
| export { stripIgnoredCharacters } from 'graphql/utilities'; | ||
| export { gql, astResolver } from './gql'; | ||
| export type { AstResolver } from './gql'; | ||
| /** | ||
| * @deprecated - Schema-backed adapters will use standard graphql types re-exported from @luvio/graphql | ||
| */ | ||
| export { LuvioDocumentNode, LuvioArgumentNode, LuvioDefinitionNode, LuvioObjectValueNode, LuvioOperationDefinitionNode, LuvioSelectionCustomFieldNode, LuvioSelectionNode, LuvioSelectionObjectFieldNode, LuvioSelectionScalarFieldNode, LuvioValueNode, LuvioFieldNode, LuvioVariableDefinitionNode, LuvioVariableNode, LuvioNamedTypeNode, LuvioListTypeNode, LuvioListValueNode, LuvioTypeNode, GraphQLSchema, GraphQLScalarType, NameNode, GraphQLError, ASTNode, DefinitionNode, ObjectValueNode, buildASTSchema, execute, buildSchema, extendSchema, getNamedType, isObjectType, validateSchema, defaultFieldResolver, }; | ||
| /** | ||
| * @deprecated In favor of gql tagged template literal | ||
| */ | ||
| export declare function parseAndVisit(source: string): LuvioDocumentNode; |
| /** | ||
| * Add metaschema annotations to their corresponding custom notation counterparts | ||
| * @module metaschemaMapper | ||
| */ | ||
| import type { DocumentNode } from 'graphql/language'; | ||
| /** | ||
| * Accepts a document node and replaces the legacy custom directives with metaschema directives "in-place" | ||
| * @param doc | ||
| */ | ||
| export declare function metaschemaMapper(doc: DocumentNode): void; |
| import type { OperationDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioOperationDefinitionNode } from '../ast'; | ||
| export declare function transform(node: OperationDefinitionNode): LuvioOperationDefinitionNode; |
| import type { OperationDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioOperationDefinitionNode } from '../../ast'; | ||
| export interface TransformState { | ||
| variablesUsed: Record<string, true>; | ||
| } | ||
| export declare function transform(node: OperationDefinitionNode): LuvioOperationDefinitionNode; |
| import type { TypeNode } from 'graphql/language'; | ||
| import type { LuvioTypeNode } from './ast'; | ||
| export declare function transform(node: TypeNode): LuvioTypeNode; |
| declare const isArray: (arg: any) => arg is any[]; | ||
| declare const create: { | ||
| (o: object | null): any; | ||
| (o: object | null, properties: PropertyDescriptorMap & ThisType<any>): any; | ||
| }, keys: { | ||
| (o: object): string[]; | ||
| (o: {}): string[]; | ||
| }; | ||
| export { isArray as ArrayIsArray, keys as ObjectKeys, create as ObjectCreate, }; |
| import type { ValueNode } from 'graphql/language'; | ||
| import type { LuvioValueNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(node: ValueNode, transformState: TransformState): LuvioValueNode; |
| import type { VariableDefinitionNode } from 'graphql/language'; | ||
| import type { LuvioVariableDefinitionNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function transform(variableDefinitions: VariableDefinitionNode, transformState: TransformState): LuvioVariableDefinitionNode; |
| import type { ASTNode } from 'graphql/language'; | ||
| import type { LuvioSelectionNode } from './ast'; | ||
| import type { TransformState } from './operation/query'; | ||
| export declare function selectionSetVisitor(ast: ASTNode, luvioSelectionPath: LuvioSelectionNode[], transformState: TransformState): void; |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1
-50%7
-63.16%Yes
NaN240597
-68.89%10
-75.61%2694
-86.49%1
Infinity%+ Added
- Removed
Updated