aws-iam-policy-tool
Version:
AWS IAM role/policy management cli tool
22 lines (21 loc) • 617 B
JavaScript
;
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;