UNPKG

2.15 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.MutatingPolicyDocumentAdapter = void 0;
4const policy_document_1 = require("../policy-document");
5/**
6 * A PolicyDocument adapter that can modify statements flowing through it
7 */
8class 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}
20exports.MutatingPolicyDocumentAdapter = MutatingPolicyDocumentAdapter;
21//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5ZG9jLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwb2xpY3lkb2MtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBb0Q7QUFHcEQ7O0dBRUc7QUFDSCxNQUFhLDZCQUE4QixTQUFRLGdDQUFjO0lBQy9ELFlBQTZCLE9BQXVCLEVBQW1CLE9BQWdEO1FBQ3JILEtBQUssRUFBRSxDQUFDO1FBRG1CLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQXlDO0tBRXRIO0lBRU0sYUFBYSxDQUFDLEdBQUcsVUFBNkI7UUFDbkQsS0FBSyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlDO0tBQ0Y7Q0FDRjtBQVZELHNFQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9saWN5RG9jdW1lbnQgfSBmcm9tICcuLi9wb2xpY3ktZG9jdW1lbnQnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnLi4vcG9saWN5LXN0YXRlbWVudCc7XG5cbi8qKlxuICogQSBQb2xpY3lEb2N1bWVudCBhZGFwdGVyIHRoYXQgY2FuIG1vZGlmeSBzdGF0ZW1lbnRzIGZsb3dpbmcgdGhyb3VnaCBpdFxuICovXG5leHBvcnQgY2xhc3MgTXV0YXRpbmdQb2xpY3lEb2N1bWVudEFkYXB0ZXIgZXh0ZW5kcyBQb2xpY3lEb2N1bWVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgd3JhcHBlZDogUG9saWN5RG9jdW1lbnQsIHByaXZhdGUgcmVhZG9ubHkgbXV0YXRvcjogKHM6IFBvbGljeVN0YXRlbWVudCkgPT4gUG9saWN5U3RhdGVtZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdGF0ZW1lbnRzKC4uLnN0YXRlbWVudHM6IFBvbGljeVN0YXRlbWVudFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdCBvZiBzdGF0ZW1lbnRzKSB7XG4gICAgICB0aGlzLndyYXBwZWQuYWRkU3RhdGVtZW50cyh0aGlzLm11dGF0b3Ioc3QpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
\No newline at end of file