@blake.regalia/belt
Advanced tools
Comparing version 0.18.1 to 0.19.0
@@ -8,2 +8,14 @@ import type { Dict, JsonObject } from './types'; | ||
/** | ||
* The value `8n` | ||
*/ | ||
export declare const XG_8 = 8n; | ||
/** | ||
* The value `16n` | ||
*/ | ||
export declare const XG_16 = 8n; | ||
/** | ||
* The value `32n` | ||
*/ | ||
export declare const XG_32 = 8n; | ||
/** | ||
* The frequently-used "no-operation" function | ||
@@ -10,0 +22,0 @@ */ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.remove = exports.shuffle = exports.crypto_random_int = exports.random_int = exports.crypto_random = exports.defer_many = exports.defer = exports.microtask = exports.forever = exports.with_timeout = exports.timeout_exec = exports.timeout = exports.fodemtv = exports.oderom = exports.oderaf = exports.oderac = exports.oder = exports.odem = exports.ofe = exports.ode = exports.odv = exports.oda = exports.oc = exports.escape_regex = exports.deduplicate = exports.interjoin = exports.fold = exports.is_dict_es = exports.is_dict = exports.pascal = exports.snake = exports.proper = exports.F_IDENTITY = exports.F_NOOP = exports.__UNDEFINED = exports.ATU8_NIL = void 0; | ||
exports.remove = exports.shuffle = exports.crypto_random_int = exports.random_int = exports.crypto_random = exports.defer_many = exports.defer = exports.microtask = exports.forever = exports.with_timeout = exports.timeout_exec = exports.timeout = exports.fodemtv = exports.oderom = exports.oderaf = exports.oderac = exports.oder = exports.odem = exports.ofe = exports.ode = exports.odv = exports.oda = exports.oc = exports.escape_regex = exports.deduplicate = exports.interjoin = exports.fold = exports.is_dict_es = exports.is_dict = exports.pascal = exports.snake = exports.proper = exports.F_IDENTITY = exports.F_NOOP = exports.XG_32 = exports.XG_16 = exports.XG_8 = exports.__UNDEFINED = exports.ATU8_NIL = void 0; | ||
/** | ||
@@ -12,2 +12,14 @@ * Utility nil buffer constant | ||
/** | ||
* The value `8n` | ||
*/ | ||
exports.XG_8 = 8n; | ||
/** | ||
* The value `16n` | ||
*/ | ||
exports.XG_16 = 8n; | ||
/** | ||
* The value `32n` | ||
*/ | ||
exports.XG_32 = 8n; | ||
/** | ||
* The frequently-used "no-operation" function | ||
@@ -14,0 +26,0 @@ */ |
@@ -103,2 +103,15 @@ import type { NaiveBase58, NaiveBase64, NaiveBase93, NaiveHexLower } from './strings'; | ||
/** | ||
* Encodes the given bigint in big-endian format to a new 32-byte buffer, or whatever size is given. | ||
* @param xg_value - the value to encode | ||
* @param nb_size - size of the buffer to create | ||
* @returns the encoded buffer | ||
*/ | ||
export declare const bigint_to_buffer_be: (xg_value: bigint, nb_size?: number) => Uint8Array; | ||
/** | ||
* Decodes a bigint in big-endian format from a buffer | ||
* @param atu8_bytes | ||
* @returns | ||
*/ | ||
export declare const buffer_to_bigint_be: (atu8_bytes: Uint8Array) => bigint; | ||
/** | ||
* Converts a JSON object into its canonical form. | ||
@@ -105,0 +118,0 @@ * @param w_json JSON-compatible value to canonicalize |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.base58_to_buffer = exports.buffer_to_base58 = exports.base93_to_buffer = exports.buffer_to_base93 = exports.string8_to_buffer = exports.base64_to_buffer = exports.buffer_to_base64 = exports.hex_to_buffer = exports.buffer_to_hex = exports.concat2 = exports.concat = exports.safe_json = exports.canonicalize_json = exports.buffer_to_uint32_be = exports.uint32_to_buffer_be = exports.buffer_to_json = exports.json_to_buffer = exports.text_to_base64 = exports.base64_to_text = exports.buffer_to_text = exports.text_to_buffer = exports.decode_length_prefix_u16 = exports.encode_length_prefix_u16 = exports.zero_out = exports.hmac = exports.sha512 = exports.sha384 = exports.sha256d = exports.sha256 = exports.dataview = exports.buffer = exports.uuid_v4 = void 0; | ||
exports.base58_to_buffer = exports.buffer_to_base58 = exports.base93_to_buffer = exports.buffer_to_base93 = exports.string8_to_buffer = exports.base64_to_buffer = exports.buffer_to_base64 = exports.hex_to_buffer = exports.buffer_to_hex = exports.concat2 = exports.concat = exports.safe_json = exports.canonicalize_json = exports.buffer_to_bigint_be = exports.bigint_to_buffer_be = exports.buffer_to_uint32_be = exports.uint32_to_buffer_be = exports.buffer_to_json = exports.json_to_buffer = exports.text_to_base64 = exports.base64_to_text = exports.buffer_to_text = exports.text_to_buffer = exports.decode_length_prefix_u16 = exports.encode_length_prefix_u16 = exports.zero_out = exports.hmac = exports.sha512 = exports.sha384 = exports.sha256d = exports.sha256 = exports.dataview = exports.buffer = exports.uuid_v4 = void 0; | ||
const belt_js_1 = require("./belt.js"); | ||
@@ -178,2 +178,26 @@ // eslint-disable-next-line @typescript-eslint/naming-convention | ||
/** | ||
* Encodes the given bigint in big-endian format to a new 32-byte buffer, or whatever size is given. | ||
* @param xg_value - the value to encode | ||
* @param nb_size - size of the buffer to create | ||
* @returns the encoded buffer | ||
*/ | ||
const bigint_to_buffer_be = (xg_value, nb_size = 32) => { | ||
// prep buffer of the appropriate size | ||
let atu8_out = (0, exports.buffer)(nb_size); | ||
let ib_write = nb_size; | ||
while (xg_value > 0n) { | ||
atu8_out[--ib_write] = Number(xg_value & 0xffn); | ||
xg_value >>= belt_js_1.XG_8; | ||
} | ||
return atu8_out; | ||
}; | ||
exports.bigint_to_buffer_be = bigint_to_buffer_be; | ||
/** | ||
* Decodes a bigint in big-endian format from a buffer | ||
* @param atu8_bytes | ||
* @returns | ||
*/ | ||
const buffer_to_bigint_be = (atu8_bytes) => atu8_bytes.reduce((xg_out, xb_value) => (xg_out << belt_js_1.XG_8) | BigInt(xb_value), 0n); | ||
exports.buffer_to_bigint_be = buffer_to_bigint_be; | ||
/** | ||
* Converts a JSON object into its canonical form. | ||
@@ -180,0 +204,0 @@ * @param w_json JSON-compatible value to canonicalize |
@@ -8,2 +8,14 @@ import type { Dict, JsonObject } from './types'; | ||
/** | ||
* The value `8n` | ||
*/ | ||
export declare const XG_8 = 8n; | ||
/** | ||
* The value `16n` | ||
*/ | ||
export declare const XG_16 = 8n; | ||
/** | ||
* The value `32n` | ||
*/ | ||
export declare const XG_32 = 8n; | ||
/** | ||
* The frequently-used "no-operation" function | ||
@@ -10,0 +22,0 @@ */ |
@@ -9,2 +9,14 @@ /** | ||
/** | ||
* The value `8n` | ||
*/ | ||
export const XG_8 = 8n; | ||
/** | ||
* The value `16n` | ||
*/ | ||
export const XG_16 = 8n; | ||
/** | ||
* The value `32n` | ||
*/ | ||
export const XG_32 = 8n; | ||
/** | ||
* The frequently-used "no-operation" function | ||
@@ -11,0 +23,0 @@ */ |
@@ -103,2 +103,15 @@ import type { NaiveBase58, NaiveBase64, NaiveBase93, NaiveHexLower } from './strings'; | ||
/** | ||
* Encodes the given bigint in big-endian format to a new 32-byte buffer, or whatever size is given. | ||
* @param xg_value - the value to encode | ||
* @param nb_size - size of the buffer to create | ||
* @returns the encoded buffer | ||
*/ | ||
export declare const bigint_to_buffer_be: (xg_value: bigint, nb_size?: number) => Uint8Array; | ||
/** | ||
* Decodes a bigint in big-endian format from a buffer | ||
* @param atu8_bytes | ||
* @returns | ||
*/ | ||
export declare const buffer_to_bigint_be: (atu8_bytes: Uint8Array) => bigint; | ||
/** | ||
* Converts a JSON object into its canonical form. | ||
@@ -105,0 +118,0 @@ * @param w_json JSON-compatible value to canonicalize |
@@ -1,2 +0,2 @@ | ||
import { is_dict_es, ode, ofe } from './belt.js'; | ||
import { XG_8, is_dict_es, ode, ofe } from './belt.js'; | ||
// eslint-disable-next-line @typescript-eslint/naming-convention | ||
@@ -157,2 +157,24 @@ const S_UUID_V4 = 'xxxxxxxx_xxxx_4xxx_yxxx_xxxxxxxxxxxx'; | ||
/** | ||
* Encodes the given bigint in big-endian format to a new 32-byte buffer, or whatever size is given. | ||
* @param xg_value - the value to encode | ||
* @param nb_size - size of the buffer to create | ||
* @returns the encoded buffer | ||
*/ | ||
export const bigint_to_buffer_be = (xg_value, nb_size = 32) => { | ||
// prep buffer of the appropriate size | ||
let atu8_out = buffer(nb_size); | ||
let ib_write = nb_size; | ||
while (xg_value > 0n) { | ||
atu8_out[--ib_write] = Number(xg_value & 0xffn); | ||
xg_value >>= XG_8; | ||
} | ||
return atu8_out; | ||
}; | ||
/** | ||
* Decodes a bigint in big-endian format from a buffer | ||
* @param atu8_bytes | ||
* @returns | ||
*/ | ||
export const buffer_to_bigint_be = (atu8_bytes) => atu8_bytes.reduce((xg_out, xb_value) => (xg_out << XG_8) | BigInt(xb_value), 0n); | ||
/** | ||
* Converts a JSON object into its canonical form. | ||
@@ -159,0 +181,0 @@ * @param w_json JSON-compatible value to canonicalize |
{ | ||
"name": "@blake.regalia/belt", | ||
"version": "0.18.1", | ||
"version": "0.19.0", | ||
"repository": "github:blake-regalia/belt", | ||
@@ -5,0 +5,0 @@ "license": "ISC", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
191798
42
3760