@codemask-labs/nestjs-mongodb
Version:
Nestjs Mongodb Module
22 lines (21 loc) • 1.92 kB
TypeScript
import { IndexDescription, IndexDescriptionInfo } from 'mongodb';
import { Class, DataSourceOptions, EntityColumn, EntityColumnTypes, EntityColumnValidator, EntityIndex, EntityMetadata, MixedList, MongoJsonSchema } from './types';
import { BSONType } from './enums';
export declare const isDataSourceOptions: (object: any) => object is DataSourceOptions;
export declare const isEmpty: (value: any) => boolean;
export declare const getClientToken: (connectionName?: string) => string;
export declare const getDataSourceToken: (connectionName?: string) => string;
export declare const getCollectionToken: (entity: Class, connectionName?: string) => string;
export declare const getEntityMetadata: <T>(entity: Class<T>) => EntityMetadata;
export declare const getConnectionString: (options: DataSourceOptions) => string;
export declare const getDefaultDataSourceOptions: (options: DataSourceOptions) => DataSourceOptions;
export declare const getEntitiesFromMixedList: (mixedList?: MixedList<Class>) => Array<Class>;
export declare const getBsonType: (type: EntityColumnTypes) => BSONType;
export declare const getPropertyValidator: (column: EntityColumn) => EntityColumnValidator;
export declare const getObjectValidator: (columns: Array<EntityColumn>) => EntityColumnValidator;
export declare const getEntitySchemaValidator: (columns: Array<EntityColumn>) => MongoJsonSchema;
export declare const getIndexNameFromKey: (key: string) => string;
export declare const mergeObjectAndArray: (left: any, right: any) => any;
export declare const getEntityIndexes: (metadata: EntityMetadata, stackedKeys?: Array<string>) => Record<string, EntityIndex>;
export declare const getEntityIndexDescriptions: (entityIndexes: Record<string, EntityIndex>) => Array<IndexDescription>;
export declare const getEntityDropIndexNames: (currentIndexDescriptions: Array<IndexDescriptionInfo>, entityIndexes: Record<string, EntityIndex>) => string[];