@deepkit/bson
Version:
Deepkit BSON parser
34 lines (33 loc) • 2.73 kB
TypeScript
import { EmbeddedOptions, TemplateState, Type, TypeClass, TypeGuardRegistry, TypeLiteral, TypeObjectLiteral, TypeTemplateLiteral, TypeTuple, TypeUnion } from '@deepkit/type';
import { BSONType } from './utils';
export declare function deserializeBinary(type: Type, state: TemplateState): void;
export declare function deserializeAny(type: Type, state: TemplateState): void;
export declare function deserializeNumber(type: Type, state: TemplateState): void;
export declare function deserializeBigInt(type: Type, state: TemplateState): void;
export declare function deserializeString(type: Type, state: TemplateState): void;
export declare function deserializeLiteral(type: TypeLiteral, state: TemplateState): void;
export declare function deserializeTemplateLiteral(type: TypeTemplateLiteral, state: TemplateState): void;
export declare function deserializeNull(type: Type, state: TemplateState): void;
export declare function deserializeUndefined(type: Type, state: TemplateState): void;
export declare function deserializeBoolean(type: Type, state: TemplateState): void;
export declare function deserializeDate(type: Type, state: TemplateState): void;
export declare function deserializeRegExp(type: Type, state: TemplateState): void;
export declare function deserializeUnion(bsonTypeGuards: TypeGuardRegistry, type: TypeUnion, state: TemplateState): void;
export declare function bsonTypeGuardUnion(bsonTypeGuards: TypeGuardRegistry, type: TypeUnion, state: TemplateState): void;
export declare function deserializeTuple(type: TypeTuple, state: TemplateState): void;
export declare function bsonTypeGuardTuple(type: TypeTuple, state: TemplateState): void;
export declare function deserializeArray(elementType: Type, state: TemplateState): void;
/**
* This array type guard goes through all array elements in order to determine the correct type.
* This is only necessary when a union has at least 2 array members, otherwise a simple array check is enough.
*/
export declare function bsonTypeGuardArray(elementType: Type, state: TemplateState): void;
export declare function getEmbeddedClassesForProperty(type: Type): {
type: TypeClass;
options: EmbeddedOptions;
}[];
export declare function deserializeObjectLiteral(type: TypeClass | TypeObjectLiteral, state: TemplateState): void;
export declare function bsonTypeGuardObjectLiteral(type: TypeClass | TypeObjectLiteral, state: TemplateState): void;
export declare function bsonTypeGuardForBsonTypes(types: BSONType[]): (type: Type, state: TemplateState) => void;
export declare function bsonTypeGuardLiteral(type: TypeLiteral, state: TemplateState): void;
export declare function bsonTypeGuardTemplateLiteral(type: TypeTemplateLiteral, state: TemplateState): void;