@edirect/template
Version:
`@edirect/template` is a flexible library for transforming payloads based on declarative templates. It supports mapping fields, applying custom transformers, setting default values, handling nested objects, and working with arrays.
27 lines • 1.51 kB
TypeScript
import { ITemplateModule, ITemplateOptions, ITransformer } from './interfaces';
export declare class TemplateModule implements ITemplateModule {
private context;
private template;
private transformers;
private options;
setContext(context: Record<string, unknown>): void;
setTemplate(template: Record<string, unknown>): void;
setTransformers(transformers: ITransformer): void;
setOptions(options: ITemplateOptions): void;
verifyTransformer(transformer: ITransformer, methodName: string): boolean;
runTransformer(transformer: string, value?: unknown): unknown | null;
runTransformerWithParams(transformer: string, params: unknown[], value?: unknown): unknown | null;
setValueByCondition<U>(object: U, key: string, value: unknown, allowNull?: boolean): 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: unknown, allowNull?: boolean): boolean;
containsVar(value: string): boolean;
getVarOnConst(varName: string, context: object): unknown;
simpleValueToObject(value: unknown): Record<string, unknown>;
transformPayload<T>(dataSource: object, template?: Record<string, unknown>, rootData?: object): T;
private applySequentialTransformers;
}
//# sourceMappingURL=index.d.ts.map