@thisisagile/easy-mongo 14.1.21 → 14.1.23
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.
- package/dist/Stages.d.ts +8 -13
- package/dist/Stages.js +5 -4
- package/dist/Stages.js.map +1 -1
- package/package.json +3 -3
- package/src/Stages.ts +8 -6
package/dist/Stages.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Filter, FindOptions } from './MongoProvider';
|
|
2
|
-
import { Get, Id, Optional, PartialRecord } from '@thisisagile/easy';
|
|
2
|
+
import { Get, Id, Optional, OneOrMore, PartialRecord } from '@thisisagile/easy';
|
|
3
3
|
export declare const asc = 1;
|
|
4
4
|
export declare const desc = -1;
|
|
5
5
|
export type Accumulators = '$sum' | '$count' | '$avg' | '$first' | '$last' | '$min' | '$max' | '$push';
|
|
@@ -10,6 +10,7 @@ export declare const stages: {
|
|
|
10
10
|
id: string;
|
|
11
11
|
decode: {
|
|
12
12
|
fields: (f: Filter) => any;
|
|
13
|
+
fieldsArrays: (f: Filter) => any;
|
|
13
14
|
id: (f: Filter | string) => any;
|
|
14
15
|
};
|
|
15
16
|
match: {
|
|
@@ -104,21 +105,15 @@ export declare const stages: {
|
|
|
104
105
|
currentAnd: (...objects: Filter[]) => Optional<Filter>;
|
|
105
106
|
};
|
|
106
107
|
facet: {
|
|
107
|
-
facet: (f: Record<string, Get<Optional<Filter>, string
|
|
108
|
+
facet: (f: Record<string, OneOrMore<Get<Optional<Filter>, string>>>) => {
|
|
108
109
|
$facet: any;
|
|
109
110
|
};
|
|
110
|
-
|
|
111
|
-
$match: {};
|
|
112
|
-
}[];
|
|
113
|
-
count: (from?: string) => (f?: string) => {
|
|
114
|
-
$sortByCount: string;
|
|
115
|
-
}[];
|
|
116
|
-
unwindCount: (from?: string) => (f?: string) => ({
|
|
111
|
+
unwind: (from?: string) => (f?: string) => {
|
|
117
112
|
$unwind: string;
|
|
118
|
-
|
|
119
|
-
|
|
113
|
+
};
|
|
114
|
+
count: (from?: string) => (f?: string) => {
|
|
120
115
|
$sortByCount: string;
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
};
|
|
117
|
+
data: () => never[];
|
|
123
118
|
};
|
|
124
119
|
};
|
package/dist/Stages.js
CHANGED
|
@@ -12,6 +12,7 @@ exports.stages = {
|
|
|
12
12
|
id: '_id',
|
|
13
13
|
decode: {
|
|
14
14
|
fields: (f) => Object.entries(f).reduce((res, [k, v]) => (0, easy_1.on)(res, r => (0, easy_1.ifDefined)((0, easy_1.isFunction)(v) ? v(k) : v, nv => (r[k] = nv))), {}),
|
|
15
|
+
fieldsArrays: (f) => Object.entries(f).reduce((res, [k, v]) => (0, easy_1.on)(res, r => r[k] = (0, easy_1.use)((0, easy_1.toArray)(v), vs => vs.map(v => (0, easy_1.isFunction)(v) ? v(k) : v))), {}),
|
|
15
16
|
id: (f) => ((0, easy_1.isString)(f) ? `$${(0, easy_1.asString)(f)}` : (0, easy_1.isPrimitive)(f) ? f : Object.entries(f).map(([k, v]) => ((0, easy_1.isFunction)(v) ? v(k) : v))[0]),
|
|
16
17
|
},
|
|
17
18
|
match: {
|
|
@@ -67,10 +68,10 @@ exports.stages = {
|
|
|
67
68
|
currentAnd: (...objects) => exports.stages.replaceWith.merge(exports.stages.current, ...objects),
|
|
68
69
|
},
|
|
69
70
|
facet: {
|
|
70
|
-
facet: (f) => ({ $facet: exports.stages.decode.
|
|
71
|
-
|
|
72
|
-
count: (from) => (f) =>
|
|
73
|
-
|
|
71
|
+
facet: (f) => ({ $facet: exports.stages.decode.fieldsArrays(f) }),
|
|
72
|
+
unwind: (from) => (f) => ({ $unwind: `$${from ?? f}` }),
|
|
73
|
+
count: (from) => (f) => ({ $sortByCount: `$${from ?? f}` }),
|
|
74
|
+
data: () => [],
|
|
74
75
|
}
|
|
75
76
|
};
|
|
76
77
|
//# sourceMappingURL=Stages.js.map
|
package/dist/Stages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stages.js","sourceRoot":"","sources":["../src/Stages.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"Stages.js","sourceRoot":"","sources":["../src/Stages.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy-mongo",
|
|
3
|
-
"version": "14.1.
|
|
3
|
+
"version": "14.1.23",
|
|
4
4
|
"description": "Add support for MongoDB",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@thisisagile/easy-test": "14.1.
|
|
34
|
+
"@thisisagile/easy-test": "14.1.23"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@thisisagile/easy": "^14.1.
|
|
37
|
+
"@thisisagile/easy": "^14.1.23",
|
|
38
38
|
"mongodb": "^5.6.0"
|
|
39
39
|
}
|
|
40
40
|
}
|
package/src/Stages.ts
CHANGED
|
@@ -5,14 +5,15 @@ import {
|
|
|
5
5
|
Get,
|
|
6
6
|
Id,
|
|
7
7
|
ifDefined,
|
|
8
|
-
|
|
8
|
+
ifNotEmpty,
|
|
9
9
|
isFunction,
|
|
10
10
|
isPresent,
|
|
11
11
|
isPrimitive,
|
|
12
12
|
isString,
|
|
13
13
|
on,
|
|
14
14
|
Optional,
|
|
15
|
-
|
|
15
|
+
OneOrMore,
|
|
16
|
+
PartialRecord, use, toArray
|
|
16
17
|
} from '@thisisagile/easy';
|
|
17
18
|
import { toMongoType } from './Utils';
|
|
18
19
|
|
|
@@ -29,6 +30,7 @@ export const stages = {
|
|
|
29
30
|
id: '_id',
|
|
30
31
|
decode: {
|
|
31
32
|
fields: (f: Filter) => Object.entries(f).reduce((res, [k, v]) => on(res, r => ifDefined(isFunction(v) ? v(k) : v, nv => (r[k] = nv))), {} as any),
|
|
33
|
+
fieldsArrays: (f: Filter) => Object.entries(f).reduce((res, [k, v]) => on(res, r => r[k] = use(toArray(v), vs => vs.map(v => isFunction(v) ? v(k) : v))), {} as any),
|
|
32
34
|
id: (f: Filter | string) => (isString(f) ? `$${asString(f)}` : isPrimitive(f) ? f : Object.entries(f).map(([k, v]) => (isFunction(v) ? v(k) : v))[0]),
|
|
33
35
|
},
|
|
34
36
|
match: {
|
|
@@ -86,9 +88,9 @@ export const stages = {
|
|
|
86
88
|
currentAnd: (...objects: Filter[]): Optional<Filter> => stages.replaceWith.merge(stages.current, ...objects),
|
|
87
89
|
},
|
|
88
90
|
facet: {
|
|
89
|
-
facet: (f: Record<string, Get<Optional<Filter>, string
|
|
90
|
-
|
|
91
|
-
count: (from?: string) => (f?: string) =>
|
|
92
|
-
|
|
91
|
+
facet: (f: Record<string, OneOrMore<Get<Optional<Filter>, string>>>) => ({ $facet: stages.decode.fieldsArrays(f) }),
|
|
92
|
+
unwind: (from?: string) => (f?: string) => ({ $unwind: `$${from ?? f}`}),
|
|
93
|
+
count: (from?: string) => (f?: string) => ({ $sortByCount: `$${from ?? f}`}),
|
|
94
|
+
data: () => [],
|
|
93
95
|
}
|
|
94
96
|
};
|