UNPKG

axiodb

Version:

The Pure JavaScript Alternative to SQLite. Embedded NoSQL database for Node.js with MongoDB-style queries, zero native dependencies, built-in InMemoryCache, and web GUI. Perfect for desktop apps, CLI tools, and embedded systems. No compilation, no platfor

75 lines (74 loc) 1.85 kB
import { EventEmitter } from 'events'; import { CommandType } from '../tcp/types/command.types'; import { AxioDBCloudOptions, ConnectionState } from './types/client.types'; import DatabaseProxy from './DatabaseProxy'; /** * AxioDBCloud - TCP Client for remote AxioDB access */ export declare class AxioDBCloud extends EventEmitter { private host; private port; private socket; private messageBuffer; private pendingRequests; private connectionState; private options; private reconnectAttempt; private heartbeatInterval; constructor(connectionString: string, options?: AxioDBCloudOptions); /** * Parse connection string: axiodb://host:port */ private parseConnectionString; /** * Connect to AxioDB TCP server */ connect(): Promise<void>; /** * Setup socket event handlers */ private setupSocketHandlers; /** * Handle server response */ private handleResponse; /** * Handle disconnection */ private handleDisconnection; /** * Attempt to reconnect */ private attemptReconnect; /** * Start heartbeat */ private startHeartbeat; /** * Stop heartbeat */ private stopHeartbeat; /** * Send command to server */ sendCommand(command: CommandType, params: any): Promise<any>; /** * Disconnect from server */ disconnect(): Promise<void>; /** * Database API - mirrors AxioDB */ createDB(name: string): Promise<DatabaseProxy>; deleteDatabase(name: string): Promise<void>; isDatabaseExists(name: string): Promise<boolean>; getInstanceInfo(): Promise<any>; /** * Get current connection state */ get state(): ConnectionState; /** * Check if connected */ get isConnected(): boolean; }