UNPKG

@msom/http

Version:

@msom/http

44 lines 2.02 kB
import { CollectionOptions, CreateCollectionOptions, DbOptions, Document, WithId, Collection as _Collection, Db as _Db, MongoClient as _MongoClient } from "mongodb"; export declare class MongoClient extends _MongoClient { db(dbName: string, options?: DbOptions | undefined): Db; } interface CollectionMeta { collectionName: string; relates: { relateName: string; collectionName: string; relate: "1" | "n"; description: { desc: string; }; }[]; extends: { collectionName: string; }[]; props: { prop: { name: string; type: string; }; description: { alise: string; desc: string; }; }[]; } type NotFilledCollectionMeta = Omit<Partial<CollectionMeta>, "collectionName"> & Pick<CollectionMeta, "collectionName">; export declare class Db extends _Db { private get metaCollection(); collection<TSchema extends Document = Document>(name: string, options?: CollectionOptions | undefined, meta?: NotFilledCollectionMeta): _Collection<TSchema>; createCollection<TSchema extends Document = Document>(name: string, options?: CreateCollectionOptions | undefined, meta?: NotFilledCollectionMeta): Promise<_Collection<TSchema>>; getCollectionMetaData<CName extends string | undefined, R = CName extends string ? WithId<CollectionMeta> | null : WithId<CollectionMeta>[]>(collectionName?: CName): Promise<R>; setCollectionMetaData(meta: NotFilledCollectionMeta): Promise<boolean>; private __update; updateRelates(sourceCollectionName: string, ...relates: CollectionMeta["relates"]): Promise<boolean>; updateProps(sourceCollectionName: string, ...props: CollectionMeta["props"]): Promise<boolean>; updateExtends(sourceCollectionName: string, ..._extends: CollectionMeta["extends"]): Promise<boolean>; fillMate(meta: NotFilledCollectionMeta): CollectionMeta; private check; } export {}; //# sourceMappingURL=index.d.ts.map