UNPKG

nehoid

Version:

Advanced unique ID generation utility with multi-layer encoding, collision detection, and context-aware features

69 lines 2.16 kB
/** * EncodingPipeline class for NehoID * Provides a fluent interface for building encoding pipelines */ import { ENC_TYPE } from "./encoder"; export declare class EncodingPipeline { private encoders; private compressionMethod; private isReversible; private metadata; /** * Add an encoder to the pipeline * @param encoder Encoding type to add * @returns The pipeline instance for chaining */ addEncoder(encoder: ENC_TYPE): EncodingPipeline; /** * Add multiple encoders to the pipeline * @param encoders Array of encoding types to add * @returns The pipeline instance for chaining */ addEncoders(encoders: ENC_TYPE[]): EncodingPipeline; /** * Add compression to the pipeline * @param method Compression method to use * @returns The pipeline instance for chaining */ addCompression(method: "lz77" | "gzip"): EncodingPipeline; /** * Enable reversibility for the pipeline * @returns The pipeline instance for chaining */ enableReversibility(): EncodingPipeline; /** * Disable reversibility for the pipeline * @returns The pipeline instance for chaining */ disableReversibility(): EncodingPipeline; /** * Add metadata to the pipeline * @param key Metadata key * @param value Metadata value * @returns The pipeline instance for chaining */ addMetadata(key: string, value: any): EncodingPipeline; /** * Process input through the pipeline * @param input String to process * @returns Processed string */ process(input: string): string; /** * Reverse the pipeline processing (if reversible) * @param input Processed string to reverse * @returns Original string or null if not reversible */ reverse(input: string): string | null; /** * Get the pipeline configuration * @returns Configuration object */ getConfig(): { encoders: ENC_TYPE[]; compression: "none" | "lz77" | "gzip"; reversible: boolean; metadata: Record<string, any>; }; } //# sourceMappingURL=pipeline.d.ts.map