mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-27 23:12:58 +00:00
Use Napi to write a Node.js SDK that follows Polars for better maintainability, while keeping most of the logic in Rust.
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
/* eslint-disable */
|
|
|
|
/* auto-generated by NAPI-RS */
|
|
|
|
export interface ConnectionOptions {
|
|
uri: string
|
|
apiKey?: string
|
|
hostOverride?: string
|
|
}
|
|
/** Write mode for writing a table. */
|
|
export const enum WriteMode {
|
|
Create = 'Create',
|
|
Append = 'Append',
|
|
Overwrite = 'Overwrite'
|
|
}
|
|
/** Write options when creating a Table. */
|
|
export interface WriteOptions {
|
|
mode?: WriteMode
|
|
}
|
|
export function connect(options: ConnectionOptions): Promise<Connection>
|
|
export class Connection {
|
|
/** Create a new Connection instance from the given URI. */
|
|
static new(uri: string): Promise<Connection>
|
|
/** List all tables in the dataset. */
|
|
tableNames(): Promise<Array<string>>
|
|
/**
|
|
* Create table from a Apache Arrow IPC (file) buffer.
|
|
*
|
|
* Parameters:
|
|
* - name: The name of the table.
|
|
* - buf: The buffer containing the IPC file.
|
|
*
|
|
*/
|
|
createTable(name: string, buf: Buffer): Promise<Table>
|
|
openTable(name: string): Promise<Table>
|
|
/** Drop table with the name. Or raise an error if the table does not exist. */
|
|
dropTable(name: string): Promise<void>
|
|
}
|
|
export class Query {
|
|
vector(vector: Float32Array): void
|
|
toArrow(): void
|
|
}
|
|
export class Table {
|
|
/** Return Schema as empty Arrow IPC file. */
|
|
schema(): Buffer
|
|
add(buf: Buffer): Promise<void>
|
|
countRows(): Promise<bigint>
|
|
delete(predicate: string): Promise<void>
|
|
query(): Query
|
|
}
|