mormati-mongoose 0.1.24 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/helper/query/engine/engine.type.d.ts +22 -0
  2. package/dist/helper/query/engine/engine.type.js +3 -0
  3. package/dist/helper/query/engine/engine.type.js.map +1 -0
  4. package/dist/helper/query/engine/group/index.d.ts +92 -0
  5. package/dist/helper/query/engine/group/index.js +14 -0
  6. package/dist/helper/query/engine/group/index.js.map +1 -0
  7. package/dist/helper/query/{query.engine.d.ts → engine/index.d.ts} +1 -1
  8. package/dist/helper/query/engine/index.js +53 -0
  9. package/dist/helper/query/engine/index.js.map +1 -0
  10. package/dist/helper/query/engine/limit/index.d.ts +8 -0
  11. package/dist/helper/query/engine/limit/index.js +9 -0
  12. package/dist/helper/query/engine/limit/index.js.map +1 -0
  13. package/dist/helper/query/engine/lookup/index.d.ts +6 -0
  14. package/dist/helper/query/engine/lookup/index.js +46 -0
  15. package/dist/helper/query/engine/lookup/index.js.map +1 -0
  16. package/dist/helper/query/engine/lookup/lookup.pipe.d.ts +8 -0
  17. package/dist/helper/query/engine/lookup/lookup.pipe.js +123 -0
  18. package/dist/helper/query/engine/lookup/lookup.pipe.js.map +1 -0
  19. package/dist/helper/query/engine/match/index.d.ts +56 -0
  20. package/dist/helper/query/engine/match/index.js +77 -0
  21. package/dist/helper/query/engine/match/index.js.map +1 -0
  22. package/dist/helper/query/engine/match/match.search.d.ts +7 -0
  23. package/dist/helper/query/engine/match/match.search.js +37 -0
  24. package/dist/helper/query/engine/match/match.search.js.map +1 -0
  25. package/dist/helper/query/engine/project/index.d.ts +8 -0
  26. package/dist/helper/query/engine/project/index.js +15 -0
  27. package/dist/helper/query/engine/project/index.js.map +1 -0
  28. package/dist/helper/query/engine/skip/index.d.ts +8 -0
  29. package/dist/helper/query/engine/skip/index.js +9 -0
  30. package/dist/helper/query/engine/skip/index.js.map +1 -0
  31. package/dist/helper/query/engine/sort/index.d.ts +8 -0
  32. package/dist/helper/query/engine/sort/index.js +10 -0
  33. package/dist/helper/query/engine/sort/index.js.map +1 -0
  34. package/dist/helper/query/engine/unset/index.d.ts +8 -0
  35. package/dist/helper/query/engine/unset/index.js +10 -0
  36. package/dist/helper/query/engine/unset/index.js.map +1 -0
  37. package/dist/helper/query/engine/unwind/index.d.ts +6 -0
  38. package/dist/helper/query/engine/unwind/index.js +26 -0
  39. package/dist/helper/query/engine/unwind/index.js.map +1 -0
  40. package/dist/helper/query/index.d.ts +3 -3
  41. package/dist/helper/query/index.js +3 -5
  42. package/dist/helper/query/index.js.map +1 -1
  43. package/dist/helper/query/query.dto.d.ts +2 -3
  44. package/dist/helper/query/query.dto.js +1 -0
  45. package/dist/helper/query/query.dto.js.map +1 -1
  46. package/dist/helper/query/query.expression.d.ts +1 -0
  47. package/dist/helper/query/query.expression.js +1 -0
  48. package/dist/helper/query/query.expression.js.map +1 -1
  49. package/dist/helper/query/query.method.d.ts +2 -4
  50. package/dist/helper/query/query.method.js +7 -38
  51. package/dist/helper/query/query.method.js.map +1 -1
  52. package/dist/helper/query/{quer.type.js → query.type.js} +1 -1
  53. package/dist/helper/query/query.type.js.map +1 -0
  54. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  55. package/package.json +1 -1
  56. package/dist/helper/query/quer.type.js.map +0 -1
  57. package/dist/helper/query/query.engine.js +0 -296
  58. package/dist/helper/query/query.engine.js.map +0 -1
  59. /package/dist/helper/query/{quer.type.d.ts → query.type.d.ts} +0 -0
@@ -0,0 +1,22 @@
1
+ export interface ICriteria {
2
+ _or?: boolean;
3
+ _rawUpdate?: boolean;
4
+ _updateType?: string;
5
+ _hardDelete?: boolean;
6
+ _search?: {
7
+ _searchWord?: string;
8
+ _searchChar?: string;
9
+ _searchCharFields?: string[];
10
+ };
11
+ _skip?: number;
12
+ _limit?: number;
13
+ _lookup?: object;
14
+ _unwind?: {
15
+ unwind: string;
16
+ unwindPreserve: boolean;
17
+ }[];
18
+ _sort?: object;
19
+ _group?: object[];
20
+ _unset?: string[];
21
+ _project?: string[];
22
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=engine.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.type.js","sourceRoot":"","sources":["../../../../../../libs/mongoose/src/helper/query/engine/engine.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ import { ICriteria } from '../engine.type';
2
+ interface IQueryGroup {
3
+ criteria: ICriteria;
4
+ }
5
+ export declare const queryGroup: ({ criteria }: IQueryGroup) => {
6
+ [x: string]: {
7
+ length: number;
8
+ toString(): string;
9
+ toLocaleString(): string;
10
+ toLocaleString(locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string;
11
+ pop(): object;
12
+ push(...items: object[]): number;
13
+ concat(...items: ConcatArray<object>[]): object[];
14
+ concat(...items: (object | ConcatArray<object>)[]): object[];
15
+ join(separator?: string): string;
16
+ reverse(): object[];
17
+ shift(): object;
18
+ slice(start?: number, end?: number): object[];
19
+ sort(compareFn?: (a: object, b: object) => number): object[];
20
+ splice(start: number, deleteCount?: number): object[];
21
+ splice(start: number, deleteCount: number, ...items: object[]): object[];
22
+ unshift(...items: object[]): number;
23
+ indexOf(searchElement: object, fromIndex?: number): number;
24
+ lastIndexOf(searchElement: object, fromIndex?: number): number;
25
+ every<S extends object>(predicate: (value: object, index: number, array: object[]) => value is S, thisArg?: any): this is S[];
26
+ every(predicate: (value: object, index: number, array: object[]) => unknown, thisArg?: any): boolean;
27
+ some(predicate: (value: object, index: number, array: object[]) => unknown, thisArg?: any): boolean;
28
+ forEach(callbackfn: (value: object, index: number, array: object[]) => void, thisArg?: any): void;
29
+ map<U>(callbackfn: (value: object, index: number, array: object[]) => U, thisArg?: any): U[];
30
+ filter<S extends object>(predicate: (value: object, index: number, array: object[]) => value is S, thisArg?: any): S[];
31
+ filter(predicate: (value: object, index: number, array: object[]) => unknown, thisArg?: any): object[];
32
+ reduce(callbackfn: (previousValue: object, currentValue: object, currentIndex: number, array: object[]) => object): object;
33
+ reduce(callbackfn: (previousValue: object, currentValue: object, currentIndex: number, array: object[]) => object, initialValue: object): object;
34
+ reduce<U>(callbackfn: (previousValue: U, currentValue: object, currentIndex: number, array: object[]) => U, initialValue: U): U;
35
+ reduceRight(callbackfn: (previousValue: object, currentValue: object, currentIndex: number, array: object[]) => object): object;
36
+ reduceRight(callbackfn: (previousValue: object, currentValue: object, currentIndex: number, array: object[]) => object, initialValue: object): object;
37
+ reduceRight<U>(callbackfn: (previousValue: U, currentValue: object, currentIndex: number, array: object[]) => U, initialValue: U): U;
38
+ find<S extends object>(predicate: (value: object, index: number, obj: object[]) => value is S, thisArg?: any): S;
39
+ find(predicate: (value: object, index: number, obj: object[]) => unknown, thisArg?: any): object;
40
+ findIndex(predicate: (value: object, index: number, obj: object[]) => unknown, thisArg?: any): number;
41
+ fill(value: object, start?: number, end?: number): object[];
42
+ copyWithin(target: number, start: number, end?: number): object[];
43
+ entries(): ArrayIterator<[number, object]>;
44
+ keys(): ArrayIterator<number>;
45
+ values(): ArrayIterator<object>;
46
+ includes(searchElement: object, fromIndex?: number): boolean;
47
+ flatMap<U, This = undefined>(callback: (this: This, value: object, index: number, array: object[]) => U | readonly U[], thisArg?: This): U[];
48
+ flat<A, D extends number = 1>(this: A, depth?: D): FlatArray<A, D>[];
49
+ [Symbol.iterator](): ArrayIterator<object>;
50
+ [Symbol.unscopables]: {
51
+ [x: number]: boolean;
52
+ length?: boolean;
53
+ toString?: boolean;
54
+ toLocaleString?: boolean;
55
+ pop?: boolean;
56
+ push?: boolean;
57
+ concat?: boolean;
58
+ join?: boolean;
59
+ reverse?: boolean;
60
+ shift?: boolean;
61
+ slice?: boolean;
62
+ sort?: boolean;
63
+ splice?: boolean;
64
+ unshift?: boolean;
65
+ indexOf?: boolean;
66
+ lastIndexOf?: boolean;
67
+ every?: boolean;
68
+ some?: boolean;
69
+ forEach?: boolean;
70
+ map?: boolean;
71
+ filter?: boolean;
72
+ reduce?: boolean;
73
+ reduceRight?: boolean;
74
+ find?: boolean;
75
+ findIndex?: boolean;
76
+ fill?: boolean;
77
+ copyWithin?: boolean;
78
+ entries?: boolean;
79
+ keys?: boolean;
80
+ values?: boolean;
81
+ includes?: boolean;
82
+ flatMap?: boolean;
83
+ flat?: boolean;
84
+ [Symbol.iterator]?: boolean;
85
+ readonly [Symbol.unscopables]?: boolean;
86
+ at?: boolean;
87
+ };
88
+ at(index: number): object;
89
+ _id: string;
90
+ };
91
+ }[];
92
+ export {};
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryGroup = void 0;
4
+ const query_expression_1 = require("../../query.expression");
5
+ const query_method_1 = require("../../query.method");
6
+ ;
7
+ const queryGroup = ({ criteria }) => {
8
+ if (!(0, query_method_1.objKeyLengthCheck)(criteria?._group))
9
+ return [];
10
+ const group = { _id: "$_id", ...criteria._group };
11
+ return [{ [query_expression_1.default.STAGE_GROUP]: group }];
12
+ };
13
+ exports.queryGroup = queryGroup;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/mongoose/src/helper/query/engine/group/index.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AAEvC,qDAAuD;AAItD,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAe,EAAE,EAAE;IACpD,IAAI,CAAC,IAAA,gCAAiB,EAAC,QAAQ,EAAE,MAAM,CAAC;QACpC,OAAO,EAAE,CAAC;IAEd,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,0BAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB"}
@@ -4,5 +4,5 @@ export declare const QueryEngine: ({ ConfigSystem, CollectionRef, GroupRef }: {
4
4
  GroupRef: any;
5
5
  }) => {
6
6
  queryAggregate: (props: any) => any[];
7
- queryUpdate: (props: any) => import("./quer.type").TRemoveUndefinedObject;
7
+ queryUpdate: (props: any) => import("..").TRemoveUndefinedObject;
8
8
  };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryEngine = void 0;
4
+ const query_expression_1 = require("../query.expression");
5
+ const group_1 = require("./group");
6
+ const match_1 = require("./match");
7
+ const skip_1 = require("./skip");
8
+ const limit_1 = require("./limit");
9
+ const lookup_1 = require("./lookup");
10
+ const unwind_1 = require("./unwind");
11
+ const unset_1 = require("./unset");
12
+ const project_1 = require("./project");
13
+ const sort_1 = require("./sort");
14
+ const query_method_1 = require("../query.method");
15
+ const QueryEngine = ({ ConfigSystem, CollectionRef, GroupRef }) => {
16
+ const _defaultLang = ConfigSystem.LANG_DEFAULT;
17
+ const _collectionRef = (0, query_method_1.getFlattenCollectionRef)(CollectionRef);
18
+ const _groupRef = GroupRef;
19
+ const queryAggregate = (props) => {
20
+ const { condAnd = [], condByField = {}, condByQuery = [], criteria = {}, } = props;
21
+ const match = (0, match_1.queryMatch)({ _defaultLang, condAnd, condByField, condByQuery, criteria });
22
+ const skip = (0, skip_1.querySkip)({ criteria });
23
+ const limit = (0, limit_1.queryLimit)({ criteria });
24
+ const lookup = (0, lookup_1.queryLookup)({ _collectionRef, _groupRef, condAnd, criteria });
25
+ const unwind = (0, unwind_1.queryUnwind)({ criteria });
26
+ const group = (0, group_1.queryGroup)({ criteria });
27
+ const unset = (0, unset_1.queryUnset)({ criteria });
28
+ const project = (0, project_1.queryProject)({ criteria });
29
+ const sort = (0, sort_1.querySort)({ criteria });
30
+ return [].concat(match, skip, limit, lookup, unwind, unset, group, project, sort);
31
+ };
32
+ const queryUpdate = (props) => {
33
+ const { condAnd = [], condByField, criteria } = props;
34
+ return (0, query_method_1.removeUndefined)(condByField, {
35
+ ifEmpty: "500 -> Condition required",
36
+ isCallBackRequired: !criteria?._rawUpdate,
37
+ callback: (condByField) => {
38
+ return (0, match_1.queryMatch)({
39
+ _defaultLang,
40
+ condAnd,
41
+ condByField,
42
+ criteria,
43
+ })[0][query_expression_1.default.STAGE_FACET]["AL"][0][query_expression_1.default.STAGE_MATCH];
44
+ },
45
+ });
46
+ };
47
+ return {
48
+ queryAggregate,
49
+ queryUpdate,
50
+ };
51
+ };
52
+ exports.QueryEngine = QueryEngine;
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/mongoose/src/helper/query/engine/index.ts"],"names":[],"mappings":";;;AAAA,0DAAoC;AACpC,mCAAsC;AACtC,mCAAsC;AACtC,iCAAoC;AACpC,mCAAsC;AACtC,qCAAwC;AACxC,qCAAwC;AACxC,mCAAsC;AACtC,uCAA0C;AAC1C,iCAAoC;AACpC,kDAGyB;AAElB,MAAM,WAAW,GAAG,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrE,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,sCAAuB,EAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC;IAO3B,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,EACF,OAAO,GAAG,EAAE,EACZ,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,EAAE,EAChB,QAAQ,GAAG,EAAE,GAChB,GAAG,KAAK,CAAC;QAEV,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAExF,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,IAAA,oBAAW,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC,CAAC;IAOF,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QACtD,OAAO,IAAA,8BAAe,EAAC,WAAW,EAAE;YAChC,OAAO,EAAE,2BAA2B;YACpC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,UAAU;YACzC,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE;gBACtB,OAAO,IAAA,kBAAU,EAAC;oBACd,YAAY;oBACZ,OAAO;oBACP,WAAW;oBACX,QAAQ;iBACX,CAAC,CAAC,CAAC,CAAC,CAAC,0BAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,0BAAC,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO;QACH,cAAc;QACd,WAAW;KACd,CAAC;AACN,CAAC,CAAC;AA/DW,QAAA,WAAW,eA+DtB"}
@@ -0,0 +1,8 @@
1
+ import { ICriteria } from '../engine.type';
2
+ interface IQueryLimit {
3
+ criteria: ICriteria;
4
+ }
5
+ export declare const queryLimit: ({ criteria }: IQueryLimit) => {
6
+ [x: string]: number;
7
+ }[];
8
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryLimit = void 0;
4
+ const query_expression_1 = require("../../query.expression");
5
+ ;
6
+ const queryLimit = ({ criteria }) => criteria?._limit > 0 ?
7
+ [{ [query_expression_1.default.STAGE_LIMIT]: criteria._limit }] : [];
8
+ exports.queryLimit = queryLimit;
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/mongoose/src/helper/query/engine/limit/index.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AAKtC,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAe,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,0BAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AADnC,QAAA,UAAU,cACyB"}
@@ -0,0 +1,6 @@
1
+ export declare const queryLookup: ({ _collectionRef, _groupRef, condAnd, criteria }: {
2
+ _collectionRef: any;
3
+ _groupRef: any;
4
+ condAnd: any;
5
+ criteria: any;
6
+ }) => any[];
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryLookup = void 0;
4
+ const query_expression_1 = require("../../query.expression");
5
+ const match_1 = require("../match");
6
+ const sort_1 = require("../sort");
7
+ const lookup_pipe_1 = require("./lookup.pipe");
8
+ const queryLookup = ({ _collectionRef, _groupRef, condAnd, criteria }) => {
9
+ const { _lookup } = criteria ?? {};
10
+ const lookupQuery = [];
11
+ if (_lookup?.length > 0) {
12
+ _lookup.map(field => {
13
+ const { _lookupRef } = _collectionRef;
14
+ const lookupRef = _lookupRef[field];
15
+ if (!lookupRef)
16
+ return null;
17
+ const { collection, as, constraint } = lookupRef;
18
+ const { preUnwind, pipelineConditions, pipelineSort, postUnwind, merge, group, sort, } = constraint ?? {};
19
+ lookupQuery.push(...(0, lookup_pipe_1.queryLookup_unwind)(preUnwind));
20
+ const { localVaribales, matchConditions, } = (0, lookup_pipe_1.queryLookup_getValues)(pipelineConditions);
21
+ const matchQuery = (0, match_1.queryMatch)({
22
+ condAnd: [condAnd.find(e => e.key == "language")],
23
+ condByQuery: matchConditions,
24
+ });
25
+ lookupQuery.push({
26
+ [query_expression_1.default.STAGE_LOOKUP]: {
27
+ from: collection,
28
+ let: localVaribales,
29
+ pipeline: [
30
+ ...matchQuery,
31
+ ...(0, sort_1.querySort)({ criteria: { _sort: pipelineSort } }),
32
+ ],
33
+ as: as
34
+ }
35
+ });
36
+ lookupQuery.push(...(0, lookup_pipe_1.queryLookup_unwind)(postUnwind));
37
+ lookupQuery.push(...(0, lookup_pipe_1.queryLookup_merge)(merge));
38
+ lookupQuery.push(...(0, lookup_pipe_1.queryLookup_group)(_groupRef, group));
39
+ lookupQuery.push(...(0, sort_1.querySort)({ criteria: { _sort: sort } }));
40
+ });
41
+ }
42
+ ;
43
+ return lookupQuery;
44
+ };
45
+ exports.queryLookup = queryLookup;
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/mongoose/src/helper/query/engine/lookup/index.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AACvC,oCAAsC;AACtC,kCAAoC;AACpC,+CAKuB;AAGhB,MAAM,WAAW,GAAG,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5E,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,IAAI,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAChB,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC;YACtC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAE5B,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;YACjD,MAAM,EACF,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,KAAK,EACL,KAAK,EACL,IAAI,GACP,GAAG,UAAU,IAAI,EAAE,CAAC;YAGrB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,gCAAkB,EAAC,SAAS,CAAC,CAAC,CAAC;YAEnD,MAAM,EAAE,cAAc,EAAE,eAAe,GAAG,GAAG,IAAA,mCAAqB,EAAC,kBAAkB,CAAC,CAAC;YACvF,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC;gBAC1B,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;gBACjD,WAAW,EAAE,eAAe;aAC/B,CAAC,CAAC;YAEH,WAAW,CAAC,IAAI,CAAC;gBACb,CAAC,0BAAC,CAAC,YAAY,CAAC,EAAE;oBACd,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,cAAc;oBACnB,QAAQ,EAAE;wBACN,GAAG,UAAU;wBACb,GAAG,IAAA,gBAAS,EAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;qBACtD;oBACD,EAAE,EAAE,EAAE;iBACT;aACJ,CAAC,CAAC;YAEH,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,gCAAkB,EAAC,UAAU,CAAC,CAAC,CAAC;YAEpD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,+BAAiB,EAAC,KAAK,CAAC,CAAC,CAAC;YAE9C,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,+BAAiB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAEzD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,gBAAS,EAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IACF,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAnDW,QAAA,WAAW,eAmDtB"}
@@ -0,0 +1,8 @@
1
+ export declare const queryLookup_unwind: (unwind: any[]) => any[];
2
+ export declare const queryLookup_merge: (mergeObject: any[]) => any[];
3
+ export declare const queryLookup_group: (_groupRef: any, group: any[]) => any[];
4
+ export declare const queryLoopup_matchCondition: (localFieldRefPath: any, foreignFieldPath: any, condition: any) => any;
5
+ export declare const queryLookup_getValues: (conditions: any) => {
6
+ localVaribales: Record<string, string>;
7
+ matchConditions: any;
8
+ };
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryLookup_getValues = exports.queryLoopup_matchCondition = exports.queryLookup_group = exports.queryLookup_merge = exports.queryLookup_unwind = void 0;
4
+ const query_expression_1 = require("../../query.expression");
5
+ const query_method_1 = require("../../query.method");
6
+ const queryLookup_unwind = (unwind) => {
7
+ const query = [];
8
+ if (unwind?.length > 0) {
9
+ unwind.forEach(e => {
10
+ if (e.unwind)
11
+ query.push({
12
+ [query_expression_1.default.STAGE_UNWIND]: {
13
+ "path": `$${e.unwind}`,
14
+ "preserveNullAndEmptyArrays": e.unwindPreserve ?? false
15
+ }
16
+ });
17
+ if (e.sort)
18
+ query.push({ [query_expression_1.default.STAGE_SORT]: e.sort });
19
+ });
20
+ }
21
+ ;
22
+ return query;
23
+ };
24
+ exports.queryLookup_unwind = queryLookup_unwind;
25
+ const queryLookup_merge = (mergeObject) => {
26
+ const query = [];
27
+ if (mergeObject?.length > 0) {
28
+ mergeObject.forEach(e => {
29
+ query.push({
30
+ [query_expression_1.default.ADDFIELD]: {
31
+ [e.as]: {
32
+ [query_expression_1.default.MERGEOBJECTS]: e.paths,
33
+ }
34
+ }
35
+ });
36
+ });
37
+ }
38
+ ;
39
+ return query;
40
+ };
41
+ exports.queryLookup_merge = queryLookup_merge;
42
+ const queryLookup_group = (_groupRef, group) => {
43
+ const query = [];
44
+ if (group?.length > 0) {
45
+ group.forEach(e => {
46
+ const { id, groupKey, key, value, move } = e ?? {};
47
+ if (!groupKey || !key)
48
+ return;
49
+ const _id = id ?? "$_id";
50
+ const queryGroup = {
51
+ [query_expression_1.default.STAGE_GROUP]: {
52
+ ..._groupRef[groupKey],
53
+ [key]: {
54
+ [query_expression_1.default.EXPR_PUSH]: {
55
+ [query_expression_1.default.EXPR_COND]: [
56
+ { $ne: [`$${value}`, {}] },
57
+ `$${value}`,
58
+ "$$REMOVE"
59
+ ]
60
+ },
61
+ },
62
+ _id: _id,
63
+ }
64
+ };
65
+ query.push(queryGroup);
66
+ if (!move)
67
+ return;
68
+ move.forEach(e => {
69
+ const { from, to } = e ?? {};
70
+ if (!from || !from)
71
+ return;
72
+ const moveQuery = {
73
+ $addFields: { [to]: `$${from}` },
74
+ };
75
+ query.push(moveQuery);
76
+ });
77
+ });
78
+ }
79
+ ;
80
+ return query;
81
+ };
82
+ exports.queryLookup_group = queryLookup_group;
83
+ const queryLoopup_matchCondition = (localFieldRefPath, foreignFieldPath, condition) => {
84
+ const localField = `$$${localFieldRefPath}`;
85
+ const foreignField = `$${foreignFieldPath}`;
86
+ const sizeIntersection = (a, b) => ({ [query_expression_1.default.EXPR_SIZE]: { [query_expression_1.default.EXPR_SET_INTERSECTION]: [a, b] } });
87
+ const CONDITIONS = {
88
+ EQ: { [query_expression_1.default.EXPR_EQ]: [foreignField, localField] },
89
+ ARRAY_LT: { [query_expression_1.default.EXPR_IN]: [foreignField, localField] },
90
+ ARRAY_RT: { [query_expression_1.default.EXPR_IN]: [localField, foreignField] },
91
+ ARRAY_BO_ONE_EQ_BO: {
92
+ [query_expression_1.default.EXPR_GT]: [sizeIntersection(foreignField, localField), 0]
93
+ },
94
+ ARRAY_BO_ALL_EQ_LT: {
95
+ [query_expression_1.default.EXPR_EQ]: [sizeIntersection(foreignField, localField), { $size: foreignField }]
96
+ },
97
+ ARRAY_BO_ALL_EQ_RT: {
98
+ [query_expression_1.default.EXPR_EQ]: [sizeIntersection(foreignField, localField), { $size: localField }]
99
+ },
100
+ ARRAY_LT_WITH_CHECK: {
101
+ [query_expression_1.default.EXPR_IN]: [foreignField, (0, query_method_1.returnArray)(localField)]
102
+ },
103
+ ARRAY_RT_WITH_CHECK: {
104
+ [query_expression_1.default.EXPR_IN]: [foreignField, (0, query_method_1.returnArray)(foreignField)]
105
+ },
106
+ };
107
+ const __MAP_COND__ = CONDITIONS[condition] ?? { [query_expression_1.default.EXPR_EQ]: [foreignField, localField] };
108
+ return __MAP_COND__;
109
+ };
110
+ exports.queryLoopup_matchCondition = queryLoopup_matchCondition;
111
+ const queryLookup_getValues = (conditions) => {
112
+ const localVaribales = {};
113
+ const matchConditions = conditions.map((condition) => {
114
+ localVaribales[condition.localFieldRefPath] = `$${condition.localFieldPath}`;
115
+ return (0, exports.queryLoopup_matchCondition)(condition.localFieldRefPath, condition.foreignFieldPath, condition.type);
116
+ });
117
+ return {
118
+ localVaribales,
119
+ matchConditions,
120
+ };
121
+ };
122
+ exports.queryLookup_getValues = queryLookup_getValues;
123
+ //# sourceMappingURL=lookup.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.pipe.js","sourceRoot":"","sources":["../../../../../../../libs/mongoose/src/helper/query/engine/lookup/lookup.pipe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ export declare const queryMatch: (props: any) => ({
2
+ [x: string]: {
3
+ $or: any[];
4
+ };
5
+ } | {
6
+ [x: string]: {
7
+ [x: string]: {
8
+ [x: string]: any[];
9
+ };
10
+ };
11
+ })[] | ({
12
+ [x: string]: {
13
+ $or: any[];
14
+ };
15
+ } | {
16
+ [x: string]: {
17
+ DL: {
18
+ [x: string]: {
19
+ [x: string]: {
20
+ [x: string]: any[];
21
+ };
22
+ };
23
+ }[];
24
+ AL: {
25
+ [x: string]: {
26
+ [x: string]: {
27
+ [x: string]: any[];
28
+ };
29
+ };
30
+ }[];
31
+ };
32
+ } | {
33
+ [x: string]: {
34
+ doc: {
35
+ [x: string]: {
36
+ [x: string]: string | {
37
+ [x: string]: (string | {
38
+ [x: string]: (number | {
39
+ [x: string]: {
40
+ [x: string]: string | {
41
+ [x: string]: string[];
42
+ };
43
+ };
44
+ })[];
45
+ })[];
46
+ };
47
+ };
48
+ };
49
+ };
50
+ } | {
51
+ [x: string]: string;
52
+ } | {
53
+ [x: string]: {
54
+ [x: string]: string;
55
+ };
56
+ })[];
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryMatch = void 0;
4
+ const query_expression_1 = require("../../query.expression");
5
+ const match_search_1 = require("./match.search");
6
+ const queryMatch = (props) => {
7
+ const { _defaultLang, condAnd = [], condByField = {}, condByQuery = [], criteria = {}, } = props;
8
+ const { _or } = criteria;
9
+ const expr = _or == true ? query_expression_1.default.EXPR_OR : query_expression_1.default.EXPR_AND;
10
+ const condByFieldQuery = Object.keys(condByField).map(e => ({ [query_expression_1.default.EXPR_EQ]: [`$${e}`, condByField[e]] }));
11
+ if (condByQuery.length == 0 && condByFieldQuery.length == 0)
12
+ throw "500 -> Query required";
13
+ let skipFacet = false;
14
+ const condAndQuery = (lang) => condAnd
15
+ .filter(e => e.value != undefined)
16
+ .map(e => {
17
+ if (e.key == "language") {
18
+ if (lang == e.value)
19
+ skipFacet = true;
20
+ return { [query_expression_1.default.EXPR_EQ]: [`$${e.key}`, lang ? lang : e.value] };
21
+ }
22
+ return { [query_expression_1.default.EXPR_EQ]: [`$${e.key}`, e.value] };
23
+ });
24
+ const match = (lang) => ({
25
+ [query_expression_1.default.STAGE_MATCH]: {
26
+ [query_expression_1.default.EXPR]: {
27
+ [query_expression_1.default.EXPR_AND]: [
28
+ ...condAndQuery(lang),
29
+ ...(condByQuery.length > 0 ? condByQuery : [{ [expr]: condByFieldQuery }])
30
+ ]
31
+ }
32
+ }
33
+ });
34
+ const defaultMatch = match(_defaultLang);
35
+ if (skipFacet)
36
+ return [
37
+ ...(0, match_search_1.querySearch)({ criteria }),
38
+ defaultMatch,
39
+ ];
40
+ return [
41
+ ...(0, match_search_1.querySearch)({ criteria }),
42
+ {
43
+ [query_expression_1.default.STAGE_FACET]: { DL: [defaultMatch], AL: [match()] },
44
+ },
45
+ {
46
+ [query_expression_1.default.STAGE_PROJECT]: {
47
+ "doc": {
48
+ [query_expression_1.default.MAP.MAP]: {
49
+ [query_expression_1.default.MAP.INPUT]: "$DL",
50
+ [query_expression_1.default.MAP.AS]: "item_DL",
51
+ [query_expression_1.default.MAP.IN]: {
52
+ [query_expression_1.default.MERGEOBJECTS]: [
53
+ "$$item_DL",
54
+ {
55
+ [query_expression_1.default.ARRAYELEMAT]: [
56
+ {
57
+ [query_expression_1.default.FILTER.FILTER]: {
58
+ [query_expression_1.default.FILTER.INPUT]: "$AL",
59
+ [query_expression_1.default.FILTER.AS]: "item_AL",
60
+ [query_expression_1.default.FILTER.COND]: { [query_expression_1.default.EXPR_EQ]: ["$$item_DL._uid", "$$item_AL._uid"] }
61
+ }
62
+ },
63
+ 0
64
+ ]
65
+ }
66
+ ]
67
+ }
68
+ }
69
+ }
70
+ }
71
+ },
72
+ { [query_expression_1.default.STAGE_UNWIND]: "$doc" },
73
+ { [query_expression_1.default.STAGE_REPLACEROOT.REPLACEROOT]: { [query_expression_1.default.STAGE_REPLACEROOT.NEW_ROOT]: "$doc" } }
74
+ ];
75
+ };
76
+ exports.queryMatch = queryMatch;
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/mongoose/src/helper/query/engine/match/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const querySearch: ({ criteria }: {
2
+ criteria: any;
3
+ }) => {
4
+ [x: string]: {
5
+ $or: any[];
6
+ };
7
+ }[];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.querySearch = void 0;
4
+ const query_expression_1 = require("../../query.expression");
5
+ const querySearch = ({ criteria }) => {
6
+ const { _search } = criteria ?? {};
7
+ const { _searchWord, _searchChar, _searchCharFields } = _search ?? {};
8
+ if (!_searchWord && (!_searchChar || !criteria._searchCharFields?.length))
9
+ return [];
10
+ const searchWordQuery = !_searchWord ? [] :
11
+ [{
12
+ [query_expression_1.default.TEXT]: {
13
+ [query_expression_1.default.SEARCH]: _searchWord
14
+ },
15
+ }];
16
+ const searchCharQuery = (fields) => !fields ? [] :
17
+ fields.map(searchField => {
18
+ return {
19
+ [searchField]: {
20
+ "$regex": _searchChar,
21
+ "$options": "i"
22
+ }
23
+ };
24
+ });
25
+ return [
26
+ {
27
+ [query_expression_1.default.STAGE_MATCH]: {
28
+ "$or": [
29
+ ...searchWordQuery,
30
+ ...searchCharQuery(_searchCharFields),
31
+ ]
32
+ }
33
+ }
34
+ ];
35
+ };
36
+ exports.querySearch = querySearch;
37
+ //# sourceMappingURL=match.search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match.search.js","sourceRoot":"","sources":["../../../../../../../libs/mongoose/src/helper/query/engine/match/match.search.ts"],"names":[],"mappings":";;;AAAA,6DAAuC;AAEhC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACtE,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACrE,OAAO,EAAE,CAAC;IAGd,MAAM,eAAe,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;gBACG,CAAC,0BAAC,CAAC,IAAI,CAAC,EAAE;oBACN,CAAC,0BAAC,CAAC,MAAM,CAAC,EAAE,WAAW;iBAC1B;aACJ,CAAC,CAAC;IAGP,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACrB,OAAO;gBACH,CAAC,WAAW,CAAC,EAAE;oBACX,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,GAAG;iBAClB;aACJ,CAAA;QACL,CAAC,CAAC,CAAC;IAEP,OAAO;QACH;YACI,CAAC,0BAAC,CAAC,WAAW,CAAC,EAAE;gBACb,KAAK,EAAE;oBACH,GAAG,eAAe;oBAClB,GAAG,eAAe,CAAC,iBAAiB,CAAC;iBACxC;aACJ;SACJ;KACJ,CAAC;AACN,CAAC,CAAC;AAnCW,QAAA,WAAW,eAmCtB"}
@@ -0,0 +1,8 @@
1
+ import { ICriteria } from '../engine.type';
2
+ interface IQueryProject {
3
+ criteria: ICriteria;
4
+ }
5
+ export declare const queryProject: ({ criteria }: IQueryProject) => {
6
+ [x: string]: {};
7
+ }[];
8
+ export {};