@thisisagile/easy-mongo 14.2.6 → 14.2.8

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.
@@ -0,0 +1,61 @@
1
+ import { OneOrMore } from "@thisisagile/easy";
2
+ type FuzzyOptions = {
3
+ maxEdits: number;
4
+ prefixLength: number;
5
+ maxExpansions: number;
6
+ };
7
+ export declare const lucene: {
8
+ operations: {
9
+ text: (value?: OneOrMore<unknown>, fuzzy?: Partial<FuzzyOptions>) => (path: string) => import("@thisisagile/easy").Optional<{
10
+ text: {
11
+ fuzzy?: Partial<FuzzyOptions> | undefined;
12
+ path: string;
13
+ query: {}[];
14
+ };
15
+ }>;
16
+ lt: (value: unknown) => (path: string) => import("@thisisagile/easy").Optional<{
17
+ range: {
18
+ path: string;
19
+ lt: {};
20
+ };
21
+ }>;
22
+ lte: (value: unknown) => (path: string) => import("@thisisagile/easy").Optional<{
23
+ range: {
24
+ path: string;
25
+ lte: {};
26
+ };
27
+ }>;
28
+ gt: (value: unknown) => (path: string) => import("@thisisagile/easy").Optional<{
29
+ range: {
30
+ path: string;
31
+ gt: {};
32
+ };
33
+ }>;
34
+ gte: (value: unknown) => (path: string) => import("@thisisagile/easy").Optional<{
35
+ range: {
36
+ path: string;
37
+ gte: {};
38
+ };
39
+ }>;
40
+ after: (date: unknown) => (path: string) => import("@thisisagile/easy").Optional<{
41
+ range: {
42
+ path: string;
43
+ gte: {};
44
+ };
45
+ }>;
46
+ before: (date: unknown) => (path: string) => import("@thisisagile/easy").Optional<{
47
+ range: {
48
+ path: string;
49
+ lt: {};
50
+ };
51
+ }>;
52
+ between: (after: unknown, before: unknown) => (path: string) => {
53
+ range: {
54
+ path: string;
55
+ gte: import("@thisisagile/easy").Json;
56
+ lt: import("@thisisagile/easy").Json;
57
+ };
58
+ };
59
+ };
60
+ };
61
+ export {};
package/dist/Lucene.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lucene = void 0;
4
+ const easy_1 = require("@thisisagile/easy");
5
+ const Utils_1 = require("./Utils");
6
+ exports.lucene = {
7
+ operations: {
8
+ text: (value, fuzzy) => (path) => (0, easy_1.ifDefined)(value, v => ({
9
+ text: {
10
+ path,
11
+ query: (0, easy_1.toArray)(v), ...(0, easy_1.ifDefined)(fuzzy, { fuzzy })
12
+ }
13
+ })),
14
+ lt: (value) => (path) => (0, easy_1.ifDefined)(value, lt => ({ range: { path, lt } })),
15
+ lte: (value) => (path) => (0, easy_1.ifDefined)(value, lte => ({ range: { path, lte } })),
16
+ gt: (value) => (path) => (0, easy_1.ifDefined)(value, gt => ({ range: { path, gt } })),
17
+ gte: (value) => (path) => (0, easy_1.ifDefined)(value, gte => ({ range: { path, gte } })),
18
+ after: (date) => exports.lucene.operations.gte((0, Utils_1.toMongoType)(date)),
19
+ before: (date) => exports.lucene.operations.lt((0, Utils_1.toMongoType)(date)),
20
+ between: (after, before) => (path) => ({
21
+ range: {
22
+ path,
23
+ gte: (0, Utils_1.toMongoType)(after),
24
+ lt: (0, Utils_1.toMongoType)(before)
25
+ }
26
+ }),
27
+ }
28
+ };
29
+ //# sourceMappingURL=Lucene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lucene.js","sourceRoot":"","sources":["../src/Lucene.ts"],"names":[],"mappings":";;;AAAA,4CAAgE;AAChE,mCAAoC;AAQvB,QAAA,MAAM,GAAG;IAMlB,UAAU,EAAE;QACR,IAAI,EAAE,CAAC,KAA0B,EAAE,KAA6B,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1G,IAAI,EAAE;gBACF,IAAI;gBACJ,KAAK,EAAE,IAAA,cAAO,EAAC,CAAC,CAAC,EAAE,GAAG,IAAA,gBAAS,EAAC,KAAK,EAAE,EAAC,KAAK,EAAC,CAAC;aAClD;SACJ,CAAC,CAAC;QACH,EAAE,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,EAAE,EAAC,EAAC,CAAC,CAAC;QACvF,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,EAAC,CAAC,CAAC;QAC1F,EAAE,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,EAAE,EAAC,EAAC,CAAC,CAAC;QACvF,GAAG,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,gBAAS,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,GAAG,EAAC,EAAC,CAAC,CAAC;QAC1F,KAAK,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,cAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,cAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC,KAAc,EAAE,MAAe,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;YAC7D,KAAK,EAAE;gBACH,IAAI;gBACJ,GAAG,EAAE,IAAA,mBAAW,EAAC,KAAK,CAAC;gBACvB,EAAE,EAAE,IAAA,mBAAW,EAAC,MAAM,CAAC;aAC1B;SACJ,CAAC;KACL;CAEJ,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './Collection';
2
+ export * from './Lucene';
2
3
  export * from './MongoGateway';
3
4
  export * from './MongoProvider';
4
5
  export * from './Stages';
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Collection"), exports);
18
+ __exportStar(require("./Lucene"), exports);
18
19
  __exportStar(require("./MongoGateway"), exports);
19
20
  __exportStar(require("./MongoProvider"), exports);
20
21
  __exportStar(require("./Stages"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,kDAAgC;AAChC,2CAAyB;AACzB,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB;AACzB,iDAA+B;AAC/B,kDAAgC;AAChC,2CAAyB;AACzB,0CAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy-mongo",
3
- "version": "14.2.6",
3
+ "version": "14.2.8",
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.2.6"
34
+ "@thisisagile/easy-test": "14.2.8"
35
35
  },
36
36
  "dependencies": {
37
- "@thisisagile/easy": "^14.2.6",
37
+ "@thisisagile/easy": "^14.2.8",
38
38
  "mongodb": "^5.6.0"
39
39
  }
40
40
  }
package/src/Lucene.ts ADDED
@@ -0,0 +1,38 @@
1
+ import {ifDefined, OneOrMore, toArray} from "@thisisagile/easy";
2
+ import {toMongoType} from "./Utils";
3
+
4
+ type FuzzyOptions = {
5
+ maxEdits: number,
6
+ prefixLength: number,
7
+ maxExpansions: number
8
+ }
9
+
10
+ export const lucene = {
11
+ // operators: {
12
+ // must:
13
+ // should:
14
+ // filter:
15
+ // },
16
+ operations: {
17
+ text: (value?: OneOrMore<unknown>, fuzzy?: Partial<FuzzyOptions>) => (path: string) => ifDefined(value, v => ({
18
+ text: {
19
+ path,
20
+ query: toArray(v), ...ifDefined(fuzzy, {fuzzy})
21
+ }
22
+ })),
23
+ lt: (value: unknown) => (path: string) => ifDefined(value, lt => ({range: {path, lt}})),
24
+ lte: (value: unknown) => (path: string) => ifDefined(value, lte => ({range: {path, lte}})),
25
+ gt: (value: unknown) => (path: string) => ifDefined(value, gt => ({range: {path, gt}})),
26
+ gte: (value: unknown) => (path: string) => ifDefined(value, gte => ({range: {path, gte}})),
27
+ after: (date: unknown) => lucene.operations.gte(toMongoType(date)),
28
+ before: (date: unknown) => lucene.operations.lt(toMongoType(date)),
29
+ between: (after: unknown, before: unknown) => (path: string) => ({
30
+ range: {
31
+ path,
32
+ gte: toMongoType(after),
33
+ lt: toMongoType(before)
34
+ }
35
+ }),
36
+ }
37
+ // compound: ()
38
+ }
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './Collection';
2
+ export * from './Lucene';
2
3
  export * from './MongoGateway';
3
4
  export * from './MongoProvider';
4
5
  export * from './Stages';