UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

33 lines 2.47 kB
"use strict"; // This file is used in the base variant of the package: iam-floyd Object.defineProperty(exports, "__esModule", { value: true }); exports.PolicyStatementBase = void 0; /** * Base class for the Policy Statement */ class PolicyStatementBase { constructor(sid) { this.sid = ''; /** * Holds the prefix of the service actions, e.g. `ec2` */ this.servicePrefix = ''; if (typeof sid !== 'undefined') { this.sid = sid; } } /** * JSON-ify the policy statement * * Used when JSON.stringify() is called */ toJSON() { const statement = {}; if (this.sid.length) { statement.Sid = this.sid; } return statement; } } exports.PolicyStatementBase = PolicyStatementBase; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiMS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxrRUFBa0U7OztBQUVsRTs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBUTlCLFlBQVksR0FBWTtRQVBqQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRWhCOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFHeEIsSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxNQUFNO1FBQ1gsTUFBTSxTQUFTLEdBQVEsRUFBRSxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixTQUFTLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTdCRCxrREE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgdXNlZCBpbiB0aGUgYmFzZSB2YXJpYW50IG9mIHRoZSBwYWNrYWdlOiBpYW0tZmxveWRcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciB0aGUgUG9saWN5IFN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgUG9saWN5U3RhdGVtZW50QmFzZSB7XG4gIHB1YmxpYyBzaWQgPSAnJztcblxuICAvKipcbiAgICogSG9sZHMgdGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBhY3Rpb25zLCBlLmcuIGBlYzJgXG4gICAqL1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHNpZD86IHN0cmluZykge1xuICAgIGlmICh0eXBlb2Ygc2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5zaWQgPSBzaWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEpTT04taWZ5IHRoZSBwb2xpY3kgc3RhdGVtZW50XG4gICAqXG4gICAqIFVzZWQgd2hlbiBKU09OLnN0cmluZ2lmeSgpIGlzIGNhbGxlZFxuICAgKi9cblxuICBwdWJsaWMgdG9KU09OKCk6IGFueSB7XG4gICAgY29uc3Qgc3RhdGVtZW50OiBhbnkgPSB7fTtcblxuICAgIGlmICh0aGlzLnNpZC5sZW5ndGgpIHtcbiAgICAgIHN0YXRlbWVudC5TaWQgPSB0aGlzLnNpZDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50O1xuICB9XG59XG4iXX0=