UNPKG

aws-iam-policy-tool

Version:
26 lines (25 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * validate IAM polices from JSON files */ const promisedLife = require('promised-lifestream'); const StreamUtils = require('@tilfin/stream-utils'); const file_1 = require("./utils/file"); const stream_1 = require("./utils/stream"); const result_writer_1 = require("./utils/result_writer"); const policy_validator_1 = require("./logic/policy_validator"); const file_reader_1 = require("./aws/file_reader"); async function main(inDir, varSet, opts = {}) { const validator = new policy_validator_1.PolicyValidator(opts); const arnPrefix = await validator.prepare(); const jsonFiles = await file_1.listJsonFiles(inDir); await promisedLife([ StreamUtils.readArray(jsonFiles), stream_1.promisedStream((filePath) => file_reader_1.readPolicyFile(filePath, varSet, arnPrefix)), stream_1.promisedStream((file) => validator.validate(file)), result_writer_1.createWriter(opts), ]); return validator.isValid(); } exports.main = main;