NehoID - Advanced Unique ID Generation Utility
π What Makes NehoID Special?
Unlike other ID generators, NehoID provides:
- Multi-Layer Encoding: Advanced encoding pipeline with 20+ encoding types
- Smart Collision Detection: Built-in collision avoidance with configurable strategies
- Context-Aware Generation: Device, location, and behavior-aware IDs
- Advanced Analytics: Performance monitoring and ID distribution analysis
- Format Migration: Tools to migrate between ID formats
- Batch Operations: High-performance bulk ID generation
- Custom Alphabets: Support for domain-specific character sets
- ID Health Scoring: Validate and score ID quality
π¦ Installation
npm install nehoid
yarn add nehoid
bun add nehoid
π Quick Start
import { NehoID } from "nehoid";
const id = NehoID.generate();
console.log(id);
const safeId = await NehoID.safe({
strategy: "retry",
maxAttempts: 3,
checkFunction: async (id) => !(await database.exists(id)),
});
const contextId = NehoID.contextual({
includeDevice: true,
includeLocation: true,
userBehavior: "returning-customer",
});
π― Core Features
1. Multiple ID Types
NehoID.uuid();
NehoID.nanoid();
NehoID.short();
NehoID.hex();
NehoID.hierarchical();
NehoID.temporal();
NehoID.semantic();
NehoID.sequential();
2. Smart Collision Detection
const collisionSafeId = await NehoID.safe({
strategy: "exponential-backoff",
maxAttempts: 5,
checkFunction: async (id) => {
return !(await yourDatabase.exists("users", id));
},
});
3. Advanced Encoding Pipeline
NehoID.generate({
encoding: ["base64", "hex", "rot13"],
compression: "lz77",
alphabet: "ABCDEFGHIJKLMNOPQR",
reversible: true,
});
4. Batch Operations
const batchIds = NehoID.batch({
count: 10000,
format: "nano",
parallel: true,
ensureUnique: true,
});
const validation = NehoID.validateBatch(existingIds, {
checkFormat: true,
checkCollisions: true,
repairCorrupted: true,
});
5. Analytics & Monitoring
NehoID.startMonitoring();
const stats = NehoID.getStats();
const health = NehoID.healthCheck("your-id-here");
6. Context-Aware Generation
const deviceId = NehoID.contextual({
includeDevice: true,
includeTimezone: true,
includeBrowser: true,
includeScreen: true,
});
const businessId = NehoID.semantic({
prefix: "ORDER",
region: "US-WEST",
department: "SALES",
year: 2024,
});
7. Migration & Compatibility
const migrated = NehoID.migrate({
from: "uuid",
to: "nehoid-v2",
preserveOrder: true,
batchSize: 1000,
});
const compatible = NehoID.compatible({
platform: ["javascript", "python", "go"],
format: "base64",
length: 16,
});
π§ Advanced Configuration
import { NehoID, CollisionStrategy, EncodingPipeline } from "nehoid";
const customStrategy: CollisionStrategy = {
name: "database-check",
maxAttempts: 3,
backoffType: "exponential",
checkFunction: async (id) => {
return !(await myDatabase.findById(id));
},
};
const pipeline = new EncodingPipeline()
.addEncoder("base64")
.addCompression("gzip")
.addEncoder("hex")
.enableReversibility();
const id = NehoID.generate({
strategy: customStrategy,
pipeline: pipeline,
metadata: {
createdBy: "user-service",
version: "2.1.0",
},
});
π Performance Benchmarks
Generate 1K IDs | 0.8ms | 1.2ms | 1.0ms | 2.1ms |
Batch 100K IDs | 45ms | 78ms | 62ms | 180ms |
Collision Check | 0.1ms | N/A | N/A | N/A |
Memory Usage | 1.2MB | 2.1MB | 1.8MB | 3.2MB |
π API Reference
Core Methods
NehoID.generate(options?)
- Generate basic ID
NehoID.safe(options)
- Generate with collision detection
NehoID.batch(options)
- Bulk generation
NehoID.validate(id, options?)
- Validate ID format
NehoID.healthCheck(id)
- Score ID quality
Specialized Generators
NehoID.uuid()
- Standard UUID
NehoID.nanoid(length?)
- NanoID format
NehoID.short(length?)
- Short URL-safe ID
NehoID.hex(length?)
- Hexadecimal ID
NehoID.contextual(options)
- Context-aware ID
NehoID.semantic(options)
- Semantic/meaningful ID
Utilities
NehoID.decode(id)
- Reverse engineer ID (if reversible)
NehoID.migrate(options)
- Migrate ID formats
NehoID.compatible(options)
- Cross-platform compatible IDs
NehoID.startMonitoring()
- Enable performance monitoring
NehoID.getStats()
- Get generation statistics
π Security Features
- Cryptographically secure random generation
- Timing attack resistance
- No predictable patterns
- Optional encryption layer
- Audit trail support
π Framework Integrations
app.use(
NehoID.middleware({
header: "X-Request-ID",
format: "short",
})
);
const User = model("User", {
id: {
type: String,
default: () => NehoID.generate({ prefix: "usr" }),
},
});
π Advanced V2 Features
NehoID V2 introduces a set of advanced ID generation capabilities for specialized use cases:
import { NehoId } from "nehoid";
const quantumId = NehoId.quantum({
entanglementGroup: "user-session",
coherenceTime: 60000
});
const bioId = NehoId.biometric({
fingerprint: "fp_data_hash",
keystrokeDynamics: [0.32, 0.45, 0.67]
});
const blockchainId = NehoId.blockchain({
networkId: "main-net",
consensusType: "proof-of-stake"
});
const patternId = NehoId.patternEmbedded("user-behavior-pattern");
const recursiveId = NehoId.recursive(3);
const fractalId = NehoId.fractal(4, 0.8);
Combination Methods
const ultimateId = NehoId.ultimate({
quantumGroup: "secure-session",
biometricData: { fingerprint: "fp_hash", voicePrint: "vp_hash" },
mlFeatures: [0.7, 0.2, 0.9]
});
const cosmicDnaId = NehoId.cosmicDNA("orion", 5);
const predictiveSequence = NehoId.predictiveSequence(5);
console.log(predictiveSequence.baseId);
console.log(predictiveSequence.sequenceIds);
const materializedId = predictiveSequence.materialize(2);
Dynamic ID Systems
const adaptiveSystem = NehoId.createAdaptiveSystem({});
const adaptiveId1 = adaptiveSystem.generateNext();
const adaptiveId2 = adaptiveSystem.generateNext("user-login");
console.log(adaptiveSystem.getEvolutionHistory());
const fluidPool = NehoId.createFluidPool(50);
const fluidId = fluidPool.draw();
fluidPool.replenish(10);
π License
MIT License - see LICENSE file for details
π€ Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
π Support