rcc-configuration
Version:
RCC Configuration Module - Comprehensive configuration management for modular TypeScript applications
168 lines • 6.77 kB
TypeScript
/**
* RCC Configuration Module
*
* Main entry point for the RCC Configuration module.
* This module provides comprehensive configuration management capabilities
* including loading, validation, persistence, and UI management.
*/
export { ConfigurationSystem } from './core/ConfigurationSystem';
export { EnhancedConfigurationSystem } from './core/EnhancedConfigurationSystem';
import { ConfigurationSystem } from './core/ConfigurationSystem';
import { EnhancedConfigurationSystem } from './core/EnhancedConfigurationSystem';
import { ConfigurationToPipelineModule } from './integration/ConfigurationToPipelineModule';
export type { VirtualModelMapping, VirtualModelPipelineConfig, PipelineAssemblyResult } from './integration/ConfigurationToPipelineModule';
import { DecoupledConfigurationToPipelineModule } from './integration/DecoupledConfigurationToPipelineModule';
export type { VirtualModelMapping as DecoupledVirtualModelMapping, DecoupledPipelineTableConfig } from './integration/DecoupledConfigurationToPipelineModule';
export { ConfigurationToPipelineModule };
export { DecoupledConfigurationToPipelineModule };
export * from './interfaces/IConfigLoaderModule';
export * from './interfaces/IConfigPersistenceModule';
export * from './interfaces/IConfigValidatorModule';
export * from './constants/ConfigurationConstants';
export * from './core/ConfigData';
export { PipelineTable, PipelineEntry, PipelineTableConfig } from './core/PipelineTable';
export { EnhancedPipelineConfigGenerator, CompletePipelineConfig } from './core/PipelineTableGenerator';
export { EnhancedPipelineConfigConverter, ConversionOptions } from './core/PipelineConfigConverter';
/**
* Module version information
*/
export declare const MODULE_VERSION = "0.1.0";
/**
* Module information
*/
export declare const MODULE_INFO: {
name: string;
version: string;
description: string;
author: string;
license: string;
repository: string;
keywords: string[];
};
/**
* Module capabilities
*/
export declare const MODULE_CAPABILITIES: string[];
/**
* Configuration system creation options
*/
export interface ConfigurationSystemOptions {
/** System identifier */
id?: string;
/** System name */
name?: string;
/** Initial configuration data or source */
initialConfig?: any;
/** Module configurations */
modules?: Record<string, any>;
/** Whether to enable pipeline integration */
enablePipelineIntegration?: boolean;
/** Pipeline integration configuration */
pipelineIntegration?: {
enabled?: boolean;
strategy?: 'static' | 'dynamic' | 'hybrid';
cache?: {
enabled?: boolean;
ttl?: number;
maxSize?: number;
};
validation?: {
strict?: boolean;
failOnError?: boolean;
warnOnUnknown?: boolean;
};
};
}
/**
* Quick start factory function for creating a configuration system
*
* @param options Configuration system options
* @returns Initialized configuration system instance
*/
export declare function createConfigurationSystem(options?: ConfigurationSystemOptions): Promise<ConfigurationSystem>;
/**
* Factory function for creating enhanced configuration system with pipeline integration
*
* @param options Enhanced configuration system options
* @returns Initialized enhanced configuration system instance
*/
export declare function createEnhancedConfigurationSystem(options?: Omit<ConfigurationSystemOptions, 'enablePipelineIntegration'>): Promise<EnhancedConfigurationSystem>;
/**
* Utility function to validate a configuration object structure
*
* @param config Configuration object to validate
* @returns Whether the configuration has the required structure
*/
export declare function isValidConfigurationStructure(config: any): boolean;
/**
* Utility function to create a basic configuration template
*
* @param name Configuration name
* @param description Optional configuration description
* @returns Basic configuration template
*/
export declare function createConfigurationTemplate(name: string, description?: string): import('./core/ConfigData').ConfigData;
/**
* Utility function to merge configuration objects
*
* @param target Target configuration object
* @param source Source configuration object
* @param strategy Merge strategy
* @returns Merged configuration object
*/
export declare function mergeConfigurations(target: import('./core/ConfigData').ConfigData, source: import('./core/ConfigData').ConfigData, strategy?: 'shallow' | 'deep' | 'replace'): import('./core/ConfigData').ConfigData;
/**
* Utility function to extract configuration paths for validation
*
* @param config Configuration object
* @param prefix Path prefix
* @returns Array of configuration paths
*/
export declare function extractConfigurationPaths(config: Record<string, any>, prefix?: string): string[];
/**
* Utility function to get a nested value from configuration
*
* @param config Configuration object
* @param path Dot-notation path
* @param defaultValue Default value if path not found
* @returns Value at path or default value
*/
export declare function getConfigurationValue(config: Record<string, any>, path: string, defaultValue?: any): any;
/**
* Utility function to set a nested value in configuration
*
* @param config Configuration object
* @param path Dot-notation path
* @param value Value to set
*/
export declare function setConfigurationValue(config: Record<string, any>, path: string, value: any): void;
/**
* Default export for CommonJS compatibility
*/
declare const _default: {
ConfigurationSystem: typeof ConfigurationSystem;
EnhancedConfigurationSystem: typeof EnhancedConfigurationSystem;
ConfigurationToPipelineModule: typeof ConfigurationToPipelineModule;
DecoupledConfigurationToPipelineModule: typeof DecoupledConfigurationToPipelineModule;
createConfigurationSystem: typeof createConfigurationSystem;
createEnhancedConfigurationSystem: typeof createEnhancedConfigurationSystem;
isValidConfigurationStructure: typeof isValidConfigurationStructure;
createConfigurationTemplate: typeof createConfigurationTemplate;
mergeConfigurations: typeof mergeConfigurations;
extractConfigurationPaths: typeof extractConfigurationPaths;
getConfigurationValue: typeof getConfigurationValue;
setConfigurationValue: typeof setConfigurationValue;
MODULE_VERSION: string;
MODULE_INFO: {
name: string;
version: string;
description: string;
author: string;
license: string;
repository: string;
keywords: string[];
};
MODULE_CAPABILITIES: string[];
};
export default _default;
//# sourceMappingURL=index.d.ts.map