UNPKG

core-types

Version:

Generic type declarations for e.g. TypeScript, GraphQL and JSON Schema

22 lines (21 loc) 1.13 kB
import type { NamedType, NodeDocument, NodeType } from './types.js'; export interface SimplifyOptions { /** * If true, and-types of objects are merged into one type. * This will also include ref-types that reference objects, they will all be * merged into one object. * * @default false */ mergeObjects?: boolean; } export declare function simplify<T extends NamedType>(node: T, options?: SimplifyOptions): NamedType; export declare function simplify<T extends NamedType>(node: Array<T>, options?: SimplifyOptions): Array<NamedType>; export declare function simplify<T extends NodeType>(node: T, options?: SimplifyOptions): NodeType; export declare function simplify<T extends NodeType>(node: Array<T>, options?: SimplifyOptions): NodeType; export declare function simplify<T extends NodeType>(node: NodeDocument<1, T>, options?: SimplifyOptions): NodeDocument<1, NodeType>; interface SimplifyContext { refs: Map<string, NodeType>; } export declare function simplifyImpl<Type extends NodeType | NamedType>(node: Type, ctx: Required<SimplifyOptions> & SimplifyContext): Type; export {};