@thisisagile/easy-mongo 12.22.31 → 12.22.32

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.
@@ -1,4 +1,4 @@
1
- import { Id, Optional } from '@thisisagile/easy';
1
+ 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;
@@ -6,30 +6,30 @@ export declare const aggregation: {
6
6
  match: (f: Filter) => {
7
7
  $match: Filter<unknown>;
8
8
  };
9
- id: (id: Id) => {
9
+ id: (id: Filter) => {
10
10
  $match: Filter<unknown>;
11
11
  };
12
- eq: (key: string, value: Id | Filter) => {
12
+ eq: (key: string, value: Filter) => {
13
13
  $match: Filter<unknown>;
14
14
  };
15
- gt: (key: string, value: Id) => {
15
+ gt: (key: string, value: Filter) => {
16
16
  [x: string]: {
17
- $gt: Id;
17
+ $gt: Filter<unknown>;
18
18
  };
19
19
  };
20
- gte: (key: string, value: Id) => {
20
+ gte: (key: string, value: Filter) => {
21
21
  [x: string]: {
22
- $gte: Id;
22
+ $gte: Filter<unknown>;
23
23
  };
24
24
  };
25
- lt: (key: string, value: Id) => {
25
+ lt: (key: string, value: Filter) => {
26
26
  [x: string]: {
27
- $lt: Id;
27
+ $lt: Filter<unknown>;
28
28
  };
29
29
  };
30
- lte: (key: string, value: Id) => {
30
+ lte: (key: string, value: Filter) => {
31
31
  [x: string]: {
32
- $lte: Id;
32
+ $lte: Filter<unknown>;
33
33
  };
34
34
  };
35
35
  sum: (to: string, from?: string) => {
@@ -37,25 +37,23 @@ export declare const aggregation: {
37
37
  $sum: string;
38
38
  };
39
39
  };
40
- group: (id: Id, g: Filter) => {
41
- $group: {
42
- _id: Id | import("mongodb").Condition<import("bson").ObjectID>;
43
- $and?: import("mongodb").Filter<import("mongodb").WithId<unknown>>[] | undefined;
44
- $nor?: import("mongodb").Filter<import("mongodb").WithId<unknown>>[] | undefined;
45
- $or?: import("mongodb").Filter<import("mongodb").WithId<unknown>>[] | undefined;
46
- $text?: {
47
- $search: string;
48
- $language?: string | undefined;
49
- $caseSensitive?: boolean | undefined;
50
- $diacriticSensitive?: boolean | undefined;
51
- } | undefined;
52
- $where?: string | ((this: import("mongodb").WithId<unknown>) => boolean) | undefined;
53
- $comment?: string | import("bson").Document | undefined;
40
+ count: (to?: string) => {
41
+ [x: string]: {
42
+ $count: {};
54
43
  };
55
44
  };
45
+ group: (by: Filter, ...fs: Filter[]) => {
46
+ $group: any;
47
+ };
56
48
  skip: ({ skip: $skip }: FindOptions) => Optional<Filter>;
57
49
  take: ({ take: $limit }: FindOptions) => Optional<Filter>;
58
50
  sort: ($sort: Record<string, typeof asc | typeof desc>) => Optional<Filter>;
59
51
  asc: (key: string) => Optional<Filter<unknown>>;
60
52
  desc: (key: string) => Optional<Filter<unknown>>;
53
+ date: (key: string, format?: string) => {
54
+ $dateToString: {
55
+ date: string;
56
+ format: string;
57
+ };
58
+ };
61
59
  };
@@ -13,11 +13,13 @@ exports.aggregation = {
13
13
  lt: (key, value) => ({ [key]: { $lt: value } }),
14
14
  lte: (key, value) => ({ [key]: { $lte: value } }),
15
15
  sum: (to, from = to) => ({ [to]: { $sum: `$${from}` } }),
16
- group: (id, g) => ({ $group: { _id: id, ...g } }),
16
+ count: (to = 'count') => ({ [to]: { $count: {} } }),
17
+ group: (by, ...fs) => ({ $group: Object.assign({ _id: by }, ...fs) }),
17
18
  skip: ({ skip: $skip }) => (0, easy_1.ifDefined)($skip, { $skip }),
18
19
  take: ({ take: $limit }) => (0, easy_1.ifDefined)($limit, { $limit }),
19
20
  sort: ($sort) => ((0, easy_1.isPresent)($sort) ? { $sort } : undefined),
20
21
  asc: (key) => exports.aggregation.sort({ [key]: exports.asc }),
21
22
  desc: (key) => exports.aggregation.sort({ [key]: exports.desc }),
23
+ date: (key, format = '%Y-%m-%d') => ({ $dateToString: { date: `$${key}`, format } }),
22
24
  };
23
25
  //# sourceMappingURL=Aggregation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Aggregation.js","sourceRoot":"","sources":["../src/Aggregation.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AAG1D,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,EAAM,EAAE,EAAE,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;IACzC,EAAE,EAAE,CAAC,GAAW,EAAE,KAAkB,EAAE,EAAE,CAAC,mBAAW,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5E,EAAE,EAAE,CAAC,GAAW,EAAE,KAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;IAC3D,GAAG,EAAE,CAAC,GAAW,EAAE,KAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;IAC7D,EAAE,EAAE,CAAC,GAAW,EAAE,KAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;IAC3D,GAAG,EAAE,CAAC,GAAW,EAAE,KAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;IAC7D,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,EAAM,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IAC7D,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;CACzD,CAAC"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy-mongo",
3
- "version": "12.22.31",
3
+ "version": "12.22.32",
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.31"
34
+ "@thisisagile/easy-test": "12.22.32"
35
35
  },
36
36
  "dependencies": {
37
- "@thisisagile/easy": "^12.22.31",
37
+ "@thisisagile/easy": "^12.22.32",
38
38
  "mongodb": "^4.14.0"
39
39
  }
40
40
  }
@@ -1,4 +1,4 @@
1
- import { Id, ifDefined, isPresent, Optional } from '@thisisagile/easy';
1
+ import { ifDefined, isPresent, Optional } from '@thisisagile/easy';
2
2
  import { Filter, FindOptions } from './MongoProvider';
3
3
 
4
4
  export const asc = 1;
@@ -6,17 +6,19 @@ export const desc = -1;
6
6
 
7
7
  export const aggregation = {
8
8
  match: (f: Filter) => ({ $match: f }),
9
- id: (id: Id) => aggregation.match({ id }),
10
- eq: (key: string, value: Id | Filter) => aggregation.match({ [key]: value }),
11
- gt: (key: string, value: Id) => ({ [key]: { $gt: value } }),
12
- gte: (key: string, value: Id) => ({ [key]: { $gte: value } }),
13
- lt: (key: string, value: Id) => ({ [key]: { $lt: value } }),
14
- lte: (key: string, value: Id) => ({ [key]: { $lte: value } }),
9
+ id: (id: Filter) => aggregation.match({ id }),
10
+ eq: (key: string, value: Filter) => aggregation.match({ [key]: value }),
11
+ gt: (key: string, value: Filter) => ({ [key]: { $gt: value } }),
12
+ gte: (key: string, value: Filter) => ({ [key]: { $gte: value } }),
13
+ lt: (key: string, value: Filter) => ({ [key]: { $lt: value } }),
14
+ lte: (key: string, value: Filter) => ({ [key]: { $lte: value } }),
15
15
  sum: (to: string, from: string = to) => ({ [to]: { $sum: `$${from}` } }),
16
- group: (id: Id, g: Filter) => ({ $group: { _id: id, ...g } }),
16
+ count: (to = 'count') => ({ [to]: { $count: {} } }),
17
+ group: (by: Filter, ...fs: Filter[]) => ({ $group: Object.assign({ _id: by }, ...fs) }),
17
18
  skip: ({ skip: $skip }: FindOptions): Optional<Filter> => ifDefined($skip, { $skip }),
18
19
  take: ({ take: $limit }: FindOptions): Optional<Filter> => ifDefined($limit, { $limit }),
19
20
  sort: ($sort: Record<string, typeof asc | typeof desc>): Optional<Filter> => (isPresent($sort) ? { $sort } : undefined),
20
21
  asc: (key: string) => aggregation.sort({ [key]: asc }),
21
22
  desc: (key: string) => aggregation.sort({ [key]: desc }),
23
+ date: (key: string, format = '%Y-%m-%d') => ({ $dateToString: { date: `$${key}`, format } }),
22
24
  };