@triviality/serializer
Version:
Typescript serializer with an interface
18 lines (17 loc) • 641 B
TypeScript
import 'reflect-metadata';
import { ClassConstructor } from './ClassConstructor';
export interface SerializeMetadata<T> {
normalize?: keyof T;
deNormalize?: keyof ClassConstructor<T>;
}
export declare function getSerializerMetadata<T>(constructor: ClassConstructor<T>): SerializeMetadata<T>;
/**
* Decorator function for object to normalize it.
*/
export declare function Normalize<T>(target: {
constructor: ClassConstructor<T>;
} | any, functionName: keyof T): void;
/**
* Decorator static function to de-normalize it.
*/
export declare function DeNormalize<T>(constructor: ClassConstructor<T>, functionName: string): void;