declapract
Version:
A tool to declaratively define best practices, maintainable evolve them, and scalably enforce them.
44 lines • 2.13 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileCheckEvaluation = exports.isFixableCheck = exports.hasPassed = exports.hasFailed = exports.FileEvaluationResult = void 0;
const domain_objects_1 = require("domain-objects");
const joi_1 = __importDefault(require("joi"));
const FileCheckContext_1 = require("./FileCheckContext");
const FileCheckDeclaration_1 = require("./FileCheckDeclaration");
var FileEvaluationResult;
(function (FileEvaluationResult) {
FileEvaluationResult["PASS"] = "PASS";
FileEvaluationResult["FAIL"] = "FAIL";
})(FileEvaluationResult || (exports.FileEvaluationResult = FileEvaluationResult = {}));
const hasFailed = (evaluation) => evaluation.result === FileEvaluationResult.FAIL;
exports.hasFailed = hasFailed;
const hasPassed = (evaluation) => evaluation.result === FileEvaluationResult.PASS;
exports.hasPassed = hasPassed;
// check is fixable if it has a fix function
const isFixableCheck = (evaluation) => !!evaluation.fix;
exports.isFixableCheck = isFixableCheck;
const schema = joi_1.default.object().keys({
practiceRef: joi_1.default.string().required(),
purpose: joi_1.default.string()
.valid(...Object.values(FileCheckDeclaration_1.FileCheckPurpose))
.required(),
type: joi_1.default.string()
.valid(...Object.values(FileCheckDeclaration_1.FileCheckType))
.required(),
required: joi_1.default.boolean().required(),
path: joi_1.default.string().required(),
result: joi_1.default.string()
.valid(...Object.values(FileEvaluationResult))
.required(),
reason: joi_1.default.string().required().allow(null),
fix: joi_1.default.function().allow(null).required(),
context: FileCheckContext_1.FileCheckContext.schema.required(),
});
class FileCheckEvaluation extends domain_objects_1.DomainObject {
}
exports.FileCheckEvaluation = FileCheckEvaluation;
FileCheckEvaluation.schema = schema;
//# sourceMappingURL=FileCheckEvaluation.js.map
;