@cloud-copilot/iam-simulate 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/condition/baseConditionperatorTests.js +1 -1
- package/dist/cjs/condition/baseConditionperatorTests.js.map +1 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.d.ts.map +1 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.js +4 -1
- package/dist/cjs/core_engine/coreSimulatorEngine.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/request/request.d.ts +9 -3
- package/dist/cjs/request/request.d.ts.map +1 -1
- package/dist/cjs/request/request.js +4 -7
- package/dist/cjs/request/request.js.map +1 -1
- package/dist/cjs/request/requestResource.d.ts +7 -1
- package/dist/cjs/request/requestResource.d.ts.map +1 -1
- package/dist/cjs/request/requestResource.js +6 -1
- package/dist/cjs/request/requestResource.js.map +1 -1
- package/dist/cjs/services/DefaultServiceAuthorizer.d.ts.map +1 -1
- package/dist/cjs/services/DefaultServiceAuthorizer.js +2 -2
- package/dist/cjs/services/DefaultServiceAuthorizer.js.map +1 -1
- package/dist/cjs/simulation_engine/contextKeys.d.ts +3 -0
- package/dist/cjs/simulation_engine/contextKeys.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/contextKeys.js +53 -0
- package/dist/cjs/simulation_engine/contextKeys.js.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts +25 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.js +38 -0
- package/dist/cjs/simulation_engine/simulationEngine.js.map +1 -0
- package/dist/esm/StatementAnalysis.d.ts +27 -0
- package/dist/esm/StatementAnalysis.d.ts.map +1 -0
- package/dist/esm/StatementAnalysis.js +2 -0
- package/dist/esm/StatementAnalysis.js.map +1 -0
- package/dist/esm/action/action.d.ts +9 -1
- package/dist/esm/action/action.d.ts.map +1 -1
- package/dist/esm/action/action.js +16 -0
- package/dist/esm/action/action.js.map +1 -1
- package/dist/esm/condition/arn/ArnEquals.d.ts +3 -0
- package/dist/esm/condition/arn/ArnEquals.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnEquals.js +8 -0
- package/dist/esm/condition/arn/ArnEquals.js.map +1 -0
- package/dist/esm/condition/arn/ArnLike.d.ts +3 -0
- package/dist/esm/condition/arn/ArnLike.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnLike.js +47 -0
- package/dist/esm/condition/arn/ArnLike.js.map +1 -0
- package/dist/esm/condition/arn/ArnNotEquals.d.ts +3 -0
- package/dist/esm/condition/arn/ArnNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnNotEquals.js +8 -0
- package/dist/esm/condition/arn/ArnNotEquals.js.map +1 -0
- package/dist/esm/condition/arn/ArnNotLike.d.ts +3 -0
- package/dist/esm/condition/arn/ArnNotLike.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnNotLike.js +10 -0
- package/dist/esm/condition/arn/ArnNotLike.js.map +1 -0
- package/dist/esm/condition/baseConditionperatorTests.d.ts +12 -0
- package/dist/esm/condition/baseConditionperatorTests.d.ts.map +1 -0
- package/dist/esm/condition/baseConditionperatorTests.js +18 -0
- package/dist/esm/condition/baseConditionperatorTests.js.map +1 -0
- package/dist/esm/condition/binary/BinaryEquals.d.ts +7 -0
- package/dist/esm/condition/binary/BinaryEquals.d.ts.map +1 -0
- package/dist/esm/condition/binary/BinaryEquals.js +13 -0
- package/dist/esm/condition/binary/BinaryEquals.js.map +1 -0
- package/dist/esm/condition/boolean/Bool.d.ts +3 -0
- package/dist/esm/condition/boolean/Bool.d.ts.map +1 -0
- package/dist/esm/condition/boolean/Bool.js +17 -0
- package/dist/esm/condition/boolean/Bool.js.map +1 -0
- package/dist/esm/condition/condition.d.ts +1 -0
- package/dist/esm/condition/condition.d.ts.map +1 -1
- package/dist/esm/condition/condition.js +60 -11
- package/dist/esm/condition/condition.js.map +1 -1
- package/dist/esm/condition/date/DateEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateEquals.js +14 -0
- package/dist/esm/condition/date/DateEquals.js.map +1 -0
- package/dist/esm/condition/date/DateGreaterThan.d.ts +3 -0
- package/dist/esm/condition/date/DateGreaterThan.d.ts.map +1 -0
- package/dist/esm/condition/date/DateGreaterThan.js +14 -0
- package/dist/esm/condition/date/DateGreaterThan.js.map +1 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.js +14 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.js.map +1 -0
- package/dist/esm/condition/date/DateLessThan.d.ts +3 -0
- package/dist/esm/condition/date/DateLessThan.d.ts.map +1 -0
- package/dist/esm/condition/date/DateLessThan.js +14 -0
- package/dist/esm/condition/date/DateLessThan.js.map +1 -0
- package/dist/esm/condition/date/DateLessThanEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateLessThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateLessThanEquals.js +14 -0
- package/dist/esm/condition/date/DateLessThanEquals.js.map +1 -0
- package/dist/esm/condition/date/DateNotEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateNotEquals.js +26 -0
- package/dist/esm/condition/date/DateNotEquals.js.map +1 -0
- package/dist/esm/condition/date/date.d.ts +17 -0
- package/dist/esm/condition/date/date.d.ts.map +1 -0
- package/dist/esm/condition/date/date.js +38 -0
- package/dist/esm/condition/date/date.js.map +1 -0
- package/dist/esm/condition/ipaddress/IpAddress.d.ts +3 -0
- package/dist/esm/condition/ipaddress/IpAddress.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/IpAddress.js +24 -0
- package/dist/esm/condition/ipaddress/IpAddress.js.map +1 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts +3 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.js +28 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.js.map +1 -0
- package/dist/esm/condition/ipaddress/ipv4.d.ts +24 -0
- package/dist/esm/condition/ipaddress/ipv4.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ipv4.js +54 -0
- package/dist/esm/condition/ipaddress/ipv4.js.map +1 -0
- package/dist/esm/condition/ipaddress/ipv6.d.ts +24 -0
- package/dist/esm/condition/ipaddress/ipv6.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ipv6.js +106 -0
- package/dist/esm/condition/ipaddress/ipv6.js.map +1 -0
- package/dist/esm/condition/numeric/NumericEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericEquals.js +14 -0
- package/dist/esm/condition/numeric/NumericEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.js +14 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.js.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js +14 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThan.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericLessThan.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThan.js +14 -0
- package/dist/esm/condition/numeric/NumericLessThan.js.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.js +14 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericNotEquals.js +26 -0
- package/dist/esm/condition/numeric/NumericNotEquals.js.map +1 -0
- package/dist/esm/condition/numeric/numeric.d.ts +17 -0
- package/dist/esm/condition/numeric/numeric.d.ts.map +1 -0
- package/dist/esm/condition/numeric/numeric.js +37 -0
- package/dist/esm/condition/numeric/numeric.js.map +1 -0
- package/dist/esm/condition/string/StringEquals.d.ts.map +1 -0
- package/dist/esm/condition/string/StringEquals.js.map +1 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts +3 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js +14 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js.map +1 -0
- package/dist/esm/condition/string/StringLike.d.ts +3 -0
- package/dist/esm/condition/string/StringLike.d.ts.map +1 -0
- package/dist/esm/condition/string/StringLike.js +11 -0
- package/dist/esm/condition/string/StringLike.js.map +1 -0
- package/dist/esm/condition/string/StringNotEquals.d.ts +3 -0
- package/dist/esm/condition/string/StringNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotEquals.js +11 -0
- package/dist/esm/condition/string/StringNotEquals.js.map +1 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts +3 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js +10 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js.map +1 -0
- package/dist/esm/condition/string/StringNotLike.d.ts +3 -0
- package/dist/esm/condition/string/StringNotLike.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotLike.js +10 -0
- package/dist/esm/condition/string/StringNotLike.js.map +1 -0
- package/dist/esm/core_engine/coreSimulatorEngine.d.ts +44 -0
- package/dist/esm/core_engine/coreSimulatorEngine.d.ts.map +1 -0
- package/dist/esm/core_engine/coreSimulatorEngine.js +58 -0
- package/dist/esm/core_engine/coreSimulatorEngine.js.map +1 -0
- package/dist/esm/evaluate.d.ts +1 -1
- package/dist/esm/evaluate.d.ts.map +1 -1
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/principal/principal.d.ts +1 -2
- package/dist/esm/principal/principal.d.ts.map +1 -1
- package/dist/esm/request/request.d.ts +9 -5
- package/dist/esm/request/request.d.ts.map +1 -1
- package/dist/esm/request/request.js +4 -8
- package/dist/esm/request/request.js.map +1 -1
- package/dist/esm/request/requestResource.d.ts +7 -1
- package/dist/esm/request/requestResource.d.ts.map +1 -1
- package/dist/esm/request/requestResource.js +5 -1
- package/dist/esm/request/requestResource.js.map +1 -1
- package/dist/esm/resource/resource.d.ts +16 -1
- package/dist/esm/resource/resource.d.ts.map +1 -1
- package/dist/esm/resource/resource.js +24 -26
- package/dist/esm/resource/resource.js.map +1 -1
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts +12 -0
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/DefaultServiceAuthorizer.js +75 -0
- package/dist/esm/services/DefaultServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/ServiceAuthorizer.d.ts +11 -0
- package/dist/esm/services/ServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/ServiceAuthorizer.js +2 -0
- package/dist/esm/services/ServiceAuthorizer.js.map +1 -0
- package/dist/esm/simulation_engine/contextKeys.d.ts +3 -0
- package/dist/esm/simulation_engine/contextKeys.d.ts.map +1 -0
- package/dist/esm/simulation_engine/contextKeys.js +49 -0
- package/dist/esm/simulation_engine/contextKeys.js.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts +25 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.js +35 -0
- package/dist/esm/simulation_engine/simulationEngine.js.map +1 -0
- package/dist/esm/util.d.ts +32 -0
- package/dist/esm/util.d.ts.map +1 -1
- package/dist/esm/util.js +78 -2
- package/dist/esm/util.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/action.d.ts +0 -4
- package/dist/cjs/action.d.ts.map +0 -1
- package/dist/cjs/action.js +0 -21
- package/dist/cjs/action.js.map +0 -1
- package/dist/cjs/condition/strings/StringEquals.d.ts.map +0 -1
- package/dist/cjs/condition/strings/StringEquals.js +0 -14
- package/dist/cjs/condition/strings/StringEquals.js.map +0 -1
- package/dist/cjs/request/requestSupplementalData.d.ts +0 -19
- package/dist/cjs/request/requestSupplementalData.d.ts.map +0 -1
- package/dist/cjs/request/requestSupplementalData.js +0 -37
- package/dist/cjs/request/requestSupplementalData.js.map +0 -1
- package/dist/cjs/request.d.ts +0 -15
- package/dist/cjs/request.d.ts.map +0 -1
- package/dist/cjs/request.js +0 -17
- package/dist/cjs/request.js.map +0 -1
- package/dist/esm/action.d.ts +0 -4
- package/dist/esm/action.d.ts.map +0 -1
- package/dist/esm/action.js +0 -18
- package/dist/esm/action.js.map +0 -1
- package/dist/esm/condition/strings/StringEquals.d.ts +0 -3
- package/dist/esm/condition/strings/StringEquals.d.ts.map +0 -1
- package/dist/esm/condition/strings/StringEquals.js.map +0 -1
- package/dist/esm/request/requestSupplementalData.d.ts +0 -19
- package/dist/esm/request/requestSupplementalData.d.ts.map +0 -1
- package/dist/esm/request/requestSupplementalData.js +0 -30
- package/dist/esm/request/requestSupplementalData.js.map +0 -1
- package/dist/esm/request.d.ts +0 -15
- package/dist/esm/request.d.ts.map +0 -1
- package/dist/esm/request.js +0 -9
- package/dist/esm/request.js.map +0 -1
- /package/dist/{cjs/condition/strings → esm/condition/string}/StringEquals.d.ts +0 -0
- /package/dist/esm/condition/{strings → string}/StringEquals.js +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if a given IP address is within a specified CIDR block.
|
|
3
|
+
*
|
|
4
|
+
* @param ip - The IP address to check (e.g., '192.168.1.10').
|
|
5
|
+
* @param cidr - The CIDR block (e.g., '192.168.1.0/24').
|
|
6
|
+
* @returns True if the IP address is within the CIDR block; otherwise, false.
|
|
7
|
+
* @throws Error if either the IP address or CIDR block is invalid.
|
|
8
|
+
*/
|
|
9
|
+
export function isIpInCidrV4(ip, cidr) {
|
|
10
|
+
if (!isValidIpV4(ip)) {
|
|
11
|
+
throw new Error('Invalid IP address');
|
|
12
|
+
}
|
|
13
|
+
if (!isValidCidrV4(cidr)) {
|
|
14
|
+
throw new Error('Invalid CIDR block');
|
|
15
|
+
}
|
|
16
|
+
const [cidrIp, prefixLengthStr] = cidr.split('/');
|
|
17
|
+
const prefixLength = parseInt(prefixLengthStr, 10);
|
|
18
|
+
const ipLong = ipV4ToLong(ip);
|
|
19
|
+
const cidrIpLong = ipV4ToLong(cidrIp);
|
|
20
|
+
const mask = -1 << (32 - prefixLength);
|
|
21
|
+
return (ipLong & mask) === (cidrIpLong & mask);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validates an IPv4 address.
|
|
25
|
+
*
|
|
26
|
+
* @param ip - The IP address to validate.
|
|
27
|
+
* @returns True if the IP address is valid; otherwise, false.
|
|
28
|
+
*/
|
|
29
|
+
export function isValidIpV4(ip) {
|
|
30
|
+
const ipRegex = /^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}$/;
|
|
31
|
+
return ipRegex.test(ip);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Validates an IPv4 CIDR block.
|
|
35
|
+
*
|
|
36
|
+
* @param cidr - The CIDR block to validate.
|
|
37
|
+
* @returns True if the CIDR block is valid; otherwise, false.
|
|
38
|
+
*/
|
|
39
|
+
export function isValidCidrV4(cidr) {
|
|
40
|
+
const cidrRegex = /^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3})\/([0-9]|[1-2][0-9]|3[0-2])$/;
|
|
41
|
+
return cidrRegex.test(cidr);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Converts an IPv4 address to a 32-bit number.
|
|
45
|
+
*
|
|
46
|
+
* @param ip - The IP address to convert.
|
|
47
|
+
* @returns The numeric representation of the IP address.
|
|
48
|
+
*/
|
|
49
|
+
function ipV4ToLong(ip) {
|
|
50
|
+
return ip.split('.').reduce((acc, octet) => {
|
|
51
|
+
return (acc << 8) + parseInt(octet, 10);
|
|
52
|
+
}, 0) >>> 0;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ipv4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipv4.js","sourceRoot":"","sources":["../../../../src/condition/ipaddress/ipv4.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,IAAY;IACnD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;IAEvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,MAAM,OAAO,GACX,+EAA+E,CAAC;IAClF,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,SAAS,GACb,4GAA4G,CAAC;IAC/G,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if a given IPv6 address is within a specified CIDR block.
|
|
3
|
+
*
|
|
4
|
+
* @param ip - The IPv6 address to check (e.g., '2001:0db8:85a3::8a2e:0370:7334').
|
|
5
|
+
* @param cidr - The IPv6 CIDR block (e.g., '2001:0db8::/32').
|
|
6
|
+
* @returns True if the IP address is within the CIDR block; otherwise, false.
|
|
7
|
+
* @throws Error if either the IP address or CIDR block is invalid.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isIpInCidrV6(ip: string, cidr: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Validates an IPv6 address.
|
|
12
|
+
*
|
|
13
|
+
* @param ip - The IPv6 address to validate.
|
|
14
|
+
* @returns True if the IPv6 address is valid; otherwise, false.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isValidIpV6(ip: string): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Validates an IPv6 CIDR block.
|
|
19
|
+
*
|
|
20
|
+
* @param cidr - The IPv6 CIDR block to validate.
|
|
21
|
+
* @returns True if the CIDR block is valid; otherwise, false.
|
|
22
|
+
*/
|
|
23
|
+
export declare function isValidIpCidrV6(cidr: string): boolean;
|
|
24
|
+
//# sourceMappingURL=ipv6.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipv6.d.ts","sourceRoot":"","sources":["../../../../src/condition/ipaddress/ipv6.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAkB9D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAuB/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAarD"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines if a given IPv6 address is within a specified CIDR block.
|
|
3
|
+
*
|
|
4
|
+
* @param ip - The IPv6 address to check (e.g., '2001:0db8:85a3::8a2e:0370:7334').
|
|
5
|
+
* @param cidr - The IPv6 CIDR block (e.g., '2001:0db8::/32').
|
|
6
|
+
* @returns True if the IP address is within the CIDR block; otherwise, false.
|
|
7
|
+
* @throws Error if either the IP address or CIDR block is invalid.
|
|
8
|
+
*/
|
|
9
|
+
export function isIpInCidrV6(ip, cidr) {
|
|
10
|
+
if (!isValidIpV6(ip)) {
|
|
11
|
+
throw new Error('Invalid IPv6 address');
|
|
12
|
+
}
|
|
13
|
+
if (!isValidIpCidrV6(cidr)) {
|
|
14
|
+
throw new Error('Invalid IPv6 CIDR block');
|
|
15
|
+
}
|
|
16
|
+
const [cidrIp, prefixLengthStr] = cidr.split('/');
|
|
17
|
+
const prefixLength = parseInt(prefixLengthStr, 10);
|
|
18
|
+
const ipBigInt = ipv6ToBigInt(ip);
|
|
19
|
+
const cidrIpBigInt = ipv6ToBigInt(cidrIp);
|
|
20
|
+
const mask = BigInt(-1) << BigInt(128 - prefixLength);
|
|
21
|
+
return (ipBigInt & mask) === (cidrIpBigInt & mask);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validates an IPv6 address.
|
|
25
|
+
*
|
|
26
|
+
* @param ip - The IPv6 address to validate.
|
|
27
|
+
* @returns True if the IPv6 address is valid; otherwise, false.
|
|
28
|
+
*/
|
|
29
|
+
export function isValidIpV6(ip) {
|
|
30
|
+
const ipv6Regex = new RegExp('^(' +
|
|
31
|
+
'(([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|' +
|
|
32
|
+
'(([0-9A-Fa-f]{1,4}:){1,7}:)|' +
|
|
33
|
+
'(([0-9A-Fa-f]{1,4}:){1,6}:[0-9A-Fa-f]{1,4})|' +
|
|
34
|
+
'(([0-9A-Fa-f]{1,4}:){1,5}(:[0-9A-Fa-f]{1,4}){1,2})|' +
|
|
35
|
+
'(([0-9A-Fa-f]{1,4}:){1,4}(:[0-9A-Fa-f]{1,4}){1,3})|' +
|
|
36
|
+
'(([0-9A-Fa-f]{1,4}:){1,3}(:[0-9A-Fa-f]{1,4}){1,4})|' +
|
|
37
|
+
'(([0-9A-Fa-f]{1,4}:){1,2}(:[0-9A-Fa-f]{1,4}){1,5})|' +
|
|
38
|
+
'([0-9A-Fa-f]{1,4}:)((:[0-9A-Fa-f]{1,4}){1,6})|' +
|
|
39
|
+
'(:)((:[0-9A-Fa-f]{1,4}){1,7}|:)|' +
|
|
40
|
+
'fe80:(:[0-9A-Fa-f]{0,4}){0,4}%[0-9a-zA-Z]{1,}|' +
|
|
41
|
+
'::(ffff(:0{1,4}){0,1}:){0,1}' +
|
|
42
|
+
'(([0-9A-Fa-f]{1,4}:){1,4}:)?' +
|
|
43
|
+
'((25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])\.){3,3}' +
|
|
44
|
+
'(25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])|' +
|
|
45
|
+
'([0-9A-Fa-f]{1,4}:){1,4}:' +
|
|
46
|
+
'((25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])\.){3,3}' +
|
|
47
|
+
'(25[0-5]|(2[0-4]|1{0,1}[0-9])?[0-9])' +
|
|
48
|
+
')$');
|
|
49
|
+
return ipv6Regex.test(ip);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Validates an IPv6 CIDR block.
|
|
53
|
+
*
|
|
54
|
+
* @param cidr - The IPv6 CIDR block to validate.
|
|
55
|
+
* @returns True if the CIDR block is valid; otherwise, false.
|
|
56
|
+
*/
|
|
57
|
+
export function isValidIpCidrV6(cidr) {
|
|
58
|
+
const parts = cidr.split('/');
|
|
59
|
+
if (parts.length !== 2) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
const [cidrIp, prefixLengthStr] = parts;
|
|
63
|
+
if (!isValidIpV6(cidrIp)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
const prefixLength = parseInt(prefixLengthStr, 10);
|
|
67
|
+
return prefixLength >= 0 && prefixLength <= 128;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Converts an IPv6 address to a BigInt representation.
|
|
71
|
+
*
|
|
72
|
+
* @param ip - The IPv6 address to convert.
|
|
73
|
+
* @returns A BigInt representing the IPv6 address.
|
|
74
|
+
*/
|
|
75
|
+
function ipv6ToBigInt(ip) {
|
|
76
|
+
const fullIp = expandIpv6Address(ip);
|
|
77
|
+
const parts = fullIp.split(':');
|
|
78
|
+
let result = BigInt(0);
|
|
79
|
+
for (const part of parts) {
|
|
80
|
+
result = (result << BigInt(16)) + BigInt(parseInt(part, 16));
|
|
81
|
+
}
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Expands an abbreviated IPv6 address to its full form.
|
|
86
|
+
*
|
|
87
|
+
* @param ip - The IPv6 address to expand.
|
|
88
|
+
* @returns The expanded IPv6 address.
|
|
89
|
+
*/
|
|
90
|
+
function expandIpv6Address(ip) {
|
|
91
|
+
// Replace '::' with the appropriate number of ':0'
|
|
92
|
+
const numColons = (ip.match(/:/g) || []).length;
|
|
93
|
+
const numMissingSections = 8 - numColons + (ip.includes('::') ? 1 : 0);
|
|
94
|
+
if (ip.startsWith('::')) {
|
|
95
|
+
ip = ip.replace('::', '0:'.repeat(numMissingSections));
|
|
96
|
+
}
|
|
97
|
+
else if (ip.endsWith('::')) {
|
|
98
|
+
ip = ip.replace('::', ':0'.repeat(numMissingSections));
|
|
99
|
+
}
|
|
100
|
+
else if (ip.includes('::')) {
|
|
101
|
+
ip = ip.replace('::', ':' + '0:'.repeat(numMissingSections - 1));
|
|
102
|
+
}
|
|
103
|
+
const parts = ip.split(':').map(part => part.padStart(4, '0'));
|
|
104
|
+
return parts.join(':');
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=ipv6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipv6.js","sourceRoot":"","sources":["../../../../src/condition/ipaddress/ipv6.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,aAAa,EAAE,qBAY3B,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { checkIfNumeric } from "./numeric.js";
|
|
2
|
+
export const NumericEquals = {
|
|
3
|
+
name: 'NumericEquals',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return policyValues.some(policyValue => {
|
|
6
|
+
return checkIfNumeric(policyValue, keyValue, (policyNumber, testNumber) => {
|
|
7
|
+
return policyNumber == testNumber;
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
allowsVariables: false,
|
|
12
|
+
allowsWildcards: false
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=NumericEquals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericEquals.js","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,IAAI,EAAE,eAAe;IAErB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;gBACxE,OAAO,YAAY,IAAI,UAAU,CAAA;YACnC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericGreaterThan.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericGreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,kBAAkB,EAAE,qBAYhC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { checkIfNumeric } from "./numeric.js";
|
|
2
|
+
export const NumericGreaterThan = {
|
|
3
|
+
name: 'NumericGreaterThan',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return policyValues.some(policyValue => {
|
|
6
|
+
return checkIfNumeric(policyValue, keyValue, (policyNumber, testNumber) => {
|
|
7
|
+
return policyNumber > testNumber;
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
allowsVariables: false,
|
|
12
|
+
allowsWildcards: false
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=NumericGreaterThan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericGreaterThan.js","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericGreaterThan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,IAAI,EAAE,oBAAoB;IAE1B,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;gBACxE,OAAO,YAAY,GAAG,UAAU,CAAA;YAClC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericGreaterThanEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericGreaterThanEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,wBAAwB,EAAE,qBAYtC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { checkIfNumeric } from "./numeric.js";
|
|
2
|
+
export const NumericGreaterThanEquals = {
|
|
3
|
+
name: 'NumericGreaterThanEquals',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return policyValues.some(policyValue => {
|
|
6
|
+
return checkIfNumeric(policyValue, keyValue, (policyNumber, testNumber) => {
|
|
7
|
+
return policyNumber >= testNumber;
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
allowsVariables: false,
|
|
12
|
+
allowsWildcards: false
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=NumericGreaterThanEquals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericGreaterThanEquals.js","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericGreaterThanEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,IAAI,EAAE,0BAA0B;IAEhC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;gBACxE,OAAO,YAAY,IAAI,UAAU,CAAA;YACnC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericLessThan.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericLessThan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,eAAe,EAAE,qBAY7B,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { checkIfNumeric } from "./numeric.js";
|
|
2
|
+
export const NumericLessThan = {
|
|
3
|
+
name: 'NumericLessThan',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return policyValues.some(policyValue => {
|
|
6
|
+
return checkIfNumeric(policyValue, keyValue, (policyNumber, testNumber) => {
|
|
7
|
+
return policyNumber > testNumber;
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
allowsVariables: false,
|
|
12
|
+
allowsWildcards: false
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=NumericLessThan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericLessThan.js","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericLessThan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,IAAI,EAAE,iBAAiB;IAEvB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;gBACxE,OAAO,YAAY,GAAG,UAAU,CAAA;YAClC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericLessThanEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericLessThanEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,qBAAqB,EAAE,qBAYnC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { checkIfNumeric } from "./numeric.js";
|
|
2
|
+
export const NumericLessThanEquals = {
|
|
3
|
+
name: 'NumericLessThanEquals',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return policyValues.some(policyValue => {
|
|
6
|
+
return checkIfNumeric(policyValue, keyValue, (policyNumber, testNumber) => {
|
|
7
|
+
return policyNumber >= testNumber;
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
},
|
|
11
|
+
allowsVariables: false,
|
|
12
|
+
allowsWildcards: false
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=NumericLessThanEquals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericLessThanEquals.js","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericLessThanEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,IAAI,EAAE,uBAAuB;IAE7B,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,EAAE;gBACxE,OAAO,YAAY,IAAI,UAAU,CAAA;YACnC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericNotEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericNotEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,gBAAgB,EAAE,qBAsB9B,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isDefined, isNotDefined } from "../../util.js";
|
|
2
|
+
import { parseNumber } from "./numeric.js";
|
|
3
|
+
export const NumericNotEquals = {
|
|
4
|
+
name: 'NumericNotEquals',
|
|
5
|
+
matches: (request, keyValue, policyValues) => {
|
|
6
|
+
//How does this behave with malformed numbers
|
|
7
|
+
// return !NumericEquals.matches(request, keyValue, policyValues)
|
|
8
|
+
// const numericMatch = policyValues.some(policyValue => {
|
|
9
|
+
// return checkIfNumeric(policyValue, keyValue, (policyNumber, testNumber) => {
|
|
10
|
+
// return policyNumber == testNumber
|
|
11
|
+
// })
|
|
12
|
+
// })
|
|
13
|
+
const requestValue = parseNumber(keyValue);
|
|
14
|
+
if (isNotDefined(requestValue)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
const policyNumbers = policyValues.map(value => parseNumber(value)).filter(value => isDefined(value));
|
|
18
|
+
if (policyNumbers.length === 0) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return !policyNumbers.some(policyNumber => policyNumber == requestValue);
|
|
22
|
+
},
|
|
23
|
+
allowsVariables: false,
|
|
24
|
+
allowsWildcards: false
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=NumericNotEquals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericNotEquals.js","sourceRoot":"","sources":["../../../../src/condition/numeric/NumericNotEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,6CAA6C;QAC7C,iEAAiE;QACjE,2DAA2D;QAC3D,iFAAiF;QACjF,wCAAwC;QACxC,OAAO;QACP,KAAK;QACL,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAG,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACrG,IAAG,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,IAAI,YAAY,CAAC,CAAA;IAC1E,CAAC;IACD,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a string to a number, returns undefined if the string is not a number
|
|
3
|
+
*
|
|
4
|
+
* @param value the string to parse
|
|
5
|
+
* @returns the number or undefined
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseNumber(value: string): number | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Test two values to see if they are numbers, if they are, run the check function
|
|
10
|
+
*
|
|
11
|
+
* @param policyValue
|
|
12
|
+
* @param testValue
|
|
13
|
+
* @param check
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkIfNumeric(policyValue: string, testValue: string, check: (policyValue: number, testValue: number) => boolean): boolean;
|
|
17
|
+
//# sourceMappingURL=numeric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../../../src/condition/numeric/numeric.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAY7D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAO1I"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { isNotDefined } from "../../util.js";
|
|
2
|
+
/**
|
|
3
|
+
* Parse a string to a number, returns undefined if the string is not a number
|
|
4
|
+
*
|
|
5
|
+
* @param value the string to parse
|
|
6
|
+
* @returns the number or undefined
|
|
7
|
+
*/
|
|
8
|
+
export function parseNumber(value) {
|
|
9
|
+
let number = undefined;
|
|
10
|
+
if (value.includes('.')) {
|
|
11
|
+
number = parseFloat(value);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
number = parseInt(value, 10);
|
|
15
|
+
}
|
|
16
|
+
if (isNotDefined(number) || isNaN(number)) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Test two values to see if they are numbers, if they are, run the check function
|
|
23
|
+
*
|
|
24
|
+
* @param policyValue
|
|
25
|
+
* @param testValue
|
|
26
|
+
* @param check
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
export function checkIfNumeric(policyValue, testValue, check) {
|
|
30
|
+
const policyNumber = parseNumber(policyValue);
|
|
31
|
+
const testNumber = parseNumber(testValue);
|
|
32
|
+
if (isNotDefined(policyNumber) || isNotDefined(testNumber)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
return check(policyNumber, testNumber);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=numeric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric.js","sourceRoot":"","sources":["../../../../src/condition/numeric/numeric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,MAAM,GAAuB,SAAS,CAAA;IAC1C,IAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9B,CAAC;IACD,IAAG,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,SAAiB,EAAE,KAA0D;IAC/H,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACzC,IAAG,YAAY,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/string/StringEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAO,MAAM,YAAY,EAAE,qBAQ1B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringEquals.js","sourceRoot":"","sources":["../../../../src/condition/string/StringEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAC9G,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringEqualsIgnoreCase.d.ts","sourceRoot":"","sources":["../../../../src/condition/string/StringEqualsIgnoreCase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAO,MAAM,sBAAsB,EAAE,qBAWpC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { convertIamStringToRegex } from "../../util.js";
|
|
2
|
+
export const StringEqualsIgnoreCase = {
|
|
3
|
+
name: 'StringEqualsIgnoreCase',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
const patterns = policyValues.map(value => {
|
|
6
|
+
const pattern = convertIamStringToRegex(value, request, { replaceWildcards: false });
|
|
7
|
+
return new RegExp(pattern, 'i');
|
|
8
|
+
});
|
|
9
|
+
return patterns.some(pattern => pattern.test(keyValue));
|
|
10
|
+
},
|
|
11
|
+
allowsVariables: true,
|
|
12
|
+
allowsWildcards: false
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=StringEqualsIgnoreCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringEqualsIgnoreCase.js","sourceRoot":"","sources":["../../../../src/condition/string/StringEqualsIgnoreCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACxC,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAA;YAClF,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringLike.d.ts","sourceRoot":"","sources":["../../../../src/condition/string/StringLike.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAO,MAAM,UAAU,EAAE,qBAQxB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { convertIamStringToRegex } from "../../util.js";
|
|
2
|
+
export const StringLike = {
|
|
3
|
+
name: 'StringLike',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
const patterns = policyValues.map(value => convertIamStringToRegex(value, request, { replaceWildcards: true }));
|
|
6
|
+
return patterns.some(pattern => pattern.test(keyValue));
|
|
7
|
+
},
|
|
8
|
+
allowsVariables: true,
|
|
9
|
+
allowsWildcards: true
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=StringLike.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringLike.js","sourceRoot":"","sources":["../../../../src/condition/string/StringLike.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,UAAU,GAA0B;IAC/C,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,gBAAgB,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;QAC7G,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;CACtB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringNotEquals.d.ts","sourceRoot":"","sources":["../../../../src/condition/string/StringNotEquals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAO,MAAM,eAAe,EAAE,qBAQ7B,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { convertIamStringToRegex } from "../../util.js";
|
|
2
|
+
export const StringNotEquals = {
|
|
3
|
+
name: 'StringNotEquals',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
const patterns = policyValues.map(value => convertIamStringToRegex(value, request, { replaceWildcards: false }));
|
|
6
|
+
return !patterns.some(pattern => pattern.test(keyValue));
|
|
7
|
+
},
|
|
8
|
+
allowsVariables: true,
|
|
9
|
+
allowsWildcards: false
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=StringNotEquals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringNotEquals.js","sourceRoot":"","sources":["../../../../src/condition/string/StringNotEquals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC,CAAA;QAC9G,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringNotEqualsIgnoreCase.d.ts","sourceRoot":"","sources":["../../../../src/condition/string/StringNotEqualsIgnoreCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,yBAAyB,EAAE,qBAOvC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StringEqualsIgnoreCase } from "./StringEqualsIgnoreCase.js";
|
|
2
|
+
export const StringNotEqualsIgnoreCase = {
|
|
3
|
+
name: 'StringNotEqualsIgnoreCase',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return !StringEqualsIgnoreCase.matches(request, keyValue, policyValues);
|
|
6
|
+
},
|
|
7
|
+
allowsVariables: true,
|
|
8
|
+
allowsWildcards: false
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=StringNotEqualsIgnoreCase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringNotEqualsIgnoreCase.js","sourceRoot":"","sources":["../../../../src/condition/string/StringNotEqualsIgnoreCase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,MAAM,yBAAyB,GAA0B;IAC9D,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IACzE,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringNotLike.d.ts","sourceRoot":"","sources":["../../../../src/condition/string/StringNotLike.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,eAAO,MAAM,aAAa,EAAE,qBAO3B,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StringLike } from "./StringLike.js";
|
|
2
|
+
export const StringNotLike = {
|
|
3
|
+
name: 'StringNotLike',
|
|
4
|
+
matches: (request, keyValue, policyValues) => {
|
|
5
|
+
return !StringLike.matches(request, keyValue, policyValues);
|
|
6
|
+
},
|
|
7
|
+
allowsVariables: true,
|
|
8
|
+
allowsWildcards: true
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=StringNotLike.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringNotLike.js","sourceRoot":"","sources":["../../../../src/condition/string/StringNotLike.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAA0B;IAClD,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;QAC3C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC7D,CAAC;IACD,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;CACtB,CAAA"}
|