nehoid
Version:
Advanced unique ID generation utility with multi-layer encoding, collision detection, and context-aware features
69 lines • 2.16 kB
TypeScript
/**
* 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