UNPKG

typia

Version:

Superfast runtime validators with only one line

38 lines (37 loc) 2.47 kB
import ts from "typescript"; import { Metadata } from "../../schemas/metadata/Metadata"; import { MetadataArray } from "../../schemas/metadata/MetadataArray"; import { MetadataObject } from "../../schemas/metadata/MetadataObject"; import { MetadataTuple } from "../../schemas/metadata/MetadataTuple"; import { FeatureProgrammer } from "../FeatureProgrammer"; import { check_union_array_like } from "../internal/check_union_array_like"; export declare namespace UnionExplorer { interface Decoder<T> { (input: ts.Expression, target: T, explore: FeatureProgrammer.IExplore): ts.Expression; } type ObjectCombiner = Decoder<MetadataObject[]>; const object: (config: FeatureProgrammer.IConfig, level?: number) => (input: ts.Expression, targets: MetadataObject[], explore: FeatureProgrammer.IExplore) => ts.Expression; const tuple: (props: check_union_array_like.IProps<MetadataTuple, MetadataTuple>) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: MetadataTuple[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction; namespace tuple { type IProps = check_union_array_like.IProps<MetadataTuple, MetadataTuple>; } const array: (props: array.IProps) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: MetadataArray[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction; namespace array { type IProps = check_union_array_like.IProps<MetadataArray, Metadata>; } const array_or_tuple: (props: array_or_tuple.IProps) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: (MetadataArray | MetadataTuple)[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction; namespace array_or_tuple { type IProps = check_union_array_like.IProps<MetadataArray | MetadataTuple, Metadata>; } const set: (props: set.IProps) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: Metadata[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction; namespace set { type IProps = check_union_array_like.IProps<MetadataArray, Metadata>; } const map: (props: map.IProps) => (parameters: ts.ParameterDeclaration[]) => (input: ts.Expression, origins: Metadata.Entry[], explore: FeatureProgrammer.IExplore) => ts.ArrowFunction; namespace map { type IProps = check_union_array_like.IProps<MetadataArray, [ Metadata, Metadata ]>; } }