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
TypeScript
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;
}