@kibcode/mongodb-controllers
Advanced tools
Comparing version 1.2.0 to 1.2.1
@@ -5,2 +5,9 @@ # Changelog | ||
### [1.2.1](https://github.com/wolframdeus/mongodb-controllers/compare/v1.2.0...v1.2.1) (2021-06-07) | ||
### Bug Fixes | ||
* **types:** remake TApplyMixins ([754089a](https://github.com/wolframdeus/mongodb-controllers/commit/754089a2b4c4e7ed70c53b2957be9fe73bda4b0f)) | ||
## [1.2.0](https://github.com/wolframdeus/mongodb-controllers/compare/v1.1.6...v1.2.0) (2021-06-07) | ||
@@ -7,0 +14,0 @@ |
@@ -1,2 +0,2 @@ | ||
import { TApplyMixins, IControllerConstructor, TControllerOptions } from './types'; | ||
import { IControllerConstructor, TControllerOptions, TDefaultSchema } from './types'; | ||
/** | ||
@@ -8,2 +8,2 @@ * Creates controller class. | ||
*/ | ||
export declare function Controller<Schema extends TApplyMixins<{}, UseTimestamps, UseSoftDelete>, UseTimestamps extends boolean = false, UseSoftDelete extends boolean = false>(collectionOrOptions: TControllerOptions<Schema, UseTimestamps, UseSoftDelete>): IControllerConstructor<Schema, UseTimestamps, UseSoftDelete>; | ||
export declare function Controller<Schema extends TDefaultSchema<UseTimestamps, UseSoftDelete>, UseTimestamps extends boolean = false, UseSoftDelete extends boolean = false>(collectionOrOptions: TControllerOptions<Schema, UseTimestamps, UseSoftDelete>): IControllerConstructor<Schema, UseTimestamps, UseSoftDelete>; |
@@ -6,5 +6,6 @@ import { TApplyMixins } from './utils'; | ||
import { ISoftDeleteMixin, ITimestampsMixin } from './mixins'; | ||
export interface IController<Schema extends { | ||
export declare type TDefaultSchema<UseTimestamps, UseSoftDelete> = { | ||
_id: any; | ||
} & TIf<UseTimestamps, ITimestampsMixin, {}> & TIf<UseSoftDelete, Partial<ISoftDeleteMixin>, {}>, UseTimestamps extends boolean, UseSoftDelete extends boolean> { | ||
} & TIf<UseTimestamps, ITimestampsMixin, {}> & TIf<UseSoftDelete, Partial<ISoftDeleteMixin>, {}>; | ||
export interface IController<Schema extends TDefaultSchema<UseTimestamps, UseSoftDelete>, UseTimestamps extends boolean, UseSoftDelete extends boolean> { | ||
/** | ||
@@ -11,0 +12,0 @@ * Wrapped collection. |
import { TFieldSpec } from './misc'; | ||
import { CommonOptions, DeleteWriteOpResultObject, FilterQuery, FindOneOptions, IndexOptions, MongoCountPreferences, MongoDistinctPreferences, OptionalId, UpdateManyOptions, UpdateOneOptions, UpdateQuery, UpdateWriteOpResult, WithId } from 'mongodb'; | ||
import { ObjectId } from 'bson'; | ||
import { TAnySchema, TFlattenIfArray, TIf } from '../../types'; | ||
import { TFlattenIfArray, TIf } from '../../types'; | ||
import { ITimestampsMixin } from './mixins'; | ||
@@ -16,18 +16,18 @@ /** | ||
} | ||
export declare type TCreateIndex<Schema extends TAnySchema> = (fieldOrSpec: TFieldSpec<Schema>, options?: IndexOptions) => Promise<string>; | ||
export declare type TCountDocuments<Schema extends TAnySchema, UseSoftDelete extends boolean> = (query?: FilterQuery<Schema>, options?: MongoCountPreferences, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<number>; | ||
export declare type TCreateOneData<Schema extends TAnySchema> = Omit<OptionalId<Schema>, keyof ITimestampsMixin> & Partial<ITimestampsMixin>; | ||
declare type TCreateOneResult<Schema extends TAnySchema> = WithId<Schema> & ITimestampsMixin; | ||
export declare type TCreateOne<Schema extends TAnySchema> = (data: TCreateOneData<Schema>) => Promise<TCreateOneResult<Schema>>; | ||
export declare type TCreateMany<Schema extends TAnySchema> = (data: TCreateOneData<Schema>[]) => Promise<TCreateOneResult<Schema>[]>; | ||
export declare type TDropIndex<Schema extends TAnySchema> = (indexNameOrFieldSpec: string | TFieldSpec<Schema>, options?: CommonOptions & { | ||
export declare type TCreateIndex<Schema> = (fieldOrSpec: TFieldSpec<Schema>, options?: IndexOptions) => Promise<string>; | ||
export declare type TCountDocuments<Schema, UseSoftDelete extends boolean> = (query?: FilterQuery<Schema>, options?: MongoCountPreferences, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<number>; | ||
export declare type TCreateOneData<Schema> = Omit<OptionalId<Schema>, keyof ITimestampsMixin> & Partial<ITimestampsMixin>; | ||
declare type TCreateOneResult<Schema> = WithId<Schema> & ITimestampsMixin; | ||
export declare type TCreateOne<Schema> = (data: TCreateOneData<Schema>) => Promise<TCreateOneResult<Schema>>; | ||
export declare type TCreateMany<Schema> = (data: TCreateOneData<Schema>[]) => Promise<TCreateOneResult<Schema>[]>; | ||
export declare type TDropIndex<Schema> = (indexNameOrFieldSpec: string | TFieldSpec<Schema>, options?: CommonOptions & { | ||
maxTimeMS?: number; | ||
}) => Promise<void>; | ||
export declare type TFindById<Schema extends TAnySchema, UseSoftDelete extends boolean> = <T = Schema>(id: ObjectId, options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<Schema | null>; | ||
export declare type TFindByIds<Schema extends TAnySchema, UseSoftDelete extends boolean> = <T = Schema>(ids: ObjectId[], options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<Schema[]>; | ||
export declare type TFind<Schema extends TAnySchema, UseSoftDelete extends boolean> = <T = Schema>(query?: FilterQuery<Schema>, options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<T[]>; | ||
export declare type TFindOne<Schema extends TAnySchema, UseSoftDelete extends boolean> = <T = Schema>(query?: FilterQuery<Schema>, options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<T | null>; | ||
export declare type TUpdateOneOrMany<Schema extends TAnySchema, UseSoftDelete extends boolean, UseMany extends boolean> = (query: FilterQuery<Schema>, update: UpdateQuery<Schema> | Partial<Schema>, options?: TIf<UseMany, UpdateManyOptions, UpdateOneOptions>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<UpdateWriteOpResult>; | ||
export declare type TUpdateById<Schema extends TAnySchema, UseSoftDelete extends boolean> = (id: ObjectId, update: UpdateQuery<Schema> | Partial<Schema>, options?: UpdateOneOptions, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<UpdateWriteOpResult>; | ||
export declare type TDeleteOneOrMany<Schema extends TAnySchema, UseSoftDelete extends boolean> = (filter: FilterQuery<Schema>, options?: CommonOptions & { | ||
export declare type TFindById<Schema, UseSoftDelete extends boolean> = <T = Schema>(id: ObjectId, options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<Schema | null>; | ||
export declare type TFindByIds<Schema, UseSoftDelete extends boolean> = <T = Schema>(ids: ObjectId[], options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<Schema[]>; | ||
export declare type TFind<Schema, UseSoftDelete extends boolean> = <T = Schema>(query?: FilterQuery<Schema>, options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<T[]>; | ||
export declare type TFindOne<Schema, UseSoftDelete extends boolean> = <T = Schema>(query?: FilterQuery<Schema>, options?: FindOneOptions<T extends Schema ? Schema : T>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<T | null>; | ||
export declare type TUpdateOneOrMany<Schema, UseSoftDelete extends boolean, UseMany extends boolean> = (query: FilterQuery<Schema>, update: UpdateQuery<Schema> | Partial<Schema>, options?: TIf<UseMany, UpdateManyOptions, UpdateOneOptions>, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<UpdateWriteOpResult>; | ||
export declare type TUpdateById<Schema, UseSoftDelete extends boolean> = (id: ObjectId, update: UpdateQuery<Schema> | Partial<Schema>, options?: UpdateOneOptions, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<UpdateWriteOpResult>; | ||
export declare type TDeleteOneOrMany<Schema, UseSoftDelete extends boolean> = (filter: FilterQuery<Schema>, options?: CommonOptions & { | ||
bypassDocumentValidation?: boolean; | ||
@@ -38,5 +38,5 @@ }, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<TIf<UseSoftDelete, UpdateWriteOpResult, DeleteWriteOpResultObject>>; | ||
}, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<TIf<UseSoftDelete, UpdateWriteOpResult, DeleteWriteOpResultObject>>; | ||
export declare type TDistinct<Schema extends TAnySchema, UseSoftDelete extends boolean> = <Key extends keyof Schema>(key: Exclude<Key, number | symbol>, query?: FilterQuery<Schema>, options?: MongoDistinctPreferences, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<TFlattenIfArray<Schema[Key]>[]>; | ||
export declare type TInsertOne<Schema extends TAnySchema> = (item: OptionalId<Schema>) => Promise<WithId<Schema>>; | ||
export declare type TInsertMany<Schema extends TAnySchema> = (items: OptionalId<Schema>[]) => Promise<WithId<Schema>[]>; | ||
export declare type TDistinct<Schema, UseSoftDelete extends boolean> = <Key extends keyof Schema>(key: Exclude<Key, number | symbol>, query?: FilterQuery<Schema>, options?: MongoDistinctPreferences, findOptions?: TIf<UseSoftDelete, ISoftDeleteFindOptions, never>) => Promise<TFlattenIfArray<Schema[Key]>[]>; | ||
export declare type TInsertOne<Schema> = (item: OptionalId<Schema>) => Promise<WithId<Schema>>; | ||
export declare type TInsertMany<Schema> = (items: OptionalId<Schema>[]) => Promise<WithId<Schema>[]>; | ||
export {}; |
@@ -1,2 +0,1 @@ | ||
import { TAnySchema, TDefaultSchema } from '../../types'; | ||
import { Collection } from 'mongodb'; | ||
@@ -6,3 +5,3 @@ /** | ||
*/ | ||
export declare type TFieldSpec<Schema extends TDefaultSchema> = keyof Schema | { | ||
export declare type TFieldSpec<Schema> = keyof Schema | { | ||
[key in keyof Schema | string]?: -1 | 1 | 'text' | any; | ||
@@ -13,3 +12,3 @@ }; | ||
*/ | ||
export interface IControllerOptions<Schema extends TAnySchema, UseTimestamps extends boolean, UseSoftDelete extends boolean> { | ||
export interface IControllerOptions<Schema, UseTimestamps extends boolean, UseSoftDelete extends boolean> { | ||
/** | ||
@@ -37,2 +36,2 @@ * Collection name. | ||
*/ | ||
export declare type TControllerOptions<Schema extends TAnySchema, UseTimestamps extends boolean, UseSoftDelete extends boolean> = Collection<Schema> | IControllerOptions<Schema, UseTimestamps, UseSoftDelete>; | ||
export declare type TControllerOptions<Schema, UseTimestamps extends boolean, UseSoftDelete extends boolean> = Collection<Schema> | IControllerOptions<Schema, UseTimestamps, UseSoftDelete>; |
import { TFieldSpec } from './types'; | ||
import { TAnySchema } from '../types'; | ||
/** | ||
@@ -8,2 +7,2 @@ * Creates index name based on its specification. | ||
*/ | ||
export declare function getIndexName<Schema extends TAnySchema>(fieldOrSpec: TFieldSpec<Schema>): string; | ||
export declare function getIndexName<Schema>(fieldOrSpec: TFieldSpec<Schema>): string; |
@@ -1,2 +0,1 @@ | ||
export * from './shared'; | ||
export * from './utils'; |
@@ -1,1 +0,1 @@ | ||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./shared"),exports),__exportStar(require("./utils"),exports); | ||
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./utils"),exports); |
{ | ||
"name": "@kibcode/mongodb-controllers", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"private": false, | ||
@@ -5,0 +5,0 @@ "description": "Collection controllers for MongoDB", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
31184
28
238