UNPKG

aws-iam-policy-tool

Version:
25 lines (24 loc) 984 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * validate IAM roles from JSON files */ const promisedLife = require('promised-lifestream'); const StreamUtils = require('@tilfin/stream-utils'); const stream_1 = require("./utils/stream"); const result_writer_1 = require("./utils/result_writer"); const role_validator_1 = require("./logic/role_validator"); const file_1 = require("./utils/file"); const file_reader_1 = require("./aws/file_reader"); async function main(inDir, varSet, opts = {}) { const validator = new role_validator_1.RoleValidator(); const jsonFiles = await file_1.listJsonFiles(inDir); await promisedLife([ StreamUtils.readArray(jsonFiles), stream_1.promisedStream((filePath) => file_reader_1.readRoleFile(filePath, varSet)), stream_1.promisedStream((file) => validator.validate(file)), result_writer_1.createWriter(opts), ]); return validator.isValid(); } exports.main = main;