{"version":3,"file":"index.cjs","sources":["../src/core.js","../src/node.js","../src/browser.js","../src/index.js"],"sourcesContent":["export class NuDBCore {\n  constructor(wsUrl, options = {}) {\n    this.wsUrl = wsUrl;\n    this.options = options;\n    this.socket = null;\n    this.listeners = {};\n    this.dataCallbacks = {};\n    this.queue = [];\n    this.headers = options.headers || {};\n    this.connect();\n  }\n\n  // ... existing code ...\n\n  _handleMessage(data) {\n    try {\n      const msg = JSON.parse(data);\n      if (msg.type === \"update\" && this.listeners[msg.path]) {\n        this.listeners[msg.path].forEach(callback => callback(msg.data));\n      }\n      if (msg.type === \"data\" && this.dataCallbacks[msg.path]) {\n        this.dataCallbacks[msg.path].forEach(callback => callback(msg.data));\n        delete this.dataCallbacks[msg.path];\n      }\n    } catch (err) {\n      console.error(\"Message handling error:\", err);\n    }\n  }\n\n  _handleClose() {\n    console.log(\"WebSocket disconnected, reconnecting...\");\n    setTimeout(() => this.connect(), 3000);\n  }\n\n  // ... rest of your existing code ...\n\n  _generateId() {\n    const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n    let str = \"\";\n    for (let i = 0; i < 17; i++) {\n      str += chars.charAt(Math.floor(Math.random() * chars.length));\n    }\n    return `${Date.now()}${str}`;\n  }\n\n  setHeader(key, value) {\n    this.headers[key] = value;\n    return this;\n  }\n\n  sendMessage(msg) {\n    const fullMsg = {\n      ...msg,\n      headers: this.headers,\n    };\n\n    if (this.socket?.readyState === 1) {\n      this.socket.send(JSON.stringify(fullMsg));\n    } else {\n      this.queue.push(fullMsg);\n    }\n    return this;\n  }\n\n  subscribe(path) {\n    this.sendMessage({ type: \"subscribe\", path });\n    return this;\n  }\n\n  on(path, callback) {\n    if (!this.listeners[path]) {\n      this.listeners[path] = [];\n      this.subscribe(path);\n    }\n    this.listeners[path].push(callback);\n    return this;\n  }\n\n  get(path, callback) {\n    if (!this.dataCallbacks[path]) {\n      this.dataCallbacks[path] = [];\n    }\n    this.dataCallbacks[path].push(callback);\n    this.sendMessage({ type: \"get\", path });\n    return this;\n  }\n\n  set(path, data) {\n    this.sendMessage({ type: \"set\", path, data });\n    return this;\n  }\n\n  push(path, data) {\n    const id = this._generateId();\n    const fullPath = `${path}/${id}`;\n    this.set(fullPath, data);\n    return id;\n  }\n\n  update(path, data) {\n    this.sendMessage({ type: \"update\", path, data });\n    return this;\n  }\n\n  delete(path) {\n    this.sendMessage({ type: \"delete\", path });\n    return this;\n  }\n\n  close() {\n    if (this.socket) {\n      this.socket.close();\n    }\n    return this;\n  }\n}","import { NuDBCore } from './core.js';\nimport WebSocket from 'isomorphic-ws';\n\nexport class NuDB extends NuDBCore {\n  constructor(wsUrl, options = {}) {\n    super(wsUrl, options);\n  }\n\n  connect() {\n    this.socket = new WebSocket(this.wsUrl);\n\n    this.socket.on('open', () => {\n      console.log(\"🟢 NuDB WebSocket connected\");\n      this._processQueue();\n      this._resubscribe();\n    });\n\n    // Use arrow functions to maintain 'this' context\n    this.socket.on('message', (data) => this._handleMessage(data));\n    this.socket.on('close', () => this._handleClose());\n    this.socket.on('error', (err) => {\n      console.error(\"NuDB WebSocket error:\", err);\n    });\n  }\n\n  _processQueue() {\n    while (this.queue.length > 0) {\n      const action = this.queue.shift();\n      this.socket.send(JSON.stringify(action));\n    }\n  }\n\n  _resubscribe() {\n    Object.keys(this.listeners).forEach((path) => {\n      this.sendMessage({ type: \"subscribe\", path });\n    });\n  }\n}","import { NuDBCore } from './core.js';\n\nexport class NuDB extends NuDBCore {\n  constructor(wsUrl, options = {}) {\n    super(wsUrl, options);\n  }\n\n  connect() {\n    this.socket = new WebSocket(this.wsUrl);\n\n    this.socket.onopen = () => {\n      console.log(\"🟢 NuDB WebSocket connected\");\n      this._processQueue();\n      this._resubscribe();\n    };\n\n    this.socket.onmessage = this._handleMessage.bind(this);\n    this.socket.onclose = this._handleClose.bind(this);\n  }\n\n  _processQueue() {\n    while (this.queue.length > 0) {\n      const action = this.queue.shift();\n      this.socket.send(JSON.stringify(action));\n    }\n  }\n\n  _resubscribe() {\n    Object.keys(this.listeners).forEach((path) => {\n      this.sendMessage({ type: \"subscribe\", path });\n    });\n  }\n\n  _handleMessage(event) {\n    try {\n      const msg = JSON.parse(event.data);\n      console.log(\"📩 NuDB received:\", msg);\n\n      if (msg.type === \"update\" && this.listeners[msg.path]) {\n        this.listeners[msg.path].forEach((callback) => callback(msg.data));\n      }\n\n      if (msg.type === \"data\" && this.dataCallbacks[msg.path]) {\n        this.dataCallbacks[msg.path].forEach((callback) => callback(msg.data));\n        delete this.dataCallbacks[msg.path];\n      }\n    } catch (err) {\n      console.error(\"NuDB message parse error:\", err);\n    }\n  }\n\n  _handleClose() {\n    console.warn(\"🔴 NuDB WebSocket disconnected. Reconnecting...\");\n    setTimeout(() => this.connect(), 3000);\n  }\n}","import { NuDB as NodeNuDB } from './node.js';\nimport { NuDB as BrowserNuDB } from './browser.js';\n\nexport const NuDB = typeof window !== 'undefined' ? BrowserNuDB : NodeNuDB;\nexport default NuDB;"],"names":["NuDB","WebSocket","BrowserNuDB","NodeNuDB"],"mappings":";;;;;;;;;;AAAO,MAAM,QAAQ,CAAC;AACtB,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE;AACnC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACvB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACvB,IAAI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACxB,IAAI,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAC5B,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACpB,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;AACzC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AACnB,GAAG;AACH;AACA;AACA;AACA,EAAE,cAAc,CAAC,IAAI,EAAE;AACvB,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7D,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,OAAO;AACP,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC/D,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,OAAO;AACP,KAAK,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;AACpD,KAAK;AACL,GAAG;AACH;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AAC3D,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3C,GAAG;AACH;AACA;AACA;AACA,EAAE,WAAW,GAAG;AAChB,IAAI,MAAM,KAAK,GAAG,gEAAgE,CAAC;AACnF,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;AACjB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;AACjC,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACpE,KAAK;AACL,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACjC,GAAG;AACH;AACA,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE;AACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC9B,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,WAAW,CAAC,GAAG,EAAE;AACnB,IAAI,MAAM,OAAO,GAAG;AACpB,MAAM,GAAG,GAAG;AACZ,MAAM,OAAO,EAAE,IAAI,CAAC,OAAO;AAC3B,KAAK,CAAC;AACN;AACA,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,EAAE;AACvC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,SAAS,CAAC,IAAI,EAAE;AAClB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAChC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC3B,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE;AACtB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AACnC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE;AAClB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACnB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,IAAI,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7B,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH;AACA,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,MAAM,CAAC,IAAI,EAAE;AACf,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;AACA,EAAE,KAAK,GAAG;AACV,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1B,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH;;AChHO,MAAMA,MAAI,SAAS,QAAQ,CAAC;AACnC,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE;AACnC,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,GAAG,IAAIC,6BAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM;AACjC,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAC1B,KAAK,CAAC,CAAC;AACP;AACA;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACvD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK;AACrC,MAAM,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAClD,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACxC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,KAAK;AACL,GAAG;AACH;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAClD,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;ACnCO,MAAMD,MAAI,SAAS,QAAQ,CAAC;AACnC,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE;AACnC,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1B,GAAG;AACH;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM;AAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAC1B,KAAK,CAAC;AACN;AACA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,GAAG;AACH;AACA,EAAE,aAAa,GAAG;AAClB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACxC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,KAAK;AACL,GAAG;AACH;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAClD,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,cAAc,CAAC,KAAK,EAAE;AACxB,IAAI,IAAI;AACR,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACzC,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AAC5C;AACA,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC7D,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,OAAO;AACP;AACA,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC/D,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,OAAO;AACP,KAAK,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACtD,KAAK;AACL,GAAG;AACH;AACA,EAAE,YAAY,GAAG;AACjB,IAAI,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;AACpE,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3C,GAAG;AACH;;ACpDY,MAAC,IAAI,GAAG,OAAO,MAAM,KAAK,WAAW,GAAGE,MAAW,GAAGC;;;;;"}