@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
TypeScript
/**
* 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 {};