UNPKG

nehoid

Version:

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

132 lines 4.34 kB
/** * @fileoverview Main entry point for the NehoID library. * * NehoID is a comprehensive TypeScript library for generating, validating, and managing unique identifiers. * It provides multiple ID generation strategies, collision-resistant options, monitoring capabilities, * and seamless integration with popular databases and web frameworks. * * @example * ```typescript * import { NehoID, database } from 'nehoid'; * * // Generate a unique ID * const id = NehoID.generate(); * * // Validate an ID * const isValid = NehoID.validate(id); * * // Integrate with Mongoose * const userSchema = new mongoose.Schema({ * _id: database.mongoose('User') * }); * ``` */ import { EncodingPipeline } from "./core/pipeline"; import { mongooseField, sequelizeField, typeormDecorator } from "./integrations/database"; import { IdGeneratorOptions, CollisionStrategy, ContextOptions, SemanticOptions, BatchOptions, ValidationOptions, HealthScore, Stats, MigrationOptions, CompatibilityOptions } from "./types"; import { NehoID } from "./mods/nehoid"; import { Checksum } from "./mods/checksum"; /** * Configuration options for ID generation. * Defines parameters like size, encoding, prefixes, and other generation settings. */ export type { IdGeneratorOptions }; /** * Strategy configuration for collision-resistant ID generation. * Includes maximum attempts, backoff type, and validation function. */ export type { CollisionStrategy }; /** * Options for generating contextual IDs that incorporate environment data. * Can include device info, timezone, browser details, and user behavior. */ export type { ContextOptions }; /** * Configuration for semantic ID generation with meaningful segments. * Supports prefixes, regions, departments, years, and custom segments. */ export type { SemanticOptions }; /** * Options for batch ID generation operations. * Configures count, format, parallel processing, and uniqueness requirements. */ export type { BatchOptions }; /** * Validation configuration options. * Controls format checking, collision detection, and corruption repair. */ export type { ValidationOptions }; /** * Health score object for ID analysis. * Contains entropy level, predictability assessment, and improvement recommendations. */ export type { HealthScore }; /** * Statistics object for monitoring ID generation performance. * Tracks generated count, collisions, timing, and memory usage. */ export type { Stats }; /** * Configuration for migrating IDs between different formats. * Supports batch processing, order preservation, and selective migration. */ export type { MigrationOptions }; /** * Compatibility options for cross-platform ID generation. * Defines target platforms, formats, and length requirements. */ export type { CompatibilityOptions }; /** * The main NehoID class providing all ID generation and management functionality. * Offers static methods for generation, validation, monitoring, and advanced operations. */ export { NehoID }; export { NehoID as ID }; /** * Checksum utilities for ID validation and integrity checking. * Provides multiple algorithms including CRC32, Adler32, FNV-1a, and MurmurHash3. */ export { Checksum }; /** * Database integration helpers for popular ORMs. * Provides field definitions and decorators for seamless database integration. * * @example * ```typescript * // Mongoose integration * const userSchema = new mongoose.Schema({ * _id: database.mongoose('User'), * name: String * }); * * // Sequelize integration * class User extends Model { * @database.sequelize('User') * id: string; * } * * // TypeORM integration * @Entity() * class User { * @database.typeorm('User') * id: string; * } * ``` */ export declare const database: { mongoose: typeof mongooseField; sequelize: typeof sequelizeField; typeorm: typeof typeormDecorator; }; /** * Advanced encoding pipeline for processing and transforming IDs. * Supports compression, reversible encoding, and custom transformation chains. */ export { EncodingPipeline }; /** * Encoder class for various encoding schemes and transformations. * Provides methods for base64, hex, custom alphabets, and cryptographic encoding. */ export { Encoder } from "./core/encoder"; export default NehoID; //# sourceMappingURL=index.d.ts.map