summaryrefslogtreecommitdiff
path: root/node_modules/node-addon-api/doc/bigint.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/node-addon-api/doc/bigint.md')
-rw-r--r--node_modules/node-addon-api/doc/bigint.md92
1 files changed, 92 insertions, 0 deletions
diff --git a/node_modules/node-addon-api/doc/bigint.md b/node_modules/node-addon-api/doc/bigint.md
new file mode 100644
index 0000000..cc98104
--- /dev/null
+++ b/node_modules/node-addon-api/doc/bigint.md
@@ -0,0 +1,92 @@
+# BigInt
+
+A JavaScript BigInt value.
+
+## Methods
+
+### New
+
+```cpp
+static Napi::BigInt Napi::BigInt::New(Napi::Env env, int64_t value);
+```
+
+ - `[in] env`: The environment in which to construct the `Napi::BigInt` object.
+ - `[in] value`: The value the JavaScript `BigInt` will contain
+
+These APIs convert the C `int64_t` and `uint64_t` types to the JavaScript
+`BigInt` type.
+
+```cpp
+static Napi::BigInt Napi::BigInt::New(Napi::Env env,
+ int sign_bit,
+ size_t word_count,
+ const uint64_t* words);
+```
+
+ - `[in] env`: The environment in which to construct the `Napi::BigInt` object.
+ - `[in] sign_bit`: Determines if the resulting `BigInt` will be positive or negative.
+ - `[in] word_count`: The length of the words array.
+ - `[in] words`: An array of `uint64_t` little-endian 64-bit words.
+
+This API converts an array of unsigned 64-bit words into a single `BigInt`
+value.
+
+The resulting `BigInt` is calculated as: (–1)<sup>`sign_bit`</sup> (`words[0]`
+× (2<sup>64</sup>)<sup>0</sup> + `words[1]` × (2<sup>64</sup>)<sup>1</sup> + …)
+
+Returns a new JavaScript `BigInt`.
+
+### Constructor
+
+```cpp
+Napi::BigInt();
+```
+
+Returns a new empty JavaScript `Napi::BigInt`.
+
+### Int64Value
+
+```cpp
+int64_t Napi::BitInt::Int64Value(bool* lossless) const;
+```
+
+ - `[out] lossless`: Indicates whether the `BigInt` value was converted losslessly.
+
+Returns the C `int64_t` primitive equivalent of the given JavaScript
+`BigInt`. If needed it will truncate the value, setting lossless to false.
+
+### Uint64Value
+
+```cpp
+uint64_t Napi::BigInt::Uint64Value(bool* lossless) const;
+```
+
+ - `[out] lossless`: Indicates whether the `BigInt` value was converted
+ losslessly.
+
+Returns the C `uint64_t` primitive equivalent of the given JavaScript
+`BigInt`. If needed it will truncate the value, setting lossless to false.
+
+### WordCount
+
+```cpp
+size_t Napi::BigInt::WordCount() const;
+```
+
+Returns the number of words needed to store this `BigInt` value.
+
+### ToWords
+
+```cpp
+void Napi::BigInt::ToWords(size_t* word_count, int* sign_bit, uint64_t* words);
+```
+
+ - `[out] sign_bit`: Integer representing if the JavaScript `BigInt` is positive
+ or negative.
+ - `[in/out] word_count`: Must be initialized to the length of the words array.
+ Upon return, it will be set to the actual number of words that would be
+ needed to store this `BigInt`.
+ - `[out] words`: Pointer to a pre-allocated 64-bit word array.
+
+Returns a single `BigInt` value into a sign bit, 64-bit little-endian array,
+and the number of elements in the array.