tigerbeetle-node 0.14.174 → 0.14.176
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/README.md +28 -47
- package/dist/bin/aarch64-linux-gnu/client.node +0 -0
- package/dist/bin/aarch64-linux-musl/client.node +0 -0
- package/dist/bin/aarch64-macos/client.node +0 -0
- package/dist/bin/x86_64-linux-gnu/client.node +0 -0
- package/dist/bin/x86_64-linux-musl/client.node +0 -0
- package/dist/bin/x86_64-macos/client.node +0 -0
- package/dist/bin/x86_64-windows/client.node +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
title: Node.js
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
This file is generated by
|
|
6
|
-
[/src/clients/docs_generate.zig](/src/clients/docs_generate.zig).
|
|
5
|
+
<!-- This file is generated by [/src/scripts/client_readmes.zig](/src/scripts/client_readmes.zig). -->
|
|
7
6
|
# tigerbeetle-node
|
|
8
7
|
|
|
9
8
|
The TigerBeetle client for Node.js.
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
## Prerequisites
|
|
12
11
|
|
|
13
12
|
Linux >= 5.6 is the only production environment we
|
|
14
13
|
support. But for ease of development we also support macOS and Windows.
|
|
@@ -28,6 +27,7 @@ Now, create `main.js` and copy this into it:
|
|
|
28
27
|
|
|
29
28
|
```javascript
|
|
30
29
|
const { createClient } = require("tigerbeetle-node");
|
|
30
|
+
|
|
31
31
|
console.log("Import ok!");
|
|
32
32
|
```
|
|
33
33
|
|
|
@@ -79,7 +79,7 @@ environment variable and defaults to port `3000`.
|
|
|
79
79
|
```javascript
|
|
80
80
|
const client = createClient({
|
|
81
81
|
cluster_id: 0n,
|
|
82
|
-
replica_addresses: [process.env.TB_ADDRESS ||
|
|
82
|
+
replica_addresses: [process.env.TB_ADDRESS || "3000"],
|
|
83
83
|
});
|
|
84
84
|
```
|
|
85
85
|
|
|
@@ -162,7 +162,8 @@ let account1 = {
|
|
|
162
162
|
timestamp: 0n,
|
|
163
163
|
flags: 0,
|
|
164
164
|
};
|
|
165
|
-
account0.flags = AccountFlags.linked |
|
|
165
|
+
account0.flags = AccountFlags.linked |
|
|
166
|
+
AccountFlags.debits_must_not_exceed_credits;
|
|
166
167
|
accountErrors = await client.createAccounts([account0, account1]);
|
|
167
168
|
```
|
|
168
169
|
|
|
@@ -229,9 +230,13 @@ for (const error of accountErrors) {
|
|
|
229
230
|
switch (error.result) {
|
|
230
231
|
case CreateAccountError.exists:
|
|
231
232
|
console.error(`Batch account at ${error.index} already exists.`);
|
|
232
|
-
|
|
233
|
+
break;
|
|
233
234
|
default:
|
|
234
|
-
console.error(
|
|
235
|
+
console.error(
|
|
236
|
+
`Batch account at ${error.index} failed to create: ${
|
|
237
|
+
CreateAccountError[error.result]
|
|
238
|
+
}.`,
|
|
239
|
+
);
|
|
235
240
|
}
|
|
236
241
|
}
|
|
237
242
|
```
|
|
@@ -282,7 +287,7 @@ See details for transfer fields in the [Transfers
|
|
|
282
287
|
reference](https://docs.tigerbeetle.com/reference/transfers).
|
|
283
288
|
|
|
284
289
|
```javascript
|
|
285
|
-
let
|
|
290
|
+
let transfers = [{
|
|
286
291
|
id: 1n,
|
|
287
292
|
debit_account_id: 102n,
|
|
288
293
|
credit_account_id: 103n,
|
|
@@ -296,8 +301,8 @@ let transfer = {
|
|
|
296
301
|
code: 720,
|
|
297
302
|
flags: 0,
|
|
298
303
|
timestamp: 0n,
|
|
299
|
-
};
|
|
300
|
-
let transferErrors = await client.createTransfers(
|
|
304
|
+
}];
|
|
305
|
+
let transferErrors = await client.createTransfers(transfers);
|
|
301
306
|
```
|
|
302
307
|
|
|
303
308
|
### Response and Errors
|
|
@@ -316,9 +321,13 @@ for (const error of transferErrors) {
|
|
|
316
321
|
switch (error.result) {
|
|
317
322
|
case CreateTransferError.exists:
|
|
318
323
|
console.error(`Batch transfer at ${error.index} already exists.`);
|
|
319
|
-
|
|
324
|
+
break;
|
|
320
325
|
default:
|
|
321
|
-
console.error(
|
|
326
|
+
console.error(
|
|
327
|
+
`Batch transfer at ${error.index} failed to create: ${
|
|
328
|
+
CreateTransferError[error.result]
|
|
329
|
+
}.`,
|
|
330
|
+
);
|
|
322
331
|
}
|
|
323
332
|
}
|
|
324
333
|
```
|
|
@@ -351,7 +360,9 @@ is 8190.
|
|
|
351
360
|
```javascript
|
|
352
361
|
const BATCH_SIZE = 8190;
|
|
353
362
|
for (let i = 0; i < transfers.length; i += BATCH_SIZE) {
|
|
354
|
-
const transferErrors = await client.createTransfers(
|
|
363
|
+
const transferErrors = await client.createTransfers(
|
|
364
|
+
transfers.slice(i, Math.min(transfers.length, BATCH_SIZE)),
|
|
365
|
+
);
|
|
355
366
|
// error handling omitted
|
|
356
367
|
}
|
|
357
368
|
```
|
|
@@ -528,7 +539,7 @@ the same as the order of `id`s in the request. You can refer to the
|
|
|
528
539
|
`id` field in the response to distinguish transfers.
|
|
529
540
|
|
|
530
541
|
```javascript
|
|
531
|
-
|
|
542
|
+
transfers = await client.lookupTransfers([1n, 2n]);
|
|
532
543
|
console.log(transfers);
|
|
533
544
|
/*
|
|
534
545
|
* [{
|
|
@@ -568,8 +579,8 @@ let filter = {
|
|
|
568
579
|
flags: GetAccountTransfersFlags.debits | // Include transfer from the debit side.
|
|
569
580
|
GetAccountTransfersFlags.credits | // Include transfer from the credit side.
|
|
570
581
|
GetAccountTransfersFlags.reversed, // Sort by timestamp in reverse-chronological order.
|
|
571
|
-
}
|
|
572
|
-
const account_transfers = await client.getAccountTransfers(filter)
|
|
582
|
+
};
|
|
583
|
+
const account_transfers = await client.getAccountTransfers(filter);
|
|
573
584
|
```
|
|
574
585
|
|
|
575
586
|
## Linked Events
|
|
@@ -602,7 +613,7 @@ batch.push({ id: 1n /* , ... */ });
|
|
|
602
613
|
batch.push({ id: 2n, /* ..., */ flags: linkedFlag }); // Commit/rollback.
|
|
603
614
|
batch.push({ id: 3n, /* ..., */ flags: linkedFlag }); // Commit/rollback.
|
|
604
615
|
batch.push({ id: 2n, /* ..., */ flags: linkedFlag }); // Fail with exists
|
|
605
|
-
batch.push({ id: 4n, /* ..., */ flags: 0 });
|
|
616
|
+
batch.push({ id: 4n, /* ..., */ flags: 0 }); // Fail without committing.
|
|
606
617
|
|
|
607
618
|
// An individual transfer (successful):
|
|
608
619
|
// This should not see any effect from the failed chain above.
|
|
@@ -631,33 +642,3 @@ const errors = await client.createTransfers(batch);
|
|
|
631
642
|
* ]
|
|
632
643
|
*/
|
|
633
644
|
```
|
|
634
|
-
|
|
635
|
-
## Development Setup
|
|
636
|
-
|
|
637
|
-
### On Linux and macOS
|
|
638
|
-
|
|
639
|
-
In a POSIX shell run:
|
|
640
|
-
|
|
641
|
-
```console
|
|
642
|
-
git clone https://github.com/tigerbeetle/tigerbeetle
|
|
643
|
-
cd tigerbeetle
|
|
644
|
-
git submodule update --init --recursive
|
|
645
|
-
./scripts/install_zig.sh
|
|
646
|
-
cd src/clients/node
|
|
647
|
-
npm install --include dev
|
|
648
|
-
npm pack
|
|
649
|
-
```
|
|
650
|
-
|
|
651
|
-
### On Windows
|
|
652
|
-
|
|
653
|
-
In PowerShell run:
|
|
654
|
-
|
|
655
|
-
```console
|
|
656
|
-
git clone https://github.com/tigerbeetle/tigerbeetle
|
|
657
|
-
cd tigerbeetle
|
|
658
|
-
git submodule update --init --recursive
|
|
659
|
-
.\scripts\install_zig.bat
|
|
660
|
-
cd src/clients/node
|
|
661
|
-
npm install --include dev
|
|
662
|
-
npm pack
|
|
663
|
-
```
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|