UNPKG

@syntropysoft/praetorian

Version:

Praetorian CLI – A universal multi-environment configuration validator for DevSecOps teams. Validate, compare, and secure YAML/ENV files with ease.

46 lines 1.41 kB
"use strict"; /** * TODO: DECLARATIVE PROGRAMMING PATTERN * * This file demonstrates excellent declarative programming practices: * - Pure functions with no side effects * - Functional composition with Promise.all() * - Immutable data handling * - Null coalescing operators (??) * - Array methods (map, length) * - No imperative loops or state mutations * * Mutation Score: 100% - This is why declarative code is easier to test! */ Object.defineProperty(exports, "__esModule", { value: true }); exports.PluginValidator = void 0; class PluginValidator { constructor(options = {}) { this.options = { strict: false, ...options }; } /** * Run validation through all plugins */ async validateThroughPlugins(plugins, config, context) { return Promise.all(plugins.map(plugin => plugin.validate(config, context))); } /** * Check if validation should be considered successful */ isValidationSuccessful(errors) { // Funcional: usar operador de coalescencia nula y verificación de longitud const errorCount = errors?.length ?? 0; return errorCount === 0 || !this.options.strict; } /** * Get strict mode setting */ isStrictMode() { return this.options.strict || false; } } exports.PluginValidator = PluginValidator; //# sourceMappingURL=PluginValidator.js.map