@vulform/core
Version:
Core utilities and types for VulForm packages
55 lines • 2.29 kB
TypeScript
/**
* VulForm Shared Configuration
* Centralized configuration that can be customized at build time and runtime
*/
export declare const VULFORM_CONFIG: {
baseUrl: string | undefined;
cdnUrl: string | undefined;
version: string;
environment: string;
DEFAULT_BASE_URL: string;
DEFAULT_CDN_URL: string;
DEFAULT_TIMEOUT: number;
DEFAULT_RETRIES: number;
SELF_HOSTED_BASE_URL: string;
LOCAL_DEV_BASE_URL: string;
SDK_VERSION: string;
SDK_NAME: string;
AUTHOR: string;
ORGANIZATION: string;
HOMEPAGE: string;
REPOSITORY: string;
};
export interface VulFormConfig {
baseUrl?: string;
cdnUrl?: string;
timeout?: number;
retries?: number;
version?: string;
environment?: 'development' | 'production' | 'test';
}
export type URLResolutionStrategy = 'saas' | 'self-hosted' | 'custom' | 'auto';
export declare class ConfigBuilder {
private config;
private strategy;
constructor(overrides?: Partial<VulFormConfig>, strategy?: URLResolutionStrategy);
private resolveBaseUrl;
private resolveCdnUrl;
private isLocalDevelopment;
setBaseUrl(url: string): ConfigBuilder;
setCdnUrl(url: string): ConfigBuilder;
setEnvironment(env: 'development' | 'production' | 'test'): ConfigBuilder;
setStrategy(strategy: URLResolutionStrategy): ConfigBuilder;
build(): Required<VulFormConfig>;
}
export declare const getDefaultConfig: (overrides?: Partial<VulFormConfig>, strategy?: URLResolutionStrategy) => Required<VulFormConfig>;
export declare const resolveApiUrl: (providedUrl?: string, strategy?: URLResolutionStrategy) => string;
export declare const createSaaSConfig: (overrides?: Partial<VulFormConfig>) => Required<VulFormConfig>;
export declare const createSelfHostedConfig: (overrides?: Partial<VulFormConfig>) => Required<VulFormConfig>;
export declare const createCustomConfig: (baseUrl: string, overrides?: Partial<VulFormConfig>) => Required<VulFormConfig>;
export declare const isDevelopment: () => boolean;
export declare const isProduction: () => boolean;
export declare const isSelfHosted: () => boolean;
export declare const isValidVulFormUrl: (url: string) => boolean;
export declare const normalizeApiUrl: (url: string) => string;
//# sourceMappingURL=index.d.ts.map