UNPKG

@lucidlayer/babel-plugin-traceform

Version:

Babel plugin to inject data-traceform-id attributes into React components for Traceform

47 lines (46 loc) 1.88 kB
/** * Traceform ID Utilities (Centralized) * * - createTraceformId: Generates a standardized Traceform ID. * - parseTraceformId: Parses a Traceform ID into its components. * - isValidTraceformId: Checks if a string is a valid Traceform ID. * * All error handling is centralized via an optional errorHandler parameter. * Consumers may pass a function to handle errors (e.g., for UI feedback or logging). * * Canonical Format: relativeFilePath::ComponentName::instanceIndex */ interface TraceformIdErrorContext { code: string; message: string; data: any; consumer: string; } export type TraceformIdErrorHandler = (context: TraceformIdErrorContext) => void; /** * Creates a standardized Traceform ID. * @param relativePath - File path relative to project root (forward slashes). * @param componentName - Name of the React component. * @param instanceIndex - Index of the component instance (default 0). * @param errorHandler - Optional error handler for consumer-specific feedback. * @param consumer - Optional string identifying the consumer (for error context). * @returns The standardized Traceform ID string. */ export declare function createTraceformId(relativePath: string, componentName: string, instanceIndex?: number, errorHandler?: TraceformIdErrorHandler, consumer?: string): string; /** * Parses a Traceform ID into its components. * @param id - The Traceform ID string to parse. * @returns An object with relativePath, componentName, and instanceIndex. */ export declare function parseTraceformId(id: string): { relativePath: string; componentName: string; instanceIndex: number; }; /** * Checks if a string is a valid Traceform ID. * @param id - The string to check. * @returns True if the string appears to be a valid Traceform ID. */ export declare function isValidTraceformId(id: string): boolean; export {};