@cloud-copilot/iam-policy 0.1.8 → 0.1.10
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/actions/action.d.ts +9 -1
- package/dist/cjs/actions/action.d.ts.map +1 -1
- package/dist/cjs/actions/action.js +6 -1
- package/dist/cjs/actions/action.js.map +1 -1
- package/dist/cjs/conditions/condition.d.ts +24 -1
- package/dist/cjs/conditions/condition.d.ts.map +1 -1
- package/dist/cjs/conditions/condition.js +15 -1
- package/dist/cjs/conditions/condition.js.map +1 -1
- package/dist/cjs/policies/policy.d.ts.map +1 -1
- package/dist/cjs/policies/policy.js +6 -3
- package/dist/cjs/policies/policy.js.map +1 -1
- package/dist/cjs/resources/resource.d.ts +9 -1
- package/dist/cjs/resources/resource.d.ts.map +1 -1
- package/dist/cjs/resources/resource.js +6 -1
- package/dist/cjs/resources/resource.js.map +1 -1
- package/dist/cjs/statements/statement.d.ts +9 -1
- package/dist/cjs/statements/statement.d.ts.map +1 -1
- package/dist/cjs/statements/statement.js +35 -8
- package/dist/cjs/statements/statement.js.map +1 -1
- package/dist/esm/actions/action.d.ts +9 -1
- package/dist/esm/actions/action.d.ts.map +1 -1
- package/dist/esm/actions/action.js +5 -1
- package/dist/esm/actions/action.js.map +1 -1
- package/dist/esm/conditions/condition.d.ts +24 -1
- package/dist/esm/conditions/condition.d.ts.map +1 -1
- package/dist/esm/conditions/condition.js +14 -1
- package/dist/esm/conditions/condition.js.map +1 -1
- package/dist/esm/policies/policy.d.ts.map +1 -1
- package/dist/esm/policies/policy.js +6 -3
- package/dist/esm/policies/policy.js.map +1 -1
- package/dist/esm/resources/resource.d.ts +9 -1
- package/dist/esm/resources/resource.d.ts.map +1 -1
- package/dist/esm/resources/resource.js +5 -1
- package/dist/esm/resources/resource.js.map +1 -1
- package/dist/esm/statements/statement.d.ts +9 -1
- package/dist/esm/statements/statement.d.ts.map +1 -1
- package/dist/esm/statements/statement.js +34 -8
- package/dist/esm/statements/statement.js.map +1 -1
- package/package.json +1 -1
@@ -19,6 +19,10 @@ export interface Action {
|
|
19
19
|
* Whether the action is a service action: `"service:Action"`
|
20
20
|
*/
|
21
21
|
isServiceAction(): this is ServiceAction;
|
22
|
+
/**
|
23
|
+
* The path to the action string in the policy
|
24
|
+
*/
|
25
|
+
path(): string;
|
22
26
|
}
|
23
27
|
/**
|
24
28
|
* A wildcard action: `"*"`
|
@@ -48,7 +52,11 @@ export interface ServiceAction extends Action {
|
|
48
52
|
}
|
49
53
|
export declare class ActionImpl implements Action, WildcardAction, ServiceAction {
|
50
54
|
private readonly rawValue;
|
51
|
-
|
55
|
+
private readonly otherProps;
|
56
|
+
constructor(rawValue: string, otherProps: {
|
57
|
+
path: string;
|
58
|
+
});
|
59
|
+
path(): string;
|
52
60
|
type(): ActionType;
|
53
61
|
wildcardValue(): '*';
|
54
62
|
value(): string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,IAAI,UAAU,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,gBAAgB,IAAI,IAAI,IAAI,cAAc,CAAA;IAE1C;;OAEG;IACH,eAAe,IAAI,IAAI,IAAI,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,IAAI,UAAU,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,gBAAgB,IAAI,IAAI,IAAI,cAAc,CAAA;IAE1C;;OAEG;IACH,eAAe,IAAI,IAAI,IAAI,aAAa,CAAA;IAExC;;OAEG;IACH,IAAI,IAAI,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C;;;;OAIG;IACH,aAAa,IAAI,GAAG,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C;;;;OAIG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;CACjB;AAED,qBAAa,UAAW,YAAW,MAAM,EAAE,cAAc,EAAE,aAAa;IAEpE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAA;KACb;IAGI,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,UAAU;IAOlB,aAAa,IAAI,GAAG;IAIpB,KAAK,IAAI,MAAM;IAIf,gBAAgB,IAAI,IAAI,IAAI,cAAc;IAI1C,eAAe,IAAI,IAAI,IAAI,aAAa;IAIxC,OAAO,IAAI,MAAM;IAIjB,MAAM,IAAI,MAAM;CAGxB"}
|
@@ -4,8 +4,13 @@ exports.ActionImpl = void 0;
|
|
4
4
|
const utils_js_1 = require("../utils.js");
|
5
5
|
class ActionImpl {
|
6
6
|
rawValue;
|
7
|
-
|
7
|
+
otherProps;
|
8
|
+
constructor(rawValue, otherProps) {
|
8
9
|
this.rawValue = rawValue;
|
10
|
+
this.otherProps = otherProps;
|
11
|
+
}
|
12
|
+
path() {
|
13
|
+
return this.otherProps.path;
|
9
14
|
}
|
10
15
|
type() {
|
11
16
|
if ((0, utils_js_1.isAllWildcards)(this.rawValue)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;AA+D5C,MAAa,UAAU;IAEF;IACA;IAFnB,YACmB,QAAgB,EAChB,UAEhB;QAHgB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAE1B;IACA,CAAC;IAEG,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;IAC7B,CAAC;IAEM,IAAI;QACT,IAAI,IAAA,yBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,aAAa;QAClB,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU,CAAA;IACnC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,CAAA;IAClC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAA;IACnD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;CACF;AA1CD,gCA0CC"}
|
@@ -24,15 +24,38 @@ export interface Condition {
|
|
24
24
|
* @returns true if the condition values are an array, false otherwise.
|
25
25
|
*/
|
26
26
|
valueIsArray(): boolean;
|
27
|
+
/**
|
28
|
+
* Returns the path to the operator key in the policy.
|
29
|
+
*/
|
30
|
+
operatorKeyPath(): string;
|
31
|
+
/**
|
32
|
+
* Returns the path to the operator value in the policy.
|
33
|
+
*/
|
34
|
+
operatorValuePath(): string;
|
35
|
+
/**
|
36
|
+
* Returns the path to the condition key for the policy.
|
37
|
+
*/
|
38
|
+
keyPath(): string;
|
39
|
+
/**
|
40
|
+
* Returns the path to the condition values in the policy.
|
41
|
+
*/
|
42
|
+
valuesPath(): string;
|
27
43
|
}
|
28
44
|
export declare class ConditionImpl implements Condition {
|
29
45
|
private readonly op;
|
30
46
|
private readonly key;
|
31
47
|
private readonly values;
|
32
|
-
|
48
|
+
private readonly otherProps;
|
49
|
+
constructor(op: string, key: string, values: string | string[], otherProps: {
|
50
|
+
conditionPath: string;
|
51
|
+
});
|
33
52
|
operation(): ConditionOperation;
|
34
53
|
conditionKey(): string;
|
35
54
|
conditionValues(): string[];
|
36
55
|
valueIsArray(): boolean;
|
56
|
+
operatorKeyPath(): string;
|
57
|
+
operatorValuePath(): string;
|
58
|
+
keyPath(): string;
|
59
|
+
valuesPath(): string;
|
37
60
|
}
|
38
61
|
//# sourceMappingURL=condition.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAA;AAEpF,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,SAAS,IAAI,kBAAkB,CAAA;IAE/B;;;;OAIG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAA;IAE3B;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAA;AAEpF,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,SAAS,IAAI,kBAAkB,CAAA;IAE/B;;;;OAIG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAA;IAE3B;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAA;IAEvB;;OAEG;IACH,eAAe,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,iBAAiB,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,IAAI,MAAM,CAAA;CACrB;AAED,qBAAa,aAAc,YAAW,SAAS;IAE3C,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,UAAU,EAAE;QAC3B,aAAa,EAAE,MAAM,CAAA;KACtB;IAGI,SAAS,IAAI,kBAAkB;IAI/B,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM,EAAE;IAI3B,YAAY,IAAI,OAAO;IAIvB,eAAe,IAAI,MAAM;IAIzB,iBAAiB,IAAI,MAAM;IAI3B,OAAO,IAAI,MAAM;IAIjB,UAAU,IAAI,MAAM;CAG5B"}
|
@@ -6,10 +6,12 @@ class ConditionImpl {
|
|
6
6
|
op;
|
7
7
|
key;
|
8
8
|
values;
|
9
|
-
|
9
|
+
otherProps;
|
10
|
+
constructor(op, key, values, otherProps) {
|
10
11
|
this.op = op;
|
11
12
|
this.key = key;
|
12
13
|
this.values = values;
|
14
|
+
this.otherProps = otherProps;
|
13
15
|
}
|
14
16
|
operation() {
|
15
17
|
return new conditionOperation_js_1.ConditionOperationImpl(this.op);
|
@@ -23,6 +25,18 @@ class ConditionImpl {
|
|
23
25
|
valueIsArray() {
|
24
26
|
return Array.isArray(this.values);
|
25
27
|
}
|
28
|
+
operatorKeyPath() {
|
29
|
+
return `${this.otherProps.conditionPath}.#${this.op}`;
|
30
|
+
}
|
31
|
+
operatorValuePath() {
|
32
|
+
return `${this.otherProps.conditionPath}.${this.op}`;
|
33
|
+
}
|
34
|
+
keyPath() {
|
35
|
+
return `${this.otherProps.conditionPath}.${this.op}.#${this.key}`;
|
36
|
+
}
|
37
|
+
valuesPath() {
|
38
|
+
return `${this.otherProps.conditionPath}.${this.op}.${this.key}`;
|
39
|
+
}
|
26
40
|
}
|
27
41
|
exports.ConditionImpl = ConditionImpl;
|
28
42
|
//# sourceMappingURL=condition.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,mEAAoF;
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,mEAAoF;AAoDpF,MAAa,aAAa;IAEL;IACA;IACA;IACA;IAJnB,YACmB,EAAU,EACV,GAAW,EACX,MAAyB,EACzB,UAEhB;QALgB,OAAE,GAAF,EAAE,CAAQ;QACV,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAmB;QACzB,eAAU,GAAV,UAAU,CAE1B;IACA,CAAC;IAEG,SAAS;QACd,OAAO,IAAI,8CAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAEM,eAAe;QACpB,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;IACtE,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAEM,eAAe;QACpB,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE,EAAE,CAAA;IACvD,CAAC;IAEM,iBAAiB;QACtB,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,EAAE,CAAA;IACtD,CAAC;IAEM,OAAO;QACZ,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,CAAA;IACnE,CAAC;IAEM,UAAU;QACf,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;IAClE,CAAC;CACF;AAzCD,sCAyCC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AAErE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAE7B;;OAEG;IACH,EAAE,IAAI,MAAM,GAAG,SAAS,CAAA;IAExB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAA;CAC5B;AAED,qBAAa,UAAW,YAAW,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,GAAG;IAEvC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,EAAE,IAAI,MAAM,GAAG,SAAS;IAIxB,UAAU,IAAI,SAAS,EAAE;IAIhC,OAAO,CAAC,aAAa;
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AAErE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAE7B;;OAEG;IACH,EAAE,IAAI,MAAM,GAAG,SAAS,CAAA;IAExB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAA;CAC5B;AAED,qBAAa,UAAW,YAAW,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,GAAG;IAEvC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,EAAE,IAAI,MAAM,GAAG,SAAS;IAIxB,UAAU,IAAI,SAAS,EAAE;IAIhC,OAAO,CAAC,aAAa;IASd,gBAAgB,IAAI,OAAO;CAGnC"}
|
@@ -17,9 +17,12 @@ class PolicyImpl {
|
|
17
17
|
return this.newStatements();
|
18
18
|
}
|
19
19
|
newStatements() {
|
20
|
-
|
21
|
-
.
|
22
|
-
|
20
|
+
if (!this.statementIsArray()) {
|
21
|
+
return [new statement_js_1.StatementImpl(this.policyObject.Statement, 1, { path: 'Statement' })];
|
22
|
+
}
|
23
|
+
return [this.policyObject.Statement].flat().map((statement, index) => {
|
24
|
+
return new statement_js_1.StatementImpl(statement, index + 1, { path: `Statement[${index}]` });
|
25
|
+
});
|
23
26
|
}
|
24
27
|
statementIsArray() {
|
25
28
|
return Array.isArray(this.policyObject.Statement);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":";;;AAAA,6DAAqE;AAwBrE,MAAa,UAAU;IACQ;IAA7B,YAA6B,YAAiB;QAAjB,iBAAY,GAAZ,YAAY,CAAK;IAAG,CAAC;IAE3C,OAAO;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAA;IAClC,CAAC;IAEM,EAAE;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAA;IAC7B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEO,aAAa;QACnB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":";;;AAAA,6DAAqE;AAwBrE,MAAa,UAAU;IACQ;IAA7B,YAA6B,YAAiB;QAAjB,iBAAY,GAAZ,YAAY,CAAK;IAAG,CAAC;IAE3C,OAAO;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAA;IAClC,CAAC;IAEM,EAAE;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAA;IAC7B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,4BAAa,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,KAAK,EAAE,EAAE;YACxE,OAAO,IAAI,4BAAa,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC,CAAA;QACjF,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,gBAAgB;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;CACF;AA3BD,gCA2BC"}
|
@@ -14,6 +14,10 @@ export interface Resource {
|
|
14
14
|
* Whether the resource is an ARN resource
|
15
15
|
*/
|
16
16
|
isArnResource(): this is ArnResource;
|
17
|
+
/**
|
18
|
+
* The path to the resource in the policy document
|
19
|
+
*/
|
20
|
+
path(): string;
|
17
21
|
}
|
18
22
|
export interface ArnResource extends Resource {
|
19
23
|
/**
|
@@ -39,7 +43,11 @@ export interface ArnResource extends Resource {
|
|
39
43
|
}
|
40
44
|
export declare class ResourceImpl implements Resource, ArnResource {
|
41
45
|
private readonly rawValue;
|
42
|
-
|
46
|
+
private readonly otherProps;
|
47
|
+
constructor(rawValue: string, otherProps: {
|
48
|
+
path: string;
|
49
|
+
});
|
50
|
+
path(): string;
|
43
51
|
partition(): string;
|
44
52
|
service(): string;
|
45
53
|
region(): string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;OAEG;IACH,aAAa,IAAI,IAAI,IAAI,WAAW,CAAA;
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;OAEG;IACH,aAAa,IAAI,IAAI,IAAI,WAAW,CAAA;IAEpC;;OAEG;IACH,IAAI,IAAI,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C;;OAEG;IACH,SAAS,IAAI,MAAM,CAAA;IAEnB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAA;CACnB;AAED,qBAAa,YAAa,YAAW,QAAQ,EAAE,WAAW;IAEtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAA;KACb;IAGH,IAAI,IAAI,MAAM;IAId,SAAS,IAAI,MAAM;IASnB,OAAO,IAAI,MAAM;IASjB,MAAM,IAAI,MAAM;IAShB,OAAO,IAAI,MAAM;IASjB,QAAQ,IAAI,MAAM;IASlB,KAAK,IAAI,MAAM;IAIf,cAAc,IAAI,OAAO;IAIzB,aAAa,IAAI,IAAI,IAAI,WAAW;CAGrC"}
|
@@ -4,8 +4,13 @@ exports.ResourceImpl = void 0;
|
|
4
4
|
const utils_js_1 = require("../utils.js");
|
5
5
|
class ResourceImpl {
|
6
6
|
rawValue;
|
7
|
-
|
7
|
+
otherProps;
|
8
|
+
constructor(rawValue, otherProps) {
|
8
9
|
this.rawValue = rawValue;
|
10
|
+
this.otherProps = otherProps;
|
11
|
+
}
|
12
|
+
path() {
|
13
|
+
return this.otherProps.path;
|
9
14
|
}
|
10
15
|
partition() {
|
11
16
|
if (!this.isArnResource()) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;AAsD5C,MAAa,YAAY;IAEJ;IACA;IAFnB,YACmB,QAAgB,EAChB,UAEhB;QAHgB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAE1B;IACA,CAAC;IAEJ,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;IAC7B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,IAAA,yBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,aAAa;QACX,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;IAC/B,CAAC;CACF;AApED,oCAoEC"}
|
@@ -54,6 +54,10 @@ export interface Statement {
|
|
54
54
|
* Does the statement have a NotResource
|
55
55
|
*/
|
56
56
|
isNotResourceStatement(): this is NotResourceStatement;
|
57
|
+
/**
|
58
|
+
* The path to the statement in the policy
|
59
|
+
*/
|
60
|
+
path(): string;
|
57
61
|
}
|
58
62
|
/**
|
59
63
|
* Represents a statement in an IAM policy that has Action
|
@@ -161,8 +165,12 @@ export interface NotPrincipalStatement extends Statement {
|
|
161
165
|
export declare class StatementImpl implements Statement, ActionStatement, NotActionStatement, ResourceStatement, NotResourceStatement, PrincipalStatement {
|
162
166
|
private readonly statementObject;
|
163
167
|
private readonly _index;
|
164
|
-
|
168
|
+
private readonly otherProps;
|
169
|
+
constructor(statementObject: any, _index: number, otherProps: {
|
170
|
+
path: string;
|
171
|
+
});
|
165
172
|
index(): number;
|
173
|
+
path(): string;
|
166
174
|
sid(): string | undefined;
|
167
175
|
effect(): string;
|
168
176
|
isAllow(): boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,SAAS,EAAgC,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAgB,MAAM,0BAA0B,CAAA;AAOjE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,GAAG,IAAI,MAAM,GAAG,SAAS,CAAA;IAEzB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,MAAM,IAAI,OAAO,CAAA;IAEjB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAA;IAElD;;OAEG;IACH,uBAAuB,IAAI,IAAI,IAAI,qBAAqB,CAAA;IAExD;;OAEG;IACH,iBAAiB,IAAI,IAAI,IAAI,eAAe,CAAA;IAE5C;;OAEG;IACH,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAA;IAElD;;OAEG;IACH,mBAAmB,IAAI,IAAI,IAAI,iBAAiB,CAAA;IAEhD;;OAEG;IACH,sBAAsB,IAAI,IAAI,IAAI,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"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"}
|
@@ -11,13 +11,18 @@ const resource_js_1 = require("../resources/resource.js");
|
|
11
11
|
class StatementImpl {
|
12
12
|
statementObject;
|
13
13
|
_index;
|
14
|
-
|
14
|
+
otherProps;
|
15
|
+
constructor(statementObject, _index, otherProps) {
|
15
16
|
this.statementObject = statementObject;
|
16
17
|
this._index = _index;
|
18
|
+
this.otherProps = otherProps;
|
17
19
|
}
|
18
20
|
index() {
|
19
21
|
return this._index;
|
20
22
|
}
|
23
|
+
path() {
|
24
|
+
return this.otherProps.path;
|
25
|
+
}
|
21
26
|
sid() {
|
22
27
|
return this.statementObject.Sid;
|
23
28
|
}
|
@@ -110,7 +115,12 @@ class StatementImpl {
|
|
110
115
|
return this.createNewActions();
|
111
116
|
}
|
112
117
|
createNewActions() {
|
113
|
-
|
118
|
+
if (!this.actionIsArray()) {
|
119
|
+
return [new action_js_1.ActionImpl(this.statementObject.Action, { path: `${this.path()}.Action` })];
|
120
|
+
}
|
121
|
+
return [this.statementObject.Action].flat().map((action, index) => {
|
122
|
+
return new action_js_1.ActionImpl(action, { path: `${this.path()}.Action[${index}]` });
|
123
|
+
});
|
114
124
|
}
|
115
125
|
actionIsArray() {
|
116
126
|
return Array.isArray(this.statementObject.Action);
|
@@ -122,7 +132,12 @@ class StatementImpl {
|
|
122
132
|
return this.createNewNotActions();
|
123
133
|
}
|
124
134
|
createNewNotActions() {
|
125
|
-
|
135
|
+
if (!this.notActionIsArray()) {
|
136
|
+
return [new action_js_1.ActionImpl(this.statementObject.NotAction, { path: `${this.path()}.NotAction` })];
|
137
|
+
}
|
138
|
+
return [this.statementObject.NotAction].flat().map((action, index) => {
|
139
|
+
return new action_js_1.ActionImpl(action, { path: `${this.path()}.NotAction[${index}]` });
|
140
|
+
});
|
126
141
|
}
|
127
142
|
notActionIsArray() {
|
128
143
|
return Array.isArray(this.statementObject.NotAction);
|
@@ -140,7 +155,12 @@ class StatementImpl {
|
|
140
155
|
return this.createNewResources();
|
141
156
|
}
|
142
157
|
createNewResources() {
|
143
|
-
|
158
|
+
if (!this.resourceIsArray()) {
|
159
|
+
return [new resource_js_1.ResourceImpl(this.statementObject.Resource, { path: `${this.path()}.Resource` })];
|
160
|
+
}
|
161
|
+
return [this.statementObject.Resource].flat().map((resource, index) => {
|
162
|
+
return new resource_js_1.ResourceImpl(resource, { path: `${this.path()}.Resource[${index}]` });
|
163
|
+
});
|
144
164
|
}
|
145
165
|
hasSingleResourceWildcard() {
|
146
166
|
if (!this.isResourceStatement()) {
|
@@ -158,9 +178,14 @@ class StatementImpl {
|
|
158
178
|
return this.createNewNotResources();
|
159
179
|
}
|
160
180
|
createNewNotResources() {
|
161
|
-
|
162
|
-
|
163
|
-
|
181
|
+
if (!this.notResourceIsArray()) {
|
182
|
+
return [
|
183
|
+
new resource_js_1.ResourceImpl(this.statementObject.NotResource, { path: `${this.path()}.NotResource` })
|
184
|
+
];
|
185
|
+
}
|
186
|
+
return [this.statementObject.NotResource].flat().map((resource, index) => {
|
187
|
+
return new resource_js_1.ResourceImpl(resource, { path: `${this.path()}.NotResource[${index}]` });
|
188
|
+
});
|
164
189
|
}
|
165
190
|
notResourceIsArray() {
|
166
191
|
return Array.isArray(this.statementObject.NotResource);
|
@@ -181,7 +206,9 @@ class StatementImpl {
|
|
181
206
|
return Object.entries(this.statementObject.Condition)
|
182
207
|
.map(([opKey, opValue]) => {
|
183
208
|
return Object.entries(opValue).map(([condKey, condValue]) => {
|
184
|
-
return new condition_js_1.ConditionImpl(opKey, condKey, condValue
|
209
|
+
return new condition_js_1.ConditionImpl(opKey, condKey, condValue, {
|
210
|
+
conditionPath: `${this.path()}.Condition`
|
211
|
+
});
|
185
212
|
});
|
186
213
|
})
|
187
214
|
.flat();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":";;;AAAA,oDAAyD;AACzD,6DAAqE;AACrE,6DAAoF;AACpF,0DAAiE;
|
1
|
+
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"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"}
|
@@ -19,6 +19,10 @@ export interface Action {
|
|
19
19
|
* Whether the action is a service action: `"service:Action"`
|
20
20
|
*/
|
21
21
|
isServiceAction(): this is ServiceAction;
|
22
|
+
/**
|
23
|
+
* The path to the action string in the policy
|
24
|
+
*/
|
25
|
+
path(): string;
|
22
26
|
}
|
23
27
|
/**
|
24
28
|
* A wildcard action: `"*"`
|
@@ -48,7 +52,11 @@ export interface ServiceAction extends Action {
|
|
48
52
|
}
|
49
53
|
export declare class ActionImpl implements Action, WildcardAction, ServiceAction {
|
50
54
|
private readonly rawValue;
|
51
|
-
|
55
|
+
private readonly otherProps;
|
56
|
+
constructor(rawValue: string, otherProps: {
|
57
|
+
path: string;
|
58
|
+
});
|
59
|
+
path(): string;
|
52
60
|
type(): ActionType;
|
53
61
|
wildcardValue(): '*';
|
54
62
|
value(): string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,IAAI,UAAU,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,gBAAgB,IAAI,IAAI,IAAI,cAAc,CAAA;IAE1C;;OAEG;IACH,eAAe,IAAI,IAAI,IAAI,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,IAAI,IAAI,UAAU,CAAA;IAElB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,gBAAgB,IAAI,IAAI,IAAI,cAAc,CAAA;IAE1C;;OAEG;IACH,eAAe,IAAI,IAAI,IAAI,aAAa,CAAA;IAExC;;OAEG;IACH,IAAI,IAAI,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C;;;;OAIG;IACH,aAAa,IAAI,GAAG,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C;;;;OAIG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;CACjB;AAED,qBAAa,UAAW,YAAW,MAAM,EAAE,cAAc,EAAE,aAAa;IAEpE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAA;KACb;IAGI,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,UAAU;IAOlB,aAAa,IAAI,GAAG;IAIpB,KAAK,IAAI,MAAM;IAIf,gBAAgB,IAAI,IAAI,IAAI,cAAc;IAI1C,eAAe,IAAI,IAAI,IAAI,aAAa;IAIxC,OAAO,IAAI,MAAM;IAIjB,MAAM,IAAI,MAAM;CAGxB"}
|
@@ -1,7 +1,11 @@
|
|
1
1
|
import { isAllWildcards } from '../utils.js';
|
2
2
|
export class ActionImpl {
|
3
|
-
constructor(rawValue) {
|
3
|
+
constructor(rawValue, otherProps) {
|
4
4
|
this.rawValue = rawValue;
|
5
|
+
this.otherProps = otherProps;
|
6
|
+
}
|
7
|
+
path() {
|
8
|
+
return this.otherProps.path;
|
5
9
|
}
|
6
10
|
type() {
|
7
11
|
if (isAllWildcards(this.rawValue)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/actions/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA+D5C,MAAM,OAAO,UAAU;IACrB,YACmB,QAAgB,EAChB,UAEhB;QAHgB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAE1B;IACA,CAAC;IAEG,IAAI;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;IAC7B,CAAC;IAEM,IAAI;QACT,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEM,aAAa;QAClB,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,UAAU,CAAA;IACnC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,SAAS,CAAA;IAClC,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAA;IACnD,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;CACF"}
|
@@ -24,15 +24,38 @@ export interface Condition {
|
|
24
24
|
* @returns true if the condition values are an array, false otherwise.
|
25
25
|
*/
|
26
26
|
valueIsArray(): boolean;
|
27
|
+
/**
|
28
|
+
* Returns the path to the operator key in the policy.
|
29
|
+
*/
|
30
|
+
operatorKeyPath(): string;
|
31
|
+
/**
|
32
|
+
* Returns the path to the operator value in the policy.
|
33
|
+
*/
|
34
|
+
operatorValuePath(): string;
|
35
|
+
/**
|
36
|
+
* Returns the path to the condition key for the policy.
|
37
|
+
*/
|
38
|
+
keyPath(): string;
|
39
|
+
/**
|
40
|
+
* Returns the path to the condition values in the policy.
|
41
|
+
*/
|
42
|
+
valuesPath(): string;
|
27
43
|
}
|
28
44
|
export declare class ConditionImpl implements Condition {
|
29
45
|
private readonly op;
|
30
46
|
private readonly key;
|
31
47
|
private readonly values;
|
32
|
-
|
48
|
+
private readonly otherProps;
|
49
|
+
constructor(op: string, key: string, values: string | string[], otherProps: {
|
50
|
+
conditionPath: string;
|
51
|
+
});
|
33
52
|
operation(): ConditionOperation;
|
34
53
|
conditionKey(): string;
|
35
54
|
conditionValues(): string[];
|
36
55
|
valueIsArray(): boolean;
|
56
|
+
operatorKeyPath(): string;
|
57
|
+
operatorValuePath(): string;
|
58
|
+
keyPath(): string;
|
59
|
+
valuesPath(): string;
|
37
60
|
}
|
38
61
|
//# sourceMappingURL=condition.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAA;AAEpF,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,SAAS,IAAI,kBAAkB,CAAA;IAE/B;;;;OAIG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAA;IAE3B;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAA;AAEpF,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,SAAS,IAAI,kBAAkB,CAAA;IAE/B;;;;OAIG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAA;IAE3B;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAA;IAEvB;;OAEG;IACH,eAAe,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,iBAAiB,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,IAAI,MAAM,CAAA;CACrB;AAED,qBAAa,aAAc,YAAW,SAAS;IAE3C,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,UAAU,EAAE;QAC3B,aAAa,EAAE,MAAM,CAAA;KACtB;IAGI,SAAS,IAAI,kBAAkB;IAI/B,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM,EAAE;IAI3B,YAAY,IAAI,OAAO;IAIvB,eAAe,IAAI,MAAM;IAIzB,iBAAiB,IAAI,MAAM;IAI3B,OAAO,IAAI,MAAM;IAIjB,UAAU,IAAI,MAAM;CAG5B"}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import { ConditionOperationImpl } from './conditionOperation.js';
|
2
2
|
export class ConditionImpl {
|
3
|
-
constructor(op, key, values) {
|
3
|
+
constructor(op, key, values, otherProps) {
|
4
4
|
this.op = op;
|
5
5
|
this.key = key;
|
6
6
|
this.values = values;
|
7
|
+
this.otherProps = otherProps;
|
7
8
|
}
|
8
9
|
operation() {
|
9
10
|
return new ConditionOperationImpl(this.op);
|
@@ -17,5 +18,17 @@ export class ConditionImpl {
|
|
17
18
|
valueIsArray() {
|
18
19
|
return Array.isArray(this.values);
|
19
20
|
}
|
21
|
+
operatorKeyPath() {
|
22
|
+
return `${this.otherProps.conditionPath}.#${this.op}`;
|
23
|
+
}
|
24
|
+
operatorValuePath() {
|
25
|
+
return `${this.otherProps.conditionPath}.${this.op}`;
|
26
|
+
}
|
27
|
+
keyPath() {
|
28
|
+
return `${this.otherProps.conditionPath}.${this.op}.#${this.key}`;
|
29
|
+
}
|
30
|
+
valuesPath() {
|
31
|
+
return `${this.otherProps.conditionPath}.${this.op}.${this.key}`;
|
32
|
+
}
|
20
33
|
}
|
21
34
|
//# sourceMappingURL=condition.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/conditions/condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAoDpF,MAAM,OAAO,aAAa;IACxB,YACmB,EAAU,EACV,GAAW,EACX,MAAyB,EACzB,UAEhB;QALgB,OAAE,GAAF,EAAE,CAAQ;QACV,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAmB;QACzB,eAAU,GAAV,UAAU,CAE1B;IACA,CAAC;IAEG,SAAS;QACd,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAEM,eAAe;QACpB,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;IACtE,CAAC;IAEM,YAAY;QACjB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAEM,eAAe;QACpB,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,KAAK,IAAI,CAAC,EAAE,EAAE,CAAA;IACvD,CAAC;IAEM,iBAAiB;QACtB,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,EAAE,CAAA;IACtD,CAAC;IAEM,OAAO;QACZ,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,CAAA;IACnE,CAAC;IAEM,UAAU;QACf,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;IAClE,CAAC;CACF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AAErE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAE7B;;OAEG;IACH,EAAE,IAAI,MAAM,GAAG,SAAS,CAAA;IAExB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAA;CAC5B;AAED,qBAAa,UAAW,YAAW,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,GAAG;IAEvC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,EAAE,IAAI,MAAM,GAAG,SAAS;IAIxB,UAAU,IAAI,SAAS,EAAE;IAIhC,OAAO,CAAC,aAAa;
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AAErE,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAE7B;;OAEG;IACH,EAAE,IAAI,MAAM,GAAG,SAAS,CAAA;IAExB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAA;CAC5B;AAED,qBAAa,UAAW,YAAW,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,GAAG;IAEvC,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,EAAE,IAAI,MAAM,GAAG,SAAS;IAIxB,UAAU,IAAI,SAAS,EAAE;IAIhC,OAAO,CAAC,aAAa;IASd,gBAAgB,IAAI,OAAO;CAGnC"}
|
@@ -13,9 +13,12 @@ export class PolicyImpl {
|
|
13
13
|
return this.newStatements();
|
14
14
|
}
|
15
15
|
newStatements() {
|
16
|
-
|
17
|
-
.
|
18
|
-
|
16
|
+
if (!this.statementIsArray()) {
|
17
|
+
return [new StatementImpl(this.policyObject.Statement, 1, { path: 'Statement' })];
|
18
|
+
}
|
19
|
+
return [this.policyObject.Statement].flat().map((statement, index) => {
|
20
|
+
return new StatementImpl(statement, index + 1, { path: `Statement[${index}]` });
|
21
|
+
});
|
19
22
|
}
|
20
23
|
statementIsArray() {
|
21
24
|
return Array.isArray(this.policyObject.Statement);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAwBrE,MAAM,OAAO,UAAU;IACrB,YAA6B,YAAiB;QAAjB,iBAAY,GAAZ,YAAY,CAAK;IAAG,CAAC;IAE3C,OAAO;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAA;IAClC,CAAC;IAEM,EAAE;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAA;IAC7B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEO,aAAa;QACnB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAwBrE,MAAM,OAAO,UAAU;IACrB,YAA6B,YAAiB;QAAjB,iBAAY,GAAZ,YAAY,CAAK;IAAG,CAAC;IAE3C,OAAO;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAA;IAClC,CAAC;IAEM,EAAE;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAA;IAC7B,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,KAAK,EAAE,EAAE;YACxE,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,KAAK,GAAG,EAAE,CAAC,CAAA;QACjF,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,gBAAgB;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;CACF"}
|
@@ -14,6 +14,10 @@ export interface Resource {
|
|
14
14
|
* Whether the resource is an ARN resource
|
15
15
|
*/
|
16
16
|
isArnResource(): this is ArnResource;
|
17
|
+
/**
|
18
|
+
* The path to the resource in the policy document
|
19
|
+
*/
|
20
|
+
path(): string;
|
17
21
|
}
|
18
22
|
export interface ArnResource extends Resource {
|
19
23
|
/**
|
@@ -39,7 +43,11 @@ export interface ArnResource extends Resource {
|
|
39
43
|
}
|
40
44
|
export declare class ResourceImpl implements Resource, ArnResource {
|
41
45
|
private readonly rawValue;
|
42
|
-
|
46
|
+
private readonly otherProps;
|
47
|
+
constructor(rawValue: string, otherProps: {
|
48
|
+
path: string;
|
49
|
+
});
|
50
|
+
path(): string;
|
43
51
|
partition(): string;
|
44
52
|
service(): string;
|
45
53
|
region(): string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;OAEG;IACH,aAAa,IAAI,IAAI,IAAI,WAAW,CAAA;
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;OAEG;IACH,aAAa,IAAI,IAAI,IAAI,WAAW,CAAA;IAEpC;;OAEG;IACH,IAAI,IAAI,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C;;OAEG;IACH,SAAS,IAAI,MAAM,CAAA;IAEnB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAA;CACnB;AAED,qBAAa,YAAa,YAAW,QAAQ,EAAE,WAAW;IAEtD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAA;KACb;IAGH,IAAI,IAAI,MAAM;IAId,SAAS,IAAI,MAAM;IASnB,OAAO,IAAI,MAAM;IASjB,MAAM,IAAI,MAAM;IAShB,OAAO,IAAI,MAAM;IASjB,QAAQ,IAAI,MAAM;IASlB,KAAK,IAAI,MAAM;IAIf,cAAc,IAAI,OAAO;IAIzB,aAAa,IAAI,IAAI,IAAI,WAAW;CAGrC"}
|
@@ -1,7 +1,11 @@
|
|
1
1
|
import { isAllWildcards } from '../utils.js';
|
2
2
|
export class ResourceImpl {
|
3
|
-
constructor(rawValue) {
|
3
|
+
constructor(rawValue, otherProps) {
|
4
4
|
this.rawValue = rawValue;
|
5
|
+
this.otherProps = otherProps;
|
6
|
+
}
|
7
|
+
path() {
|
8
|
+
return this.otherProps.path;
|
5
9
|
}
|
6
10
|
partition() {
|
7
11
|
if (!this.isArnResource()) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/resources/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAsD5C,MAAM,OAAO,YAAY;IACvB,YACmB,QAAgB,EAChB,UAEhB;QAHgB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,eAAU,GAAV,UAAU,CAE1B;IACA,CAAC;IAEJ,IAAI;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;IAC7B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,aAAa;QACX,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA;IAC/B,CAAC;CACF"}
|
@@ -54,6 +54,10 @@ export interface Statement {
|
|
54
54
|
* Does the statement have a NotResource
|
55
55
|
*/
|
56
56
|
isNotResourceStatement(): this is NotResourceStatement;
|
57
|
+
/**
|
58
|
+
* The path to the statement in the policy
|
59
|
+
*/
|
60
|
+
path(): string;
|
57
61
|
}
|
58
62
|
/**
|
59
63
|
* Represents a statement in an IAM policy that has Action
|
@@ -161,8 +165,12 @@ export interface NotPrincipalStatement extends Statement {
|
|
161
165
|
export declare class StatementImpl implements Statement, ActionStatement, NotActionStatement, ResourceStatement, NotResourceStatement, PrincipalStatement {
|
162
166
|
private readonly statementObject;
|
163
167
|
private readonly _index;
|
164
|
-
|
168
|
+
private readonly otherProps;
|
169
|
+
constructor(statementObject: any, _index: number, otherProps: {
|
170
|
+
path: string;
|
171
|
+
});
|
165
172
|
index(): number;
|
173
|
+
path(): string;
|
166
174
|
sid(): string | undefined;
|
167
175
|
effect(): string;
|
168
176
|
isAllow(): boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAiB,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,SAAS,EAAgC,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,QAAQ,EAAgB,MAAM,0BAA0B,CAAA;AAOjE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,GAAG,IAAI,MAAM,GAAG,SAAS,CAAA;IAEzB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAA;IAElB;;OAEG;IACH,MAAM,IAAI,OAAO,CAAA;IAEjB;;OAEG;IACH,UAAU,IAAI,SAAS,EAAE,CAAA;IAEzB;;OAEG;IACH,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAA;IAElD;;OAEG;IACH,uBAAuB,IAAI,IAAI,IAAI,qBAAqB,CAAA;IAExD;;OAEG;IACH,iBAAiB,IAAI,IAAI,IAAI,eAAe,CAAA;IAE5C;;OAEG;IACH,oBAAoB,IAAI,IAAI,IAAI,kBAAkB,CAAA;IAElD;;OAEG;IACH,mBAAmB,IAAI,IAAI,IAAI,iBAAiB,CAAA;IAEhD;;OAEG;IACH,sBAAsB,IAAI,IAAI,IAAI,oBAAoB,CAAA;
|
1
|
+
{"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"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"}
|
@@ -6,13 +6,17 @@ import { ResourceImpl } from '../resources/resource.js';
|
|
6
6
|
* Implementation of the Statement interface and all its sub-interfaces
|
7
7
|
*/
|
8
8
|
export class StatementImpl {
|
9
|
-
constructor(statementObject, _index) {
|
9
|
+
constructor(statementObject, _index, otherProps) {
|
10
10
|
this.statementObject = statementObject;
|
11
11
|
this._index = _index;
|
12
|
+
this.otherProps = otherProps;
|
12
13
|
}
|
13
14
|
index() {
|
14
15
|
return this._index;
|
15
16
|
}
|
17
|
+
path() {
|
18
|
+
return this.otherProps.path;
|
19
|
+
}
|
16
20
|
sid() {
|
17
21
|
return this.statementObject.Sid;
|
18
22
|
}
|
@@ -105,7 +109,12 @@ export class StatementImpl {
|
|
105
109
|
return this.createNewActions();
|
106
110
|
}
|
107
111
|
createNewActions() {
|
108
|
-
|
112
|
+
if (!this.actionIsArray()) {
|
113
|
+
return [new ActionImpl(this.statementObject.Action, { path: `${this.path()}.Action` })];
|
114
|
+
}
|
115
|
+
return [this.statementObject.Action].flat().map((action, index) => {
|
116
|
+
return new ActionImpl(action, { path: `${this.path()}.Action[${index}]` });
|
117
|
+
});
|
109
118
|
}
|
110
119
|
actionIsArray() {
|
111
120
|
return Array.isArray(this.statementObject.Action);
|
@@ -117,7 +126,12 @@ export class StatementImpl {
|
|
117
126
|
return this.createNewNotActions();
|
118
127
|
}
|
119
128
|
createNewNotActions() {
|
120
|
-
|
129
|
+
if (!this.notActionIsArray()) {
|
130
|
+
return [new ActionImpl(this.statementObject.NotAction, { path: `${this.path()}.NotAction` })];
|
131
|
+
}
|
132
|
+
return [this.statementObject.NotAction].flat().map((action, index) => {
|
133
|
+
return new ActionImpl(action, { path: `${this.path()}.NotAction[${index}]` });
|
134
|
+
});
|
121
135
|
}
|
122
136
|
notActionIsArray() {
|
123
137
|
return Array.isArray(this.statementObject.NotAction);
|
@@ -135,7 +149,12 @@ export class StatementImpl {
|
|
135
149
|
return this.createNewResources();
|
136
150
|
}
|
137
151
|
createNewResources() {
|
138
|
-
|
152
|
+
if (!this.resourceIsArray()) {
|
153
|
+
return [new ResourceImpl(this.statementObject.Resource, { path: `${this.path()}.Resource` })];
|
154
|
+
}
|
155
|
+
return [this.statementObject.Resource].flat().map((resource, index) => {
|
156
|
+
return new ResourceImpl(resource, { path: `${this.path()}.Resource[${index}]` });
|
157
|
+
});
|
139
158
|
}
|
140
159
|
hasSingleResourceWildcard() {
|
141
160
|
if (!this.isResourceStatement()) {
|
@@ -153,9 +172,14 @@ export class StatementImpl {
|
|
153
172
|
return this.createNewNotResources();
|
154
173
|
}
|
155
174
|
createNewNotResources() {
|
156
|
-
|
157
|
-
|
158
|
-
|
175
|
+
if (!this.notResourceIsArray()) {
|
176
|
+
return [
|
177
|
+
new ResourceImpl(this.statementObject.NotResource, { path: `${this.path()}.NotResource` })
|
178
|
+
];
|
179
|
+
}
|
180
|
+
return [this.statementObject.NotResource].flat().map((resource, index) => {
|
181
|
+
return new ResourceImpl(resource, { path: `${this.path()}.NotResource[${index}]` });
|
182
|
+
});
|
159
183
|
}
|
160
184
|
notResourceIsArray() {
|
161
185
|
return Array.isArray(this.statementObject.NotResource);
|
@@ -176,7 +200,9 @@ export class StatementImpl {
|
|
176
200
|
return Object.entries(this.statementObject.Condition)
|
177
201
|
.map(([opKey, opValue]) => {
|
178
202
|
return Object.entries(opValue).map(([condKey, condValue]) => {
|
179
|
-
return new ConditionImpl(opKey, condKey, condValue
|
203
|
+
return new ConditionImpl(opKey, condKey, condValue, {
|
204
|
+
conditionPath: `${this.path()}.Condition`
|
205
|
+
});
|
180
206
|
});
|
181
207
|
})
|
182
208
|
.flat();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAa,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAa,aAAa,EAAiB,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAY,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
1
|
+
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../src/statements/statement.ts"],"names":[],"mappings":"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"}
|