nehoid
Version:
Advanced unique ID generation utility with multi-layer encoding, collision detection, and context-aware features
54 lines • 1.62 kB
TypeScript
/**
* Database ORM integrations for NehoID
* Provides adapters for popular ORMs and database libraries
*/
/**
* Options for ID field generation
*/
export interface IdFieldOptions {
/** Prefix to add to the ID */
prefix?: string;
/** ID format to use */
format?: 'standard' | 'uuid' | 'short' | 'nano' | 'semantic';
/** Whether to ensure uniqueness in the database */
ensureUnique?: boolean;
/** Custom ID generator function */
generator?: () => string;
/** Additional options for semantic IDs */
semantic?: {
region?: string;
department?: string;
year?: number;
customSegments?: Record<string, string | number>;
};
}
/**
* Generate a default ID field for Mongoose schemas
* @param options ID field options
* @returns Mongoose schema field definition
*/
export declare function mongooseField(options?: IdFieldOptions): {
type: StringConstructor;
default: () => string;
unique: boolean;
required: boolean;
index: boolean;
};
/**
* Generate a default ID field for Sequelize models
* @param options ID field options
* @returns Sequelize model field definition
*/
export declare function sequelizeField(options?: IdFieldOptions): {
type: string;
primaryKey: boolean;
defaultValue: () => string;
unique: boolean;
};
/**
* Generate a default ID field for TypeORM entities
* @param options ID field options
* @returns TypeORM decorator factory
*/
export declare function typeormDecorator(options?: IdFieldOptions): () => (target: any, propertyKey: string) => void;
//# sourceMappingURL=database.d.ts.map