1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.MutatingPolicyDocumentAdapter = void 0;
|
4 | const policy_document_1 = require("../policy-document");
|
5 | /**
|
6 | * A PolicyDocument adapter that can modify statements flowing through it
|
7 | */
|
8 | class MutatingPolicyDocumentAdapter extends policy_document_1.PolicyDocument {
|
9 | constructor(wrapped, mutator) {
|
10 | super();
|
11 | this.wrapped = wrapped;
|
12 | this.mutator = mutator;
|
13 | }
|
14 | addStatements(...statements) {
|
15 | for (const st of statements) {
|
16 | this.wrapped.addStatements(this.mutator(st));
|
17 | }
|
18 | }
|
19 | }
|
20 | exports.MutatingPolicyDocumentAdapter = MutatingPolicyDocumentAdapter;
|
21 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5ZG9jLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwb2xpY3lkb2MtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBb0Q7QUFHcEQ7O0dBRUc7QUFDSCxNQUFhLDZCQUE4QixTQUFRLGdDQUFjO0lBQy9ELFlBQTZCLE9BQXVCLEVBQW1CLE9BQWdEO1FBQ3JILEtBQUssRUFBRSxDQUFDO1FBRG1CLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQXlDO0tBRXRIO0lBRU0sYUFBYSxDQUFDLEdBQUcsVUFBNkI7UUFDbkQsS0FBSyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlDO0tBQ0Y7Q0FDRjtBQVZELHNFQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9saWN5RG9jdW1lbnQgfSBmcm9tICcuLi9wb2xpY3ktZG9jdW1lbnQnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnLi4vcG9saWN5LXN0YXRlbWVudCc7XG5cbi8qKlxuICogQSBQb2xpY3lEb2N1bWVudCBhZGFwdGVyIHRoYXQgY2FuIG1vZGlmeSBzdGF0ZW1lbnRzIGZsb3dpbmcgdGhyb3VnaCBpdFxuICovXG5leHBvcnQgY2xhc3MgTXV0YXRpbmdQb2xpY3lEb2N1bWVudEFkYXB0ZXIgZXh0ZW5kcyBQb2xpY3lEb2N1bWVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd3JhcHBlZDogUG9saWN5RG9jdW1lbnQsIHByaXZhdGUgcmVhZG9ubHkgbXV0YXRvcjogKHM6IFBvbGljeVN0YXRlbWVudCkgPT4gUG9saWN5U3RhdGVtZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdGF0ZW1lbnRzKC4uLnN0YXRlbWVudHM6IFBvbGljeVN0YXRlbWVudFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdCBvZiBzdGF0ZW1lbnRzKSB7XG4gICAgICB0aGlzLndyYXBwZWQuYWRkU3RhdGVtZW50cyh0aGlzLm11dGF0b3Ioc3QpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
\ | No newline at end of file |