ID Generation
ID generation utility functions, providing random string generation functionality.
Functions
DKID
Generates a random string ID according to specified rules.
javascript
import { DKID } from 'strap-trousers'
// Generate default ID
const id = DKID()
console.log(id) // e.g., "abc123def456"
// Generate ID with custom parameters
const customId = DKID({
length: 16,
prefix: 'user_',
suffix: '_2024',
type: 'mixed' // 'number', 'letter', 'mixed'
})
console.log(customId) // e.g., "user_xyz789abc123_2024"Parameters:
options(Object, optional): Configuration objectlength(number): Length of the random string part (default: varies by type)prefix(string): Prefix string (default: '')suffix(string): Suffix string (default: '')type(string): Character type - 'number', 'letter', 'mixed' (default: 'mixed')
Returns:
string: Generated ID string
Usage Examples
Basic ID Generation
javascript
import { DKID } from 'strap-trousers'
// Generate default ID
const id1 = DKID()
console.log(id1) // Random string like "abc123def456"
// Generate number-only ID
const numberId = DKID({ type: 'number' })
console.log(numberId) // e.g., "123456789"
// Generate letter-only ID
const letterId = DKID({ type: 'letter' })
console.log(letterId) // e.g., "abcdefghi"Custom ID Format
javascript
import { DKID } from 'strap-trousers'
// User ID
const userId = DKID({
prefix: 'user_',
length: 8,
type: 'mixed'
})
console.log(userId) // e.g., "user_abc12345"
// Order ID with timestamp
const orderId = DKID({
prefix: 'ORD',
suffix: Date.now().toString().slice(-6),
length: 6,
type: 'number'
})
console.log(orderId) // e.g., "ORD123456789012"
// Product SKU
const sku = DKID({
prefix: 'SKU-',
length: 10,
type: 'mixed'
})
console.log(sku) // e.g., "SKU-abc123def4"Batch ID Generation
javascript
import { DKID } from 'strap-trousers'
// Generate multiple unique IDs
function generateIds(count, options = {}) {
const ids = new Set()
while (ids.size < count) {
const id = DKID(options)
ids.add(id)
}
return Array.from(ids)
}
// Generate 5 user IDs
const userIds = generateIds(5, {
prefix: 'user_',
length: 6,
type: 'mixed'
})
console.log(userIds)
// ["user_abc123", "user_def456", "user_ghi789", "user_jkl012", "user_mno345"]Practical Application
javascript
import { DKID } from 'strap-trousers'
// Session ID generator
function generateSessionId() {
return DKID({
prefix: 'session_',
length: 16,
type: 'mixed'
})
}
// Transaction ID generator
function generateTransactionId() {
return DKID({
prefix: 'TXN',
suffix: Date.now().toString(36).toUpperCase(),
length: 8,
type: 'number'
})
}
// Short code generator for sharing
function generateShareCode() {
return DKID({
length: 6,
type: 'mixed'
}).toUpperCase()
}
// Usage
const sessionId = generateSessionId()
const transactionId = generateTransactionId()
const shareCode = generateShareCode()
console.log('Session ID:', sessionId)
console.log('Transaction ID:', transactionId)
console.log('Share Code:', shareCode)Notes
- The function generates cryptographically strong random strings
- Default length varies by type: number (9), letter (9), mixed (12)
- Prefix and suffix are not included in the length calculation
- For high-security ID generation requirements, consider using specialized ID generation libraries like uuid or nanoid