airship-server
Version:
Airship is a framework for Node.JS & TypeScript that helps you to write big, scalable and maintainable API servers.
22 lines (21 loc) • 1.27 kB
TypeScript
import 'reflect-metadata';
import { Type } from "../codeGen/domain/types/Type";
import ClassScheme from "../codeGen/domain/schema/ClassScheme";
export declare const SerializableKey = "SerializableKey";
export declare const SerializableKeys = "SerializableKeys";
export declare const SerializableTypes = "SerializableTypes";
export declare const SerializableArrayTypes = "SerializableArrayTypes";
export declare function serializable(name?: string, arrayType?: Function, isAny?: boolean): (target: Object, propertyKey: string) => void;
export interface ISerializable {
}
export declare abstract class BaseSerializer {
static serialize(entity: ISerializable): Object;
static deserialize<T extends ISerializable>(serializableType: ISerializable & Function, raw: {
[key: string]: any;
}, valuePath?: string[]): T;
static getClassScheme(serializableType: ISerializable & Function): ClassScheme;
static getClassDependencies(serializableType: ISerializable & Function): (ISerializable & Function)[];
protected static isSerializableObject(object: Function): boolean;
protected static getType(propType: any, arrayType?: any): Type;
protected static checkType(prop: string, value: any, expectedType: any, isSerializable: boolean): void;
}