UNPKG

@memberjunction/react-runtime

Version:

Platform-agnostic React component runtime for MemberJunction. Provides core compilation, registry, and execution capabilities for React components in any JavaScript environment.

62 lines 1.86 kB
import { ComponentSpec } from '@memberjunction/interactive-component-types'; import { UserInfo } from '@memberjunction/core'; import { ComponentLibraryEntity } from '@memberjunction/core-entities'; import { ComponentObject } from '../types'; export type ResolutionMode = 'embed' | 'preserve-metadata'; export interface LoadOptions { contextUser?: UserInfo; forceRefresh?: boolean; forceRecompile?: boolean; isDependent?: boolean; returnType?: 'component' | 'spec' | 'both'; trackUsage?: boolean; defaultNamespace?: string; defaultVersion?: string; resolutionMode?: ResolutionMode; allLibraries?: ComponentLibraryEntity[]; } export interface LoadResult { success: boolean; component?: ComponentObject; spec?: ComponentSpec; fromCache: boolean; errors?: Array<{ message: string; phase: 'fetch' | 'compile' | 'register' | 'dependency'; componentName?: string; }>; dependencies?: Record<string, ComponentObject>; } export interface HierarchyResult { success: boolean; rootComponent?: ComponentObject; resolvedSpec?: ComponentSpec; loadedComponents: string[]; errors: Array<{ message: string; phase: 'fetch' | 'compile' | 'register' | 'dependency'; componentName?: string; }>; components?: Record<string, ComponentObject>; stats?: { fromCache: number; fetched: number; compiled: number; totalTime: number; }; } export interface ComponentManagerConfig { debug?: boolean; maxCacheSize?: number; cacheTTL?: number; enableUsageTracking?: boolean; dependencyBatchSize?: number; fetchTimeout?: number; } export interface CacheEntry { spec: ComponentSpec; fetchedAt: Date; hash?: string; usageNotified: boolean; } //# sourceMappingURL=types.d.ts.map