cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
45 lines • 4.85 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MultipleAlarmActionStrategy = void 0;
exports.multipleActions = multipleActions;
exports.isMultipleAlarmActionStrategy = isMultipleAlarmActionStrategy;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
function multipleActions(...actions) {
return new MultipleAlarmActionStrategy(actions);
}
function isMultipleAlarmActionStrategy(obj) {
return !!(obj && obj instanceof MultipleAlarmActionStrategy);
}
/**
* Alarm action strategy that combines multiple actions in the same order as they were given.
*/
class MultipleAlarmActionStrategy {
constructor(actions) {
this.actions = actions;
}
addAlarmActions(props) {
this.actions.forEach((action) => action.addAlarmActions(props));
}
/**
* Returns list of alarm actions where any nested instances of MultipleAlarmActionStrategy
* are flattened.
*
* @returns flattened list of alarm actions.
*/
flattenedAlarmActions() {
return this._flattenedAlarmActions(...this.actions);
}
_flattenedAlarmActions(...actions) {
return actions.flatMap((action) => {
if (isMultipleAlarmActionStrategy(action)) {
return this._flattenedAlarmActions(action);
}
return [action];
});
}
}
exports.MultipleAlarmActionStrategy = MultipleAlarmActionStrategy;
_a = JSII_RTTI_SYMBOL_1;
MultipleAlarmActionStrategy[_a] = { fqn: "cdk-monitoring-constructs.MultipleAlarmActionStrategy", version: "10.0.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlwbGVBbGFybUFjdGlvblN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTXVsdGlwbGVBbGFybUFjdGlvblN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSwwQ0FFQztBQUVELHNFQUlDOztBQVJELFNBQWdCLGVBQWUsQ0FBQyxHQUFHLE9BQStCO0lBQ2hFLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQzNDLEdBQVM7SUFFVCxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLFlBQVksMkJBQTJCLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLDJCQUEyQjtJQUd0QyxZQUFZLE9BQStCO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBK0I7UUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLHNCQUFzQixDQUM1QixHQUFHLE9BQStCO1FBRWxDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2hDLElBQUksNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBL0JILGtFQWdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFsYXJtQWN0aW9uU3RyYXRlZ3lQcm9wcyxcbiAgSUFsYXJtQWN0aW9uU3RyYXRlZ3ksXG59IGZyb20gXCIuL0lBbGFybUFjdGlvblN0cmF0ZWd5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aXBsZUFjdGlvbnMoLi4uYWN0aW9uczogSUFsYXJtQWN0aW9uU3RyYXRlZ3lbXSkge1xuICByZXR1cm4gbmV3IE11bHRpcGxlQWxhcm1BY3Rpb25TdHJhdGVneShhY3Rpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTXVsdGlwbGVBbGFybUFjdGlvblN0cmF0ZWd5KFxuICBvYmo/OiBhbnksXG4pOiBvYmogaXMgTXVsdGlwbGVBbGFybUFjdGlvblN0cmF0ZWd5IHtcbiAgcmV0dXJuICEhKG9iaiAmJiBvYmogaW5zdGFuY2VvZiBNdWx0aXBsZUFsYXJtQWN0aW9uU3RyYXRlZ3kpO1xufVxuXG4vKipcbiAqIEFsYXJtIGFjdGlvbiBzdHJhdGVneSB0aGF0IGNvbWJpbmVzIG11bHRpcGxlIGFjdGlvbnMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhleSB3ZXJlIGdpdmVuLlxuICovXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVBbGFybUFjdGlvblN0cmF0ZWd5IGltcGxlbWVudHMgSUFsYXJtQWN0aW9uU3RyYXRlZ3kge1xuICByZWFkb25seSBhY3Rpb25zOiBJQWxhcm1BY3Rpb25TdHJhdGVneVtdO1xuXG4gIGNvbnN0cnVjdG9yKGFjdGlvbnM6IElBbGFybUFjdGlvblN0cmF0ZWd5W10pIHtcbiAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zO1xuICB9XG5cbiAgYWRkQWxhcm1BY3Rpb25zKHByb3BzOiBBbGFybUFjdGlvblN0cmF0ZWd5UHJvcHMpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uKSA9PiBhY3Rpb24uYWRkQWxhcm1BY3Rpb25zKHByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBsaXN0IG9mIGFsYXJtIGFjdGlvbnMgd2hlcmUgYW55IG5lc3RlZCBpbnN0YW5jZXMgb2YgTXVsdGlwbGVBbGFybUFjdGlvblN0cmF0ZWd5XG4gICAqIGFyZSBmbGF0dGVuZWQuXG4gICAqXG4gICAqIEByZXR1cm5zIGZsYXR0ZW5lZCBsaXN0IG9mIGFsYXJtIGFjdGlvbnMuXG4gICAqL1xuICBmbGF0dGVuZWRBbGFybUFjdGlvbnMoKTogSUFsYXJtQWN0aW9uU3RyYXRlZ3lbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZsYXR0ZW5lZEFsYXJtQWN0aW9ucyguLi50aGlzLmFjdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmxhdHRlbmVkQWxhcm1BY3Rpb25zKFxuICAgIC4uLmFjdGlvbnM6IElBbGFybUFjdGlvblN0cmF0ZWd5W11cbiAgKTogSUFsYXJtQWN0aW9uU3RyYXRlZ3lbXSB7XG4gICAgcmV0dXJuIGFjdGlvbnMuZmxhdE1hcCgoYWN0aW9uKSA9PiB7XG4gICAgICBpZiAoaXNNdWx0aXBsZUFsYXJtQWN0aW9uU3RyYXRlZ3koYWN0aW9uKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmxhdHRlbmVkQWxhcm1BY3Rpb25zKGFjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbYWN0aW9uXTtcbiAgICB9KTtcbiAgfVxufVxuIl19