@cloud-copilot/iam-simulate
Version:
Simulate evaluation of AWS IAM policies
35 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StringEquals = void 0;
const util_js_1 = require("../../util.js");
const conditionUtil_js_1 = require("../conditionUtil.js");
exports.StringEquals = {
name: 'StringEquals',
matches: (request, keyValue, policyValues) => {
const explains = policyValues.map((value) => {
const { pattern, errors } = (0, util_js_1.convertIamString)(value, request, { replaceWildcards: false });
if (errors && errors.length > 0) {
return {
value,
matches: false,
errors
};
}
const matches = pattern.test(keyValue);
return {
value,
matches,
resolvedValue: (0, conditionUtil_js_1.resolvedValue)(value, request)
};
});
const overallMatch = explains.some((explain) => explain.matches);
return {
matches: overallMatch,
explains
};
},
allowsVariables: true,
allowsWildcards: false,
isNegative: false
};
//# sourceMappingURL=StringEquals.js.map