@lindorm/aegis 0.3.6 → 0.4.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.
- package/CHANGELOG.md +25 -0
- package/README.md +247 -163
- package/__tests__/__mocks__/cbor.ts +17 -0
- package/__tests__/cose-interop.test.ts +1127 -0
- package/__tests__/jwe-interop.test.ts +331 -0
- package/__tests__/jwt-interop.test.ts +183 -0
- package/dist/classes/Aegis.d.ts.map +1 -1
- package/dist/classes/Aegis.js +12 -7
- package/dist/classes/Aegis.js.map +1 -1
- package/dist/classes/CweKit.d.ts.map +1 -1
- package/dist/classes/CweKit.js +31 -37
- package/dist/classes/CweKit.js.map +1 -1
- package/dist/classes/CwsKit.d.ts.map +1 -1
- package/dist/classes/CwsKit.js +8 -3
- package/dist/classes/CwsKit.js.map +1 -1
- package/dist/classes/CwtKit.d.ts.map +1 -1
- package/dist/classes/CwtKit.js +10 -14
- package/dist/classes/CwtKit.js.map +1 -1
- package/dist/classes/JweKit.d.ts.map +1 -1
- package/dist/classes/JweKit.js +24 -47
- package/dist/classes/JweKit.js.map +1 -1
- package/dist/classes/JwsKit.d.ts.map +1 -1
- package/dist/classes/JwsKit.js +9 -2
- package/dist/classes/JwsKit.js.map +1 -1
- package/dist/classes/JwtKit.d.ts.map +1 -1
- package/dist/classes/JwtKit.js +10 -9
- package/dist/classes/JwtKit.js.map +1 -1
- package/dist/classes/SignatureKit.d.ts.map +1 -1
- package/dist/classes/SignatureKit.js +2 -1
- package/dist/classes/SignatureKit.js.map +1 -1
- package/dist/constants/private/cose.d.ts +0 -1
- package/dist/constants/private/cose.d.ts.map +1 -1
- package/dist/constants/private/cose.js +5 -23
- package/dist/constants/private/cose.js.map +1 -1
- package/dist/types/aegis.d.ts +3 -1
- package/dist/types/aegis.d.ts.map +1 -1
- package/dist/types/cose-target.d.ts +2 -0
- package/dist/types/cose-target.d.ts.map +1 -0
- package/dist/types/{operators.js → cose-target.js} +1 -1
- package/dist/types/cose-target.js.map +1 -0
- package/dist/types/cwe/cwe-decode.d.ts +6 -2
- package/dist/types/cwe/cwe-decode.d.ts.map +1 -1
- package/dist/types/cwe/cwe-decrypt.d.ts +2 -2
- package/dist/types/cwe/cwe-decrypt.d.ts.map +1 -1
- package/dist/types/cwe/cwe-encrypt.d.ts +2 -0
- package/dist/types/cwe/cwe-encrypt.d.ts.map +1 -1
- package/dist/types/cws/cws-sign.d.ts +2 -0
- package/dist/types/cws/cws-sign.d.ts.map +1 -1
- package/dist/types/cwt/cwt-sign.d.ts +4 -1
- package/dist/types/cwt/cwt-sign.d.ts.map +1 -1
- package/dist/types/header.d.ts +6 -10
- package/dist/types/header.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/jwt/jwt-validate.d.ts +21 -21
- package/dist/types/jwt/jwt-validate.d.ts.map +1 -1
- package/dist/types/jwt/jwt-verify.d.ts +21 -21
- package/dist/types/jwt/jwt-verify.d.ts.map +1 -1
- package/dist/utils/private/auth-tag-length.js.map +1 -1
- package/dist/utils/private/cose/claims.d.ts +3 -3
- package/dist/utils/private/cose/claims.d.ts.map +1 -1
- package/dist/utils/private/cose/claims.js +27 -5
- package/dist/utils/private/cose/claims.js.map +1 -1
- package/dist/utils/private/cose/header.d.ts +3 -3
- package/dist/utils/private/cose/header.d.ts.map +1 -1
- package/dist/utils/private/cose/header.js +19 -26
- package/dist/utils/private/cose/header.js.map +1 -1
- package/dist/utils/private/cose/key.d.ts +1 -1
- package/dist/utils/private/cose/key.d.ts.map +1 -1
- package/dist/utils/private/cose/key.js +16 -12
- package/dist/utils/private/cose/key.js.map +1 -1
- package/dist/utils/private/cose-sign-token.d.ts +1 -2
- package/dist/utils/private/cose-sign-token.d.ts.map +1 -1
- package/dist/utils/private/cose-sign-token.js.map +1 -1
- package/dist/utils/private/index.d.ts +0 -1
- package/dist/utils/private/index.d.ts.map +1 -1
- package/dist/utils/private/index.js +0 -1
- package/dist/utils/private/index.js.map +1 -1
- package/dist/utils/private/jose-header.d.ts.map +1 -1
- package/dist/utils/private/jose-header.js +12 -17
- package/dist/utils/private/jose-header.js.map +1 -1
- package/dist/utils/private/jwt-validate.d.ts +3 -3
- package/dist/utils/private/jwt-validate.d.ts.map +1 -1
- package/dist/utils/private/jwt-validate.js +9 -9
- package/dist/utils/private/jwt-validate.js.map +1 -1
- package/dist/utils/private/jwt-verify.d.ts +3 -3
- package/dist/utils/private/jwt-verify.d.ts.map +1 -1
- package/dist/utils/private/jwt-verify.js +14 -14
- package/dist/utils/private/jwt-verify.js.map +1 -1
- package/dist/utils/private/token-header.d.ts.map +1 -1
- package/dist/utils/private/token-header.js +2 -10
- package/dist/utils/private/token-header.js.map +1 -1
- package/dist/utils/private/validate.d.ts +2 -3
- package/dist/utils/private/validate.d.ts.map +1 -1
- package/dist/utils/private/validate.js +9 -10
- package/dist/utils/private/validate.js.map +1 -1
- package/jest.config.interop.mjs +27 -0
- package/package.json +26 -25
- package/tsconfig.interop.json +9 -0
- package/dist/types/operators.d.ts +0 -27
- package/dist/types/operators.d.ts.map +0 -1
- package/dist/types/operators.js.map +0 -1
- package/dist/utils/private/validate-value.d.ts +0 -3
- package/dist/utils/private/validate-value.d.ts.map +0 -1
- package/dist/utils/private/validate-value.js +0 -91
- package/dist/utils/private/validate-value.js.map +0 -1
|
@@ -15,8 +15,6 @@ const mapTokenHeader = (options) => {
|
|
|
15
15
|
return "enc";
|
|
16
16
|
case "headerType":
|
|
17
17
|
return "typ";
|
|
18
|
-
case "hkdfSalt":
|
|
19
|
-
return "hkdf_salt";
|
|
20
18
|
case "jwk":
|
|
21
19
|
return "jwk";
|
|
22
20
|
case "jwksUri":
|
|
@@ -44,10 +42,9 @@ const mapTokenHeader = (options) => {
|
|
|
44
42
|
case "x5tS256":
|
|
45
43
|
return "x5t#S256";
|
|
46
44
|
default:
|
|
47
|
-
return
|
|
45
|
+
return key;
|
|
48
46
|
}
|
|
49
47
|
})
|
|
50
|
-
.filter(is_1.isString)
|
|
51
48
|
.sort();
|
|
52
49
|
return (0, utils_1.removeUndefined)({
|
|
53
50
|
alg: options.algorithm,
|
|
@@ -55,7 +52,6 @@ const mapTokenHeader = (options) => {
|
|
|
55
52
|
cty: options.contentType,
|
|
56
53
|
enc: (0, is_1.isString)(options.encryption) ? options.encryption : undefined,
|
|
57
54
|
epk: (0, is_1.isObject)(options.publicEncryptionJwk) ? options.publicEncryptionJwk : undefined,
|
|
58
|
-
hkdf_salt: options.hkdfSalt,
|
|
59
55
|
iv: options.initialisationVector,
|
|
60
56
|
jku: (0, is_1.isUrlLike)(options.jwksUri) ? options.jwksUri : undefined,
|
|
61
57
|
jwk: (0, is_1.isObject)(options.jwk) ? options.jwk : undefined,
|
|
@@ -84,8 +80,6 @@ const parseTokenHeader = (decoded) => {
|
|
|
84
80
|
return "encryption";
|
|
85
81
|
case "epk":
|
|
86
82
|
return "publicEncryptionJwk";
|
|
87
|
-
case "hkdf_salt":
|
|
88
|
-
return "hkdfSalt";
|
|
89
83
|
case "iv":
|
|
90
84
|
return "initialisationVector";
|
|
91
85
|
case "jku":
|
|
@@ -113,10 +107,9 @@ const parseTokenHeader = (decoded) => {
|
|
|
113
107
|
case "x5t#S256":
|
|
114
108
|
return "x5tS256";
|
|
115
109
|
default:
|
|
116
|
-
return
|
|
110
|
+
return key;
|
|
117
111
|
}
|
|
118
112
|
})
|
|
119
|
-
.filter(is_1.isString)
|
|
120
113
|
.sort() ?? [];
|
|
121
114
|
return (0, utils_1.removeUndefined)({
|
|
122
115
|
algorithm: decoded.alg,
|
|
@@ -124,7 +117,6 @@ const parseTokenHeader = (decoded) => {
|
|
|
124
117
|
critical,
|
|
125
118
|
encryption: decoded.enc,
|
|
126
119
|
headerType: decoded.typ,
|
|
127
|
-
hkdfSalt: decoded.hkdf_salt,
|
|
128
120
|
initialisationVector: decoded.iv,
|
|
129
121
|
jwk: decoded.jwk,
|
|
130
122
|
jwksUri: decoded.jku,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-header.js","sourceRoot":"","sources":["../../../src/utils/private/token-header.ts"],"names":[],"mappings":";;;AAAA,oCAAsE;AACtE,0CAAiD;AAQ1C,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAwB,EAAE;IAClF,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ;QAC3B,EAAE,GAAG,CAAC,CAAC,GAAG,
|
|
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
|
-
|
|
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":"
|
|
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
|
|
6
|
-
const validate = (dict,
|
|
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(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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;
|
|
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
|
+
"version": "0.4.1",
|
|
4
4
|
"license": "AGPL-3.0-or-later",
|
|
5
5
|
"author": "Jonn Nilsson",
|
|
6
6
|
"repository": {
|
|
@@ -16,38 +16,39 @@
|
|
|
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 --
|
|
23
|
-
"test:ci": "
|
|
24
|
-
"test:
|
|
25
|
-
"test:
|
|
26
|
-
"typecheck": "tsc
|
|
27
|
-
"typecheck:
|
|
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
|
-
"update:auto": "ncu -u"
|
|
27
|
+
"update:auto": "ncu -u",
|
|
28
|
+
"verify": "npm run typecheck; npm run build; npm test"
|
|
30
29
|
},
|
|
31
30
|
"dependencies": {
|
|
32
|
-
"@lindorm/aes": "^0.
|
|
33
|
-
"@lindorm/b64": "^0.1.
|
|
34
|
-
"@lindorm/date": "^0.
|
|
35
|
-
"@lindorm/ec": "^0.2.
|
|
36
|
-
"@lindorm/errors": "^0.1.
|
|
37
|
-
"@lindorm/is": "^0.1.
|
|
38
|
-
"@lindorm/kryptos": "^0.
|
|
39
|
-
"@lindorm/oct": "^0.2.
|
|
40
|
-
"@lindorm/okp": "^0.2.
|
|
41
|
-
"@lindorm/rsa": "^0.2.
|
|
42
|
-
"@lindorm/utils": "^0.
|
|
31
|
+
"@lindorm/aes": "^0.6.1",
|
|
32
|
+
"@lindorm/b64": "^0.1.8",
|
|
33
|
+
"@lindorm/date": "^0.4.0",
|
|
34
|
+
"@lindorm/ec": "^0.2.7",
|
|
35
|
+
"@lindorm/errors": "^0.1.14",
|
|
36
|
+
"@lindorm/is": "^0.1.13",
|
|
37
|
+
"@lindorm/kryptos": "^0.5.1",
|
|
38
|
+
"@lindorm/oct": "^0.2.7",
|
|
39
|
+
"@lindorm/okp": "^0.2.7",
|
|
40
|
+
"@lindorm/rsa": "^0.2.7",
|
|
41
|
+
"@lindorm/utils": "^0.6.0",
|
|
43
42
|
"cbor": "^10.0.3"
|
|
44
43
|
},
|
|
45
44
|
"devDependencies": {
|
|
46
|
-
"@
|
|
47
|
-
"@lindorm/
|
|
48
|
-
"@lindorm/
|
|
45
|
+
"@auth0/cose": "^1.0.2",
|
|
46
|
+
"@lindorm/amphora": "^0.3.1",
|
|
47
|
+
"@lindorm/logger": "^0.5.0",
|
|
48
|
+
"@lindorm/types": "^0.4.0",
|
|
49
49
|
"@types/jsonwebtoken": "^9.0.6",
|
|
50
|
+
"jose": "^6.1.3",
|
|
50
51
|
"jsonwebtoken": "^9.0.2"
|
|
51
52
|
},
|
|
52
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "e9f119d722596c1980328d88e588db4ab49dd04b"
|
|
53
54
|
}
|
|
@@ -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 +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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"}
|