@webiny/db-dynamodb 6.1.0-beta.3 → 6.2.0-beta.0
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/exports/api/db.d.ts +2 -0
- package/exports/api/db.js +4 -0
- package/exports/api/db.js.map +1 -0
- package/feature/FilterUtil/FilterUtil.d.ts +11 -0
- package/feature/FilterUtil/FilterUtil.js +28 -0
- package/feature/FilterUtil/FilterUtil.js.map +1 -0
- package/feature/FilterUtil/abstractions/FilterUtil.d.ts +17 -0
- package/feature/FilterUtil/abstractions/FilterUtil.js +4 -0
- package/feature/FilterUtil/abstractions/FilterUtil.js.map +1 -0
- package/feature/FilterUtil/createFilters.d.ts +22 -0
- package/{utils/filter.js → feature/FilterUtil/createFilters.js} +20 -64
- package/feature/FilterUtil/createFilters.js.map +1 -0
- package/feature/FilterUtil/extractWhereArgs.d.ts +7 -0
- package/feature/FilterUtil/extractWhereArgs.js +24 -0
- package/feature/FilterUtil/extractWhereArgs.js.map +1 -0
- package/feature/FilterUtil/feature.d.ts +1 -0
- package/feature/FilterUtil/feature.js +10 -0
- package/feature/FilterUtil/feature.js.map +1 -0
- package/feature/FilterUtil/index.d.ts +2 -0
- package/feature/FilterUtil/index.js +4 -0
- package/feature/FilterUtil/index.js.map +1 -0
- package/feature/ValueFilter/ValueFilterRegistry.d.ts +12 -0
- package/feature/ValueFilter/ValueFilterRegistry.js +23 -0
- package/feature/ValueFilter/ValueFilterRegistry.js.map +1 -0
- package/feature/ValueFilter/abstractions/ValueFilter.d.ts +22 -0
- package/feature/ValueFilter/abstractions/ValueFilter.js +4 -0
- package/feature/ValueFilter/abstractions/ValueFilter.js.map +1 -0
- package/feature/ValueFilter/abstractions/ValueFilterRegistry.d.ts +10 -0
- package/feature/ValueFilter/abstractions/ValueFilterRegistry.js +4 -0
- package/feature/ValueFilter/abstractions/ValueFilterRegistry.js.map +1 -0
- package/feature/ValueFilter/feature.d.ts +1 -0
- package/feature/ValueFilter/feature.js +32 -0
- package/feature/ValueFilter/feature.js.map +1 -0
- package/feature/ValueFilter/filters/AndInFilter.d.ts +11 -0
- package/feature/ValueFilter/filters/AndInFilter.js +32 -0
- package/feature/ValueFilter/filters/AndInFilter.js.map +1 -0
- package/feature/ValueFilter/filters/BetweenFilter.d.ts +11 -0
- package/{plugins/filters/between.js → feature/ValueFilter/filters/BetweenFilter.js} +17 -9
- package/feature/ValueFilter/filters/BetweenFilter.js.map +1 -0
- package/feature/ValueFilter/filters/ContainsFilter.d.ts +11 -0
- package/{plugins/filters/contains.js → feature/ValueFilter/filters/ContainsFilter.js} +16 -8
- package/feature/ValueFilter/filters/ContainsFilter.js.map +1 -0
- package/feature/ValueFilter/filters/EqFilter.d.ts +11 -0
- package/{plugins/filters/eq.js → feature/ValueFilter/filters/EqFilter.js} +16 -8
- package/feature/ValueFilter/filters/EqFilter.js.map +1 -0
- package/feature/ValueFilter/filters/FuzzyFilter.d.ts +11 -0
- package/{plugins/filters/fuzzy.js → feature/ValueFilter/filters/FuzzyFilter.js} +16 -8
- package/feature/ValueFilter/filters/FuzzyFilter.js.map +1 -0
- package/feature/ValueFilter/filters/GtFilter.d.ts +11 -0
- package/feature/ValueFilter/filters/GtFilter.js +22 -0
- package/feature/ValueFilter/filters/GtFilter.js.map +1 -0
- package/feature/ValueFilter/filters/GteFilter.d.ts +11 -0
- package/feature/ValueFilter/filters/GteFilter.js +22 -0
- package/feature/ValueFilter/filters/GteFilter.js.map +1 -0
- package/feature/ValueFilter/filters/InFilter.d.ts +11 -0
- package/feature/ValueFilter/filters/InFilter.js +32 -0
- package/feature/ValueFilter/filters/InFilter.js.map +1 -0
- package/feature/ValueFilter/filters/LtFilter.d.ts +11 -0
- package/feature/ValueFilter/filters/LtFilter.js +22 -0
- package/feature/ValueFilter/filters/LtFilter.js.map +1 -0
- package/feature/ValueFilter/filters/LteFilter.d.ts +11 -0
- package/feature/ValueFilter/filters/LteFilter.js +22 -0
- package/feature/ValueFilter/filters/LteFilter.js.map +1 -0
- package/feature/ValueFilter/filters/StartsWithFilter.d.ts +11 -0
- package/{plugins/filters/startsWith.js → feature/ValueFilter/filters/StartsWithFilter.js} +22 -11
- package/feature/ValueFilter/filters/StartsWithFilter.js.map +1 -0
- package/feature/ValueFilter/index.d.ts +3 -0
- package/feature/ValueFilter/index.js +5 -0
- package/feature/ValueFilter/index.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +9 -0
- package/index.js.map +1 -1
- package/package.json +16 -13
- package/plugins/definitions/ValueTransformPlugin.d.ts +1 -6
- package/plugins/definitions/ValueTransformPlugin.js +0 -6
- package/plugins/definitions/ValueTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +0 -5
- package/plugins/index.js +0 -10
- package/plugins/index.js.map +1 -1
- package/utils/index.d.ts +1 -5
- package/utils/index.js +1 -5
- package/utils/index.js.map +1 -1
- package/plugins/definitions/AttributePlugin.d.ts +0 -18
- package/plugins/definitions/AttributePlugin.js +0 -38
- package/plugins/definitions/AttributePlugin.js.map +0 -1
- package/plugins/definitions/FieldPathPlugin.d.ts +0 -22
- package/plugins/definitions/FieldPathPlugin.js +0 -26
- package/plugins/definitions/FieldPathPlugin.js.map +0 -1
- package/plugins/definitions/ValueFilterPlugin.d.ts +0 -22
- package/plugins/definitions/ValueFilterPlugin.js +0 -35
- package/plugins/definitions/ValueFilterPlugin.js.map +0 -1
- package/plugins/filters/andIn.d.ts +0 -3
- package/plugins/filters/andIn.js +0 -24
- package/plugins/filters/andIn.js.map +0 -1
- package/plugins/filters/between.d.ts +0 -3
- package/plugins/filters/between.js.map +0 -1
- package/plugins/filters/contains.d.ts +0 -3
- package/plugins/filters/contains.js.map +0 -1
- package/plugins/filters/eq.d.ts +0 -3
- package/plugins/filters/eq.js.map +0 -1
- package/plugins/filters/fuzzy.d.ts +0 -3
- package/plugins/filters/fuzzy.js.map +0 -1
- package/plugins/filters/gt.d.ts +0 -3
- package/plugins/filters/gt.js +0 -14
- package/plugins/filters/gt.js.map +0 -1
- package/plugins/filters/gte.d.ts +0 -3
- package/plugins/filters/gte.js +0 -14
- package/plugins/filters/gte.js.map +0 -1
- package/plugins/filters/in.d.ts +0 -3
- package/plugins/filters/in.js +0 -24
- package/plugins/filters/in.js.map +0 -1
- package/plugins/filters/index.d.ts +0 -2
- package/plugins/filters/index.js +0 -14
- package/plugins/filters/index.js.map +0 -1
- package/plugins/filters/lt.d.ts +0 -3
- package/plugins/filters/lt.js +0 -14
- package/plugins/filters/lt.js.map +0 -1
- package/plugins/filters/lte.d.ts +0 -3
- package/plugins/filters/lte.js +0 -14
- package/plugins/filters/lte.js.map +0 -1
- package/plugins/filters/startsWith.d.ts +0 -3
- package/plugins/filters/startsWith.js.map +0 -1
- package/utils/attributes.d.ts +0 -10
- package/utils/attributes.js +0 -19
- package/utils/attributes.js.map +0 -1
- package/utils/filter.d.ts +0 -12
- package/utils/filter.js.map +0 -1
- package/utils/listResponse.d.ts +0 -13
- package/utils/listResponse.js +0 -25
- package/utils/listResponse.js.map +0 -1
- package/utils/update.d.ts +0 -12
- package/utils/update.js +0 -12
- package/utils/update.js.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class ContainsFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "contains";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value: initialValue, compareValue: initialCompareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const ContainsFilter: typeof ContainsFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
2
|
const createValues = initialValue => {
|
|
3
3
|
if (typeof initialValue === "string") {
|
|
4
4
|
return [initialValue];
|
|
@@ -27,12 +27,18 @@ const createCompareValues = value => {
|
|
|
27
27
|
return val.length > 0;
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
operation
|
|
32
|
-
|
|
30
|
+
class ContainsFilterImpl {
|
|
31
|
+
operation = "contains";
|
|
32
|
+
is(operation) {
|
|
33
|
+
return this.operation === operation;
|
|
34
|
+
}
|
|
35
|
+
canUse() {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
matches({
|
|
33
39
|
value: initialValue,
|
|
34
40
|
compareValue: initialCompareValue
|
|
35
|
-
})
|
|
41
|
+
}) {
|
|
36
42
|
if (!initialValue || Array.isArray(initialValue) && initialValue.length === 0) {
|
|
37
43
|
return false;
|
|
38
44
|
} else if (initialCompareValue === undefined || initialCompareValue === null) {
|
|
@@ -46,8 +52,10 @@ const plugin = new ValueFilterPlugin({
|
|
|
46
52
|
});
|
|
47
53
|
});
|
|
48
54
|
}
|
|
55
|
+
}
|
|
56
|
+
export const ContainsFilter = ValueFilter.createImplementation({
|
|
57
|
+
implementation: ContainsFilterImpl,
|
|
58
|
+
dependencies: []
|
|
49
59
|
});
|
|
50
|
-
plugin.name = "dynamodb.value.filter.contains";
|
|
51
|
-
export default plugin;
|
|
52
60
|
|
|
53
|
-
//# sourceMappingURL=
|
|
61
|
+
//# sourceMappingURL=ContainsFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","createValues","initialValue","Array","isArray","flat","map","v","toString","filter","Boolean","result","traverse","node","push","forEach","Object","values","createCompareValues","value","replace","trim","split","val","length","ContainsFilterImpl","operation","is","canUse","matches","compareValue","initialCompareValue","undefined","compareValues","some","target","every","match","RegExp","ContainsFilter","createImplementation","implementation","dependencies"],"sources":["ContainsFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nconst createValues = (initialValue: string | string[] | object): string[] => {\n if (typeof initialValue === \"string\") {\n return [initialValue];\n }\n\n if (Array.isArray(initialValue)) {\n return initialValue\n .flat()\n .map(v => v.toString())\n .filter(Boolean);\n }\n\n const result: string[] = [];\n\n const traverse = (node: any): void => {\n if (node == null) {\n return;\n }\n if (typeof node === \"string\" || typeof node === \"number\") {\n result.push(node.toString());\n } else if (Array.isArray(node)) {\n node.forEach(traverse);\n } else if (typeof node === \"object\") {\n Object.values(node).forEach(traverse);\n }\n };\n\n traverse(initialValue);\n\n return result.filter(Boolean);\n};\n\nconst createCompareValues = (value: string) => {\n return value\n .replace(/\\s+/g, \" \")\n .trim()\n .replace(/\\?/g, `\\\\?`)\n .replace(/\\//g, `\\\\/`)\n .replace(/:/g, ``)\n .replace(/\\-/g, `\\\\-`)\n .split(\" \")\n .filter(val => {\n return val.length > 0;\n });\n};\n\nclass ContainsFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"contains\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({\n value: initialValue,\n compareValue: initialCompareValue\n }: ValueFilter.MatchesParams): ValueFilter.Result {\n if (!initialValue || (Array.isArray(initialValue) && initialValue.length === 0)) {\n return false;\n } else if (initialCompareValue === undefined || initialCompareValue === null) {\n return true;\n }\n const values = createValues(initialValue);\n const compareValues = createCompareValues(initialCompareValue);\n return values.some(target => {\n return compareValues.every(compareValue => {\n return target.match(new RegExp(compareValue, \"gi\")) !== null;\n });\n });\n }\n}\n\nexport const ContainsFilter = ValueFilter.createImplementation({\n implementation: ContainsFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,YAAY,GAAIC,YAAwC,IAAe;EACzE,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;IAClC,OAAO,CAACA,YAAY,CAAC;EACzB;EAEA,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,EAAE;IAC7B,OAAOA,YAAY,CACdG,IAAI,CAAC,CAAC,CACNC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC,CACtBC,MAAM,CAACC,OAAO,CAAC;EACxB;EAEA,MAAMC,MAAgB,GAAG,EAAE;EAE3B,MAAMC,QAAQ,GAAIC,IAAS,IAAW;IAClC,IAAIA,IAAI,IAAI,IAAI,EAAE;MACd;IACJ;IACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACtDF,MAAM,CAACG,IAAI,CAACD,IAAI,CAACL,QAAQ,CAAC,CAAC,CAAC;IAChC,CAAC,MAAM,IAAIL,KAAK,CAACC,OAAO,CAACS,IAAI,CAAC,EAAE;MAC5BA,IAAI,CAACE,OAAO,CAACH,QAAQ,CAAC;IAC1B,CAAC,MAAM,IAAI,OAAOC,IAAI,KAAK,QAAQ,EAAE;MACjCG,MAAM,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACE,OAAO,CAACH,QAAQ,CAAC;IACzC;EACJ,CAAC;EAEDA,QAAQ,CAACV,YAAY,CAAC;EAEtB,OAAOS,MAAM,CAACF,MAAM,CAACC,OAAO,CAAC;AACjC,CAAC;AAED,MAAMQ,mBAAmB,GAAIC,KAAa,IAAK;EAC3C,OAAOA,KAAK,CACPC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CACpBC,IAAI,CAAC,CAAC,CACND,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACrBA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACjBA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACrBE,KAAK,CAAC,GAAG,CAAC,CACVb,MAAM,CAACc,GAAG,IAAI;IACX,OAAOA,GAAG,CAACC,MAAM,GAAG,CAAC;EACzB,CAAC,CAAC;AACV,CAAC;AAED,MAAMC,kBAAkB,CAAkC;EACtCC,SAAS,GAAG,UAAU;EAE/BC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IACXV,KAAK,EAAEjB,YAAY;IACnB4B,YAAY,EAAEC;EACS,CAAC,EAAsB;IAC9C,IAAI,CAAC7B,YAAY,IAAKC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,IAAIA,YAAY,CAACsB,MAAM,KAAK,CAAE,EAAE;MAC7E,OAAO,KAAK;IAChB,CAAC,MAAM,IAAIO,mBAAmB,KAAKC,SAAS,IAAID,mBAAmB,KAAK,IAAI,EAAE;MAC1E,OAAO,IAAI;IACf;IACA,MAAMd,MAAM,GAAGhB,YAAY,CAACC,YAAY,CAAC;IACzC,MAAM+B,aAAa,GAAGf,mBAAmB,CAACa,mBAAmB,CAAC;IAC9D,OAAOd,MAAM,CAACiB,IAAI,CAACC,MAAM,IAAI;MACzB,OAAOF,aAAa,CAACG,KAAK,CAACN,YAAY,IAAI;QACvC,OAAOK,MAAM,CAACE,KAAK,CAAC,IAAIC,MAAM,CAACR,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI;MAChE,CAAC,CAAC;IACN,CAAC,CAAC;EACN;AACJ;AAEA,OAAO,MAAMS,cAAc,GAAGvC,WAAW,CAACwC,oBAAoB,CAAC;EAC3DC,cAAc,EAAEhB,kBAAkB;EAClCiB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class EqFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "eq";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const EqFilter: typeof EqFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
operation
|
|
4
|
-
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
class EqFilterImpl {
|
|
3
|
+
operation = "eq";
|
|
4
|
+
is(operation) {
|
|
5
|
+
return this.operation === operation;
|
|
6
|
+
}
|
|
7
|
+
canUse() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
matches({
|
|
5
11
|
value,
|
|
6
12
|
compareValue
|
|
7
|
-
})
|
|
13
|
+
}) {
|
|
8
14
|
/**
|
|
9
15
|
* Possibility that either input value or one from the system is array.
|
|
10
16
|
*/
|
|
@@ -19,8 +25,10 @@ const plugin = new ValueFilterPlugin({
|
|
|
19
25
|
}
|
|
20
26
|
return value == compareValue;
|
|
21
27
|
}
|
|
28
|
+
}
|
|
29
|
+
export const EqFilter = ValueFilter.createImplementation({
|
|
30
|
+
implementation: EqFilterImpl,
|
|
31
|
+
dependencies: []
|
|
22
32
|
});
|
|
23
|
-
plugin.name = "dynamodb.value.filter.eq";
|
|
24
|
-
export default plugin;
|
|
25
33
|
|
|
26
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=EqFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","EqFilterImpl","operation","is","canUse","matches","value","compareValue","Array","isArray","some","v","includes","every","EqFilter","createImplementation","implementation","dependencies"],"sources":["EqFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass EqFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"eq\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n /**\n * Possibility that either input value or one from the system is array.\n */\n if (Array.isArray(value) === true) {\n return value.some((v: string) => {\n return Array.isArray(compareValue) ? compareValue.includes(v) : compareValue === v;\n });\n } else if (Array.isArray(compareValue) === true) {\n return compareValue.every((v: string) => {\n return value == v;\n });\n }\n return value == compareValue;\n }\n}\n\nexport const EqFilter = ValueFilter.createImplementation({\n implementation: EqFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,YAAY,CAAkC;EAChCC,SAAS,GAAG,IAAI;EAEzBC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEC;EAAwC,CAAC,EAAsB;IACnF;AACR;AACA;IACQ,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOA,KAAK,CAACI,IAAI,CAAEC,CAAS,IAAK;QAC7B,OAAOH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,GAAGA,YAAY,CAACK,QAAQ,CAACD,CAAC,CAAC,GAAGJ,YAAY,KAAKI,CAAC;MACtF,CAAC,CAAC;IACN,CAAC,MAAM,IAAIH,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,IAAI,EAAE;MAC7C,OAAOA,YAAY,CAACM,KAAK,CAAEF,CAAS,IAAK;QACrC,OAAOL,KAAK,IAAIK,CAAC;MACrB,CAAC,CAAC;IACN;IACA,OAAOL,KAAK,IAAIC,YAAY;EAChC;AACJ;AAEA,OAAO,MAAMO,QAAQ,GAAGd,WAAW,CAACe,oBAAoB,CAAC;EACrDC,cAAc,EAAEf,YAAY;EAC5BgB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class FuzzyFilterImpl implements ValueFilter.Interface<string | null | undefined> {
|
|
3
|
+
readonly operation = "fuzzy";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value: initialValue, compareValue: initialCompareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const FuzzyFilter: typeof FuzzyFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import Fuse from "fuse.js";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
operation
|
|
5
|
-
|
|
2
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
3
|
+
class FuzzyFilterImpl {
|
|
4
|
+
operation = "fuzzy";
|
|
5
|
+
is(operation) {
|
|
6
|
+
return this.operation === operation;
|
|
7
|
+
}
|
|
8
|
+
canUse() {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
matches({
|
|
6
12
|
value: initialValue,
|
|
7
13
|
compareValue: initialCompareValue
|
|
8
|
-
})
|
|
14
|
+
}) {
|
|
9
15
|
if (typeof initialValue !== "string" || typeof initialCompareValue !== "string") {
|
|
10
16
|
return false;
|
|
11
17
|
}
|
|
@@ -22,8 +28,10 @@ const plugin = new ValueFilterPlugin({
|
|
|
22
28
|
const result = f.search(compareValue);
|
|
23
29
|
return result.length > 0;
|
|
24
30
|
}
|
|
31
|
+
}
|
|
32
|
+
export const FuzzyFilter = ValueFilter.createImplementation({
|
|
33
|
+
implementation: FuzzyFilterImpl,
|
|
34
|
+
dependencies: []
|
|
25
35
|
});
|
|
26
|
-
plugin.name = "dynamodb.value.filter.fuzzy";
|
|
27
|
-
export default plugin;
|
|
28
36
|
|
|
29
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=FuzzyFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Fuse","ValueFilter","FuzzyFilterImpl","operation","is","canUse","matches","value","initialValue","compareValue","initialCompareValue","replaceAll","f","includeScore","minMatchCharLength","threshold","isCaseSensitive","findAllMatches","ignoreLocation","result","search","length","FuzzyFilter","createImplementation","implementation","dependencies"],"sources":["FuzzyFilter.ts"],"sourcesContent":["import Fuse from \"fuse.js\";\nimport { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass FuzzyFilterImpl implements ValueFilter.Interface<string | null | undefined> {\n public readonly operation = \"fuzzy\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({\n value: initialValue,\n compareValue: initialCompareValue\n }: ValueFilter.MatchesParams): ValueFilter.Result {\n if (typeof initialValue !== \"string\" || typeof initialCompareValue !== \"string\") {\n return false;\n }\n const value = initialValue.replaceAll(\"/\", \" \");\n const compareValue = initialCompareValue.replaceAll(\"/\", \" \");\n\n const f = new Fuse([value], {\n includeScore: true,\n minMatchCharLength: 3,\n threshold: 0.5,\n isCaseSensitive: false,\n findAllMatches: true,\n ignoreLocation: true\n });\n const result = f.search(compareValue);\n\n return result.length > 0;\n }\n}\n\nexport const FuzzyFilter = ValueFilter.createImplementation({\n implementation: FuzzyFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,SAASC,WAAW;AAEpB,MAAMC,eAAe,CAA6D;EAC9DC,SAAS,GAAG,OAAO;EAE5BC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IACXC,KAAK,EAAEC,YAAY;IACnBC,YAAY,EAAEC;EACS,CAAC,EAAsB;IAC9C,IAAI,OAAOF,YAAY,KAAK,QAAQ,IAAI,OAAOE,mBAAmB,KAAK,QAAQ,EAAE;MAC7E,OAAO,KAAK;IAChB;IACA,MAAMH,KAAK,GAAGC,YAAY,CAACG,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAC/C,MAAMF,YAAY,GAAGC,mBAAmB,CAACC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;IAE7D,MAAMC,CAAC,GAAG,IAAIZ,IAAI,CAAC,CAACO,KAAK,CAAC,EAAE;MACxBM,YAAY,EAAE,IAAI;MAClBC,kBAAkB,EAAE,CAAC;MACrBC,SAAS,EAAE,GAAG;MACdC,eAAe,EAAE,KAAK;MACtBC,cAAc,EAAE,IAAI;MACpBC,cAAc,EAAE;IACpB,CAAC,CAAC;IACF,MAAMC,MAAM,GAAGP,CAAC,CAACQ,MAAM,CAACX,YAAY,CAAC;IAErC,OAAOU,MAAM,CAACE,MAAM,GAAG,CAAC;EAC5B;AACJ;AAEA,OAAO,MAAMC,WAAW,GAAGrB,WAAW,CAACsB,oBAAoB,CAAC;EACxDC,cAAc,EAAEtB,eAAe;EAC/BuB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class GtFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "gt";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const GtFilter: typeof GtFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
class GtFilterImpl {
|
|
3
|
+
operation = "gt";
|
|
4
|
+
is(operation) {
|
|
5
|
+
return this.operation === operation;
|
|
6
|
+
}
|
|
7
|
+
canUse() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
matches({
|
|
11
|
+
value,
|
|
12
|
+
compareValue
|
|
13
|
+
}) {
|
|
14
|
+
return value > compareValue;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const GtFilter = ValueFilter.createImplementation({
|
|
18
|
+
implementation: GtFilterImpl,
|
|
19
|
+
dependencies: []
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=GtFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","GtFilterImpl","operation","is","canUse","matches","value","compareValue","GtFilter","createImplementation","implementation","dependencies"],"sources":["GtFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass GtFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"gt\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n return value > compareValue;\n }\n}\n\nexport const GtFilter = ValueFilter.createImplementation({\n implementation: GtFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,YAAY,CAAkC;EAChCC,SAAS,GAAG,IAAI;EAEzBC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEC;EAAwC,CAAC,EAAsB;IACnF,OAAOD,KAAK,GAAGC,YAAY;EAC/B;AACJ;AAEA,OAAO,MAAMC,QAAQ,GAAGR,WAAW,CAACS,oBAAoB,CAAC;EACrDC,cAAc,EAAET,YAAY;EAC5BU,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class GteFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "gte";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const GteFilter: typeof GteFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
class GteFilterImpl {
|
|
3
|
+
operation = "gte";
|
|
4
|
+
is(operation) {
|
|
5
|
+
return this.operation === operation;
|
|
6
|
+
}
|
|
7
|
+
canUse() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
matches({
|
|
11
|
+
value,
|
|
12
|
+
compareValue
|
|
13
|
+
}) {
|
|
14
|
+
return value >= compareValue;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const GteFilter = ValueFilter.createImplementation({
|
|
18
|
+
implementation: GteFilterImpl,
|
|
19
|
+
dependencies: []
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=GteFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","GteFilterImpl","operation","is","canUse","matches","value","compareValue","GteFilter","createImplementation","implementation","dependencies"],"sources":["GteFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass GteFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"gte\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n return value >= compareValue;\n }\n}\n\nexport const GteFilter = ValueFilter.createImplementation({\n implementation: GteFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,aAAa,CAAkC;EACjCC,SAAS,GAAG,KAAK;EAE1BC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEC;EAAwC,CAAC,EAAsB;IACnF,OAAOD,KAAK,IAAIC,YAAY;EAChC;AACJ;AAEA,OAAO,MAAMC,SAAS,GAAGR,WAAW,CAACS,oBAAoB,CAAC;EACtDC,cAAc,EAAET,aAAa;EAC7BU,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class InFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "in";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const InFilter: typeof InFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
3
|
+
class InFilterImpl {
|
|
4
|
+
operation = "in";
|
|
5
|
+
is(operation) {
|
|
6
|
+
return this.operation === operation;
|
|
7
|
+
}
|
|
8
|
+
canUse() {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
matches({
|
|
12
|
+
value,
|
|
13
|
+
compareValue
|
|
14
|
+
}) {
|
|
15
|
+
if (!compareValue || Array.isArray(compareValue) === false) {
|
|
16
|
+
throw new WebinyError(`The value given as "compareValue" must be an array!`, "COMPARE_VALUE_ERROR", {
|
|
17
|
+
value,
|
|
18
|
+
compareValue
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
if (Array.isArray(value) === true) {
|
|
22
|
+
return compareValue.some(c => value.includes(c));
|
|
23
|
+
}
|
|
24
|
+
return compareValue.includes(value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export const InFilter = ValueFilter.createImplementation({
|
|
28
|
+
implementation: InFilterImpl,
|
|
29
|
+
dependencies: []
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=InFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","ValueFilter","InFilterImpl","operation","is","canUse","matches","value","compareValue","Array","isArray","some","c","includes","InFilter","createImplementation","implementation","dependencies"],"sources":["InFilter.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass InFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"in\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n if (!compareValue || Array.isArray(compareValue) === false) {\n throw new WebinyError(\n `The value given as \"compareValue\" must be an array!`,\n \"COMPARE_VALUE_ERROR\",\n {\n value,\n compareValue\n }\n );\n }\n if (Array.isArray(value) === true) {\n return compareValue.some((c: any) => value.includes(c));\n }\n return compareValue.includes(value);\n }\n}\n\nexport const InFilter = ValueFilter.createImplementation({\n implementation: InFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAC3C,SAASC,WAAW;AAEpB,MAAMC,YAAY,CAAkC;EAChCC,SAAS,GAAG,IAAI;EAEzBC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEC;EAAwC,CAAC,EAAsB;IACnF,IAAI,CAACA,YAAY,IAAIC,KAAK,CAACC,OAAO,CAACF,YAAY,CAAC,KAAK,KAAK,EAAE;MACxD,MAAM,IAAIR,WAAW,CACjB,qDAAqD,EACrD,qBAAqB,EACrB;QACIO,KAAK;QACLC;MACJ,CACJ,CAAC;IACL;IACA,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,IAAI,EAAE;MAC/B,OAAOC,YAAY,CAACG,IAAI,CAAEC,CAAM,IAAKL,KAAK,CAACM,QAAQ,CAACD,CAAC,CAAC,CAAC;IAC3D;IACA,OAAOJ,YAAY,CAACK,QAAQ,CAACN,KAAK,CAAC;EACvC;AACJ;AAEA,OAAO,MAAMO,QAAQ,GAAGb,WAAW,CAACc,oBAAoB,CAAC;EACrDC,cAAc,EAAEd,YAAY;EAC5Be,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class LtFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "lt";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const LtFilter: typeof LtFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
class LtFilterImpl {
|
|
3
|
+
operation = "lt";
|
|
4
|
+
is(operation) {
|
|
5
|
+
return this.operation === operation;
|
|
6
|
+
}
|
|
7
|
+
canUse() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
matches({
|
|
11
|
+
value,
|
|
12
|
+
compareValue
|
|
13
|
+
}) {
|
|
14
|
+
return value < compareValue;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const LtFilter = ValueFilter.createImplementation({
|
|
18
|
+
implementation: LtFilterImpl,
|
|
19
|
+
dependencies: []
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=LtFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","LtFilterImpl","operation","is","canUse","matches","value","compareValue","LtFilter","createImplementation","implementation","dependencies"],"sources":["LtFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass LtFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"lt\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n return value < compareValue;\n }\n}\n\nexport const LtFilter = ValueFilter.createImplementation({\n implementation: LtFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,YAAY,CAAkC;EAChCC,SAAS,GAAG,IAAI;EAEzBC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEC;EAAwC,CAAC,EAAsB;IACnF,OAAOD,KAAK,GAAGC,YAAY;EAC/B;AACJ;AAEA,OAAO,MAAMC,QAAQ,GAAGR,WAAW,CAACS,oBAAoB,CAAC;EACrDC,cAAc,EAAET,YAAY;EAC5BU,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class LteFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "lte";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse(): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const LteFilter: typeof LteFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
class LteFilterImpl {
|
|
3
|
+
operation = "lte";
|
|
4
|
+
is(operation) {
|
|
5
|
+
return this.operation === operation;
|
|
6
|
+
}
|
|
7
|
+
canUse() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
matches({
|
|
11
|
+
value,
|
|
12
|
+
compareValue
|
|
13
|
+
}) {
|
|
14
|
+
return value <= compareValue;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const LteFilter = ValueFilter.createImplementation({
|
|
18
|
+
implementation: LteFilterImpl,
|
|
19
|
+
dependencies: []
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=LteFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","LteFilterImpl","operation","is","canUse","matches","value","compareValue","LteFilter","createImplementation","implementation","dependencies"],"sources":["LteFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass LteFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"lte\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse(): boolean {\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n return value <= compareValue;\n }\n}\n\nexport const LteFilter = ValueFilter.createImplementation({\n implementation: LteFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,aAAa,CAAkC;EACjCC,SAAS,GAAG,KAAK;EAE1BC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAA,EAAY;IACrB,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEC;EAAwC,CAAC,EAAsB;IACnF,OAAOD,KAAK,IAAIC,YAAY;EAChC;AACJ;AAEA,OAAO,MAAMC,SAAS,GAAGR,WAAW,CAACS,oBAAoB,CAAC;EACtDC,cAAc,EAAET,aAAa;EAC7BU,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
declare class StartsWithFilterImpl implements ValueFilter.Interface {
|
|
3
|
+
readonly operation = "startsWith";
|
|
4
|
+
is(operation: string): boolean;
|
|
5
|
+
canUse({ compareValue }: ValueFilter.CanUseParams): boolean;
|
|
6
|
+
matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result;
|
|
7
|
+
}
|
|
8
|
+
export declare const StartsWithFilter: typeof StartsWithFilterImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/ValueFilter.js").IValueFilter<any, any>>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
operation
|
|
4
|
-
|
|
1
|
+
import { ValueFilter } from "../abstractions/ValueFilter.js";
|
|
2
|
+
class StartsWithFilterImpl {
|
|
3
|
+
operation = "startsWith";
|
|
4
|
+
is(operation) {
|
|
5
|
+
return this.operation === operation;
|
|
6
|
+
}
|
|
7
|
+
canUse({
|
|
5
8
|
compareValue
|
|
6
|
-
})
|
|
9
|
+
}) {
|
|
7
10
|
if (compareValue === "" || compareValue === null || compareValue === undefined) {
|
|
8
11
|
return false;
|
|
9
12
|
}
|
|
10
13
|
return true;
|
|
11
|
-
}
|
|
12
|
-
matches
|
|
14
|
+
}
|
|
15
|
+
matches({
|
|
13
16
|
value,
|
|
14
17
|
compareValue
|
|
15
|
-
})
|
|
18
|
+
}) {
|
|
19
|
+
/**
|
|
20
|
+
* Match null/undefined values.
|
|
21
|
+
*/
|
|
22
|
+
if (value === null && compareValue === null || value === undefined && compareValue === undefined) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
16
25
|
/**
|
|
17
26
|
* We do "case-insensitive" comparison.
|
|
18
27
|
*/
|
|
@@ -27,8 +36,10 @@ const plugin = new ValueFilterPlugin({
|
|
|
27
36
|
}
|
|
28
37
|
return value.toLowerCase().startsWith(compareValueInLowerCase);
|
|
29
38
|
}
|
|
39
|
+
}
|
|
40
|
+
export const StartsWithFilter = ValueFilter.createImplementation({
|
|
41
|
+
implementation: StartsWithFilterImpl,
|
|
42
|
+
dependencies: []
|
|
30
43
|
});
|
|
31
|
-
plugin.name = "dynamodb.value.filter.startsWith";
|
|
32
|
-
export default plugin;
|
|
33
44
|
|
|
34
|
-
//# sourceMappingURL=
|
|
45
|
+
//# sourceMappingURL=StartsWithFilter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","StartsWithFilterImpl","operation","is","canUse","compareValue","undefined","matches","value","compareValueInLowerCase","toLowerCase","Array","isArray","some","v","startsWith","StartsWithFilter","createImplementation","implementation","dependencies"],"sources":["StartsWithFilter.ts"],"sourcesContent":["import { ValueFilter } from \"../abstractions/ValueFilter.js\";\n\nclass StartsWithFilterImpl implements ValueFilter.Interface {\n public readonly operation = \"startsWith\";\n\n public is(operation: string): boolean {\n return this.operation === operation;\n }\n\n public canUse({ compareValue }: ValueFilter.CanUseParams): boolean {\n if (compareValue === \"\" || compareValue === null || compareValue === undefined) {\n return false;\n }\n return true;\n }\n\n public matches({ value, compareValue }: ValueFilter.MatchesParams): ValueFilter.Result {\n /**\n * Match null/undefined values.\n */\n if (\n (value === null && compareValue === null) ||\n (value === undefined && compareValue === undefined)\n ) {\n return true;\n }\n /**\n * We do \"case-insensitive\" comparison.\n */\n const compareValueInLowerCase = compareValue.toLowerCase();\n\n if (typeof value !== \"string\") {\n if (Array.isArray(value) === true) {\n return value.some((v: string) => {\n return v.toLowerCase().startsWith(compareValueInLowerCase);\n });\n }\n return false;\n }\n\n return value.toLowerCase().startsWith(compareValueInLowerCase);\n }\n}\n\nexport const StartsWithFilter = ValueFilter.createImplementation({\n implementation: StartsWithFilterImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,WAAW;AAEpB,MAAMC,oBAAoB,CAAkC;EACxCC,SAAS,GAAG,YAAY;EAEjCC,EAAEA,CAACD,SAAiB,EAAW;IAClC,OAAO,IAAI,CAACA,SAAS,KAAKA,SAAS;EACvC;EAEOE,MAAMA,CAAC;IAAEC;EAAuC,CAAC,EAAW;IAC/D,IAAIA,YAAY,KAAK,EAAE,IAAIA,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAKC,SAAS,EAAE;MAC5E,OAAO,KAAK;IAChB;IACA,OAAO,IAAI;EACf;EAEOC,OAAOA,CAAC;IAAEC,KAAK;IAAEH;EAAwC,CAAC,EAAsB;IACnF;AACR;AACA;IACQ,IACKG,KAAK,KAAK,IAAI,IAAIH,YAAY,KAAK,IAAI,IACvCG,KAAK,KAAKF,SAAS,IAAID,YAAY,KAAKC,SAAU,EACrD;MACE,OAAO,IAAI;IACf;IACA;AACR;AACA;IACQ,MAAMG,uBAAuB,GAAGJ,YAAY,CAACK,WAAW,CAAC,CAAC;IAE1D,IAAI,OAAOF,KAAK,KAAK,QAAQ,EAAE;MAC3B,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,KAAK,IAAI,EAAE;QAC/B,OAAOA,KAAK,CAACK,IAAI,CAAEC,CAAS,IAAK;UAC7B,OAAOA,CAAC,CAACJ,WAAW,CAAC,CAAC,CAACK,UAAU,CAACN,uBAAuB,CAAC;QAC9D,CAAC,CAAC;MACN;MACA,OAAO,KAAK;IAChB;IAEA,OAAOD,KAAK,CAACE,WAAW,CAAC,CAAC,CAACK,UAAU,CAACN,uBAAuB,CAAC;EAClE;AACJ;AAEA,OAAO,MAAMO,gBAAgB,GAAGhB,WAAW,CAACiB,oBAAoB,CAAC;EAC7DC,cAAc,EAAEjB,oBAAoB;EACpCkB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ValueFilter","ValueFilterRegistry","ValueFilterFeature"],"sources":["index.ts"],"sourcesContent":["export { ValueFilter } from \"./abstractions/ValueFilter.js\";\nexport { ValueFilterRegistry } from \"./abstractions/ValueFilterRegistry.js\";\nexport { ValueFilterFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB","ignoreList":[]}
|
package/index.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export * from "./utils/index.js";
|
|
|
3
3
|
export * from "./plugins/index.js";
|
|
4
4
|
export type { DbItem } from "./types.js";
|
|
5
5
|
export { DynamoDbDriver };
|
|
6
|
+
export declare const registerExtension: () => import("@webiny/handler").RegisterExtensionPlugin<import("@webiny/handler/types.js").Context>;
|
package/index.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import { createRegisterExtensionPlugin } from "@webiny/handler";
|
|
1
2
|
import { default as DynamoDbDriver } from "./DynamoDbDriver.js";
|
|
3
|
+
import { ValueFilterFeature } from "./feature/ValueFilter/index.js";
|
|
4
|
+
import { FilterUtilFeature } from "./feature/FilterUtil/index.js";
|
|
2
5
|
export * from "./utils/index.js";
|
|
3
6
|
export * from "./plugins/index.js";
|
|
4
7
|
export { DynamoDbDriver };
|
|
8
|
+
export const registerExtension = () => {
|
|
9
|
+
return createRegisterExtensionPlugin(async context => {
|
|
10
|
+
FilterUtilFeature.register(context.container);
|
|
11
|
+
ValueFilterFeature.register(context.container);
|
|
12
|
+
});
|
|
13
|
+
};
|
|
5
14
|
|
|
6
15
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","DynamoDbDriver"],"sources":["index.ts"],"sourcesContent":["import { default as DynamoDbDriver } from \"./DynamoDbDriver.js\";\n\nexport * from \"./utils/index.js\";\nexport * from \"./plugins/index.js\";\nexport type { DbItem } from \"./types.js\";\n\nexport { DynamoDbDriver };\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAAc;
|
|
1
|
+
{"version":3,"names":["createRegisterExtensionPlugin","default","DynamoDbDriver","ValueFilterFeature","FilterUtilFeature","registerExtension","context","register","container"],"sources":["index.ts"],"sourcesContent":["import { createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { default as DynamoDbDriver } from \"./DynamoDbDriver.js\";\nimport { ValueFilterFeature } from \"~/feature/ValueFilter/index.js\";\nimport { FilterUtilFeature } from \"~/feature/FilterUtil/index.js\";\n\nexport * from \"./utils/index.js\";\nexport * from \"./plugins/index.js\";\nexport type { DbItem } from \"./types.js\";\n\nexport { DynamoDbDriver };\n\nexport const registerExtension = () => {\n return createRegisterExtensionPlugin(async context => {\n FilterUtilFeature.register(context.container);\n ValueFilterFeature.register(context.container);\n });\n};\n"],"mappings":"AAAA,SAASA,6BAA6B,QAAQ,iBAAiB;AAC/D,SAASC,OAAO,IAAIC,cAAc;AAClC,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAE1B;AACA;AAGA,SAASF,cAAc;AAEvB,OAAO,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EACnC,OAAOL,6BAA6B,CAAC,MAAMM,OAAO,IAAI;IAClDF,iBAAiB,CAACG,QAAQ,CAACD,OAAO,CAACE,SAAS,CAAC;IAC7CL,kBAAkB,CAACI,QAAQ,CAACD,OAAO,CAACE,SAAS,CAAC;EAClD,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/db-dynamodb",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -11,30 +11,33 @@
|
|
|
11
11
|
"author": "Webiny Ltd",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@webiny/api": "6.
|
|
15
|
-
"@webiny/aws-sdk": "6.
|
|
16
|
-
"@webiny/db": "6.
|
|
17
|
-
"@webiny/error": "6.
|
|
18
|
-
"@webiny/
|
|
19
|
-
"@webiny/
|
|
14
|
+
"@webiny/api": "6.2.0-beta.0",
|
|
15
|
+
"@webiny/aws-sdk": "6.2.0-beta.0",
|
|
16
|
+
"@webiny/db": "6.2.0-beta.0",
|
|
17
|
+
"@webiny/error": "6.2.0-beta.0",
|
|
18
|
+
"@webiny/feature": "6.2.0-beta.0",
|
|
19
|
+
"@webiny/plugins": "6.2.0-beta.0",
|
|
20
|
+
"@webiny/utils": "6.2.0-beta.0",
|
|
20
21
|
"date-fns": "4.1.0",
|
|
21
22
|
"dot-prop": "10.1.0",
|
|
22
23
|
"dynamodb-toolbox": "0.9.5",
|
|
23
|
-
"fuse.js": "7.
|
|
24
|
-
"lodash": "4.
|
|
24
|
+
"fuse.js": "7.3.0",
|
|
25
|
+
"lodash": "4.18.1"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/is-number": "7.0.5",
|
|
28
|
-
"@webiny/build-tools": "6.
|
|
29
|
-
"@webiny/
|
|
29
|
+
"@webiny/build-tools": "6.2.0-beta.0",
|
|
30
|
+
"@webiny/di": "0.2.3",
|
|
31
|
+
"@webiny/handler": "6.2.0-beta.0",
|
|
32
|
+
"@webiny/project-utils": "6.2.0-beta.0",
|
|
30
33
|
"jest-dynalite": "3.6.1",
|
|
31
34
|
"rimraf": "6.1.3",
|
|
32
35
|
"typescript": "5.9.3",
|
|
33
|
-
"vitest": "4.1.
|
|
36
|
+
"vitest": "4.1.4"
|
|
34
37
|
},
|
|
35
38
|
"publishConfig": {
|
|
36
39
|
"access": "public",
|
|
37
40
|
"directory": "dist"
|
|
38
41
|
},
|
|
39
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "3d3148358b6febbc857371930871743bec3b3939"
|
|
40
43
|
}
|
|
@@ -5,18 +5,13 @@ export interface ValueTransformPluginParamsTransformParams {
|
|
|
5
5
|
export interface ValueTransformPluginParamsTransform {
|
|
6
6
|
(params: ValueTransformPluginParamsTransformParams): any;
|
|
7
7
|
}
|
|
8
|
-
export interface CanTransform {
|
|
9
|
-
(field: string): boolean;
|
|
10
|
-
}
|
|
11
8
|
export interface ValueTransformPluginParams {
|
|
12
9
|
fields: string[];
|
|
13
10
|
transform: ValueTransformPluginParamsTransform;
|
|
14
|
-
canTransform?: CanTransform;
|
|
15
11
|
}
|
|
16
|
-
export declare class ValueTransformPlugin extends Plugin {
|
|
12
|
+
export declare abstract class ValueTransformPlugin extends Plugin {
|
|
17
13
|
static readonly type: string;
|
|
18
14
|
private readonly _params;
|
|
19
15
|
constructor(params: ValueTransformPluginParams);
|
|
20
|
-
canTransform(field: string): boolean;
|
|
21
16
|
transform(params: ValueTransformPluginParamsTransformParams): any;
|
|
22
17
|
}
|
|
@@ -10,12 +10,6 @@ export class ValueTransformPlugin extends Plugin {
|
|
|
10
10
|
fields: assignFields(params.fields)
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
canTransform(field) {
|
|
14
|
-
if (!this._params.canTransform) {
|
|
15
|
-
return this._params.fields.includes(field);
|
|
16
|
-
}
|
|
17
|
-
return this._params.canTransform(field);
|
|
18
|
-
}
|
|
19
13
|
transform(params) {
|
|
20
14
|
if (!this._params.transform) {
|
|
21
15
|
throw new WebinyError(`Missing "transform" in the plugin.`, "TRANSFORM_ERROR", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Plugin","WebinyError","assignFields","ValueTransformPlugin","type","constructor","params","_params","fields","
|
|
1
|
+
{"version":3,"names":["Plugin","WebinyError","assignFields","ValueTransformPlugin","type","constructor","params","_params","fields","transform"],"sources":["ValueTransformPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { assignFields } from \"./assignFields.js\";\n\nexport interface ValueTransformPluginParamsTransformParams {\n value: Date | string | null | undefined;\n}\nexport interface ValueTransformPluginParamsTransform {\n (params: ValueTransformPluginParamsTransformParams): any;\n}\nexport interface ValueTransformPluginParams {\n fields: string[];\n transform: ValueTransformPluginParamsTransform;\n}\n\nexport abstract class ValueTransformPlugin extends Plugin {\n public static override readonly type: string = \"dynamodb.value.transform\";\n\n private readonly _params: ValueTransformPluginParams;\n\n public constructor(params: ValueTransformPluginParams) {\n super();\n this._params = {\n ...params,\n fields: assignFields(params.fields)\n };\n }\n\n public transform(params: ValueTransformPluginParamsTransformParams): any {\n if (!this._params.transform) {\n throw new WebinyError(`Missing \"transform\" in the plugin.`, \"TRANSFORM_ERROR\", {\n fields: this._params.fields\n });\n }\n return this._params.transform(params);\n }\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,iBAAiB;AACxC,OAAOC,WAAW,MAAM,eAAe;AACvC,SAASC,YAAY;AAarB,OAAO,MAAeC,oBAAoB,SAASH,MAAM,CAAC;EACtD,OAAgCI,IAAI,GAAW,0BAA0B;EAIlEC,WAAWA,CAACC,MAAkC,EAAE;IACnD,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,OAAO,GAAG;MACX,GAAGD,MAAM;MACTE,MAAM,EAAEN,YAAY,CAACI,MAAM,CAACE,MAAM;IACtC,CAAC;EACL;EAEOC,SAASA,CAACH,MAAiD,EAAO;IACrE,IAAI,CAAC,IAAI,CAACC,OAAO,CAACE,SAAS,EAAE;MACzB,MAAM,IAAIR,WAAW,CAAC,oCAAoC,EAAE,iBAAiB,EAAE;QAC3EO,MAAM,EAAE,IAAI,CAACD,OAAO,CAACC;MACzB,CAAC,CAAC;IACN;IACA,OAAO,IAAI,CAACD,OAAO,CAACE,SAAS,CAACH,MAAM,CAAC;EACzC;AACJ","ignoreList":[]}
|