@grafeo-db/js 0.1.4 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +134 -4
- package/index.js +321 -5
- package/package.json +43 -7
- package/README.md +0 -29
package/index.d.ts
CHANGED
|
@@ -1,5 +1,135 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// See https://grafeo.dev for current status.
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
/* auto-generated by NAPI-RS */
|
|
5
|
+
|
|
6
|
+
/** Returns the active SIMD instruction set for vector operations. */
|
|
7
|
+
export declare function simdSupport(): string
|
|
8
|
+
/** Returns the Grafeo version. */
|
|
9
|
+
export declare function version(): string
|
|
10
|
+
export type JsGrafeoDB = GrafeoDB
|
|
11
|
+
/** Your connection to a Grafeo database. */
|
|
12
|
+
export declare class GrafeoDB {
|
|
13
|
+
/** Create a database. Pass a path for persistence, or omit for in-memory. */
|
|
14
|
+
static create(path?: string | undefined | null): JsGrafeoDb
|
|
15
|
+
/** Open an existing database at the given path. */
|
|
16
|
+
static open(path: string): JsGrafeoDb
|
|
17
|
+
/** Execute a GQL query. Returns a Promise<QueryResult>. */
|
|
18
|
+
execute(query: string, params?: any | undefined | null): Promise<QueryResult>
|
|
19
|
+
/** Execute a Cypher query. */
|
|
20
|
+
executeCypher(query: string, params?: any | undefined | null): Promise<QueryResult>
|
|
21
|
+
/** Execute a Gremlin query. */
|
|
22
|
+
executeGremlin(query: string, params?: any | undefined | null): Promise<QueryResult>
|
|
23
|
+
/** Execute a GraphQL query. */
|
|
24
|
+
executeGraphql(query: string, params?: any | undefined | null): Promise<QueryResult>
|
|
25
|
+
/** Execute a SPARQL query against the RDF triple store. */
|
|
26
|
+
executeSparql(query: string): Promise<QueryResult>
|
|
27
|
+
/** Create a node with labels and optional properties. */
|
|
28
|
+
createNode(labels: Array<string>, properties?: object | undefined | null): JsNode
|
|
29
|
+
/** Create an edge between two nodes. */
|
|
30
|
+
createEdge(sourceId: number, targetId: number, edgeType: string, properties?: object | undefined | null): JsEdge
|
|
31
|
+
/** Get a node by ID. */
|
|
32
|
+
getNode(id: number): JsNode | null
|
|
33
|
+
/** Get an edge by ID. */
|
|
34
|
+
getEdge(id: number): JsEdge | null
|
|
35
|
+
/** Delete a node by ID. Returns true if the node existed. */
|
|
36
|
+
deleteNode(id: number): boolean
|
|
37
|
+
/** Delete an edge by ID. Returns true if the edge existed. */
|
|
38
|
+
deleteEdge(id: number): boolean
|
|
39
|
+
/** Set a property on a node. */
|
|
40
|
+
setNodeProperty(id: number, key: string, value: unknown): void
|
|
41
|
+
/** Set a property on an edge. */
|
|
42
|
+
setEdgeProperty(id: number, key: string, value: unknown): void
|
|
43
|
+
/** Get the number of nodes. */
|
|
44
|
+
get nodeCount(): number
|
|
45
|
+
/** Get the number of edges. */
|
|
46
|
+
get edgeCount(): number
|
|
47
|
+
/** Begin a transaction. */
|
|
48
|
+
beginTransaction(): Transaction
|
|
49
|
+
/** Create a vector similarity index on a node property. */
|
|
50
|
+
createVectorIndex(label: string, property: string, dimensions?: number | undefined | null, metric?: string | undefined | null, m?: number | undefined | null, efConstruction?: number | undefined | null): Promise<void>
|
|
51
|
+
/** Search for the k nearest neighbors of a query vector. */
|
|
52
|
+
vectorSearch(label: string, property: string, query: Array<number>, k: number, ef?: number | undefined | null): Promise<Array<Array<number>>>
|
|
53
|
+
/** Bulk-insert nodes with vector properties. */
|
|
54
|
+
batchCreateNodes(label: string, property: string, vectors: Array<Array<number>>): Promise<Array<number>>
|
|
55
|
+
/** Batch search for nearest neighbors of multiple query vectors. */
|
|
56
|
+
batchVectorSearch(label: string, property: string, queries: Array<Array<number>>, k: number, ef?: number | undefined | null): Promise<Array<Array<Array<number>>>>
|
|
57
|
+
/** Close the database. */
|
|
58
|
+
close(): void
|
|
59
|
+
}
|
|
60
|
+
/** A node in the graph with labels and properties. */
|
|
61
|
+
export declare class JsNode {
|
|
62
|
+
/** Get the node ID. */
|
|
63
|
+
get id(): number
|
|
64
|
+
/** Get the node labels. */
|
|
65
|
+
get labels(): Array<string>
|
|
66
|
+
/** Get a property value by key. */
|
|
67
|
+
get(key: string): unknown
|
|
68
|
+
/** Get all properties as a plain object. */
|
|
69
|
+
properties(): object
|
|
70
|
+
/** Check if the node has a specific label. */
|
|
71
|
+
hasLabel(label: string): boolean
|
|
72
|
+
/** String representation. */
|
|
73
|
+
toString(): string
|
|
74
|
+
}
|
|
75
|
+
/** An edge (relationship) between two nodes with a type and properties. */
|
|
76
|
+
export declare class JsEdge {
|
|
77
|
+
/** Get the edge ID. */
|
|
78
|
+
get id(): number
|
|
79
|
+
/** Get the edge type (relationship type). */
|
|
80
|
+
get edgeType(): string
|
|
81
|
+
/** Get the source node ID. */
|
|
82
|
+
get sourceId(): number
|
|
83
|
+
/** Get the target node ID. */
|
|
84
|
+
get targetId(): number
|
|
85
|
+
/** Get a property value by key. */
|
|
86
|
+
get(key: string): unknown
|
|
87
|
+
/** Get all properties as a plain object. */
|
|
88
|
+
properties(): object
|
|
89
|
+
/** String representation. */
|
|
90
|
+
toString(): string
|
|
91
|
+
}
|
|
92
|
+
/** Results from a query - access rows, nodes, and edges. */
|
|
93
|
+
export declare class QueryResult {
|
|
94
|
+
/** Get column names. */
|
|
95
|
+
get columns(): Array<string>
|
|
96
|
+
/** Get number of rows. */
|
|
97
|
+
get length(): number
|
|
98
|
+
/** Query execution time in milliseconds (if available). */
|
|
99
|
+
get executionTimeMs(): number | null
|
|
100
|
+
/** Number of rows scanned during execution (if available). */
|
|
101
|
+
get rowsScanned(): number | null
|
|
102
|
+
/** Get a single row by index as a plain object. */
|
|
103
|
+
get(index: number): object
|
|
104
|
+
/** Get all rows as an array of objects. */
|
|
105
|
+
toArray(): Array<object>
|
|
106
|
+
/** Get first column of first row (single value). */
|
|
107
|
+
scalar(): unknown
|
|
108
|
+
/** Get nodes found in the result. */
|
|
109
|
+
nodes(): Array<JsNode>
|
|
110
|
+
/** Get edges found in the result. */
|
|
111
|
+
edges(): Array<JsEdge>
|
|
112
|
+
/** Get all rows as an array of arrays (no column names). */
|
|
113
|
+
rows(): object
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* A database transaction with explicit commit/rollback.
|
|
117
|
+
*
|
|
118
|
+
* In Node.js 22+, use with `using` for automatic cleanup:
|
|
119
|
+
* ```js
|
|
120
|
+
* using tx = db.beginTransaction();
|
|
121
|
+
* await tx.execute("INSERT (:Person {name: 'Alice'})");
|
|
122
|
+
* tx.commit();
|
|
123
|
+
* // auto-rollback if commit not called
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export declare class Transaction {
|
|
127
|
+
/** Execute a query within this transaction. */
|
|
128
|
+
execute(query: string, params?: any | undefined | null): Promise<QueryResult>
|
|
129
|
+
/** Commit the transaction. */
|
|
130
|
+
commit(): void
|
|
131
|
+
/** Roll back the transaction. */
|
|
132
|
+
rollback(): void
|
|
133
|
+
/** Whether the transaction is still active. */
|
|
134
|
+
get isActive(): boolean
|
|
135
|
+
}
|
package/index.js
CHANGED
|
@@ -1,5 +1,321 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/* prettier-ignore */
|
|
4
|
+
|
|
5
|
+
/* auto-generated by NAPI-RS */
|
|
6
|
+
|
|
7
|
+
const { existsSync, readFileSync } = require('fs')
|
|
8
|
+
const { join } = require('path')
|
|
9
|
+
|
|
10
|
+
const { platform, arch } = process
|
|
11
|
+
|
|
12
|
+
let nativeBinding = null
|
|
13
|
+
let localFileExisted = false
|
|
14
|
+
let loadError = null
|
|
15
|
+
|
|
16
|
+
function isMusl() {
|
|
17
|
+
// For Node 10
|
|
18
|
+
if (!process.report || typeof process.report.getReport !== 'function') {
|
|
19
|
+
try {
|
|
20
|
+
const lddPath = require('child_process').execSync('which ldd').toString().trim()
|
|
21
|
+
return readFileSync(lddPath, 'utf8').includes('musl')
|
|
22
|
+
} catch (e) {
|
|
23
|
+
return true
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
const { glibcVersionRuntime } = process.report.getReport().header
|
|
27
|
+
return !glibcVersionRuntime
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
switch (platform) {
|
|
32
|
+
case 'android':
|
|
33
|
+
switch (arch) {
|
|
34
|
+
case 'arm64':
|
|
35
|
+
localFileExisted = existsSync(join(__dirname, 'grafeo.android-arm64.node'))
|
|
36
|
+
try {
|
|
37
|
+
if (localFileExisted) {
|
|
38
|
+
nativeBinding = require('./grafeo.android-arm64.node')
|
|
39
|
+
} else {
|
|
40
|
+
nativeBinding = require('@grafeo-db/js-android-arm64')
|
|
41
|
+
}
|
|
42
|
+
} catch (e) {
|
|
43
|
+
loadError = e
|
|
44
|
+
}
|
|
45
|
+
break
|
|
46
|
+
case 'arm':
|
|
47
|
+
localFileExisted = existsSync(join(__dirname, 'grafeo.android-arm-eabi.node'))
|
|
48
|
+
try {
|
|
49
|
+
if (localFileExisted) {
|
|
50
|
+
nativeBinding = require('./grafeo.android-arm-eabi.node')
|
|
51
|
+
} else {
|
|
52
|
+
nativeBinding = require('@grafeo-db/js-android-arm-eabi')
|
|
53
|
+
}
|
|
54
|
+
} catch (e) {
|
|
55
|
+
loadError = e
|
|
56
|
+
}
|
|
57
|
+
break
|
|
58
|
+
default:
|
|
59
|
+
throw new Error(`Unsupported architecture on Android ${arch}`)
|
|
60
|
+
}
|
|
61
|
+
break
|
|
62
|
+
case 'win32':
|
|
63
|
+
switch (arch) {
|
|
64
|
+
case 'x64':
|
|
65
|
+
localFileExisted = existsSync(
|
|
66
|
+
join(__dirname, 'grafeo.win32-x64-msvc.node')
|
|
67
|
+
)
|
|
68
|
+
try {
|
|
69
|
+
if (localFileExisted) {
|
|
70
|
+
nativeBinding = require('./grafeo.win32-x64-msvc.node')
|
|
71
|
+
} else {
|
|
72
|
+
nativeBinding = require('@grafeo-db/js-win32-x64-msvc')
|
|
73
|
+
}
|
|
74
|
+
} catch (e) {
|
|
75
|
+
loadError = e
|
|
76
|
+
}
|
|
77
|
+
break
|
|
78
|
+
case 'ia32':
|
|
79
|
+
localFileExisted = existsSync(
|
|
80
|
+
join(__dirname, 'grafeo.win32-ia32-msvc.node')
|
|
81
|
+
)
|
|
82
|
+
try {
|
|
83
|
+
if (localFileExisted) {
|
|
84
|
+
nativeBinding = require('./grafeo.win32-ia32-msvc.node')
|
|
85
|
+
} else {
|
|
86
|
+
nativeBinding = require('@grafeo-db/js-win32-ia32-msvc')
|
|
87
|
+
}
|
|
88
|
+
} catch (e) {
|
|
89
|
+
loadError = e
|
|
90
|
+
}
|
|
91
|
+
break
|
|
92
|
+
case 'arm64':
|
|
93
|
+
localFileExisted = existsSync(
|
|
94
|
+
join(__dirname, 'grafeo.win32-arm64-msvc.node')
|
|
95
|
+
)
|
|
96
|
+
try {
|
|
97
|
+
if (localFileExisted) {
|
|
98
|
+
nativeBinding = require('./grafeo.win32-arm64-msvc.node')
|
|
99
|
+
} else {
|
|
100
|
+
nativeBinding = require('@grafeo-db/js-win32-arm64-msvc')
|
|
101
|
+
}
|
|
102
|
+
} catch (e) {
|
|
103
|
+
loadError = e
|
|
104
|
+
}
|
|
105
|
+
break
|
|
106
|
+
default:
|
|
107
|
+
throw new Error(`Unsupported architecture on Windows: ${arch}`)
|
|
108
|
+
}
|
|
109
|
+
break
|
|
110
|
+
case 'darwin':
|
|
111
|
+
localFileExisted = existsSync(join(__dirname, 'grafeo.darwin-universal.node'))
|
|
112
|
+
try {
|
|
113
|
+
if (localFileExisted) {
|
|
114
|
+
nativeBinding = require('./grafeo.darwin-universal.node')
|
|
115
|
+
} else {
|
|
116
|
+
nativeBinding = require('@grafeo-db/js-darwin-universal')
|
|
117
|
+
}
|
|
118
|
+
break
|
|
119
|
+
} catch {}
|
|
120
|
+
switch (arch) {
|
|
121
|
+
case 'x64':
|
|
122
|
+
localFileExisted = existsSync(join(__dirname, 'grafeo.darwin-x64.node'))
|
|
123
|
+
try {
|
|
124
|
+
if (localFileExisted) {
|
|
125
|
+
nativeBinding = require('./grafeo.darwin-x64.node')
|
|
126
|
+
} else {
|
|
127
|
+
nativeBinding = require('@grafeo-db/js-darwin-x64')
|
|
128
|
+
}
|
|
129
|
+
} catch (e) {
|
|
130
|
+
loadError = e
|
|
131
|
+
}
|
|
132
|
+
break
|
|
133
|
+
case 'arm64':
|
|
134
|
+
localFileExisted = existsSync(
|
|
135
|
+
join(__dirname, 'grafeo.darwin-arm64.node')
|
|
136
|
+
)
|
|
137
|
+
try {
|
|
138
|
+
if (localFileExisted) {
|
|
139
|
+
nativeBinding = require('./grafeo.darwin-arm64.node')
|
|
140
|
+
} else {
|
|
141
|
+
nativeBinding = require('@grafeo-db/js-darwin-arm64')
|
|
142
|
+
}
|
|
143
|
+
} catch (e) {
|
|
144
|
+
loadError = e
|
|
145
|
+
}
|
|
146
|
+
break
|
|
147
|
+
default:
|
|
148
|
+
throw new Error(`Unsupported architecture on macOS: ${arch}`)
|
|
149
|
+
}
|
|
150
|
+
break
|
|
151
|
+
case 'freebsd':
|
|
152
|
+
if (arch !== 'x64') {
|
|
153
|
+
throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
|
|
154
|
+
}
|
|
155
|
+
localFileExisted = existsSync(join(__dirname, 'grafeo.freebsd-x64.node'))
|
|
156
|
+
try {
|
|
157
|
+
if (localFileExisted) {
|
|
158
|
+
nativeBinding = require('./grafeo.freebsd-x64.node')
|
|
159
|
+
} else {
|
|
160
|
+
nativeBinding = require('@grafeo-db/js-freebsd-x64')
|
|
161
|
+
}
|
|
162
|
+
} catch (e) {
|
|
163
|
+
loadError = e
|
|
164
|
+
}
|
|
165
|
+
break
|
|
166
|
+
case 'linux':
|
|
167
|
+
switch (arch) {
|
|
168
|
+
case 'x64':
|
|
169
|
+
if (isMusl()) {
|
|
170
|
+
localFileExisted = existsSync(
|
|
171
|
+
join(__dirname, 'grafeo.linux-x64-musl.node')
|
|
172
|
+
)
|
|
173
|
+
try {
|
|
174
|
+
if (localFileExisted) {
|
|
175
|
+
nativeBinding = require('./grafeo.linux-x64-musl.node')
|
|
176
|
+
} else {
|
|
177
|
+
nativeBinding = require('@grafeo-db/js-linux-x64-musl')
|
|
178
|
+
}
|
|
179
|
+
} catch (e) {
|
|
180
|
+
loadError = e
|
|
181
|
+
}
|
|
182
|
+
} else {
|
|
183
|
+
localFileExisted = existsSync(
|
|
184
|
+
join(__dirname, 'grafeo.linux-x64-gnu.node')
|
|
185
|
+
)
|
|
186
|
+
try {
|
|
187
|
+
if (localFileExisted) {
|
|
188
|
+
nativeBinding = require('./grafeo.linux-x64-gnu.node')
|
|
189
|
+
} else {
|
|
190
|
+
nativeBinding = require('@grafeo-db/js-linux-x64-gnu')
|
|
191
|
+
}
|
|
192
|
+
} catch (e) {
|
|
193
|
+
loadError = e
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
break
|
|
197
|
+
case 'arm64':
|
|
198
|
+
if (isMusl()) {
|
|
199
|
+
localFileExisted = existsSync(
|
|
200
|
+
join(__dirname, 'grafeo.linux-arm64-musl.node')
|
|
201
|
+
)
|
|
202
|
+
try {
|
|
203
|
+
if (localFileExisted) {
|
|
204
|
+
nativeBinding = require('./grafeo.linux-arm64-musl.node')
|
|
205
|
+
} else {
|
|
206
|
+
nativeBinding = require('@grafeo-db/js-linux-arm64-musl')
|
|
207
|
+
}
|
|
208
|
+
} catch (e) {
|
|
209
|
+
loadError = e
|
|
210
|
+
}
|
|
211
|
+
} else {
|
|
212
|
+
localFileExisted = existsSync(
|
|
213
|
+
join(__dirname, 'grafeo.linux-arm64-gnu.node')
|
|
214
|
+
)
|
|
215
|
+
try {
|
|
216
|
+
if (localFileExisted) {
|
|
217
|
+
nativeBinding = require('./grafeo.linux-arm64-gnu.node')
|
|
218
|
+
} else {
|
|
219
|
+
nativeBinding = require('@grafeo-db/js-linux-arm64-gnu')
|
|
220
|
+
}
|
|
221
|
+
} catch (e) {
|
|
222
|
+
loadError = e
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
break
|
|
226
|
+
case 'arm':
|
|
227
|
+
if (isMusl()) {
|
|
228
|
+
localFileExisted = existsSync(
|
|
229
|
+
join(__dirname, 'grafeo.linux-arm-musleabihf.node')
|
|
230
|
+
)
|
|
231
|
+
try {
|
|
232
|
+
if (localFileExisted) {
|
|
233
|
+
nativeBinding = require('./grafeo.linux-arm-musleabihf.node')
|
|
234
|
+
} else {
|
|
235
|
+
nativeBinding = require('@grafeo-db/js-linux-arm-musleabihf')
|
|
236
|
+
}
|
|
237
|
+
} catch (e) {
|
|
238
|
+
loadError = e
|
|
239
|
+
}
|
|
240
|
+
} else {
|
|
241
|
+
localFileExisted = existsSync(
|
|
242
|
+
join(__dirname, 'grafeo.linux-arm-gnueabihf.node')
|
|
243
|
+
)
|
|
244
|
+
try {
|
|
245
|
+
if (localFileExisted) {
|
|
246
|
+
nativeBinding = require('./grafeo.linux-arm-gnueabihf.node')
|
|
247
|
+
} else {
|
|
248
|
+
nativeBinding = require('@grafeo-db/js-linux-arm-gnueabihf')
|
|
249
|
+
}
|
|
250
|
+
} catch (e) {
|
|
251
|
+
loadError = e
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
break
|
|
255
|
+
case 'riscv64':
|
|
256
|
+
if (isMusl()) {
|
|
257
|
+
localFileExisted = existsSync(
|
|
258
|
+
join(__dirname, 'grafeo.linux-riscv64-musl.node')
|
|
259
|
+
)
|
|
260
|
+
try {
|
|
261
|
+
if (localFileExisted) {
|
|
262
|
+
nativeBinding = require('./grafeo.linux-riscv64-musl.node')
|
|
263
|
+
} else {
|
|
264
|
+
nativeBinding = require('@grafeo-db/js-linux-riscv64-musl')
|
|
265
|
+
}
|
|
266
|
+
} catch (e) {
|
|
267
|
+
loadError = e
|
|
268
|
+
}
|
|
269
|
+
} else {
|
|
270
|
+
localFileExisted = existsSync(
|
|
271
|
+
join(__dirname, 'grafeo.linux-riscv64-gnu.node')
|
|
272
|
+
)
|
|
273
|
+
try {
|
|
274
|
+
if (localFileExisted) {
|
|
275
|
+
nativeBinding = require('./grafeo.linux-riscv64-gnu.node')
|
|
276
|
+
} else {
|
|
277
|
+
nativeBinding = require('@grafeo-db/js-linux-riscv64-gnu')
|
|
278
|
+
}
|
|
279
|
+
} catch (e) {
|
|
280
|
+
loadError = e
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
break
|
|
284
|
+
case 's390x':
|
|
285
|
+
localFileExisted = existsSync(
|
|
286
|
+
join(__dirname, 'grafeo.linux-s390x-gnu.node')
|
|
287
|
+
)
|
|
288
|
+
try {
|
|
289
|
+
if (localFileExisted) {
|
|
290
|
+
nativeBinding = require('./grafeo.linux-s390x-gnu.node')
|
|
291
|
+
} else {
|
|
292
|
+
nativeBinding = require('@grafeo-db/js-linux-s390x-gnu')
|
|
293
|
+
}
|
|
294
|
+
} catch (e) {
|
|
295
|
+
loadError = e
|
|
296
|
+
}
|
|
297
|
+
break
|
|
298
|
+
default:
|
|
299
|
+
throw new Error(`Unsupported architecture on Linux: ${arch}`)
|
|
300
|
+
}
|
|
301
|
+
break
|
|
302
|
+
default:
|
|
303
|
+
throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (!nativeBinding) {
|
|
307
|
+
if (loadError) {
|
|
308
|
+
throw loadError
|
|
309
|
+
}
|
|
310
|
+
throw new Error(`Failed to load native binding`)
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
const { GrafeoDB, JsNode, JsEdge, QueryResult, Transaction, simdSupport, version } = nativeBinding
|
|
314
|
+
|
|
315
|
+
module.exports.GrafeoDB = GrafeoDB
|
|
316
|
+
module.exports.JsNode = JsNode
|
|
317
|
+
module.exports.JsEdge = JsEdge
|
|
318
|
+
module.exports.QueryResult = QueryResult
|
|
319
|
+
module.exports.Transaction = Transaction
|
|
320
|
+
module.exports.simdSupport = simdSupport
|
|
321
|
+
module.exports.version = version
|
package/package.json
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafeo-db/js",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Node.js/TypeScript bindings for Grafeo - a high-performance embeddable graph database",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"types": "index.d.ts",
|
|
7
|
+
"napi": {
|
|
8
|
+
"name": "grafeo",
|
|
9
|
+
"triples": {
|
|
10
|
+
"defaults": true,
|
|
11
|
+
"additional": [
|
|
12
|
+
"aarch64-apple-darwin",
|
|
13
|
+
"aarch64-unknown-linux-gnu",
|
|
14
|
+
"aarch64-unknown-linux-musl"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"index.js",
|
|
20
|
+
"index.d.ts"
|
|
21
|
+
],
|
|
5
22
|
"keywords": [
|
|
6
23
|
"graph",
|
|
7
24
|
"database",
|
|
@@ -10,22 +27,41 @@
|
|
|
10
27
|
"sparql",
|
|
11
28
|
"knowledge-graph",
|
|
12
29
|
"native",
|
|
13
|
-
"napi"
|
|
30
|
+
"napi",
|
|
31
|
+
"embedded"
|
|
14
32
|
],
|
|
15
33
|
"author": "StevenBtw",
|
|
16
|
-
"license": "
|
|
34
|
+
"license": "AGPL-3.0-or-later",
|
|
17
35
|
"repository": {
|
|
18
36
|
"type": "git",
|
|
19
37
|
"url": "https://github.com/GrafeoDB/grafeo.git",
|
|
20
|
-
"directory": "crates/bindings/
|
|
38
|
+
"directory": "crates/bindings/node"
|
|
21
39
|
},
|
|
22
40
|
"homepage": "https://grafeo.dev",
|
|
23
41
|
"bugs": {
|
|
24
42
|
"url": "https://github.com/GrafeoDB/grafeo/issues"
|
|
25
43
|
},
|
|
26
|
-
"main": "index.js",
|
|
27
|
-
"types": "index.d.ts",
|
|
28
44
|
"engines": {
|
|
29
45
|
"node": ">=18"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"artifacts": "napi artifacts",
|
|
49
|
+
"build": "napi build --platform --release --features full",
|
|
50
|
+
"build:debug": "napi build --platform",
|
|
51
|
+
"test": "vitest run",
|
|
52
|
+
"prepublishOnly": "napi prepublish -t npm",
|
|
53
|
+
"version": "napi version"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@napi-rs/cli": "^2.18.0",
|
|
57
|
+
"vitest": "^4.0.18"
|
|
58
|
+
},
|
|
59
|
+
"optionalDependencies": {
|
|
60
|
+
"@grafeo-db/js-win32-x64-msvc": "0.4.1",
|
|
61
|
+
"@grafeo-db/js-darwin-x64": "0.4.1",
|
|
62
|
+
"@grafeo-db/js-linux-x64-gnu": "0.4.1",
|
|
63
|
+
"@grafeo-db/js-darwin-arm64": "0.4.1",
|
|
64
|
+
"@grafeo-db/js-linux-arm64-gnu": "0.4.1",
|
|
65
|
+
"@grafeo-db/js-linux-arm64-musl": "0.4.1"
|
|
30
66
|
}
|
|
31
|
-
}
|
|
67
|
+
}
|
package/README.md
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# @grafeo-db/js
|
|
2
|
-
|
|
3
|
-
Node.js/TypeScript bindings for [Grafeo](https://grafeo.dev) - a high-performance, pure-Rust, embeddable graph database.
|
|
4
|
-
|
|
5
|
-
## Status
|
|
6
|
-
|
|
7
|
-
**Pre-alpha** - The Node.js bindings are under development.
|
|
8
|
-
|
|
9
|
-
For production use, please use the [Python bindings](https://pypi.org/project/grafeo/) which are fully functional.
|
|
10
|
-
|
|
11
|
-
## Installation
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @grafeo-db/js
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Planned Features
|
|
18
|
-
|
|
19
|
-
- Native Node.js bindings via napi-rs
|
|
20
|
-
- Full TypeScript type definitions
|
|
21
|
-
- Support for GQL, Cypher, SPARQL, and GraphQL query languages
|
|
22
|
-
- Zero-copy data transfer where possible
|
|
23
|
-
- Async/await API
|
|
24
|
-
|
|
25
|
-
## Links
|
|
26
|
-
|
|
27
|
-
- [Documentation](https://grafeo.dev)
|
|
28
|
-
- [GitHub](https://github.com/GrafeoDB/grafeo)
|
|
29
|
-
- [Python Package](https://pypi.org/project/grafeo/)
|