Class ParserHelperBase<Rules>Abstract

Type Parameters

Hierarchy

  • ParserHelperBase

Constructors

Properties

Methods

Constructors

  • Creates an instance of parser helper base.

    Type Parameters

    Parameters

    • Optional parsers: InstanceType<Rules[number]["parserType"]>[]

    Returns ParserHelperBase<Rules>

Properties

parserRules: Map<Object, Set<DataParserBase<any>>> = ...

parser rules that is registed to the helper

Methods

  • get data from parser

    Returns

    data matched propertyNames

    Type Parameters

    • T extends Object

    • U extends Extract<keyof TargetDataType<Rules, T>, string>[]

    Parameters

    • value: T

      input value

    • Rest ...propertyNames: U

      property names,can be null

    Returns U extends [] ? TargetDataType<Rules, T> : Pick<TargetDataType<Rules, T>, U[number]>

  • get parser by input value type

    Returns

    matched parser

    Type Parameters

    Parameters

    • value: T

      input value

    • Optional parserType: ConstructorType<U>

      can set parserType manually

    Returns U extends undefined ? InstanceType<GetParserByRules<Rules, T>["parserType"]> : Extract<InstanceType<GetParserByRules<Rules, T>["parserType"]>, U>

  • set data by parser

    Type Parameters

    • T extends Object

    Parameters

    • value: T

      input value

    • partialTargetData: Partial<TargetDataType<Rules, T>>

      propertyName-propertyValue key pairs

    • Optional extras: { callback?: (() => void); exData?: any }

      extras data,which is helpful when we want to do something else after the property is been set

      • Optional callback?: (() => void)
          • (): void
          • Returns void

      • Optional exData?: any

    Returns void