UNPKG

@klastra/ksync

Version:

Real-time sync engine for modern applications with 300k+ ops/sec performance

34 lines 1.07 kB
// Generate unique IDs export function generateId() { return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; } // Generate client ID (persistent across sessions) export function getClientId() { if (typeof window !== 'undefined') { let clientId = localStorage.getItem('ksync-client-id'); if (!clientId) { clientId = generateId(); localStorage.setItem('ksync-client-id', clientId); } return clientId; } // Server-side or Node.js return `server-${generateId()}`; } // Simple logger export function createLogger(debug = false) { return { log: (...args) => debug && console.log('[kSync]', ...args), error: (...args) => console.error('[kSync]', ...args), warn: (...args) => debug && console.warn('[kSync]', ...args), }; } // Deep clone utility export function deepClone(obj) { return JSON.parse(JSON.stringify(obj)); } // Check if running in browser export function isBrowser() { return typeof window !== 'undefined'; } //# sourceMappingURL=utils.js.map