@wix/filter-builder 1.0.1

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.
Files changed (68) hide show
  1. package/dist/cjs/__tests__/filter.spec.js +378 -0
  2. package/dist/cjs/__tests__/filter.spec.js.map +1 -0
  3. package/dist/cjs/__tests__/query-optimizer.spec.js +152 -0
  4. package/dist/cjs/__tests__/query-optimizer.spec.js.map +1 -0
  5. package/dist/cjs/clone.js +27 -0
  6. package/dist/cjs/clone.js.map +1 -0
  7. package/dist/cjs/filter-builder.js +30 -0
  8. package/dist/cjs/filter-builder.js.map +1 -0
  9. package/dist/cjs/filter-mixin.js +299 -0
  10. package/dist/cjs/filter-mixin.js.map +1 -0
  11. package/dist/cjs/filter-validator.js +101 -0
  12. package/dist/cjs/filter-validator.js.map +1 -0
  13. package/dist/cjs/index.js +25 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/query-optimiser.js +211 -0
  16. package/dist/cjs/query-optimiser.js.map +1 -0
  17. package/dist/cjs/type-utils.js +68 -0
  18. package/dist/cjs/type-utils.js.map +1 -0
  19. package/dist/cjs/validator.js +2 -0
  20. package/dist/cjs/validator.js.map +1 -0
  21. package/dist/esm/__tests__/filter.spec.js +211 -0
  22. package/dist/esm/__tests__/filter.spec.js.map +1 -0
  23. package/dist/esm/__tests__/query-optimizer.spec.js +39 -0
  24. package/dist/esm/__tests__/query-optimizer.spec.js.map +1 -0
  25. package/dist/esm/clone.js +18 -0
  26. package/dist/esm/clone.js.map +1 -0
  27. package/dist/esm/filter-builder.js +25 -0
  28. package/dist/esm/filter-builder.js.map +1 -0
  29. package/dist/esm/filter-mixin.js +298 -0
  30. package/dist/esm/filter-mixin.js.map +1 -0
  31. package/dist/esm/filter-validator.js +78 -0
  32. package/dist/esm/filter-validator.js.map +1 -0
  33. package/dist/esm/index.js +6 -0
  34. package/dist/esm/index.js.map +1 -0
  35. package/dist/esm/query-optimiser.js +171 -0
  36. package/dist/esm/query-optimiser.js.map +1 -0
  37. package/dist/esm/type-utils.js +40 -0
  38. package/dist/esm/type-utils.js.map +1 -0
  39. package/dist/esm/validator.js +2 -0
  40. package/dist/esm/validator.js.map +1 -0
  41. package/dist/statics/filter-builder.umd.js +453 -0
  42. package/dist/statics/filter-builder.umd.js.map +1 -0
  43. package/dist/statics/filter-builder.umd.min.js +2 -0
  44. package/dist/statics/filter-builder.umd.min.js.map +1 -0
  45. package/dist/statics/manifest.json +3 -0
  46. package/dist/statics/manifest.min.json +3 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -0
  48. package/dist/types/__tests__/filter.spec.d.ts +2 -0
  49. package/dist/types/__tests__/filter.spec.d.ts.map +1 -0
  50. package/dist/types/__tests__/query-optimizer.spec.d.ts +2 -0
  51. package/dist/types/__tests__/query-optimizer.spec.d.ts.map +1 -0
  52. package/dist/types/clone.d.ts +2 -0
  53. package/dist/types/clone.d.ts.map +1 -0
  54. package/dist/types/filter-builder.d.ts +46 -0
  55. package/dist/types/filter-builder.d.ts.map +1 -0
  56. package/dist/types/filter-mixin.d.ts +42 -0
  57. package/dist/types/filter-mixin.d.ts.map +1 -0
  58. package/dist/types/filter-validator.d.ts +27 -0
  59. package/dist/types/filter-validator.d.ts.map +1 -0
  60. package/dist/types/index.d.ts +7 -0
  61. package/dist/types/index.d.ts.map +1 -0
  62. package/dist/types/query-optimiser.d.ts +2 -0
  63. package/dist/types/query-optimiser.d.ts.map +1 -0
  64. package/dist/types/type-utils.d.ts +11 -0
  65. package/dist/types/type-utils.d.ts.map +1 -0
  66. package/dist/types/validator.d.ts +14 -0
  67. package/dist/types/validator.d.ts.map +1 -0
  68. package/package.json +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-mixin.d.ts","sourceRoot":"","sources":["../../src/filter-mixin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,QAAA,MAAM,WAAW,UAAU,GAAG;eAKT;QAAE,UAAU,CAAC,CAAC;QAAC,gBAAgB,CAAC,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAoRb,SAAS;;;CAOhD,CAAA;AAgCH,eAAe,WAAW,CAAA"}
@@ -0,0 +1,27 @@
1
+ import { Validator } from './validator';
2
+ export declare class FilterValidator implements Validator {
3
+ private ctor;
4
+ private _invalidArguments;
5
+ _validations: Validation[];
6
+ operatorName?: string;
7
+ constructor(operatorName: any, previousInvalidArguments: any, ctor: any);
8
+ typeIsString(value: any): this;
9
+ typeIsStringNumberOrDate(value: any): this;
10
+ sameType(first: any, second: any): this;
11
+ typeIsStringNumberOrDateForAll(values: any): this;
12
+ validFieldName(field: any): this;
13
+ isInstanceOfSameClass(obj: any): this;
14
+ arityIsOne(args: any): this;
15
+ arityIsTwo(args: any): this;
16
+ arityIsThree(args: any): this;
17
+ arityIsAtLeastTwo(args: any): this;
18
+ addValidation(predicateFn: any, messageFn: any): this;
19
+ validateAndAggregate(): [string[], boolean];
20
+ _appendIfInvalid(valid: any, message: any): boolean;
21
+ }
22
+ interface Validation {
23
+ predicateFn: Function;
24
+ messageFn: Function;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=filter-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-validator.d.ts","sourceRoot":"","sources":["../../src/filter-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,IAAI,CAAA;IACZ,OAAO,CAAC,iBAAiB,CAAU;IAC5B,YAAY,EAAE,UAAU,EAAE,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;gBAEhB,YAAY,KAAA,EAAE,wBAAwB,KAAA,EAAE,IAAI,KAAA;IAOxD,YAAY,CAAC,KAAK,KAAA;IAOlB,wBAAwB,CAAC,KAAK,KAAA;IAO9B,QAAQ,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;IAOtB,8BAA8B,CAAC,MAAM,KAAA;IAOrC,cAAc,CAAC,KAAK,KAAA;IAOpB,qBAAqB,CAAC,GAAG,KAAA;IAOzB,UAAU,CAAC,IAAI,KAAA;IAOf,UAAU,CAAC,IAAI,KAAA;IAOf,YAAY,CAAC,IAAI,KAAA;IAOjB,iBAAiB,CAAC,IAAI,KAAA;IAOtB,aAAa,CAAC,WAAW,KAAA,EAAE,SAAS,KAAA;IAQpC,oBAAoB,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC;IAO3C,gBAAgB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;CAOhC;AAMD,UAAU,UAAU;IAClB,WAAW,EAAE,QAAQ,CAAA;IACrB,SAAS,EAAE,QAAQ,CAAA;CACpB"}
@@ -0,0 +1,7 @@
1
+ import { filterBuilder } from './filter-builder';
2
+ import filterMixin from './filter-mixin';
3
+ import { optimisedQuery as optimiseQuery } from './query-optimiser';
4
+ import { Validator } from './validator';
5
+ export { filterMixin, filterBuilder, optimiseQuery, Validator };
6
+ export default filterBuilder;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,cAAc,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA;AAE/D,eAAe,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function optimisedQuery(query: any): any;
2
+ //# sourceMappingURL=query-optimiser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-optimiser.d.ts","sourceRoot":"","sources":["../../src/query-optimiser.ts"],"names":[],"mappings":"AAQA,wBAAgB,cAAc,CAAC,KAAK,KAAA,OAGnC"}
@@ -0,0 +1,11 @@
1
+ export declare function isObject(obj: any): boolean;
2
+ export declare function isArray(arr: any): boolean;
3
+ export declare function isDate(obj: any): boolean;
4
+ export declare function isNumber(obj: any): boolean;
5
+ export declare function isBoolean(obj: any): boolean;
6
+ export declare function isString(obj: any): boolean;
7
+ export declare function isFunction(obj: any): boolean;
8
+ export declare function typeForDisplay(obj: any): any;
9
+ export declare function isUndefined(obj: any): boolean;
10
+ export declare function isNull(obj: any): boolean;
11
+ //# sourceMappingURL=type-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../src/type-utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,GAAG,KAAA,WAE3B;AAED,wBAAgB,OAAO,CAAC,GAAG,KAAA,WAE1B;AAED,wBAAgB,MAAM,CAAC,GAAG,KAAA,WAEzB;AAED,wBAAgB,QAAQ,CAAC,GAAG,KAAA,WAE3B;AAED,wBAAgB,SAAS,CAAC,GAAG,KAAA,WAE5B;AAED,wBAAgB,QAAQ,CAAC,GAAG,KAAA,WAE3B;AAED,wBAAgB,UAAU,CAAC,GAAG,KAAA,WAE7B;AAED,wBAAgB,cAAc,CAAC,GAAG,KAAA,OAEjC;AAED,wBAAgB,WAAW,CAAC,GAAG,KAAA,WAE9B;AAED,wBAAgB,MAAM,CAAC,GAAG,KAAA,WAEzB"}
@@ -0,0 +1,14 @@
1
+ export interface Validator {
2
+ typeIsString(value: any): Validator;
3
+ typeIsStringNumberOrDate(value: any): Validator;
4
+ sameType(first: any, second: any): Validator;
5
+ typeIsStringNumberOrDateForAll(values: any): Validator;
6
+ validFieldName(field: any): Validator;
7
+ isInstanceOfSameClass(obj: any): Validator;
8
+ arityIsOne(args: any): Validator;
9
+ arityIsTwo(args: any): Validator;
10
+ arityIsThree(args: any): Validator;
11
+ arityIsAtLeastTwo(args: any): Validator;
12
+ validateAndAggregate(): [string[], boolean];
13
+ }
14
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,KAAK,KAAA,GAAG,SAAS,CAAA;IAC9B,wBAAwB,CAAC,KAAK,KAAA,GAAG,SAAS,CAAA;IAC1C,QAAQ,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA,GAAG,SAAS,CAAA;IAClC,8BAA8B,CAAC,MAAM,KAAA,GAAG,SAAS,CAAA;IACjD,cAAc,CAAC,KAAK,KAAA,GAAG,SAAS,CAAA;IAChC,qBAAqB,CAAC,GAAG,KAAA,GAAG,SAAS,CAAA;IACrC,UAAU,CAAC,IAAI,KAAA,GAAG,SAAS,CAAA;IAC3B,UAAU,CAAC,IAAI,KAAA,GAAG,SAAS,CAAA;IAC3B,YAAY,CAAC,IAAI,KAAA,GAAG,SAAS,CAAA;IAC7B,iBAAiB,CAAC,IAAI,KAAA,GAAG,SAAS,CAAA;IAClC,oBAAoB,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;CAC5C"}
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@wix/filter-builder",
3
+ "version": "1.0.1",
4
+ "license": "UNLICENSED",
5
+ "author": {
6
+ "name": "Justinas Simanavicius",
7
+ "email": "justinass@wix.com"
8
+ },
9
+ "main": "dist/cjs/index.js",
10
+ "module": "dist/esm/index.js",
11
+ "types": "dist/types/index.d.ts",
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "publishConfig": {
16
+ "registry": "https://registry.npmjs.org/",
17
+ "access": "public"
18
+ },
19
+ "scripts": {
20
+ "build": "yoshi-library build",
21
+ "start": "yoshi-library start",
22
+ "test": "yoshi-library test",
23
+ "lint": "yoshi-library lint",
24
+ "posttest": "npm run lint"
25
+ },
26
+ "husky": {
27
+ "hooks": {
28
+ "pre-commit": "lint-staged"
29
+ }
30
+ },
31
+ "lint-staged": {
32
+ "*.{js,ts}": "npm run lint"
33
+ },
34
+ "dependencies": {
35
+ "@babel/runtime": "^7.18.9",
36
+ "tslib": "^2.4.0",
37
+ "kind-of": "~5.1.0"
38
+ },
39
+ "devDependencies": {
40
+ "@types/jest": "^26.0.24",
41
+ "@types/node": "^14.18.30",
42
+ "@wix/eslint-config-yoshi": "^5.162.12",
43
+ "@wix/jest-yoshi-preset": "^5.162.12",
44
+ "@wix/yoshi-flow-library": "^5.162.12",
45
+ "chai": "~3.5.0",
46
+ "express": "^4.18.1",
47
+ "husky": "~4.3.8",
48
+ "lint-staged": "^10.5.4",
49
+ "ts-jest": "^26.5.6",
50
+ "typescript": "~4.8.3"
51
+ },
52
+ "jest": {
53
+ "preset": "@wix/jest-yoshi-preset"
54
+ },
55
+ "yoshiFlowLibrary": {
56
+ "bundle": {
57
+ "library": "platformized-filter-builder"
58
+ }
59
+ },
60
+ "eslintConfig": {
61
+ "extends": "@wix/eslint-config-yoshi",
62
+ "rules": {
63
+ "prettier/prettier": [
64
+ 1,
65
+ {
66
+ "semi": false
67
+ }
68
+ ],
69
+ "@typescript-eslint/member-delimiter-style": [
70
+ 2,
71
+ {
72
+ "multiline": {
73
+ "delimiter": "none"
74
+ }
75
+ }
76
+ ],
77
+ "@typescript-eslint/prefer-ts-expect-error": "off"
78
+ }
79
+ },
80
+ "wix": {
81
+ "artifact": {
82
+ "groupId": "com.wixpress",
83
+ "artifactId": "filter-builder",
84
+ "targets": {
85
+ "static": true
86
+ }
87
+ }
88
+ },
89
+ "wallaby": {
90
+ "autoDetect": true
91
+ },
92
+ "falconPackageHash": "c0388364c5997e16ecd5a1c5d476ae7f8b453a7e2e32fd8524bcd5b2"
93
+ }