UNPKG

aws-iam-policy-tool

Version:
22 lines (21 loc) 617 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function substitute(srcStr, varSet) { return srcStr.replace(/\$?([A-Z][A-Z0-9_]+|\$\{([^\}]+)\})/g, function (match, p1, p2) { const name = p2 || p1; if (name.startsWith('AWS')) { return p1; } return varSet[name] || p1; }); } exports.substitute = substitute; function parseJSON(json, varSet) { return JSON.parse(json, function (_, v) { if (typeof v === 'string') { return substitute(v, varSet); } return v; }); } exports.parseJSON = parseJSON;