| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| example/ | 12-May-2024 | - | 97 | 79 | ||
| .eslintrc | D | 12-May-2024 | 1 KiB | 55 | 55 | |
| .gitignore | D | 12-May-2024 | 0 | |||
| CHANGELOG.md | D | 12-May-2024 | 73 | 4 | 2 | |
| CMakeLists.txt | D | 12-May-2024 | 3.2 KiB | 96 | 83 | |
| README.md | D | 12-May-2024 | 1.3 KiB | 59 | 40 | |
| binary.js | D | 12-May-2024 | 1.6 KiB | 37 | 6 | |
| ejdb2_node.c | D | 12-May-2024 | 54.2 KiB | 2,092 | 1,795 | |
| hints.txt | D | 12-May-2024 | 131 | 3 | 2 | |
| index.d.ts | D | 12-May-2024 | 11.7 KiB | 463 | 94 | |
| index.js | D | 12-May-2024 | 18.2 KiB | 723 | 359 | |
| install.js | D | 12-May-2024 | 3.4 KiB | 90 | 52 | |
| js_native_api.h | D | 12-May-2024 | 27.9 KiB | 558 | 445 | |
| js_native_api_types.h | D | 12-May-2024 | 3.8 KiB | 147 | 115 | |
| node_api.h | D | 12-May-2024 | 11.3 KiB | 269 | 213 | |
| node_api_types.h | D | 12-May-2024 | 1.6 KiB | 51 | 42 | |
| package.json | D | 12-May-2024 | 1.2 KiB | 71 | 70 | |
| test.js | D | 12-May-2024 | 6.6 KiB | 249 | 161 | |
| tsconfig.json | D | 12-May-2024 | 561 | 26 | 26 | |
| tslint.json | D | 12-May-2024 | 1 KiB | 53 | 53 | |
| utils.js | D | 12-May-2024 | 3.8 KiB | 129 | 82 | |
| version.txt | D | 12-May-2024 | 1 | |||
| yarn.lock | D | 12-May-2024 | 68 KiB | 1,587 | 1,346 |
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## Sample code 10 11```ts 12import { EJDB2 } from "ejdb2_node"; 13 14async function run() { 15 const db = await EJDB2.open("example.db", { truncate: true }); 16 17 var id = await db.put("parrots", { name: "Bianca", age: 4 }); 18 console.log(`Bianca record: ${id}`); 19 20 id = await db.put("parrots", { name: "Darko", age: 8 }); 21 console.log(`Darko record: ${id}`); 22 23 const q = db.createQuery("/[age > :age]", "parrots"); 24 25 for await (const doc of q.setNumber("age", 3).stream()) { 26 console.log(`Found ${doc}`); 27 } 28 29 await db.close(); 30} 31 32run(); 33``` 34 35## Supported platforms 36 37- Linux x64 38- OSX 39 40## Prerequisites 41 42- node >= v10.0.0 43- yarn 44- CMake >= v3.10 45- Make 46- gcc or clang compiler 47 48## How build it manually 49 50```sh 51git clone https://github.com/Softmotions/ejdb.git 52cd ./ejdb 53mkdir ./build && cd build 54cmake .. -DBUILD_NODEJS_BINDING=ON -DCMAKE_BUILD_TYPE=Release 55make 56cd src/bindings/ejdb2_node/ejdb2_node 57yarn pack 58``` 59