npm.io
3.0.168 • Published 2 months ago

@layerzerolabs/lz-utilities

Licence
BUSL-1.1
Version
3.0.168
Deps
17
Size
319 kB
Vulns
0
Weekly
0

@layerzerolabs/lz-utilities

The LayerZero Utilities package provides a set of essential utilities and modules to facilitate the development and integration of applications with various blockchain networks. It includes functions for logging, assertions, formatting, and more.

Features

  • Logging: Provides a customizable logger.
  • Assertions: Includes functions for runtime type assertions.
  • Formatting: Utilities for formatting and converting data.
  • Path Utilities: Functions for handling file paths.
  • Array Utilities: Safe array operations.
  • Enum Utilities: Functions for working with enums.

Installation

To install the LayerZero Utilities package, you can use npm or yarn:

npm install @layerzerolabs/lz-utilities

or

yarn add @layerzerolabs/lz-utilities

Usage

Logging
import { initLogger, getLogger } from "@layerzerolabs/lz-utilities";

initLogger("info");
const logger = getLogger();
logger.info("Logger initialized");
Assertions

Asserts that a condition is true. If the condition is false, throws an error with the provided message.

  • condition: The condition to assert.
  • message: The error message to throw if the condition is false.
import { assert } from "@layerzerolabs/lz-utilities";

const condition = true;
assert(condition, "Condition must be true");
Formatting
Convert Bytes to Hex

Converts a Uint8Array to a hex string.

  • bytes: The bytes to convert.
  • Returns: The hex string.
import { bytesToHex } from "@layerzerolabs/lz-utilities";

// Convert Bytes to Hex
const bytes = new Uint8Array([1, 2, 3, 4]);
const hex = bytesToHex(bytes);
console.log(`Hex: ${hex}`);
Path Utilities
dirname

Returns the directory name of a path.

  • path: The path to get the directory name from.
  • Returns: The directory name of the path.
import { dirname } from "@layerzerolabs/lz-utilities";

// Get Directory Name
const path = "/path/to/file.txt";
const dir = dirname(path);
console.log(`Directory: ${dir}`);
Array Utilities
Safe Map

Calls a defined callback function on each element of an array, and returns an array that contains the results. If an error occurs during the execution of the callback function, the function returns the results up to that point and the error.

  • elements: The array to map over.
  • callbackfn: A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
  • Returns: A tuple containing the array of results and an optional error.
import { safeMap } from "@layerzerolabs/lz-utilities";

const array = [1, 2, 3];
const [result, error] = safeMap(array, (item) => item * 2);
if (error) {
  console.error(`Error: ${error.message}`);
} else {
  console.log(`Result: ${result}`);
}
Enum Utilities
asEnum

Converts a string or number value to a corresponding enum value.

  • enumType: The enum object.
  • value: The value to convert.
  • Returns: The converted enum value.
  • Throws: If the value is not a valid enum value.
import { asEnum } from "@layerzerolabs/lz-utilities";

enum Color {
  Red = "red",
  Green = "green",
  Blue = "blue",
}

// Convert string to Enum
const color: Color = asEnum(Color, "red");
console.log(`Color: ${color}`);