• Home
Name Date Size #Lines LOC

..--

example/12-May-2024-9779

.eslintrcD12-May-20241 KiB5555

.gitignoreD12-May-20240

CHANGELOG.mdD12-May-202477 42

CMakeLists.txtD12-May-20243.2 KiB9380

README.mdD12-May-20241.6 KiB6746

binary.jsD12-May-20241.6 KiB366

ejdb2_node.cD12-May-202454.2 KiB2,0921,795

hints.txtD12-May-2024131 32

index.d.tsD12-May-202411.4 KiB46394

index.jsD12-May-202418.1 KiB722358

install.jsD12-May-20243.4 KiB9052

js_native_api.hD12-May-202427.9 KiB558445

js_native_api_types.hD12-May-20243.8 KiB147115

node_api.hD12-May-202411.3 KiB269213

node_api_types.hD12-May-20241.6 KiB5142

package.jsonD12-May-20241.2 KiB7170

test.jsD12-May-20246.6 KiB249161

tsconfig.jsonD12-May-2024561 2626

tslint.jsonD12-May-20241 KiB5353

utils.jsD12-May-20243.8 KiB12882

version.txtD12-May-20241

yarn.lockD12-May-2024133.6 KiB3,2132,743

README.md

1# EJDB2 Node.js native binding
2
3Embeddable JSON Database engine http://ejdb.org Node.js binding.
4
5See https://github.com/Softmotions/ejdb/blob/master/README.md
6
7For API usage examples take a look into [/example](https://github.com/Softmotions/ejdb/tree/master/src/bindings/ejdb2_node/example) and [test.js](https://github.com/Softmotions/ejdb/tree/master/src/bindings/ejdb2_node/test.js)
8
9## Note on versioning
10
11Since `2020-12-22` a new version scheme is used and the major version
12of node package has been incremented. Now package version is the concatenation
13of ejdb2 core engine version and version serial number of this binding.
14For example: given ejdb2 version `2.0.52` and binding serial `2`
15the actual package version will be `2.0.522`.
16
17## Sample code
18
19```ts
20import { EJDB2 } from "ejdb2_node";
21
22async function run() {
23  const db = await EJDB2.open("example.db", { truncate: true });
24
25  var id = await db.put("parrots", { name: "Bianca", age: 4 });
26  console.log(`Bianca record: ${id}`);
27
28  id = await db.put("parrots", { name: "Darko", age: 8 });
29  console.log(`Darko record: ${id}`);
30
31  const q = db.createQuery("/[age > :age]", "parrots");
32
33  for await (const doc of q.setNumber("age", 3).stream()) {
34    console.log(`Found ${doc}`);
35  }
36
37  await db.close();
38}
39
40run();
41```
42
43## Supported platforms
44
45- Linux x64
46- OSX
47
48## Prerequisites
49
50- node >= v10.0.0
51- yarn
52- CMake >= v3.10
53- Make
54- gcc or clang compiler
55
56## How build it manually
57
58```sh
59git clone https://github.com/Softmotions/ejdb.git
60cd ./ejdb
61mkdir ./build && cd build
62cmake .. -DBUILD_NODEJS_BINDING=ON -DCMAKE_BUILD_TYPE=Release
63make
64cd src/bindings/ejdb2_node/ejdb2_node
65yarn pack
66```
67