@thisisagile/easy-mongo 12.22.34 → 12.22.36

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.
@@ -2,16 +2,7 @@ import { Optional } from '@thisisagile/easy';
2
2
  import { Filter, FindOptions } from './MongoProvider';
3
3
  export declare const asc = 1;
4
4
  export declare const desc = -1;
5
- export declare const aggregation: {
6
- match: (f: Filter) => {
7
- $match: Filter<unknown>;
8
- };
9
- id: (id: Filter) => {
10
- $match: Filter<unknown>;
11
- };
12
- eq: (key: string, value: Filter) => {
13
- $match: Filter<unknown>;
14
- };
5
+ export declare const aggregations: {
15
6
  gt: (key: string, value: Filter) => {
16
7
  [x: string]: {
17
8
  $gt: Filter<unknown>;
@@ -32,6 +23,21 @@ export declare const aggregation: {
32
23
  $lte: Filter<unknown>;
33
24
  };
34
25
  };
26
+ match: (f: Filter) => {
27
+ $match: Filter<unknown>;
28
+ };
29
+ id: (id: Filter) => {
30
+ $match: Filter<unknown>;
31
+ };
32
+ eq: (key: string, value: Filter) => {
33
+ $match: Filter<unknown>;
34
+ };
35
+ after: (key: string, date: unknown) => {
36
+ $match: Filter<unknown>;
37
+ };
38
+ before: (key: string, date: unknown) => {
39
+ $match: Filter<unknown>;
40
+ };
35
41
  sum: (to: string, from?: string) => {
36
42
  [x: string]: {
37
43
  $sum: string;
@@ -42,14 +48,10 @@ export declare const aggregation: {
42
48
  $count: {};
43
49
  };
44
50
  };
45
- after: (key: string, date: unknown) => {
46
- $match: Filter<unknown>;
47
- };
48
- before: (key: string, date: unknown) => {
49
- $match: Filter<unknown>;
50
- };
51
- group: (by: Filter, ...fs: Filter[]) => {
52
- $group: any;
51
+ groupBy: (by: Filter) => {
52
+ and: (...fs: Filter[]) => {
53
+ $group: any;
54
+ };
53
55
  };
54
56
  skip: ({ skip: $skip }: FindOptions) => Optional<Filter>;
55
57
  take: ({ take: $limit }: FindOptions) => Optional<Filter>;
@@ -1,28 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aggregation = exports.desc = exports.asc = void 0;
3
+ exports.aggregations = exports.desc = exports.asc = void 0;
4
4
  const easy_1 = require("@thisisagile/easy");
5
5
  const Utils_1 = require("./Utils");
6
6
  exports.asc = 1;
7
7
  exports.desc = -1;
8
- exports.aggregation = {
9
- match: (f) => ({ $match: f }),
10
- id: (id) => exports.aggregation.match({ id }),
11
- eq: (key, value) => exports.aggregation.match({ [key]: value }),
8
+ exports.aggregations = {
12
9
  gt: (key, value) => ({ [key]: { $gt: value } }),
13
10
  gte: (key, value) => ({ [key]: { $gte: value } }),
14
11
  lt: (key, value) => ({ [key]: { $lt: value } }),
15
12
  lte: (key, value) => ({ [key]: { $lte: value } }),
13
+ match: (f) => ({ $match: f }),
14
+ id: (id) => exports.aggregations.match({ id }),
15
+ eq: (key, value) => exports.aggregations.match({ [key]: value }),
16
+ after: (key, date) => exports.aggregations.match(exports.aggregations.gte(key, (0, Utils_1.toMongoType)(date))),
17
+ before: (key, date) => exports.aggregations.match(exports.aggregations.lt(key, (0, Utils_1.toMongoType)(date))),
16
18
  sum: (to, from = to) => ({ [to]: { $sum: `$${from}` } }),
17
19
  count: (to = 'count') => ({ [to]: { $count: {} } }),
18
- after: (key, date) => exports.aggregation.match(exports.aggregation.gte(key, (0, Utils_1.toMongoType)(date))),
19
- before: (key, date) => exports.aggregation.match(exports.aggregation.lt(key, (0, Utils_1.toMongoType)(date))),
20
- group: (by, ...fs) => ({ $group: Object.assign({ _id: by }, ...fs) }),
20
+ groupBy: (by) => ({
21
+ and: (...fs) => ({ $group: Object.assign({ _id: by }, ...fs) }),
22
+ }),
21
23
  skip: ({ skip: $skip }) => (0, easy_1.ifDefined)($skip, { $skip }),
22
24
  take: ({ take: $limit }) => (0, easy_1.ifDefined)($limit, { $limit }),
23
25
  sort: ($sort) => ((0, easy_1.isPresent)($sort) ? { $sort } : undefined),
24
- asc: (key) => exports.aggregation.sort({ [key]: exports.asc }),
25
- desc: (key) => exports.aggregation.sort({ [key]: exports.desc }),
26
+ asc: (key) => exports.aggregations.sort({ [key]: exports.asc }),
27
+ desc: (key) => exports.aggregations.sort({ [key]: exports.desc }),
26
28
  date: (key, format = '%Y-%m-%d') => ({ $dateToString: { date: `$${key}`, format } }),
27
29
  };
28
- //# sourceMappingURL=Aggregation.js.map
30
+ //# sourceMappingURL=Aggregations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Aggregations.js","sourceRoot":"","sources":["../src/Aggregations.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './Aggregation';
1
+ export * from './Aggregations';
2
2
  export * from './Collection';
3
3
  export * from './MongoGateway';
4
4
  export * from './MongoProvider';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Aggregation"), exports);
17
+ __exportStar(require("./Aggregations"), exports);
18
18
  __exportStar(require("./Collection"), exports);
19
19
  __exportStar(require("./MongoGateway"), exports);
20
20
  __exportStar(require("./MongoProvider"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,iDAA+B;AAC/B,kDAAgC;AAChC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,+CAA6B;AAC7B,iDAA+B;AAC/B,kDAAgC;AAChC,0CAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy-mongo",
3
- "version": "12.22.34",
3
+ "version": "12.22.36",
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": "12.22.34"
34
+ "@thisisagile/easy-test": "12.22.36"
35
35
  },
36
36
  "dependencies": {
37
- "@thisisagile/easy": "^12.22.34",
37
+ "@thisisagile/easy": "^12.22.36",
38
38
  "mongodb": "^4.14.0"
39
39
  }
40
40
  }
@@ -5,23 +5,25 @@ import { toMongoType } from './Utils';
5
5
  export const asc = 1;
6
6
  export const desc = -1;
7
7
 
8
- export const aggregation = {
9
- match: (f: Filter) => ({ $match: f }),
10
- id: (id: Filter) => aggregation.match({ id }),
11
- eq: (key: string, value: Filter) => aggregation.match({ [key]: value }),
8
+ export const aggregations = {
12
9
  gt: (key: string, value: Filter) => ({ [key]: { $gt: value } }),
13
10
  gte: (key: string, value: Filter) => ({ [key]: { $gte: value } }),
14
11
  lt: (key: string, value: Filter) => ({ [key]: { $lt: value } }),
15
12
  lte: (key: string, value: Filter) => ({ [key]: { $lte: value } }),
13
+ match: (f: Filter) => ({ $match: f }),
14
+ id: (id: Filter) => aggregations.match({ id }),
15
+ eq: (key: string, value: Filter) => aggregations.match({ [key]: value }),
16
+ after: (key: string, date: unknown) => aggregations.match(aggregations.gte(key, toMongoType(date))),
17
+ before: (key: string, date: unknown) => aggregations.match(aggregations.lt(key, toMongoType(date))),
16
18
  sum: (to: string, from: string = to) => ({ [to]: { $sum: `$${from}` } }),
17
19
  count: (to = 'count') => ({ [to]: { $count: {} } }),
18
- after: (key: string, date: unknown) => aggregation.match(aggregation.gte(key, toMongoType(date))),
19
- before: (key: string, date: unknown) => aggregation.match(aggregation.lt(key, toMongoType(date))),
20
- group: (by: Filter, ...fs: Filter[]) => ({ $group: Object.assign({ _id: by }, ...fs) }),
20
+ groupBy: (by: Filter) => ({
21
+ and: (...fs: Filter[]) => ({ $group: Object.assign({ _id: by }, ...fs) }),
22
+ }),
21
23
  skip: ({ skip: $skip }: FindOptions): Optional<Filter> => ifDefined($skip, { $skip }),
22
24
  take: ({ take: $limit }: FindOptions): Optional<Filter> => ifDefined($limit, { $limit }),
23
25
  sort: ($sort: Record<string, typeof asc | typeof desc>): Optional<Filter> => (isPresent($sort) ? { $sort } : undefined),
24
- asc: (key: string) => aggregation.sort({ [key]: asc }),
25
- desc: (key: string) => aggregation.sort({ [key]: desc }),
26
+ asc: (key: string) => aggregations.sort({ [key]: asc }),
27
+ desc: (key: string) => aggregations.sort({ [key]: desc }),
26
28
  date: (key: string, format = '%Y-%m-%d') => ({ $dateToString: { date: `$${key}`, format } }),
27
29
  };
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './Aggregation';
1
+ export * from './Aggregations';
2
2
  export * from './Collection';
3
3
  export * from './MongoGateway';
4
4
  export * from './MongoProvider';
@@ -1 +0,0 @@
1
- {"version":3,"file":"Aggregation.js","sourceRoot":"","sources":["../src/Aggregation.ts"],"names":[],"mappings":"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"}