@lindorm/aegis 0.3.6 → 0.4.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +247 -163
  3. package/__tests__/__mocks__/cbor.ts +17 -0
  4. package/__tests__/cose-interop.test.ts +1127 -0
  5. package/__tests__/jwe-interop.test.ts +331 -0
  6. package/__tests__/jwt-interop.test.ts +183 -0
  7. package/dist/classes/Aegis.d.ts.map +1 -1
  8. package/dist/classes/Aegis.js +8 -5
  9. package/dist/classes/Aegis.js.map +1 -1
  10. package/dist/classes/CweKit.d.ts.map +1 -1
  11. package/dist/classes/CweKit.js +31 -37
  12. package/dist/classes/CweKit.js.map +1 -1
  13. package/dist/classes/CwsKit.d.ts.map +1 -1
  14. package/dist/classes/CwsKit.js +8 -3
  15. package/dist/classes/CwsKit.js.map +1 -1
  16. package/dist/classes/CwtKit.d.ts.map +1 -1
  17. package/dist/classes/CwtKit.js +10 -14
  18. package/dist/classes/CwtKit.js.map +1 -1
  19. package/dist/classes/JweKit.d.ts.map +1 -1
  20. package/dist/classes/JweKit.js +24 -47
  21. package/dist/classes/JweKit.js.map +1 -1
  22. package/dist/classes/JwsKit.d.ts.map +1 -1
  23. package/dist/classes/JwsKit.js +9 -2
  24. package/dist/classes/JwsKit.js.map +1 -1
  25. package/dist/classes/JwtKit.d.ts.map +1 -1
  26. package/dist/classes/JwtKit.js +10 -9
  27. package/dist/classes/JwtKit.js.map +1 -1
  28. package/dist/classes/SignatureKit.d.ts.map +1 -1
  29. package/dist/classes/SignatureKit.js +2 -1
  30. package/dist/classes/SignatureKit.js.map +1 -1
  31. package/dist/constants/private/cose.d.ts +0 -1
  32. package/dist/constants/private/cose.d.ts.map +1 -1
  33. package/dist/constants/private/cose.js +5 -23
  34. package/dist/constants/private/cose.js.map +1 -1
  35. package/dist/types/cose-target.d.ts +2 -0
  36. package/dist/types/cose-target.d.ts.map +1 -0
  37. package/dist/types/{operators.js → cose-target.js} +1 -1
  38. package/dist/types/cose-target.js.map +1 -0
  39. package/dist/types/cwe/cwe-decode.d.ts +6 -2
  40. package/dist/types/cwe/cwe-decode.d.ts.map +1 -1
  41. package/dist/types/cwe/cwe-decrypt.d.ts +2 -2
  42. package/dist/types/cwe/cwe-decrypt.d.ts.map +1 -1
  43. package/dist/types/cwe/cwe-encrypt.d.ts +2 -0
  44. package/dist/types/cwe/cwe-encrypt.d.ts.map +1 -1
  45. package/dist/types/cws/cws-sign.d.ts +2 -0
  46. package/dist/types/cws/cws-sign.d.ts.map +1 -1
  47. package/dist/types/cwt/cwt-sign.d.ts +4 -1
  48. package/dist/types/cwt/cwt-sign.d.ts.map +1 -1
  49. package/dist/types/header.d.ts +6 -10
  50. package/dist/types/header.d.ts.map +1 -1
  51. package/dist/types/index.d.ts +1 -1
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/index.js +1 -1
  54. package/dist/types/index.js.map +1 -1
  55. package/dist/types/jwt/jwt-validate.d.ts +21 -21
  56. package/dist/types/jwt/jwt-validate.d.ts.map +1 -1
  57. package/dist/types/jwt/jwt-verify.d.ts +21 -21
  58. package/dist/types/jwt/jwt-verify.d.ts.map +1 -1
  59. package/dist/utils/private/auth-tag-length.js.map +1 -1
  60. package/dist/utils/private/cose/claims.d.ts +3 -3
  61. package/dist/utils/private/cose/claims.d.ts.map +1 -1
  62. package/dist/utils/private/cose/claims.js +27 -5
  63. package/dist/utils/private/cose/claims.js.map +1 -1
  64. package/dist/utils/private/cose/header.d.ts +3 -3
  65. package/dist/utils/private/cose/header.d.ts.map +1 -1
  66. package/dist/utils/private/cose/header.js +19 -26
  67. package/dist/utils/private/cose/header.js.map +1 -1
  68. package/dist/utils/private/cose/key.d.ts +1 -1
  69. package/dist/utils/private/cose/key.d.ts.map +1 -1
  70. package/dist/utils/private/cose/key.js +16 -12
  71. package/dist/utils/private/cose/key.js.map +1 -1
  72. package/dist/utils/private/cose-sign-token.d.ts +1 -2
  73. package/dist/utils/private/cose-sign-token.d.ts.map +1 -1
  74. package/dist/utils/private/cose-sign-token.js.map +1 -1
  75. package/dist/utils/private/index.d.ts +0 -1
  76. package/dist/utils/private/index.d.ts.map +1 -1
  77. package/dist/utils/private/index.js +0 -1
  78. package/dist/utils/private/index.js.map +1 -1
  79. package/dist/utils/private/jose-header.d.ts.map +1 -1
  80. package/dist/utils/private/jose-header.js +12 -17
  81. package/dist/utils/private/jose-header.js.map +1 -1
  82. package/dist/utils/private/jwt-validate.d.ts +3 -3
  83. package/dist/utils/private/jwt-validate.d.ts.map +1 -1
  84. package/dist/utils/private/jwt-validate.js +9 -9
  85. package/dist/utils/private/jwt-validate.js.map +1 -1
  86. package/dist/utils/private/jwt-verify.d.ts +3 -3
  87. package/dist/utils/private/jwt-verify.d.ts.map +1 -1
  88. package/dist/utils/private/jwt-verify.js +14 -14
  89. package/dist/utils/private/jwt-verify.js.map +1 -1
  90. package/dist/utils/private/token-header.d.ts.map +1 -1
  91. package/dist/utils/private/token-header.js +2 -10
  92. package/dist/utils/private/token-header.js.map +1 -1
  93. package/dist/utils/private/validate.d.ts +2 -3
  94. package/dist/utils/private/validate.d.ts.map +1 -1
  95. package/dist/utils/private/validate.js +9 -10
  96. package/dist/utils/private/validate.js.map +1 -1
  97. package/jest.config.interop.mjs +27 -0
  98. package/package.json +24 -24
  99. package/tsconfig.interop.json +9 -0
  100. package/dist/types/operators.d.ts +0 -27
  101. package/dist/types/operators.d.ts.map +0 -1
  102. package/dist/types/operators.js.map +0 -1
  103. package/dist/utils/private/validate-value.d.ts +0 -3
  104. package/dist/utils/private/validate-value.d.ts.map +0 -1
  105. package/dist/utils/private/validate-value.js +0 -91
  106. package/dist/utils/private/validate-value.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"token-header.js","sourceRoot":"","sources":["../../../src/utils/private/token-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-header.js","sourceRoot":"","sources":["../../../src/utils/private/token-header.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { Dict } from "@lindorm/types";
2
- import { Operators } from "../../types";
3
- export declare const validate: <C extends Dict = Dict>(dict: C, operators: Dict<Operators>) => void;
1
+ import { Dict, Predicate } from "@lindorm/types";
2
+ export declare const validate: <C extends Dict = Dict>(dict: C, predicate: Predicate<C>) => void;
4
3
  //# sourceMappingURL=validate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/utils/private/validate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EAC5C,MAAM,CAAC,EACP,WAAW,IAAI,CAAC,SAAS,CAAC,KACzB,IAcF,CAAC"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/utils/private/validate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,IAAI,GAAG,IAAI,EAC5C,MAAM,CAAC,EACP,WAAW,SAAS,CAAC,CAAC,CAAC,KACtB,IAWF,CAAC"}
@@ -2,18 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validate = void 0;
4
4
  const errors_1 = require("@lindorm/errors");
5
- const validate_value_1 = require("./validate-value");
6
- const validate = (dict, operators) => {
5
+ const utils_1 = require("@lindorm/utils");
6
+ const validate = (dict, predicate) => {
7
+ if (utils_1.Predicated.match(dict, predicate))
8
+ return;
7
9
  const invalid = [];
8
- for (const [key, ops] of Object.entries(operators)) {
9
- const value = dict[key];
10
- if ((0, validate_value_1.validateValue)(value, ops))
11
- continue;
12
- invalid.push({ key, value, ops });
13
- }
14
- if (invalid.length) {
15
- throw new errors_1.LindormError("Invalid token", { data: { invalid } });
10
+ for (const [key, ops] of Object.entries(predicate)) {
11
+ if (!utils_1.Predicated.match({ [key]: dict[key] }, { [key]: ops })) {
12
+ invalid.push({ key, value: dict[key] });
13
+ }
16
14
  }
15
+ throw new errors_1.LindormError("Invalid token", { data: { invalid } });
17
16
  };
18
17
  exports.validate = validate;
19
18
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/utils/private/validate.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAG/C,qDAAiD;AAE1C,MAAM,QAAQ,GAAG,CACtB,IAAO,EACP,SAA0B,EACpB,EAAE;IACR,MAAM,OAAO,GAAuD,EAAE,CAAC;IAEvE,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAExB,IAAI,IAAA,8BAAa,EAAC,KAAK,EAAE,GAAG,CAAC;YAAE,SAAS;QAExC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,qBAAY,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC;AAjBW,QAAA,QAAQ,YAiBnB"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/utils/private/validate.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAC/C,0CAA4C;AAGrC,MAAM,QAAQ,GAAG,CACtB,IAAO,EACP,SAAuB,EACjB,EAAE;IACR,IAAI,kBAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;QAAE,OAAO;IAE9C,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,kBAAU,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAS,CAAC,EAAE,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,IAAI,qBAAY,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC;AAdW,QAAA,QAAQ,YAcnB"}
@@ -0,0 +1,27 @@
1
+ import base from "../../jest.config.base.mjs";
2
+ import packageJson from "./package.json" with { type: "json" };
3
+
4
+ export default {
5
+ ...base,
6
+ displayName: `${packageJson.name}/interop`,
7
+ roots: ["<rootDir>/__tests__"],
8
+ extensionsToTreatAsEsm: [".ts"],
9
+ moduleNameMapper: {
10
+ "^(\\.{1,2}/.*)\\.js$": "$1",
11
+ "^cbor$": "<rootDir>/__tests__/__mocks__/cbor.ts",
12
+ },
13
+ transform: {
14
+ "^.+\\.tsx?$": [
15
+ "ts-jest",
16
+ {
17
+ useESM: true,
18
+ tsconfig: "tsconfig.interop.json",
19
+ },
20
+ ],
21
+ },
22
+ transformIgnorePatterns: [
23
+ "node_modules/(?!(jose|@auth0/cose|cbor-x|@jfromaniello/typedmap|cbor|nofilter)/)",
24
+ ],
25
+ collectCoverageFrom: [],
26
+ coverageThreshold: {},
27
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lindorm/aegis",
3
- "version": "0.3.6",
3
+ "version": "0.4.0",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "author": "Jonn Nilsson",
6
6
  "repository": {
@@ -16,38 +16,38 @@
16
16
  "scripts": {
17
17
  "build": "rimraf dist && tsc -b ./tsconfig.build.json",
18
18
  "example": "ts-node example",
19
- "integration": "compd --file docker-compose.yml jest --config jest.config.integration.js --watch",
20
- "integration:focus": "compd --file docker-compose.yml jest --config jest.config.integration.js --watch $1",
21
19
  "prettier": "prettier --write ./src/*",
22
- "test": "jest --watch --",
23
- "test:ci": "npm run test:unit",
24
- "test:integration": "jest --config jest.config.integration.js --",
25
- "test:unit": "jest --config jest.config.js --",
26
- "typecheck": "tsc --watch",
27
- "typecheck:ci": "tsc",
20
+ "test": "jest --",
21
+ "test:ci": "jest",
22
+ "test:interop": "NODE_OPTIONS='--experimental-vm-modules' jest --config jest.config.interop.mjs --no-coverage",
23
+ "test:watch": "jest --watch --",
24
+ "typecheck": "tsc",
25
+ "typecheck:watch": "tsc --watch --",
28
26
  "update": "ncu -i",
29
27
  "update:auto": "ncu -u"
30
28
  },
31
29
  "dependencies": {
32
- "@lindorm/aes": "^0.5.5",
33
- "@lindorm/b64": "^0.1.6",
34
- "@lindorm/date": "^0.3.3",
35
- "@lindorm/ec": "^0.2.5",
36
- "@lindorm/errors": "^0.1.12",
37
- "@lindorm/is": "^0.1.11",
38
- "@lindorm/kryptos": "^0.4.5",
39
- "@lindorm/oct": "^0.2.5",
40
- "@lindorm/okp": "^0.2.5",
41
- "@lindorm/rsa": "^0.2.5",
42
- "@lindorm/utils": "^0.5.4",
30
+ "@lindorm/aes": "^0.6.0",
31
+ "@lindorm/b64": "^0.1.7",
32
+ "@lindorm/date": "^0.3.4",
33
+ "@lindorm/ec": "^0.2.6",
34
+ "@lindorm/errors": "^0.1.13",
35
+ "@lindorm/is": "^0.1.12",
36
+ "@lindorm/kryptos": "^0.5.0",
37
+ "@lindorm/oct": "^0.2.6",
38
+ "@lindorm/okp": "^0.2.6",
39
+ "@lindorm/rsa": "^0.2.6",
40
+ "@lindorm/utils": "^0.5.5",
43
41
  "cbor": "^10.0.3"
44
42
  },
45
43
  "devDependencies": {
46
- "@lindorm/amphora": "^0.2.6",
47
- "@lindorm/logger": "^0.3.4",
48
- "@lindorm/types": "^0.3.3",
44
+ "@auth0/cose": "^1.0.2",
45
+ "@lindorm/amphora": "^0.3.0",
46
+ "@lindorm/logger": "^0.4.0",
47
+ "@lindorm/types": "^0.3.4",
49
48
  "@types/jsonwebtoken": "^9.0.6",
49
+ "jose": "^6.1.3",
50
50
  "jsonwebtoken": "^9.0.2"
51
51
  },
52
- "gitHead": "3302fa2c4d75f2832959018d9e089d11af4a35fc"
52
+ "gitHead": "4b8579886ad8a24c22a8bf260dd0bb5dc45afc08"
53
53
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "module": "esnext",
5
+ "moduleResolution": "node",
6
+ "rootDir": "."
7
+ },
8
+ "include": ["__tests__/**/*", "src/**/*"]
9
+ }
@@ -1,27 +0,0 @@
1
- type Ops = {
2
- $exists?: boolean;
3
- $eq?: Date | string | number;
4
- $ne?: Date | string | number;
5
- $in?: Array<string | number>;
6
- $nin?: Array<string | number>;
7
- $has?: string;
8
- $not?: string;
9
- $all?: Array<string>;
10
- $any?: Array<string>;
11
- $none?: Array<string>;
12
- $before?: Date;
13
- $beforeOrEq?: Date;
14
- $after?: Date;
15
- $afterOrEq?: Date;
16
- $gt?: number;
17
- $gte?: number;
18
- $lt?: number;
19
- $lte?: number;
20
- $regex?: string;
21
- };
22
- export type Operators = Ops & {
23
- $and?: Array<Operators>;
24
- $or?: Array<Operators>;
25
- };
26
- export {};
27
- //# sourceMappingURL=operators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/types/operators.ts"],"names":[],"mappings":"AAAA,KAAK,GAAG,GAAG;IACT,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAE7B,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAI9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAItB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAC;IAIlB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACxB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/types/operators.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { Operators } from "../../types";
2
- export declare const validateValue: (value: any, operators: Operators) => boolean;
3
- //# sourceMappingURL=validate-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-value.d.ts","sourceRoot":"","sources":["../../../src/utils/private/validate-value.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,aAAa,GAAI,OAAO,GAAG,EAAE,WAAW,SAAS,KAAG,OA2HhE,CAAC"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateValue = void 0;
4
- const date_1 = require("@lindorm/date");
5
- const is_1 = require("@lindorm/is");
6
- const validateValue = (value, operators) => {
7
- if (operators.$exists === true && !value) {
8
- return false;
9
- }
10
- if (operators.$exists === false && value) {
11
- return false;
12
- }
13
- if (operators.$eq) {
14
- if ((0, is_1.isDate)(value) && !(0, date_1.isEqual)(value, operators.$eq)) {
15
- return false;
16
- }
17
- else if (value !== operators.$eq) {
18
- return false;
19
- }
20
- }
21
- if (operators.$ne) {
22
- if ((0, is_1.isDate)(value) && (0, date_1.isEqual)(value, operators.$ne)) {
23
- return false;
24
- }
25
- else if (value === operators.$ne) {
26
- return false;
27
- }
28
- }
29
- if (operators.$in && !operators.$in.includes(value)) {
30
- return false;
31
- }
32
- if (operators.$nin && operators.$nin.includes(value)) {
33
- return false;
34
- }
35
- if (operators.$has && (!(0, is_1.isArray)(value) || !value.includes(operators.$has))) {
36
- return false;
37
- }
38
- if (operators.$not && (!(0, is_1.isArray)(value) || value.includes(operators.$not))) {
39
- return false;
40
- }
41
- if (operators.$all &&
42
- (!(0, is_1.isArray)(value) || !operators.$all.every((v) => value.includes(v)))) {
43
- return false;
44
- }
45
- if (operators.$any &&
46
- (!(0, is_1.isArray)(value) || !operators.$any.some((v) => value.includes(v)))) {
47
- return false;
48
- }
49
- if (operators.$none &&
50
- (!(0, is_1.isArray)(value) || operators.$none.some((v) => value.includes(v)))) {
51
- return false;
52
- }
53
- if (operators.$before && (!(0, is_1.isDate)(value) || !(0, date_1.isBefore)(value, operators.$before))) {
54
- return false;
55
- }
56
- if (operators.$beforeOrEq &&
57
- (!(0, is_1.isDate)(value) || (0, date_1.isAfter)(value, operators.$beforeOrEq))) {
58
- return false;
59
- }
60
- if (operators.$after && (!(0, is_1.isDate)(value) || !(0, date_1.isAfter)(value, operators.$after))) {
61
- return false;
62
- }
63
- if (operators.$afterOrEq && (!(0, is_1.isDate)(value) || (0, date_1.isBefore)(value, operators.$afterOrEq))) {
64
- return false;
65
- }
66
- if (operators.$gt && (!(0, is_1.isNumber)(value) || operators.$gt >= value)) {
67
- return false;
68
- }
69
- if (operators.$gte && (!(0, is_1.isNumber)(value) || operators.$gte > value)) {
70
- return false;
71
- }
72
- if (operators.$lt && (!(0, is_1.isNumber)(value) || operators.$lt <= value)) {
73
- return false;
74
- }
75
- if (operators.$lte && (!(0, is_1.isNumber)(value) || operators.$lte < value)) {
76
- return false;
77
- }
78
- if (operators.$regex &&
79
- (!(0, is_1.isString)(value) || !new RegExp(operators.$regex).test(value))) {
80
- return false;
81
- }
82
- if (operators.$and && !operators.$and.every((op) => (0, exports.validateValue)(value, op))) {
83
- return false;
84
- }
85
- if (operators.$or && !operators.$or.some((op) => (0, exports.validateValue)(value, op))) {
86
- return false;
87
- }
88
- return true;
89
- };
90
- exports.validateValue = validateValue;
91
- //# sourceMappingURL=validate-value.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate-value.js","sourceRoot":"","sources":["../../../src/utils/private/validate-value.ts"],"names":[],"mappings":"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"}