UNPKG

ness

Version:

✪ No-effort static sites deployed to your AWS account.

94 lines 7.9 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deserialize = exports.serialize = void 0; const yaml = __importStar(require("yaml")); const yaml_types = __importStar(require("yaml/types")); /** * Serializes the given data structure into valid YAML. * * @param obj the data structure to serialize * @returns a string containing the YAML representation of {@param obj} */ function serialize(obj) { const oldFold = yaml_types.strOptions.fold.lineWidth; try { yaml_types.strOptions.fold.lineWidth = 0; return yaml.stringify(obj, { schema: 'yaml-1.1' }); } finally { yaml_types.strOptions.fold.lineWidth = oldFold; } } exports.serialize = serialize; /** * Deserialize the YAML into the appropriate data structure. * * @param str the string containing YAML * @returns the data structure the YAML represents * (most often in case of CloudFormation, an object) */ function deserialize(str) { return parseYamlStrWithCfnTags(str); } exports.deserialize = deserialize; function makeTagForCfnIntrinsic(intrinsicName, addFnPrefix) { return { identify(value) { return typeof value === 'string'; }, tag: `!${intrinsicName}`, resolve: (_doc, cstNode) => { const ret = {}; ret[addFnPrefix ? `Fn::${intrinsicName}` : intrinsicName] = // the +1 is to account for the ! the short form begins with parseYamlStrWithCfnTags(cstNode.toString().substring(intrinsicName.length + 1)); return ret; }, }; } const shortForms = [ 'Base64', 'Cidr', 'FindInMap', 'GetAZs', 'ImportValue', 'Join', 'Sub', 'Select', 'Split', 'Transform', 'And', 'Equals', 'If', 'Not', 'Or', 'GetAtt', ] .map((name) => makeTagForCfnIntrinsic(name, true)) .concat(makeTagForCfnIntrinsic('Ref', false), makeTagForCfnIntrinsic('Condition', false)); function parseYamlStrWithCfnTags(text) { return yaml.parse(text, { customTags: shortForms, schema: 'yaml-1.1', }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvYXdzL3lhbWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE0QjtBQUU1Qix1REFBd0M7QUFFeEM7Ozs7O0dBS0c7QUFDSCxTQUFnQixTQUFTLENBQUMsR0FBUTtJQUNoQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDcEQsSUFBSTtRQUNGLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUE7UUFDeEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFBO0tBQ2pEO1lBQVM7UUFDUixVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFBO0tBQy9DO0FBQ0gsQ0FBQztBQVJELDhCQVFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEdBQVc7SUFDckMsT0FBTyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRkQsa0NBRUM7QUFFRCxTQUFTLHNCQUFzQixDQUM3QixhQUFxQixFQUNyQixXQUFvQjtJQUVwQixPQUFPO1FBQ0wsUUFBUSxDQUFDLEtBQVU7WUFDakIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7UUFDbEMsQ0FBQztRQUNELEdBQUcsRUFBRSxJQUFJLGFBQWEsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQyxJQUFtQixFQUFFLE9BQTBCLEVBQUUsRUFBRTtZQUMzRCxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUE7WUFDbkIsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUN2RCw0REFBNEQ7Z0JBQzVELHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2pGLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQWtDO0lBQ2hELFFBQVE7SUFDUixNQUFNO0lBQ04sV0FBVztJQUNYLFFBQVE7SUFDUixhQUFhO0lBQ2IsTUFBTTtJQUNOLEtBQUs7SUFDTCxRQUFRO0lBQ1IsT0FBTztJQUNQLFdBQVc7SUFDWCxLQUFLO0lBQ0wsUUFBUTtJQUNSLElBQUk7SUFDSixLQUFLO0lBQ0wsSUFBSTtJQUNKLFFBQVE7Q0FDVDtLQUNFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ2pELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFFM0YsU0FBUyx1QkFBdUIsQ0FBQyxJQUFZO0lBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDdEIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsTUFBTSxFQUFFLFVBQVU7S0FDbkIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHlhbWwgZnJvbSAneWFtbCdcbmltcG9ydCAqIGFzIHlhbWxfY3N0IGZyb20gJ3lhbWwvcGFyc2UtY3N0J1xuaW1wb3J0ICogYXMgeWFtbF90eXBlcyBmcm9tICd5YW1sL3R5cGVzJ1xuXG4vKipcbiAqIFNlcmlhbGl6ZXMgdGhlIGdpdmVuIGRhdGEgc3RydWN0dXJlIGludG8gdmFsaWQgWUFNTC5cbiAqXG4gKiBAcGFyYW0gb2JqIHRoZSBkYXRhIHN0cnVjdHVyZSB0byBzZXJpYWxpemVcbiAqIEByZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFlBTUwgcmVwcmVzZW50YXRpb24gb2Yge0BwYXJhbSBvYmp9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUob2JqOiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBvbGRGb2xkID0geWFtbF90eXBlcy5zdHJPcHRpb25zLmZvbGQubGluZVdpZHRoXG4gIHRyeSB7XG4gICAgeWFtbF90eXBlcy5zdHJPcHRpb25zLmZvbGQubGluZVdpZHRoID0gMFxuICAgIHJldHVybiB5YW1sLnN0cmluZ2lmeShvYmosIHtzY2hlbWE6ICd5YW1sLTEuMSd9KVxuICB9IGZpbmFsbHkge1xuICAgIHlhbWxfdHlwZXMuc3RyT3B0aW9ucy5mb2xkLmxpbmVXaWR0aCA9IG9sZEZvbGRcbiAgfVxufVxuXG4vKipcbiAqIERlc2VyaWFsaXplIHRoZSBZQU1MIGludG8gdGhlIGFwcHJvcHJpYXRlIGRhdGEgc3RydWN0dXJlLlxuICpcbiAqIEBwYXJhbSBzdHIgdGhlIHN0cmluZyBjb250YWluaW5nIFlBTUxcbiAqIEByZXR1cm5zIHRoZSBkYXRhIHN0cnVjdHVyZSB0aGUgWUFNTCByZXByZXNlbnRzXG4gKiAgIChtb3N0IG9mdGVuIGluIGNhc2Ugb2YgQ2xvdWRGb3JtYXRpb24sIGFuIG9iamVjdClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplKHN0cjogc3RyaW5nKTogYW55IHtcbiAgcmV0dXJuIHBhcnNlWWFtbFN0cldpdGhDZm5UYWdzKHN0cilcbn1cblxuZnVuY3Rpb24gbWFrZVRhZ0ZvckNmbkludHJpbnNpYyhcbiAgaW50cmluc2ljTmFtZTogc3RyaW5nLFxuICBhZGRGblByZWZpeDogYm9vbGVhbixcbik6IHlhbWxfdHlwZXMuU2NoZW1hLkN1c3RvbVRhZyB7XG4gIHJldHVybiB7XG4gICAgaWRlbnRpZnkodmFsdWU6IGFueSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICB9LFxuICAgIHRhZzogYCEke2ludHJpbnNpY05hbWV9YCxcbiAgICByZXNvbHZlOiAoX2RvYzogeWFtbC5Eb2N1bWVudCwgY3N0Tm9kZTogeWFtbF9jc3QuQ1NULk5vZGUpID0+IHtcbiAgICAgIGNvbnN0IHJldDogYW55ID0ge31cbiAgICAgIHJldFthZGRGblByZWZpeCA/IGBGbjo6JHtpbnRyaW5zaWNOYW1lfWAgOiBpbnRyaW5zaWNOYW1lXSA9XG4gICAgICAgIC8vIHRoZSArMSBpcyB0byBhY2NvdW50IGZvciB0aGUgISB0aGUgc2hvcnQgZm9ybSBiZWdpbnMgd2l0aFxuICAgICAgICBwYXJzZVlhbWxTdHJXaXRoQ2ZuVGFncyhjc3ROb2RlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKGludHJpbnNpY05hbWUubGVuZ3RoICsgMSkpXG4gICAgICByZXR1cm4gcmV0XG4gICAgfSxcbiAgfVxufVxuXG5jb25zdCBzaG9ydEZvcm1zOiB5YW1sX3R5cGVzLlNjaGVtYS5DdXN0b21UYWdbXSA9IFtcbiAgJ0Jhc2U2NCcsXG4gICdDaWRyJyxcbiAgJ0ZpbmRJbk1hcCcsXG4gICdHZXRBWnMnLFxuICAnSW1wb3J0VmFsdWUnLFxuICAnSm9pbicsXG4gICdTdWInLFxuICAnU2VsZWN0JyxcbiAgJ1NwbGl0JyxcbiAgJ1RyYW5zZm9ybScsXG4gICdBbmQnLFxuICAnRXF1YWxzJyxcbiAgJ0lmJyxcbiAgJ05vdCcsXG4gICdPcicsXG4gICdHZXRBdHQnLFxuXVxuICAubWFwKChuYW1lKSA9PiBtYWtlVGFnRm9yQ2ZuSW50cmluc2ljKG5hbWUsIHRydWUpKVxuICAuY29uY2F0KG1ha2VUYWdGb3JDZm5JbnRyaW5zaWMoJ1JlZicsIGZhbHNlKSwgbWFrZVRhZ0ZvckNmbkludHJpbnNpYygnQ29uZGl0aW9uJywgZmFsc2UpKVxuXG5mdW5jdGlvbiBwYXJzZVlhbWxTdHJXaXRoQ2ZuVGFncyh0ZXh0OiBzdHJpbmcpOiBhbnkge1xuICByZXR1cm4geWFtbC5wYXJzZSh0ZXh0LCB7XG4gICAgY3VzdG9tVGFnczogc2hvcnRGb3JtcyxcbiAgICBzY2hlbWE6ICd5YW1sLTEuMScsXG4gIH0pXG59XG4iXX0=