UNPKG

@edirect/template

Version:
41 lines (40 loc) 1.57 kB
export interface ITransformerParams { context?: any; value?: any; } export interface ITransformer { [x: string]: ({ context, value }: ITransformerParams, ...params: any) => any; } export interface IDynamicArrayMapper { arraySource: string; arrayTemplate: Record<string, unknown>; ignoreIndexs?: number[]; simpleArray?: boolean; } export interface ITransformerDefinition { fields?: string[]; transformer: string; transformerParams?: any[]; defaultValue?: any; allowNull?: boolean; } export interface ITemplateOptions { omitEmptyFields?: boolean; } export type TransformerElement = ITransformerDefinition | IDynamicArrayMapper; export interface ITemplateModule { setContext(context: Record<string, unknown>): void; setTemplate(template: Record<string, unknown>): void; setTransformers(transformers: ITransformer): void; setOptions(settings: ITemplateOptions): void; verifyTransformer(transformer: ITransformer, methodName: string): boolean; runTransformer(transformer: string, value?: unknown): unknown | null; setValueByCondition<U>(object: U, key: string, value: unknown): U; isTransformer(object: Record<string, unknown>): boolean; isTransformers(object: Record<string, unknown>): boolean; isStaticArrayMapper(object: Record<string, unknown>): boolean; isDynamicArrayMapper(object: Record<string, unknown>): boolean; isValidObject(object: object): boolean; checkValue(value: any): boolean; transformPayload<T>(obj: object, template?: Record<string, unknown>): T; }