@cloud-copilot/iam-policy 0.1.13 → 0.1.15

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # IAM Policy Syntax Validator and Parser
2
2
 
3
- [![NPM Version](https://img.shields.io/npm/v/@cloud-copilot/iam-policy.svg?logo=nodedotjs)](https://www.npmjs.com/package/@cloud-copilot/iam-policy) [![License: AGPL v3](https://img.shields.io/github/license/cloud-copilot/iam-policy)](LICENSE.txt)
3
+ [![NPM Version](https://img.shields.io/npm/v/@cloud-copilot/iam-policy.svg?logo=nodedotjs)](https://www.npmjs.com/package/@cloud-copilot/iam-policy) [![License: AGPL v3](https://img.shields.io/github/license/cloud-copilot/iam-policy)](LICENSE.txt) [![GuardDog](https://github.com/cloud-copilot/iam-policy/actions/workflows/guarddog.yml/badge.svg)](https://github.com/cloud-copilot/iam-policy/actions/workflows/guarddog.yml) [![Known Vulnerabilities](https://snyk.io/test/github/cloud-copilot/iam-policy/badge.svg?targetFile=package.json&style=flat-square)](https://snyk.io/test/github/cloud-copilot/iam-policy?targetFile=package.json)
4
4
 
5
5
  This is a simple IAM policy library that allows you to safely parse and navigate IAM policies without worrying about the more difficult details of parsing policies or validating syntax.
6
6
 
@@ -16,6 +16,10 @@ export interface Policy {
16
16
  * Whether the statement is an array
17
17
  */
18
18
  statementIsArray(): boolean;
19
+ /**
20
+ * The raw policy object as JSON
21
+ */
22
+ toJSON(): any;
19
23
  }
20
24
  export declare class PolicyImpl implements Policy {
21
25
  private readonly policyObject;
@@ -25,5 +29,6 @@ export declare class PolicyImpl implements Policy {
25
29
  statements(): Statement[];
26
30
  private newStatements;
27
31
  statementIsArray(): boolean;
32
+ toJSON(): any;
28
33
  }
29
34
  //# sourceMappingURL=policy.d.ts.map
@@ -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;IASd,gBAAgB,IAAI,OAAO;CAGnC"}
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;IAE3B;;OAEG;IACH,MAAM,IAAI,GAAG,CAAA;CACd;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;IAI3B,MAAM,IAAI,GAAG;CAGrB"}
@@ -27,6 +27,9 @@ class PolicyImpl {
27
27
  statementIsArray() {
28
28
  return Array.isArray(this.policyObject.Statement);
29
29
  }
30
+ toJSON() {
31
+ return this.policyObject;
32
+ }
30
33
  }
31
34
  exports.PolicyImpl = PolicyImpl;
32
35
  //# sourceMappingURL=policy.js.map
@@ -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,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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":";;;AAAA,6DAAqE;AA6BrE,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;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CACF;AA/BD,gCA+BC"}
@@ -16,6 +16,10 @@ export interface Policy {
16
16
  * Whether the statement is an array
17
17
  */
18
18
  statementIsArray(): boolean;
19
+ /**
20
+ * The raw policy object as JSON
21
+ */
22
+ toJSON(): any;
19
23
  }
20
24
  export declare class PolicyImpl implements Policy {
21
25
  private readonly policyObject;
@@ -25,5 +29,6 @@ export declare class PolicyImpl implements Policy {
25
29
  statements(): Statement[];
26
30
  private newStatements;
27
31
  statementIsArray(): boolean;
32
+ toJSON(): any;
28
33
  }
29
34
  //# sourceMappingURL=policy.d.ts.map
@@ -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;IASd,gBAAgB,IAAI,OAAO;CAGnC"}
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;IAE3B;;OAEG;IACH,MAAM,IAAI,GAAG,CAAA;CACd;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;IAI3B,MAAM,IAAI,GAAG;CAGrB"}
@@ -23,5 +23,8 @@ export class PolicyImpl {
23
23
  statementIsArray() {
24
24
  return Array.isArray(this.policyObject.Statement);
25
25
  }
26
+ toJSON() {
27
+ return this.policyObject;
28
+ }
26
29
  }
27
30
  //# sourceMappingURL=policy.js.map
@@ -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,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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policies/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,MAAM,4BAA4B,CAAA;AA6BrE,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;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-copilot/iam-policy",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "An ORM for AWS IAM policies",
5
5
  "repository": {
6
6
  "type": "git",