@ultipa-graph/ultipa-driver
Version:
NodeJS SDK for Ultipa GQL
54 lines (53 loc) • 2.34 kB
TypeScript
/**
* Data service handles node and edge insert/delete/export operations.
*/
import { ServiceContext } from './service-context';
import { InsertNodesResult, InsertEdgesResult, ExportNodesResult, ExportEdgesResult, ExportConfig, ExportChunk } from '../response';
import { NodeData, EdgeData } from '../types';
import { InsertNodesConfig, InsertEdgesConfig } from '../client';
/**
* Parse leading major.minor.patch from a server version string.
* Returns [0,0,0] on parse failure (treated as "unknown / pre-6.1.149").
*/
export declare function parseVersion(s: string | null | undefined): [number, number, number];
/**
* Data service for inserting, deleting, and exporting graph data.
*/
export declare class DataService {
private ctx;
constructor(ctx: ServiceContext);
/**
* Throw GqldbError if `mode` is UPSERT and the connected server is
* older than 6.1.149.
*
* Server >= 6.1.154 reports the real version in
* `LoginResponse.server_version`. Older servers either return a
* placeholder "1.0.0" or leave the field empty — both are now treated
* as "definitely older than 6.1.149" and rejected. (Earlier versions
* of this gate let those cases pass through; that workaround was
* removed once 6.1.154+ started populating the field correctly.)
*/
private requireUpsertSupport;
/**
* Insert multiple nodes into a graph.
*/
insertNodes(graphName: string, nodes: NodeData[], config?: InsertNodesConfig): Promise<InsertNodesResult>;
/**
* Insert multiple edges into a graph.
*/
insertEdges(graphName: string, edges: EdgeData[], config?: InsertEdgesConfig): Promise<InsertEdgesResult>;
/**
* Export graph data in JSON Lines format (streaming).
*/
export(config: ExportConfig, callback?: (chunk: ExportChunk) => void): Promise<void>;
/**
* Stream nodes from a graph.
* @deprecated Use export() with ExportConfig instead
*/
exportNodes(graphName: string, labels?: string[], limit?: number, callback?: (result: ExportNodesResult) => void): Promise<void>;
/**
* Stream edges from a graph.
* @deprecated Use export() with ExportConfig instead
*/
exportEdges(graphName: string, labels?: string[], limit?: number, callback?: (result: ExportEdgesResult) => void): Promise<void>;
}