cdk-monitoring-constructs
Version:
[](https://badge.fury.io/js/cdk-monitoring-constructs) [](https://m
38 lines • 3.58 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.KeyValueTableWidget = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
const widget_1 = require("../../common/widget");
/**
* A widget that displays key-value pairs in a table format.
*/
class KeyValueTableWidget extends aws_cloudwatch_1.TextWidget {
/**
* Creates a key-value table widget.
* @param data An array of key-value pairs as objects
*/
constructor(data) {
super({
width: widget_1.FullWidth,
height: 3,
markdown: KeyValueTableWidget.toMarkdown(data),
});
}
static toMarkdown(data) {
let headerRow = "";
let subHeaderRow = "";
let valueRow = "";
data.forEach(({ key, value }) => {
headerRow += "| " + key;
subHeaderRow += "|---";
valueRow += "| " + value;
});
return `${headerRow}\n${subHeaderRow}\n${valueRow}`;
}
}
exports.KeyValueTableWidget = KeyValueTableWidget;
_a = JSII_RTTI_SYMBOL_1;
KeyValueTableWidget[_a] = { fqn: "cdk-monitoring-constructs.KeyValueTableWidget", version: "10.0.0" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5VmFsdWVUYWJsZVdpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIktleVZhbHVlVGFibGVXaWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrREFBd0Q7QUFFeEQsZ0RBQWdEO0FBT2hEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSwyQkFBVTtJQUNqRDs7O09BR0c7SUFDSCxZQUFZLElBQWdCO1FBQzFCLEtBQUssQ0FBQztZQUNKLEtBQUssRUFBRSxrQkFBUztZQUNoQixNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQWdCO1FBQ3hDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzlCLFNBQVMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ3hCLFlBQVksSUFBSSxNQUFNLENBQUM7WUFDdkIsUUFBUSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsU0FBUyxLQUFLLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztJQUN0RCxDQUFDOztBQXpCSCxrREEwQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0V2lkZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5cbmltcG9ydCB7IEZ1bGxXaWR0aCB9IGZyb20gXCIuLi8uLi9jb21tb24vd2lkZ2V0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5VmFsdWUge1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHdpZGdldCB0aGF0IGRpc3BsYXlzIGtleS12YWx1ZSBwYWlycyBpbiBhIHRhYmxlIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEtleVZhbHVlVGFibGVXaWRnZXQgZXh0ZW5kcyBUZXh0V2lkZ2V0IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBrZXktdmFsdWUgdGFibGUgd2lkZ2V0LlxuICAgKiBAcGFyYW0gZGF0YSBBbiBhcnJheSBvZiBrZXktdmFsdWUgcGFpcnMgYXMgb2JqZWN0c1xuICAgKi9cbiAgY29uc3RydWN0b3IoZGF0YTogS2V5VmFsdWVbXSkge1xuICAgIHN1cGVyKHtcbiAgICAgIHdpZHRoOiBGdWxsV2lkdGgsXG4gICAgICBoZWlnaHQ6IDMsXG4gICAgICBtYXJrZG93bjogS2V5VmFsdWVUYWJsZVdpZGdldC50b01hcmtkb3duKGRhdGEpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdG9NYXJrZG93bihkYXRhOiBLZXlWYWx1ZVtdKSB7XG4gICAgbGV0IGhlYWRlclJvdyA9IFwiXCI7XG4gICAgbGV0IHN1YkhlYWRlclJvdyA9IFwiXCI7XG4gICAgbGV0IHZhbHVlUm93ID0gXCJcIjtcblxuICAgIGRhdGEuZm9yRWFjaCgoeyBrZXksIHZhbHVlIH0pID0+IHtcbiAgICAgIGhlYWRlclJvdyArPSBcInwgXCIgKyBrZXk7XG4gICAgICBzdWJIZWFkZXJSb3cgKz0gXCJ8LS0tXCI7XG4gICAgICB2YWx1ZVJvdyArPSBcInwgXCIgKyB2YWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBgJHtoZWFkZXJSb3d9XFxuJHtzdWJIZWFkZXJSb3d9XFxuJHt2YWx1ZVJvd31gO1xuICB9XG59XG4iXX0=