@cloud-copilot/iam-policy 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +75 -7
  2. package/dist/cjs/actions/action.d.ts +2 -2
  3. package/dist/cjs/actions/action.d.ts.map +1 -1
  4. package/dist/cjs/index.d.ts +1 -0
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +3 -1
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/validate/validate.d.ts +6 -0
  9. package/dist/cjs/validate/validate.d.ts.map +1 -0
  10. package/dist/cjs/validate/validate.js +147 -0
  11. package/dist/cjs/validate/validate.js.map +1 -0
  12. package/dist/esm/actions/action.d.ts +2 -2
  13. package/dist/esm/actions/action.d.ts.map +1 -1
  14. package/dist/esm/index.d.ts +1 -0
  15. package/dist/esm/index.d.ts.map +1 -1
  16. package/dist/esm/index.js +1 -0
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/validate/validate.d.ts +6 -0
  19. package/dist/esm/validate/validate.d.ts.map +1 -0
  20. package/dist/esm/validate/validate.js +144 -0
  21. package/dist/esm/validate/validate.js.map +1 -0
  22. package/package.json +4 -2
  23. package/dist/actions/action.d.ts +0 -51
  24. package/dist/actions/action.d.ts.map +0 -1
  25. package/dist/actions/action.js +0 -33
  26. package/dist/actions/action.js.map +0 -1
  27. package/dist/actions/actions.test.d.ts +0 -2
  28. package/dist/actions/actions.test.d.ts.map +0 -1
  29. package/dist/actions/actions.test.js +0 -91
  30. package/dist/actions/actions.test.js.map +0 -1
  31. package/dist/cjs/conditions/conditions.d.ts +0 -15
  32. package/dist/cjs/conditions/conditions.d.ts.map +0 -1
  33. package/dist/cjs/conditions/conditions.js +0 -24
  34. package/dist/cjs/conditions/conditions.js.map +0 -1
  35. package/dist/cjs/principals/principals.d.ts +0 -21
  36. package/dist/cjs/principals/principals.d.ts.map +0 -1
  37. package/dist/cjs/principals/principals.js +0 -35
  38. package/dist/cjs/principals/principals.js.map +0 -1
  39. package/dist/conditions/condition.d.ts +0 -16
  40. package/dist/conditions/condition.d.ts.map +0 -1
  41. package/dist/conditions/condition.js +0 -25
  42. package/dist/conditions/condition.js.map +0 -1
  43. package/dist/conditions/conditionOperation.d.ts +0 -31
  44. package/dist/conditions/conditionOperation.d.ts.map +0 -1
  45. package/dist/conditions/conditionOperation.js +0 -31
  46. package/dist/conditions/conditionOperation.js.map +0 -1
  47. package/dist/index.d.ts +0 -9
  48. package/dist/index.d.ts.map +0 -1
  49. package/dist/index.js +0 -6
  50. package/dist/index.js.map +0 -1
  51. package/dist/parser.d.ts +0 -9
  52. package/dist/parser.d.ts.map +0 -1
  53. package/dist/parser.js +0 -14
  54. package/dist/parser.js.map +0 -1
  55. package/dist/policies/policy.d.ts +0 -14
  56. package/dist/policies/policy.d.ts.map +0 -1
  57. package/dist/policies/policy.js +0 -21
  58. package/dist/policies/policy.js.map +0 -1
  59. package/dist/policies/policy.test.d.ts +0 -2
  60. package/dist/policies/policy.test.d.ts.map +0 -1
  61. package/dist/policies/policy.test.js +0 -74
  62. package/dist/policies/policy.test.js.map +0 -1
  63. package/dist/principals/principal.d.ts +0 -21
  64. package/dist/principals/principal.d.ts.map +0 -1
  65. package/dist/principals/principal.js +0 -35
  66. package/dist/principals/principal.js.map +0 -1
  67. package/dist/resources/resource.d.ts +0 -20
  68. package/dist/resources/resource.d.ts.map +0 -1
  69. package/dist/resources/resource.js +0 -18
  70. package/dist/resources/resource.js.map +0 -1
  71. package/dist/resources/resource.test.d.ts +0 -2
  72. package/dist/resources/resource.test.d.ts.map +0 -1
  73. package/dist/resources/resource.test.js +0 -35
  74. package/dist/resources/resource.test.js.map +0 -1
  75. package/dist/statements/statement.d.ts +0 -146
  76. package/dist/statements/statement.d.ts.map +0 -1
  77. package/dist/statements/statement.js +0 -121
  78. package/dist/statements/statement.js.map +0 -1
  79. package/dist/statements/statement.test.d.ts +0 -2
  80. package/dist/statements/statement.test.d.ts.map +0 -1
  81. package/dist/statements/statement.test.js +0 -479
  82. package/dist/statements/statement.test.js.map +0 -1
  83. package/dist/utils.d.ts +0 -8
  84. package/dist/utils.d.ts.map +0 -1
  85. package/dist/utils.js +0 -13
  86. package/dist/utils.js.map +0 -1
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionImpl = void 0;
4
- const utils_js_1 = require("../utils.js");
5
- class ActionImpl {
6
- rawValue;
7
- constructor(rawValue) {
8
- this.rawValue = rawValue;
9
- }
10
- type() {
11
- if ((0, utils_js_1.isAllWildcards)(this.rawValue)) {
12
- return 'wildcard';
13
- }
14
- return 'service';
15
- }
16
- value() {
17
- return this.rawValue;
18
- }
19
- isWildcardAction() {
20
- return this.type() === 'wildcard';
21
- }
22
- isServiceAction() {
23
- return this.type() === 'service';
24
- }
25
- service() {
26
- return this.rawValue.split(':')[0];
27
- }
28
- action() {
29
- return this.rawValue.split(':')[1];
30
- }
31
- }
32
- exports.ActionImpl = ActionImpl;
33
- //# sourceMappingURL=action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/actions/action.ts"],"names":[],"mappings":";;;AAAA,0CAA4C;AAkD5C,MAAa,UAAU;IACQ;IAA7B,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAE1C,IAAI;QACT,IAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,UAAU,CAAA;QACnB,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,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,CAAC,CAAA;IACpC,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,CAAC;CACF;AA7BD,gCA6BC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=actions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.test.d.ts","sourceRoot":"","sources":["../../src/actions/actions.test.ts"],"names":[],"mappings":""}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const action_js_1 = require("./action.js");
5
- (0, vitest_1.describe)('ActionImpl', () => {
6
- (0, vitest_1.describe)('type', () => {
7
- (0, vitest_1.it)('should return wildcard when all wildcards', () => {
8
- // Given an action wildcard
9
- const actionString = "*";
10
- // When an ActionImpl is created
11
- const action = new action_js_1.ActionImpl(actionString);
12
- // Assert
13
- (0, vitest_1.expect)(action.type()).toBe('wildcard');
14
- });
15
- (0, vitest_1.it)('should return service when not all wildcards', () => {
16
- // Given an action string
17
- const actionString = "s3:GetObject";
18
- // When an ActionImpl is created
19
- const action = new action_js_1.ActionImpl(actionString);
20
- // Assert
21
- (0, vitest_1.expect)(action.type()).toBe('service');
22
- });
23
- });
24
- (0, vitest_1.describe)('value', () => {
25
- (0, vitest_1.it)('should return the value', () => {
26
- // Given an action string
27
- const actionString = "s3:GetObject";
28
- // When an ActionImpl is created
29
- const action = new action_js_1.ActionImpl(actionString);
30
- // Assert
31
- (0, vitest_1.expect)(action.value()).toBe(actionString);
32
- });
33
- });
34
- (0, vitest_1.describe)('isWildcardAction', () => {
35
- (0, vitest_1.it)('should return true when wildcard', () => {
36
- // Given an action wildcard
37
- const actionString = "*";
38
- // When an ActionImpl is created
39
- const action = new action_js_1.ActionImpl(actionString);
40
- // Assert
41
- (0, vitest_1.expect)(action.isWildcardAction()).toBe(true);
42
- });
43
- (0, vitest_1.it)('should return false when not wildcard', () => {
44
- // Given an action string
45
- const actionString = "s3:GetObject";
46
- // When an ActionImpl is created
47
- const action = new action_js_1.ActionImpl(actionString);
48
- // Assert
49
- (0, vitest_1.expect)(action.isWildcardAction()).toBe(false);
50
- });
51
- });
52
- (0, vitest_1.describe)('isServiceAction', () => {
53
- (0, vitest_1.it)('should return true when service', () => {
54
- // Given an action string
55
- const actionString = "s3:GetObject";
56
- // When an ActionImpl is created
57
- const action = new action_js_1.ActionImpl(actionString);
58
- // Assert
59
- (0, vitest_1.expect)(action.isServiceAction()).toBe(true);
60
- });
61
- (0, vitest_1.it)('should return false when not service', () => {
62
- // Given an action wildcard
63
- const actionString = "*";
64
- // When an ActionImpl is created
65
- const action = new action_js_1.ActionImpl(actionString);
66
- // Assert
67
- (0, vitest_1.expect)(action.isServiceAction()).toBe(false);
68
- });
69
- });
70
- (0, vitest_1.describe)('service', () => {
71
- (0, vitest_1.it)('should return the service', () => {
72
- // Given an action string
73
- const actionString = "s3:GetObject";
74
- // When an ActionImpl is created
75
- const action = new action_js_1.ActionImpl(actionString);
76
- // Assert
77
- (0, vitest_1.expect)(action.service()).toBe('s3');
78
- });
79
- });
80
- (0, vitest_1.describe)('action', () => {
81
- (0, vitest_1.it)('should return the action', () => {
82
- // Given an action string
83
- const actionString = "s3:GetObject";
84
- // When an ActionImpl is created
85
- const action = new action_js_1.ActionImpl(actionString);
86
- // Assert
87
- (0, vitest_1.expect)(action.action()).toBe('GetObject');
88
- });
89
- });
90
- });
91
- //# sourceMappingURL=actions.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.test.js","sourceRoot":"","sources":["../../src/actions/actions.test.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export interface Condition {
2
- operation(): string;
3
- conditionKey(): string;
4
- conditionValues(): string[];
5
- }
6
- export declare class ConditionImpl implements Condition {
7
- private readonly op;
8
- private readonly key;
9
- private readonly values;
10
- constructor(op: string, key: string, values: string | string[]);
11
- operation(): string;
12
- conditionKey(): string;
13
- conditionValues(): string[];
14
- }
15
- //# sourceMappingURL=conditions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../../src/conditions/conditions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,SAAS,IAAI,MAAM,CAAA;IACnB,YAAY,IAAI,MAAM,CAAA;IACtB,eAAe,IAAI,MAAM,EAAE,CAAA;CAC5B;AAED,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAU,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAjE,EAAE,EAAE,MAAM,EAAmB,GAAG,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAE1G,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM,EAAE;CAGnC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConditionImpl = void 0;
4
- class ConditionImpl {
5
- op;
6
- key;
7
- values;
8
- constructor(op, key, values) {
9
- this.op = op;
10
- this.key = key;
11
- this.values = values;
12
- }
13
- operation() {
14
- return this.op;
15
- }
16
- conditionKey() {
17
- return this.key;
18
- }
19
- conditionValues() {
20
- return typeof this.values === 'string' ? [this.values] : this.values;
21
- }
22
- }
23
- exports.ConditionImpl = ConditionImpl;
24
- //# sourceMappingURL=conditions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/conditions/conditions.ts"],"names":[],"mappings":";;;AAMA,MAAa,aAAa;IACK;IAA6B;IAA8B;IAAxF,YAA6B,EAAU,EAAmB,GAAW,EAAmB,MAAyB;QAApF,OAAE,GAAF,EAAE,CAAQ;QAAmB,QAAG,GAAH,GAAG,CAAQ;QAAmB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE9G,SAAS;QACd,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,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;CACF;AAdD,sCAcC"}
@@ -1,21 +0,0 @@
1
- export type PrincipalType = 'AWS' | 'Service' | 'Federated' | 'CanonicalUser';
2
- export interface Principal {
3
- type(): PrincipalType;
4
- value(): string;
5
- }
6
- export declare class PrincipalImpl {
7
- private readonly principalType;
8
- private readonly principalId;
9
- constructor(principalType: PrincipalType, principalId: string);
10
- value(): string;
11
- type(): PrincipalType;
12
- }
13
- export declare class AwsPrincipal extends PrincipalImpl {
14
- }
15
- export declare class ServicePrincipal extends PrincipalImpl {
16
- }
17
- export declare class FederatedPrincipal extends PrincipalImpl {
18
- }
19
- export declare class CanonicalUserPrincipal extends PrincipalImpl {
20
- }
21
- //# sourceMappingURL=principals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"principals.d.ts","sourceRoot":"","sources":["../../../src/principals/principals.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAA;AAE7E,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,aAAa,CAAA;IACrB,KAAK,IAAI,MAAM,CAAA;CAChB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAiB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAA1D,aAAa,EAAE,aAAa,EAAmB,WAAW,EAAE,MAAM;IAExF,KAAK,IAAI,MAAM;IAIf,IAAI,IAAI,aAAa;CAG7B;AAGD,qBAAa,YAAa,SAAQ,aAAa;CAC9C;AAGD,qBAAa,gBAAiB,SAAQ,aAAa;CAClD;AAGD,qBAAa,kBAAmB,SAAQ,aAAa;CACpD;AAGD,qBAAa,sBAAuB,SAAQ,aAAa;CACxD"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CanonicalUserPrincipal = exports.FederatedPrincipal = exports.ServicePrincipal = exports.AwsPrincipal = exports.PrincipalImpl = void 0;
4
- class PrincipalImpl {
5
- principalType;
6
- principalId;
7
- constructor(principalType, principalId) {
8
- this.principalType = principalType;
9
- this.principalId = principalId;
10
- }
11
- value() {
12
- return this.principalId;
13
- }
14
- type() {
15
- return this.principalType;
16
- }
17
- }
18
- exports.PrincipalImpl = PrincipalImpl;
19
- //AWS
20
- class AwsPrincipal extends PrincipalImpl {
21
- }
22
- exports.AwsPrincipal = AwsPrincipal;
23
- //Service
24
- class ServicePrincipal extends PrincipalImpl {
25
- }
26
- exports.ServicePrincipal = ServicePrincipal;
27
- //Federated
28
- class FederatedPrincipal extends PrincipalImpl {
29
- }
30
- exports.FederatedPrincipal = FederatedPrincipal;
31
- //CanonicalUser
32
- class CanonicalUserPrincipal extends PrincipalImpl {
33
- }
34
- exports.CanonicalUserPrincipal = CanonicalUserPrincipal;
35
- //# sourceMappingURL=principals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"principals.js","sourceRoot":"","sources":["../../../src/principals/principals.ts"],"names":[],"mappings":";;;AAOA,MAAa,aAAa;IACK;IAA+C;IAA5E,YAA6B,aAA4B,EAAmB,WAAmB;QAAlE,kBAAa,GAAb,aAAa,CAAe;QAAmB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAE5F,KAAK;QACV,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;CACF;AAVD,sCAUC;AAED,KAAK;AACL,MAAa,YAAa,SAAQ,aAAa;CAC9C;AADD,oCACC;AAED,SAAS;AACT,MAAa,gBAAiB,SAAQ,aAAa;CAClD;AADD,4CACC;AAED,WAAW;AACX,MAAa,kBAAmB,SAAQ,aAAa;CACpD;AADD,gDACC;AAED,eAAe;AACf,MAAa,sBAAuB,SAAQ,aAAa;CACxD;AADD,wDACC"}
@@ -1,16 +0,0 @@
1
- import { ConditionOperation } from "./conditionOperation.js";
2
- export interface Condition {
3
- operation(): ConditionOperation;
4
- conditionKey(): string;
5
- conditionValues(): string[];
6
- }
7
- export declare class ConditionImpl implements Condition {
8
- private readonly op;
9
- private readonly key;
10
- private readonly values;
11
- constructor(op: string, key: string, values: string | string[]);
12
- operation(): ConditionOperation;
13
- conditionKey(): string;
14
- conditionValues(): string[];
15
- }
16
- //# sourceMappingURL=condition.d.ts.map
@@ -1 +0,0 @@
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,SAAS,IAAI,kBAAkB,CAAA;IAC/B,YAAY,IAAI,MAAM,CAAA;IACtB,eAAe,IAAI,MAAM,EAAE,CAAA;CAC5B;AAED,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAU,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAjE,EAAE,EAAE,MAAM,EAAmB,GAAG,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAE1G,SAAS,IAAI,kBAAkB;IAI/B,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM,EAAE;CAGnC"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConditionImpl = void 0;
4
- const conditionOperation_js_1 = require("./conditionOperation.js");
5
- class ConditionImpl {
6
- op;
7
- key;
8
- values;
9
- constructor(op, key, values) {
10
- this.op = op;
11
- this.key = key;
12
- this.values = values;
13
- }
14
- operation() {
15
- return new conditionOperation_js_1.ConditionOperationImpl(this.op);
16
- }
17
- conditionKey() {
18
- return this.key;
19
- }
20
- conditionValues() {
21
- return typeof this.values === 'string' ? [this.values] : this.values;
22
- }
23
- }
24
- exports.ConditionImpl = ConditionImpl;
25
- //# sourceMappingURL=condition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../src/conditions/condition.ts"],"names":[],"mappings":";;;AAAA,mEAAoF;AAQpF,MAAa,aAAa;IACK;IAA6B;IAA8B;IAAxF,YAA6B,EAAU,EAAmB,GAAW,EAAmB,MAAyB;QAApF,OAAE,GAAF,EAAE,CAAQ;QAAmB,QAAG,GAAH,GAAG,CAAQ;QAAmB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE9G,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;CACF;AAdD,sCAcC"}
@@ -1,31 +0,0 @@
1
- export type SetOperator = 'ForAllValues' | 'ForAnyValue';
2
- /**
3
- * ConditionOperation is a string that represents the operation of a condition.
4
- */
5
- export interface ConditionOperation {
6
- /**
7
- * Returns the set modifier if present.
8
- */
9
- setOperator(): SetOperator | undefined;
10
- /**
11
- * Returns the base operator of the condition without the set modifier or IfExists.
12
- */
13
- baseOperator(): string;
14
- /**
15
- * Returns true if the condition operation ends with IfExists.
16
- */
17
- isIfExists(): boolean;
18
- /**
19
- * Returns the raw string of the condition operation.
20
- */
21
- value(): string;
22
- }
23
- export declare class ConditionOperationImpl implements ConditionOperation {
24
- private readonly op;
25
- constructor(op: string);
26
- setOperator(): SetOperator | undefined;
27
- isIfExists(): boolean;
28
- baseOperator(): string;
29
- value(): string;
30
- }
31
- //# sourceMappingURL=conditionOperation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conditionOperation.d.ts","sourceRoot":"","sources":["../../src/conditions/conditionOperation.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,aAAa,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,WAAW,IAAI,WAAW,GAAG,SAAS,CAAA;IAEtC;;OAEG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAA;IAErB;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;CAChB;AAID,qBAAa,sBAAuB,YAAW,kBAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,MAAM;IAEhC,WAAW,IAAI,WAAW,GAAG,SAAS;IAOtC,UAAU,IAAI,OAAO;IAIrB,YAAY,IAAI,MAAM;IAQtB,KAAK,IAAI,MAAM;CAIvB"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConditionOperationImpl = void 0;
4
- const ifExistsSlice = 'IfExists'.length * -1;
5
- class ConditionOperationImpl {
6
- op;
7
- constructor(op) {
8
- this.op = op;
9
- }
10
- setOperator() {
11
- if (!this.op.includes(':')) {
12
- return undefined;
13
- }
14
- return this.op.split(':').at(0);
15
- }
16
- isIfExists() {
17
- return this.op.endsWith('IfExists');
18
- }
19
- baseOperator() {
20
- const base = this.op.split(':').at(-1);
21
- if (base?.endsWith('IfExists')) {
22
- return base.slice(0, ifExistsSlice);
23
- }
24
- return base;
25
- }
26
- value() {
27
- return this.op;
28
- }
29
- }
30
- exports.ConditionOperationImpl = ConditionOperationImpl;
31
- //# sourceMappingURL=conditionOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conditionOperation.js","sourceRoot":"","sources":["../../src/conditions/conditionOperation.ts"],"names":[],"mappings":";;;AA2BA,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAE5C,MAAa,sBAAsB;IACJ;IAA7B,YAA6B,EAAU;QAAV,OAAE,GAAF,EAAE,CAAQ;IAAG,CAAC;IAEpC,WAAW;QAChB,IAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB,CAAA;IAChD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IAEM,YAAY;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAA;QACvC,IAAG,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;CAEF;AA1BD,wDA0BC"}
package/dist/index.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export type { Action, ActionType, ServiceAction, WildcardAction } from './actions/action.js';
2
- export type { Condition } from './conditions/condition.js';
3
- export type { ConditionOperation, SetOperator } from './conditions/conditionOperation.js';
4
- export { loadPolicy } from './parser.js';
5
- export type { Policy } from './policies/policy.js';
6
- export type { Principal, PrincipalType } from './principals/principal.js';
7
- export type { Resource } from './resources/resource.js';
8
- export type { ActionStatement, NotActionStatement, NotPrincipalStatement, NotResourceStatement, PrincipalStatement, ResourceStatement, Statement } from './statements/statement.js';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC5F,YAAY,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,YAAY,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA"}
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadPolicy = void 0;
4
- var parser_js_1 = require("./parser.js");
5
- Object.defineProperty(exports, "loadPolicy", { enumerable: true, get: function () { return parser_js_1.loadPolicy; } });
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,yCAAwC;AAA/B,uGAAA,UAAU,OAAA"}
package/dist/parser.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { PolicyImpl } from "./policies/policy.js";
2
- /**
3
- * Load a Policy from a policy document
4
- *
5
- * @param policyDocument the policy document JSON object
6
- * @returns the Policy object for the backing policy document
7
- */
8
- export declare function loadPolicy(policyDocument: any): PolicyImpl;
9
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,GAAG,cAE7C"}
package/dist/parser.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadPolicy = loadPolicy;
4
- const policy_js_1 = require("./policies/policy.js");
5
- /**
6
- * Load a Policy from a policy document
7
- *
8
- * @param policyDocument the policy document JSON object
9
- * @returns the Policy object for the backing policy document
10
- */
11
- function loadPolicy(policyDocument) {
12
- return new policy_js_1.PolicyImpl(policyDocument);
13
- }
14
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;AAQA,gCAEC;AAVD,oDAAkD;AAElD;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,cAAmB;IAC1C,OAAO,IAAI,sBAAU,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,14 +0,0 @@
1
- import { Statement } from '../statements/statement.js';
2
- export interface Policy {
3
- version(): string | undefined;
4
- id(): string | undefined;
5
- statements(): Statement[];
6
- }
7
- export declare class PolicyImpl {
8
- private readonly policyObject;
9
- constructor(policyObject: any);
10
- version(): string | undefined;
11
- id(): string | undefined;
12
- statements(): Statement[];
13
- }
14
- //# sourceMappingURL=policy.d.ts.map
@@ -1 +0,0 @@
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,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAC7B,EAAE,IAAI,MAAM,GAAG,SAAS,CAAA;IACxB,UAAU,IAAI,SAAS,EAAE,CAAA;CAC1B;AAED,qBAAa,UAAU;IACT,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;CAGjC"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PolicyImpl = void 0;
4
- const statement_js_1 = require("../statements/statement.js");
5
- class PolicyImpl {
6
- policyObject;
7
- constructor(policyObject) {
8
- this.policyObject = policyObject;
9
- }
10
- version() {
11
- return this.policyObject.Version;
12
- }
13
- id() {
14
- return this.policyObject.Id;
15
- }
16
- statements() {
17
- return [this.policyObject.Statement].flat().map((statement) => new statement_js_1.StatementImpl(statement));
18
- }
19
- }
20
- exports.PolicyImpl = PolicyImpl;
21
- //# sourceMappingURL=policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/policies/policy.ts"],"names":[],"mappings":";;;AAAA,6DAAqE;AAQrE,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,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CAAC,IAAI,4BAAa,CAAC,SAAS,CAAC,CAAC,CAAA;IACnG,CAAC;CACF;AAdD,gCAcC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=policy.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.test.d.ts","sourceRoot":"","sources":["../../src/policies/policy.test.ts"],"names":[],"mappings":""}
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const policy_js_1 = require("./policy.js");
5
- (0, vitest_1.describe)("PolicyImpl", () => {
6
- (0, vitest_1.describe)("version", () => {
7
- (0, vitest_1.it)("should return the version", () => {
8
- // Given a policy object
9
- const policyObject = {
10
- Version: "2012-10-17"
11
- };
12
- // When a PolicyImpl is created
13
- const policy = new policy_js_1.PolicyImpl(policyObject);
14
- // Then the version should be the version
15
- (0, vitest_1.expect)(policy.version()).toBe(policyObject.Version);
16
- });
17
- });
18
- (0, vitest_1.describe)("id", () => {
19
- (0, vitest_1.it)("should return the id", () => {
20
- // Given a policy object
21
- const policyObject = {
22
- Id: "MyPolicy"
23
- };
24
- // When a PolicyImpl is created
25
- const policy = new policy_js_1.PolicyImpl(policyObject);
26
- // Then the id should be the id
27
- (0, vitest_1.expect)(policy.id()).toBe(policyObject.Id);
28
- });
29
- });
30
- (0, vitest_1.describe)("statements", () => {
31
- (0, vitest_1.it)('should return the statement when there is only one statement', () => {
32
- // Given a policy object with a single statement in an object
33
- const policyObject = {
34
- Statement: {
35
- Sid: 'Lonely',
36
- Effect: "Allow",
37
- Action: "s3:GetObject",
38
- Resource: "arn:aws:s3:::my_corporate_bucket/*"
39
- }
40
- };
41
- // When a PolicyImpl is created
42
- const policy = new policy_js_1.PolicyImpl(policyObject);
43
- // Then the statements should be an array with one statement
44
- (0, vitest_1.expect)(policy.statements().length).toBe(1);
45
- (0, vitest_1.expect)(policy.statements()[0].sid()).toBe('Lonely');
46
- });
47
- (0, vitest_1.it)('should return the statements when there are multiple statements', () => {
48
- // Given a policy object with multiple statements in an array
49
- const policyObject = {
50
- Statement: [
51
- {
52
- Sid: 'First',
53
- Effect: "Allow",
54
- Action: "s3:GetObject",
55
- Resource: "arn:aws:s3:::my_corporate_bucket/*"
56
- },
57
- {
58
- Sid: 'Second',
59
- Effect: "Deny",
60
- Action: "s3:GetObject",
61
- Resource: "arn:aws:s3:::my_corporate_bucket/secret_plans.txt"
62
- }
63
- ]
64
- };
65
- // When a PolicyImpl is created
66
- const policy = new policy_js_1.PolicyImpl(policyObject);
67
- // Then the statements should be an array with two statements
68
- (0, vitest_1.expect)(policy.statements().length).toBe(2);
69
- (0, vitest_1.expect)(policy.statements()[0].sid()).toBe('First');
70
- (0, vitest_1.expect)(policy.statements()[1].sid()).toBe('Second');
71
- });
72
- });
73
- });
74
- //# sourceMappingURL=policy.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.test.js","sourceRoot":"","sources":["../../src/policies/policy.test.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- export type PrincipalType = 'AWS' | 'Service' | 'Federated' | 'CanonicalUser';
2
- export interface Principal {
3
- type(): PrincipalType;
4
- value(): string;
5
- }
6
- export declare class PrincipalImpl {
7
- private readonly principalType;
8
- private readonly principalId;
9
- constructor(principalType: PrincipalType, principalId: string);
10
- value(): string;
11
- type(): PrincipalType;
12
- }
13
- export declare class AwsPrincipal extends PrincipalImpl {
14
- }
15
- export declare class ServicePrincipal extends PrincipalImpl {
16
- }
17
- export declare class FederatedPrincipal extends PrincipalImpl {
18
- }
19
- export declare class CanonicalUserPrincipal extends PrincipalImpl {
20
- }
21
- //# sourceMappingURL=principal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../src/principals/principal.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAA;AAE7E,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,aAAa,CAAA;IACrB,KAAK,IAAI,MAAM,CAAA;CAChB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,aAAa;IAAiB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAA1D,aAAa,EAAE,aAAa,EAAmB,WAAW,EAAE,MAAM;IAExF,KAAK,IAAI,MAAM;IAIf,IAAI,IAAI,aAAa;CAG7B;AAGD,qBAAa,YAAa,SAAQ,aAAa;CAC9C;AAGD,qBAAa,gBAAiB,SAAQ,aAAa;CAClD;AAGD,qBAAa,kBAAmB,SAAQ,aAAa;CACpD;AAGD,qBAAa,sBAAuB,SAAQ,aAAa;CACxD"}