@oridune/epic-odm
Advanced tools
Comparing version 1.0.58 to 1.0.59
{ | ||
"name": "@oridune/epic-odm", | ||
"version": "1.0.58", | ||
"version": "1.0.59", | ||
"description": "Install 1 ODM and code once with any database driver.", | ||
@@ -5,0 +5,0 @@ "main": "./src/index.js", |
@@ -22,7 +22,7 @@ import * as mongodb from "mongodb"; | ||
model: typeof BaseModel; | ||
_id: any; | ||
_id: string; | ||
field: string; | ||
}, childs: { | ||
model: typeof BaseModel; | ||
_ids: any[]; | ||
_ids: string[]; | ||
field: string; | ||
@@ -32,3 +32,3 @@ }): Promise<void>; | ||
update(connection: any, model: typeof BaseModel, targets: { | ||
_id: any; | ||
_id: string; | ||
}[], data: Record<string, any>, merge: boolean): Promise<{ | ||
@@ -38,3 +38,3 @@ updatedCount: number; | ||
delete(connection: any, model: typeof BaseModel, targets: { | ||
_id: any; | ||
_id: string; | ||
}[]): Promise<{ | ||
@@ -41,0 +41,0 @@ deletedCount: number; |
@@ -159,2 +159,20 @@ "use strict"; | ||
break; | ||
case "PushToSet": | ||
Results["$addToSet"] = { | ||
[Key]: { | ||
$each: Target.Value instanceof Array | ||
? Target.Value | ||
: [Target.Value], | ||
}, | ||
}; | ||
break; | ||
case "Push": | ||
Results["$set"] = { | ||
[Key]: { | ||
$each: Target.Value instanceof Array | ||
? Target.Value | ||
: [Target.Value], | ||
}, | ||
}; | ||
break; | ||
case "Increment": | ||
@@ -291,3 +309,3 @@ Results["$inc"] = { | ||
return items.map((item, index) => { | ||
item._id = DocumentIDs[index]; | ||
item._id = DocumentIDs[index].toString(); | ||
return item; | ||
@@ -294,0 +312,0 @@ }); |
@@ -57,7 +57,7 @@ import { DatabaseSession } from "./database"; | ||
model: typeof BaseModel; | ||
_id: any; | ||
_id: string; | ||
field: string; | ||
}, childs: { | ||
model: typeof BaseModel; | ||
_ids: any[]; | ||
_ids: string[]; | ||
field: string; | ||
@@ -67,3 +67,3 @@ }): Promise<void>; | ||
update(connection: any, model: typeof BaseModel, targets: { | ||
_id: any; | ||
_id: string; | ||
}[], data: Record<string, any>, merge: boolean): Promise<{ | ||
@@ -73,3 +73,3 @@ updatedCount: number; | ||
delete(connection: any, model: typeof BaseModel, targets: { | ||
_id: any; | ||
_id: string; | ||
}[]): Promise<{ | ||
@@ -76,0 +76,0 @@ deletedCount: number; |
@@ -7,2 +7,3 @@ "use strict"; | ||
const operators_1 = require("./operators"); | ||
const utils_1 = require("./utils"); | ||
class DatabaseAdapter { | ||
@@ -84,2 +85,4 @@ constructor(Models, URI, Options = {}) { | ||
_._id = ID.Type === "ObjectID" ? ID.Value : undefined; | ||
else | ||
_._id = utils_1.Utils.uuid(); | ||
return _; | ||
@@ -110,5 +113,5 @@ }), { | ||
const Childs = (Parent[Relation.name] = | ||
await options.database.exec(Payload instanceof Array | ||
(await options.database.exec(Payload instanceof Array | ||
? Relation.reference().create(Payload) | ||
: Relation.reference().createOne(Payload), { project: Project })); | ||
: Relation.reference().createOne(Payload), { project: Project }))); | ||
// Relate Items | ||
@@ -115,0 +118,0 @@ await this.relate(connection, Relation.type, { |
import { BaseModelStatic } from "./static"; | ||
export declare class BaseModel extends BaseModelStatic { | ||
_id: any; | ||
_id: string; | ||
} |
import { Operator, TComparisonOperators, TRangeOperators, TMutationOperators, TCheckOperators, TOtherOperators, ValueType } from "../operators"; | ||
import { BaseModel } from "./base"; | ||
export declare type ModelPayload<M extends BaseModel> = { | ||
[K in keyof M]?: M[K] extends Array<infer T> ? Array<T extends BaseModel ? ModelPayload<T> : T> : M[K] extends BaseModel ? ModelPayload<M[K]> : M[K]; | ||
[K in keyof M]?: M[K] extends Array<infer T> ? Array<T extends BaseModel ? ModelPayload<T> : T> : M[K] extends BaseModel ? ModelPayload<M[K]> : K extends "_id" ? M[K] | Operator<"ObjectID", M[K]> : M[K]; | ||
}; | ||
@@ -12,7 +12,7 @@ export declare type FieldsList = { | ||
export declare type ConditionsFrom<T extends ModelToObject<any>> = { | ||
[key in keyof T]?: T[key] extends ValueType ? T[key] | Exclude<T[key], undefined>[] | Operator<TComparisonOperators, T[key]> | Operator<TCheckOperators | TOtherOperators, any> | Operator<TRangeOperators, T[key][]> : ConditionsFrom<T[key]>; | ||
[key in keyof T]?: T[key] extends ValueType | Array<ValueType> ? T[key] | Exclude<T[key], undefined>[] | Operator<TComparisonOperators, T[key] | (T[key] extends Array<infer R> ? R : T[key])> | Operator<TCheckOperators | TOtherOperators, any> | Operator<TRangeOperators, T[key] | (T[key] extends Array<infer R> ? R : T[key])> : ConditionsFrom<T[key]>; | ||
}; | ||
export declare type Mutable<T extends BaseModel> = MutableFrom<ModelToObject<T>>; | ||
export declare type MutableFrom<T extends ModelToObject<any>> = { | ||
[key in keyof T]?: T[key] extends ValueType ? T[key] | Operator<TMutationOperators | TOtherOperators, T[key]> : MutableFrom<T[key]>; | ||
[key in keyof T]?: T[key] extends ValueType | Array<ValueType> ? T[key] | Operator<TMutationOperators | TOtherOperators, T[key]> : MutableFrom<T[key]>; | ||
}; | ||
@@ -22,3 +22,3 @@ export declare type ModelToObject<T extends BaseModel> = { | ||
}; | ||
export declare type ModelValue<T> = T extends Array<infer B> ? B extends BaseModel ? ModelToObject<B> : ModelValue<B> : T extends BaseModel ? ModelToObject<T> : T extends ValueType ? T : ValueType; | ||
export declare type ModelValue<T> = T extends Array<infer B> ? B extends BaseModel ? ModelToObject<B> : Array<B> : T extends BaseModel ? ModelToObject<T> : T extends ValueType ? T : ValueType; | ||
export interface Aggregation<M extends BaseModel> { | ||
@@ -25,0 +25,0 @@ search?: string; |
@@ -1,5 +0,5 @@ | ||
export declare type TComparisonOperators = "EQ" | "NE" | "GT" | "ST" | "GE" | "SE" | "NG" | "NS" | "RG" | "QF"; | ||
export declare type TRangeOperators = "BT" | "NB" | "IN" | "NI" | "ALL"; | ||
export declare type TMutationOperators = "SetTo" | "ReplaceWith" | "Increment" | "Decrement"; | ||
export declare type TCheckOperators = "NULL" | "NOT_NULL" | "IsArrayEmpty" | "NotArrayEmpty"; | ||
export declare type TComparisonOperators = "EQ" | "NE" | "GT" | "ST" | "GE" | "SE" | "NG" | "NS" | "RG" | "QF" | "ALL"; | ||
export declare type TRangeOperators = "BT" | "NB" | "IN" | "NI"; | ||
export declare type TMutationOperators = "ObjectID" | "SetTo" | "Push" | "PushToSet" | "ReplaceWith" | "Increment" | "Decrement"; | ||
export declare type TCheckOperators = "IsArrayEmpty" | "NotArrayEmpty"; | ||
export declare type TOtherOperators = "Raw"; | ||
@@ -13,24 +13,101 @@ export declare type TOperators = TComparisonOperators | TRangeOperators | TMutationOperators | TCheckOperators | TOtherOperators; | ||
} | ||
/** | ||
* Equality clause | ||
*/ | ||
export declare const IsEqual: <T extends string | number | boolean | null>(value: T) => Operator<"EQ", T>; | ||
/** | ||
* Null Equality clause | ||
*/ | ||
export declare const IsNull: () => Operator<"EQ", null>; | ||
/** | ||
* Inequality clause | ||
*/ | ||
export declare const NotEqual: <T extends string | number | boolean | null>(value: T) => Operator<"NE", T>; | ||
/** | ||
* Null Inequality clause | ||
*/ | ||
export declare const NotNull: () => Operator<"NE", null>; | ||
/** | ||
* Greater Than clause | ||
*/ | ||
export declare const Greater: <T extends string | number | boolean | null>(value: T) => Operator<"GT", T>; | ||
/** | ||
* Not Greater Than clause | ||
*/ | ||
export declare const NotGreater: <T extends string | number | boolean | null>(value: T) => Operator<"NG", T>; | ||
/** | ||
* Smaller Than clause | ||
*/ | ||
export declare const Smaller: <T extends string | number | boolean | null>(value: T) => Operator<"ST", T>; | ||
/** | ||
* Not Smaller Than clause | ||
*/ | ||
export declare const NotSmaller: <T extends string | number | boolean | null>(value: T) => Operator<"NS", T>; | ||
/** | ||
* Greater Than or Equal clause | ||
*/ | ||
export declare const GreaterEqual: <T extends string | number | boolean | null>(value: T) => Operator<"GE", T>; | ||
/** | ||
* Smaller Than or Equal clause | ||
*/ | ||
export declare const SmallerEqual: <T extends string | number | boolean | null>(value: T) => Operator<"SE", T>; | ||
/** | ||
* Match RegExp clause | ||
*/ | ||
export declare const Matches: <T extends RegExp>(value: T) => Operator<"RG", string>; | ||
/** | ||
* Match all items in an array in any order | ||
*/ | ||
export declare const All: <T extends string | number | boolean | any[] | null>(value: (T extends (infer R)[] ? R : T)[]) => Operator<"ALL", (T extends (infer R)[] ? R : T)[]>; | ||
/** | ||
* Value In Set clause | ||
*/ | ||
export declare const In: <T extends string | number | boolean | null>(value: T[]) => Operator<"IN", T[]>; | ||
/** | ||
* Value Not In Set clause | ||
*/ | ||
export declare const NotIn: <T extends string | number | boolean | null>(value: T[]) => Operator<"NI", T[]>; | ||
/** | ||
* Value Between Range clause | ||
*/ | ||
export declare const Between: <T extends string | number | boolean | null>(value: [T, T]) => Operator<"BT", [T, T]>; | ||
/** | ||
* Value Not Between Range clause | ||
*/ | ||
export declare const NotBetween: <T extends string | number | boolean | null>(value: [T, T]) => Operator<"NB", [T, T]>; | ||
/** | ||
* Replaces the existing value with new one | ||
*/ | ||
export declare const SetTo: <T extends unknown>(value: T) => Operator<"SetTo", T>; | ||
/** | ||
* Push value to the Array. | ||
* Duplicates can also be pushed. Use PushToSet to avoid duplicates. | ||
*/ | ||
export declare const Push: <T extends unknown>(value: T) => Operator<"Push", T>; | ||
/** | ||
* Push value to the Set. | ||
* A Set contains all unique values. Duplicates are discarded! | ||
*/ | ||
export declare const PushToSet: <T extends unknown>(value: T) => Operator<"PushToSet", T>; | ||
/** | ||
* Increment the current value | ||
*/ | ||
export declare const Increment: <T extends number>(value: T) => Operator<"Increment", T>; | ||
/** | ||
* Decrement the current value | ||
*/ | ||
export declare const Decrement: <T extends number>(value: T) => Operator<"Decrement", T>; | ||
export declare const ReplaceWith: <T extends unknown>(value: T) => Operator<"ReplaceWith", T>; | ||
export declare const IsNull: () => Operator<"EQ", null>; | ||
export declare const NotNull: () => Operator<"NE", null>; | ||
/** | ||
* Check if an Array is empty | ||
*/ | ||
export declare const IsArrayEmpty: () => Operator<"IsArrayEmpty", any>; | ||
/** | ||
* Check if an Array is not empty | ||
*/ | ||
export declare const NotArrayEmpty: () => Operator<"NotArrayEmpty", any>; | ||
export declare const ReplaceWith: <T extends unknown>(value: T) => Operator<"ReplaceWith", T>; | ||
export declare const ObjectID: <T extends unknown>(value: T) => Operator<"ObjectID", T>; | ||
/** | ||
* Inject Raw clauses | ||
*/ | ||
export declare const Raw: <T extends unknown>(value?: T | undefined) => Operator<"Raw", any>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Raw = exports.NotArrayEmpty = exports.IsArrayEmpty = exports.NotNull = exports.IsNull = exports.ReplaceWith = exports.Decrement = exports.Increment = exports.SetTo = exports.NotBetween = exports.Between = exports.NotIn = exports.In = exports.All = exports.Matches = exports.SmallerEqual = exports.GreaterEqual = exports.NotSmaller = exports.Smaller = exports.NotGreater = exports.Greater = exports.NotEqual = exports.IsEqual = exports.Operator = void 0; | ||
exports.Raw = exports.ObjectID = exports.ReplaceWith = exports.NotArrayEmpty = exports.IsArrayEmpty = exports.Decrement = exports.Increment = exports.PushToSet = exports.Push = exports.SetTo = exports.NotBetween = exports.Between = exports.NotIn = exports.In = exports.All = exports.Matches = exports.SmallerEqual = exports.GreaterEqual = exports.NotSmaller = exports.Smaller = exports.NotGreater = exports.Greater = exports.NotNull = exports.NotEqual = exports.IsNull = exports.IsEqual = exports.Operator = void 0; | ||
class Operator { | ||
@@ -11,47 +11,127 @@ constructor(Type, Value) { | ||
exports.Operator = Operator; | ||
/** | ||
* Equality clause | ||
*/ | ||
const IsEqual = (value) => new Operator("EQ", value); | ||
exports.IsEqual = IsEqual; | ||
/** | ||
* Null Equality clause | ||
*/ | ||
const IsNull = () => (0, exports.IsEqual)(null); | ||
exports.IsNull = IsNull; | ||
/** | ||
* Inequality clause | ||
*/ | ||
const NotEqual = (value) => new Operator("NE", value); | ||
exports.NotEqual = NotEqual; | ||
/** | ||
* Null Inequality clause | ||
*/ | ||
const NotNull = () => (0, exports.NotEqual)(null); | ||
exports.NotNull = NotNull; | ||
/** | ||
* Greater Than clause | ||
*/ | ||
const Greater = (value) => new Operator("GT", value); | ||
exports.Greater = Greater; | ||
/** | ||
* Not Greater Than clause | ||
*/ | ||
const NotGreater = (value) => new Operator("NG", value); | ||
exports.NotGreater = NotGreater; | ||
/** | ||
* Smaller Than clause | ||
*/ | ||
const Smaller = (value) => new Operator("ST", value); | ||
exports.Smaller = Smaller; | ||
/** | ||
* Not Smaller Than clause | ||
*/ | ||
const NotSmaller = (value) => new Operator("NS", value); | ||
exports.NotSmaller = NotSmaller; | ||
/** | ||
* Greater Than or Equal clause | ||
*/ | ||
const GreaterEqual = (value) => new Operator("GE", value); | ||
exports.GreaterEqual = GreaterEqual; | ||
/** | ||
* Smaller Than or Equal clause | ||
*/ | ||
const SmallerEqual = (value) => new Operator("SE", value); | ||
exports.SmallerEqual = SmallerEqual; | ||
/** | ||
* Match RegExp clause | ||
*/ | ||
const Matches = (value) => new Operator("RG", value.source); | ||
exports.Matches = Matches; | ||
/** | ||
* Match all items in an array in any order | ||
*/ | ||
const All = (value) => new Operator("ALL", value); | ||
exports.All = All; | ||
/** | ||
* Value In Set clause | ||
*/ | ||
const In = (value) => new Operator("IN", value); | ||
exports.In = In; | ||
/** | ||
* Value Not In Set clause | ||
*/ | ||
const NotIn = (value) => new Operator("NI", value); | ||
exports.NotIn = NotIn; | ||
/** | ||
* Value Between Range clause | ||
*/ | ||
const Between = (value) => new Operator("BT", value); | ||
exports.Between = Between; | ||
/** | ||
* Value Not Between Range clause | ||
*/ | ||
const NotBetween = (value) => new Operator("NB", value); | ||
exports.NotBetween = NotBetween; | ||
/** | ||
* Replaces the existing value with new one | ||
*/ | ||
const SetTo = (value) => new Operator("SetTo", value); | ||
exports.SetTo = SetTo; | ||
/** | ||
* Push value to the Array. | ||
* Duplicates can also be pushed. Use PushToSet to avoid duplicates. | ||
*/ | ||
const Push = (value) => new Operator("Push", value); | ||
exports.Push = Push; | ||
/** | ||
* Push value to the Set. | ||
* A Set contains all unique values. Duplicates are discarded! | ||
*/ | ||
const PushToSet = (value) => new Operator("PushToSet", value); | ||
exports.PushToSet = PushToSet; | ||
/** | ||
* Increment the current value | ||
*/ | ||
const Increment = (value) => new Operator("Increment", value); | ||
exports.Increment = Increment; | ||
/** | ||
* Decrement the current value | ||
*/ | ||
const Decrement = (value) => new Operator("Decrement", value); | ||
exports.Decrement = Decrement; | ||
const ReplaceWith = (value) => new Operator("ReplaceWith", value); | ||
exports.ReplaceWith = ReplaceWith; | ||
const IsNull = () => (0, exports.IsEqual)(null); | ||
exports.IsNull = IsNull; | ||
const NotNull = () => (0, exports.NotEqual)(null); | ||
exports.NotNull = NotNull; | ||
/** | ||
* Check if an Array is empty | ||
*/ | ||
const IsArrayEmpty = () => new Operator("IsArrayEmpty"); | ||
exports.IsArrayEmpty = IsArrayEmpty; | ||
/** | ||
* Check if an Array is not empty | ||
*/ | ||
const NotArrayEmpty = () => new Operator("NotArrayEmpty"); | ||
exports.NotArrayEmpty = NotArrayEmpty; | ||
const ReplaceWith = (value) => new Operator("ReplaceWith", value); | ||
exports.ReplaceWith = ReplaceWith; | ||
const ObjectID = (value) => new Operator("ObjectID", value); | ||
exports.ObjectID = ObjectID; | ||
/** | ||
* Inject Raw clauses | ||
*/ | ||
const Raw = (value) => new Operator("Raw", value); | ||
exports.Raw = Raw; |
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
117254
2449