@thisisagile/easy-mongo 14.2.4 → 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.
- package/dist/Lucene.d.ts +61 -0
- package/dist/Lucene.js +29 -0
- package/dist/Lucene.js.map +1 -0
- package/dist/Stages.d.ts +4 -2
- package/dist/Stages.js +1 -1
- package/dist/Stages.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Lucene.ts +38 -0
- package/src/Stages.ts +1 -1
- package/src/index.ts +1 -0
package/dist/Lucene.d.ts
ADDED
|
@@ -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/Stages.d.ts
CHANGED
|
@@ -81,14 +81,16 @@ export declare const stages: {
|
|
|
81
81
|
query: (Id | undefined)[];
|
|
82
82
|
};
|
|
83
83
|
};
|
|
84
|
-
fuzzy: (value?: string) => (key?: string) => {
|
|
84
|
+
fuzzy: (value?: string, maxEdits?: number) => (key?: string) => {
|
|
85
85
|
text: {
|
|
86
86
|
query: string | undefined;
|
|
87
87
|
path: string | {
|
|
88
88
|
wildcard: string;
|
|
89
89
|
} | undefined;
|
|
90
|
+
fuzzy: {
|
|
91
|
+
maxEdits: number;
|
|
92
|
+
};
|
|
90
93
|
};
|
|
91
|
-
fuzzy: {};
|
|
92
94
|
};
|
|
93
95
|
};
|
|
94
96
|
set: {
|
package/dist/Stages.js
CHANGED
|
@@ -48,7 +48,7 @@ exports.stages = {
|
|
|
48
48
|
search: {
|
|
49
49
|
search: (f) => ({ $search: exports.stages.decode.id(f) }),
|
|
50
50
|
auto: (value) => (key) => ({ autocomplete: { path: key, query: [value] } }),
|
|
51
|
-
fuzzy: (value) => (key) => ({ text: { query: value, path: key === "wildcard" ? { wildcard: "*" } : key
|
|
51
|
+
fuzzy: (value, maxEdits = 1) => (key) => ({ text: { query: value, path: key === "wildcard" ? { wildcard: "*" } : key, fuzzy: { maxEdits } } })
|
|
52
52
|
},
|
|
53
53
|
set: {
|
|
54
54
|
set: (f) => ({ $set: exports.stages.decode.fields(f) }),
|
package/dist/Stages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stages.js","sourceRoot":"","sources":["../src/Stages.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Stages.js","sourceRoot":"","sources":["../src/Stages.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
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.
|
|
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.
|
|
34
|
+
"@thisisagile/easy-test": "14.2.8"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@thisisagile/easy": "^14.2.
|
|
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/Stages.ts
CHANGED
|
@@ -72,7 +72,7 @@ export const stages = {
|
|
|
72
72
|
search: {
|
|
73
73
|
search: (f: Record<string, Get<Filter, string>>) => ({ $search: stages.decode.id(f) }),
|
|
74
74
|
auto: (value?: Id) => (key: string) => ({ autocomplete: { path: key, query: [value] } }),
|
|
75
|
-
fuzzy: (value?: string) => (key?: string) => ({text: {query: value, path: key === "wildcard" ? { wildcard: "*" } : key
|
|
75
|
+
fuzzy: (value?: string, maxEdits = 1) => (key?: string) => ({text: {query: value, path: key === "wildcard" ? { wildcard: "*" } : key, fuzzy: { maxEdits }}})
|
|
76
76
|
},
|
|
77
77
|
set: {
|
|
78
78
|
set: (f: Record<string, Get<Filter, string>>) => ({ $set: stages.decode.fields(f) }),
|