credl-parser-evaluator
Version:
TypeScript-based CREDL Parser and Evaluator that processes CREDL files and outputs complete Intermediate Representations
166 lines • 5.22 kB
TypeScript
/**
* 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