UNPKG

credl-parser-evaluator

Version:

TypeScript-based CREDL Parser and Evaluator that processes CREDL files and outputs complete Intermediate Representations

166 lines 5.22 kB
/** * CREDL Schema Validator * * Validates CREDL file structure, types, and cross-references according to the * CREDL v0.2 specification. Implements strict validation with fail-fast behavior. */ import { CREDLFile, ValidationResult } from '../types/CREDLTypes'; export interface ValidationOptions { strict?: boolean; failFast?: boolean; checkCrossReferences?: boolean; } export declare class SchemaValidator { private static readonly DEFAULT_OPTIONS; /** * Validate a complete CREDL file */ static validate(credlFile: CREDLFile, options?: ValidationOptions): ValidationResult; /** * Validate metadata block */ private static validateMetadata; /** * Validate assets block with enhanced error handling */ private static validateAssets; /** * Validate buildings within an asset */ private static validateBuildings; /** * Validate spaces with field exclusivity and conditional requirements */ private static validateSpaces; /** * Validate lease information */ private static validateLease; /** * Validate lease assumptions */ private static validateLeaseAssumptions; /** * Validate assumptions block with scope resolution and conflict detection */ private static validateAssumptions; /** * Validate assumption based on its type */ private static validateAssumptionByType; /** * Validate fixed assumption */ private static validateFixedAssumption; /** * Validate distribution assumption */ private static validateDistributionAssumption; /** * Validate expression assumption */ private static validateExpressionAssumption; /** * Validate table assumption */ private static validateTableAssumption; /** * Validate models block per CREDL Behavioral Specification */ private static validateModels; /** * Validate simulation block with comprehensive validation per Behavioral Specification 6.4-6.7 */ private static validateSimulation; /** * Validate simulation processes structure per Behavioral Specification 6.5 */ private static validateSimulationProcesses; /** * Validate simulation outputs structure per Behavioral Specification 6.4-6.7 */ private static validateSimulationOutputs; /** * Validate outputs block with comprehensive validation per Behavioral Specification 7.1-7.4 */ private static validateOutputs; /** * Validate output metrics array */ private static validateOutputMetrics; /** * Validate output tables array per Behavioral Specification 7.3 */ private static validateOutputTables; /** * Validate output charts array per Behavioral Specification 7.3 */ private static validateOutputCharts; /** * Validate core outputs per Behavioral Specification 7.2 */ private static validateCoreOutputs; /** * Validate extensions block (optional) */ private static validateExtensions; /** * Validate presets block (optional) */ private static validatePresets; /** * Validate templates block (optional) */ private static validateTemplates; /** * Validate cross-references between blocks */ private static validateCrossReferences; /** * Validate property type against space type distribution */ private static validatePropertyTypeDistribution; /** * Get expected primary space type for a property type */ private static getExpectedSpaceTypeForProperty; /** * Validate model vs assumption type compatibility * Deterministic models can only reference fixed, table, expression assumptions * Stochastic models can reference all assumption types including distributions */ private static validateModelAssumptionCompatibility; /** * Validate assumption scope format and apply default values * Implements hierarchical scope resolution with global default */ private static validateAssumptionScope; /** * Validate assumption tags against approved taxonomy * Enforces strict tag validation when tags are provided */ private static validateAssumptionTags; /** * Normalize assumption scope for consistent conflict detection * Converts scopes to lowercase and handles undefined values */ private static normalizeAssumptionScope; /** * Validate minimum required assumptions for financial modeling * Ensures core financial assumption categories are present for DCF, NPV, IRR calculations */ private static validateMinimumRequiredAssumptions; /** * Validate simulation-model compatibility per Behavioral Specification 6.4-6.7 */ private static validateSimulationModelCompatibility; /** * Validate scenarios block per Behavioral Specification 8.2-8.3 */ private static validateScenarios; /** * Validate waterfall block per Behavioral Specification 8.4-8.5 */ private static validateWaterfall; } //# sourceMappingURL=SchemaValidator.d.ts.map