@thisisagile/easy-mongo 12.22.32 → 12.22.34

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.
@@ -42,6 +42,12 @@ export declare const aggregation: {
42
42
  $count: {};
43
43
  };
44
44
  };
45
+ after: (key: string, date: unknown) => {
46
+ $match: Filter<unknown>;
47
+ };
48
+ before: (key: string, date: unknown) => {
49
+ $match: Filter<unknown>;
50
+ };
45
51
  group: (by: Filter, ...fs: Filter[]) => {
46
52
  $group: any;
47
53
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.aggregation = exports.desc = exports.asc = void 0;
4
4
  const easy_1 = require("@thisisagile/easy");
5
+ const Utils_1 = require("./Utils");
5
6
  exports.asc = 1;
6
7
  exports.desc = -1;
7
8
  exports.aggregation = {
@@ -14,6 +15,8 @@ exports.aggregation = {
14
15
  lte: (key, value) => ({ [key]: { $lte: value } }),
15
16
  sum: (to, from = to) => ({ [to]: { $sum: `$${from}` } }),
16
17
  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))),
17
20
  group: (by, ...fs) => ({ $group: Object.assign({ _id: by }, ...fs) }),
18
21
  skip: ({ skip: $skip }) => (0, easy_1.ifDefined)($skip, { $skip }),
19
22
  take: ({ take: $limit }) => (0, easy_1.ifDefined)($limit, { $limit }),
@@ -1 +1 @@
1
- {"version":3,"file":"Aggregation.js","sourceRoot":"","sources":["../src/Aggregation.ts"],"names":[],"mappings":";;;AAAA,4CAAmE;AAGtD,QAAA,GAAG,GAAG,CAAC,CAAC;AACR,QAAA,IAAI,GAAG,CAAC,CAAC,CAAC;AAEV,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACrC,EAAE,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7C,EAAE,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IACvE,EAAE,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;IAC/D,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;IACjE,EAAE,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;IAC/D,GAAG,EAAE,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;IACjE,GAAG,EAAE,CAAC,EAAU,EAAE,OAAe,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;IACxE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;IACnD,KAAK,EAAE,CAAC,EAAU,EAAE,GAAG,EAAY,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IACvF,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAe,EAAoB,EAAE,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;IACrF,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAe,EAAoB,EAAE,CAAC,IAAA,gBAAS,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC;IACxF,IAAI,EAAE,CAAC,KAA+C,EAAoB,EAAE,CAAC,CAAC,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvH,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,WAAG,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,YAAI,EAAE,CAAC;IACxD,IAAI,EAAE,CAAC,GAAW,EAAE,MAAM,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;CAC7F,CAAC"}
1
+ {"version":3,"file":"Aggregation.js","sourceRoot":"","sources":["../src/Aggregation.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": "12.22.32",
3
+ "version": "12.22.34",
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.32"
34
+ "@thisisagile/easy-test": "12.22.34"
35
35
  },
36
36
  "dependencies": {
37
- "@thisisagile/easy": "^12.22.32",
37
+ "@thisisagile/easy": "^12.22.34",
38
38
  "mongodb": "^4.14.0"
39
39
  }
40
40
  }
@@ -1,5 +1,6 @@
1
1
  import { ifDefined, isPresent, Optional } from '@thisisagile/easy';
2
2
  import { Filter, FindOptions } from './MongoProvider';
3
+ import { toMongoType } from './Utils';
3
4
 
4
5
  export const asc = 1;
5
6
  export const desc = -1;
@@ -14,6 +15,8 @@ export const aggregation = {
14
15
  lte: (key: string, value: Filter) => ({ [key]: { $lte: value } }),
15
16
  sum: (to: string, from: string = to) => ({ [to]: { $sum: `$${from}` } }),
16
17
  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))),
17
20
  group: (by: Filter, ...fs: Filter[]) => ({ $group: Object.assign({ _id: by }, ...fs) }),
18
21
  skip: ({ skip: $skip }: FindOptions): Optional<Filter> => ifDefined($skip, { $skip }),
19
22
  take: ({ take: $limit }: FindOptions): Optional<Filter> => ifDefined($limit, { $limit }),