Detalhes do pacote

@xylabs/geo

xylabs1.3kLGPL-3.0-only5.0.11

Base functionality used throughout XY Labs TypeScript/JavaScript libraries

xylabs, utility, typescript, esm

readme (leia-me)

@xylabs/sdk-js

logo

main-build npm-badge npm-downloads-badge jsdelivr-badge npm-license-badge codacy-badge codeclimate-badge snyk-badge socket-badge

Base functionality used throughout XY Labs TypeScript/JavaScript libraries

Reference

@xylabs/sdk-js


Classes

Interfaces

Type Aliases

Variables

Functions

classes

ApiClient

@xylabs/sdk-js


Constructors

Constructor

new ApiClient(token?, stage?): ApiClient;

Parameters

token?

null | string

stage?

ApiStage

Returns

ApiClient

Properties

token?

protected optional token: null | string;

stage?

protected optional stage: ApiStage;

Methods

endPoint()

abstract endPoint(): string;

Returns

string

ApiEndpoint

@xylabs/sdk-js


Type Parameters

T

T

Constructors

Constructor

new ApiEndpoint<T>(config, path): ApiEndpoint<T>;

Parameters

config

ApiConfig

path

string

Returns

ApiEndpoint\<T>

Accessors

value

Get Signature

get value(): undefined | T;

Returns

undefined | T

Methods

fetch()

fetch(): Promise<T>;

Returns

Promise\<T>


get()

get(): Promise<T | NonNullable<T>>;

Returns

Promise\<T | NonNullable\<T>>


insert()

insert(value): Promise<T>;

Parameters

value

T

Returns

Promise\<T>

AxiosJson

@xylabs/sdk-js


Extends

  • Axios

Constructors

Constructor

new AxiosJson(config?): AxiosJson;

Parameters

config?

RawAxiosJsonRequestConfig\<any>

Returns

AxiosJson

Overrides

Axios.constructor

Properties

defaultLogger?

static optional defaultLogger: Logger;

Methods

finalPath()

static finalPath(response): any;

Parameters

response

AxiosResponse

Returns

any

AxiosJsonUncompressed

@xylabs/sdk-js


Extends

  • Axios

Constructors

Constructor

new AxiosJsonUncompressed(config?): AxiosJsonUncompressed;

Parameters

config?

RawAxiosJsonRequestUncompressedConfig\<any>

Returns

AxiosJsonUncompressed

Overrides

Axios.constructor

Properties

defaultLogger?

static optional defaultLogger: Logger;

Methods

finalPath()

static finalPath(response): any;

Parameters

response

AxiosResponse

Returns

any

ConsoleLogger

@xylabs/sdk-js


Interface to handle overlap between Winston & console with as much congruency as possible.

Extends

Constructors

Constructor

new ConsoleLogger(level?): ConsoleLogger;

Parameters

level?

LogLevelValue

Returns

ConsoleLogger

Overrides

LevelLogger.constructor

Properties

level

readonly level: LogLevelValue;

Inherited from

LevelLogger.level


logger

readonly logger: Logger;

Inherited from

LevelLogger.logger

Accessors

debug

Get Signature

get debug(): LogFunction;

Returns

LogFunction

Inherited from

LevelLogger.debug


error

Get Signature

get error(): LogFunction;

Returns

LogFunction

Inherited from

LevelLogger.error


info

Get Signature

get info(): LogFunction;

Returns

LogFunction

Inherited from

LevelLogger.info


log

Get Signature

get log(): LogFunction;

Returns

LogFunction

Inherited from

LevelLogger.log


trace

Get Signature

get trace(): LogFunction;

Returns

LogFunction

Inherited from

LevelLogger.trace


warn

Get Signature

get warn(): LogFunction;

Returns

LogFunction

Inherited from

LevelLogger.warn

EthAddress

@xylabs/sdk-js


Properties

type

readonly static type: "EthAddress" = "EthAddress";

type

type: string;

Methods

fromString()

static fromString(value?, base?): undefined | EthAddress;

Parameters

value?

string

base?

number

Returns

undefined | EthAddress


parse()

static parse(value, base?): undefined | EthAddress;

Parameters

value

unknown

base?

number

Returns

undefined | EthAddress


validate()

static validate(address): boolean;

Parameters

address

string

Returns

boolean


equals()

equals(address?): boolean;

Parameters

address?

null | string | EthAddress

Returns

boolean


toBigNumber()

toBigNumber(): bigint;

Returns

bigint


toHex()

toHex(): string;

Returns

string


toJSON()

toJSON(): string;

Returns

string


toLowerCaseString()

toLowerCaseString(): string;

Returns

string


toShortString()

toShortString(length?): string;

Parameters

length?

number

Returns

string


toString()

toString(checksum?, chainId?): string;

Parameters

checksum?

boolean

chainId?

string

Returns

string


validate()

validate(): boolean;

Returns

boolean

ForgetPromise

@xylabs/sdk-js


Extends

  • ForgetPromise

Constructors

Constructor

new ForgetPromise(): ForgetPromiseNode;

Returns

ForgetPromiseNode

Inherited from

ForgetPromise.constructor

Properties

activeForgets

static activeForgets: number;

Inherited from

ForgetPromise.activeForgets

exceptedForgets

static exceptedForgets: number;

Inherited from

ForgetPromise.exceptedForgets

logger

static logger: Logger;

Inherited from

ForgetPromise.logger

Accessors

active

Get Signature

get static active(): boolean;

Returns

boolean

Inherited from

ForgetPromise.active

Methods

awaitInactive()

static awaitInactive(interval?, timeout?): Promise<number>;

Parameters

interval?

number

timeout?

number

Returns

Promise\<number>

Inherited from

ForgetPromise.awaitInactive

exceptionHandler()

static exceptionHandler(
   error, 
   config, 
   externalStackTrace?): void;

Parameters

error

Error

config

ForgetNodeConfig

externalStackTrace?

string

Returns

void

Overrides

ForgetPromise.exceptionHandler

forget()

static forget<T>(promise, config?): void;

Used to explicitly launch an async function (or Promise) with awaiting it

Type Parameters

T

T

Parameters

promise

Promisable\<T>

The promise to forget

config?

ForgetNodeConfig\<T>

Configuration of forget settings

Returns

void

Overrides

ForgetPromise.forget

timeoutHandler()

static timeoutHandler(
   time, 
   config, 
   externalStackTrace?): void;

Parameters

time

number

config

ForgetNodeConfig

externalStackTrace?

string

Returns

void

Overrides

ForgetPromise.timeoutHandler

IdLogger

@xylabs/sdk-js


Interface to handle overlap between Winston & console with as much congruency as possible.

Implements

Constructors

Constructor

new IdLogger(logger, id?): IdLogger;

Parameters

logger

Logger

id?

() => string

Returns

IdLogger

Accessors

id

Set Signature

set id(id): void;

Parameters

id

string

Returns

void

Methods

debug()

debug(...data): void;

Parameters

data

...unknown[]

Returns

void

Implementation of

Logger.debug

error()

error(...data): void;

Parameters

data

...unknown[]

Returns

void

Implementation of

Logger.error

info()

info(...data): void;

Parameters

data

...unknown[]

Returns

void

Implementation of

Logger.info

log()

log(...data): void;

Parameters

data

...unknown[]

Returns

void

Implementation of

Logger.log

trace()

trace(...data): void;

Parameters

data

...unknown[]

Returns

void

Implementation of

Logger.trace

warn()

warn(...data): void;

Parameters

data

...unknown[]

Returns

void

Implementation of

Logger.warn

IsObjectFactory

@xylabs/sdk-js


Type Parameters

T

T extends TypedObject

Constructors

Constructor

new IsObjectFactory<T>(): IsObjectFactory<T>;

Returns

IsObjectFactory\<T>

Methods

create()

create(shape?, additionalChecks?): TypeCheck<T>;

Parameters

shape?

ObjectTypeShape

additionalChecks?

TypeCheck\<TypedObject>[]

Returns

TypeCheck\<T>

LevelLogger

@xylabs/sdk-js


Interface to handle overlap between Winston & console with as much congruency as possible.

Extended by

Implements

Constructors

Constructor

new LevelLogger(logger, level?): LevelLogger;

Parameters

logger

Logger

level?

LogLevelValue

Returns

LevelLogger

Properties

level

readonly level: LogLevelValue;

logger

readonly logger: Logger;

Accessors

debug

Get Signature

get debug(): LogFunction;

Returns

LogFunction

Implementation of

Logger.debug


error

Get Signature

get error(): LogFunction;

Returns

LogFunction

Implementation of

Logger.error


info

Get Signature

get info(): LogFunction;

Returns

LogFunction

Implementation of

Logger.info


log

Get Signature

get log(): LogFunction;

Returns

LogFunction

Implementation of

Logger.log


trace

Get Signature

get trace(): LogFunction;

Returns

LogFunction

Implementation of

Logger.trace


warn

Get Signature

get warn(): LogFunction;

Returns

LogFunction

Implementation of

Logger.warn

Log

@xylabs/sdk-js


Deprecated

use @xylabs/logger instead

Constructors

Constructor

new Log(config): Log;

Parameters

config

LogConfig

Returns

Log

Properties

config

protected config: LogConfig;

Methods

debug()

debug(...params): void;

Parameters

params

...any[]

Returns

void


error()

error(...params): void;

Parameters

params

...any[]

Returns

void


info()

info(...params): void;

Parameters

params

...any[]

Returns

void


log()

log(...params): void;

Parameters

params

...any[]

Returns

void


warn()

warn(...params): void;

Parameters

params

...any[]

Returns

void

ObjectWrapper

@xylabs/sdk-js


Extended by

Type Parameters

T

T extends EmptyObject = EmptyObject

Constructors

Constructor

new ObjectWrapper<T>(obj): ObjectWrapper<T>;

Parameters

obj

T

Returns

ObjectWrapper\<T>

Properties

obj

readonly obj: T;

Accessors

stringKeyObj

Get Signature

get protected stringKeyObj(): StringKeyObject;

Returns

StringKeyObject

PromiseEx

@xylabs/sdk-js


Extends

  • Promise\<T>

Type Parameters

T

T

V

V = void

Constructors

Constructor

new PromiseEx<T, V>(func, value?): PromiseEx<T, V>;

Parameters

func

PromiseExFunc\<T>

value?

V

Returns

PromiseEx\<T, V>

Overrides

Promise<T>.constructor

Properties

cancelled?

optional cancelled: boolean;

Methods

then()

then<TResult1, TResult2>(
   onfulfilled?, 
   onrejected?, 
onvalue?): Promise<TResult1 | TResult2>;

Attaches callbacks for the resolution and/or rejection of the Promise.

Type Parameters

TResult1

TResult1 = T

TResult2

TResult2 = never

Parameters

onfulfilled?

The callback to execute when the Promise is resolved.

null | (value) => TResult1 | PromiseLike\<TResult1>

onrejected?

The callback to execute when the Promise is rejected.

null | (reason) => TResult2 | PromiseLike\<TResult2>

onvalue?

(value?) => boolean

Returns

Promise\<TResult1 | TResult2>

A Promise for the completion of which ever callback is executed.

Overrides

Promise.then

value()

value(onvalue?): this;

Parameters

onvalue?

(value?) => boolean

Returns

this

SilentLogger

@xylabs/sdk-js


A logger that does not log anything. This is useful when you want to disable logging like when running unit tests or in silent mode. It implements the Logger interface but all methods are no-op functions.

Implements

Constructors

Constructor

new SilentLogger(): SilentLogger;

Returns

SilentLogger

Properties

debug()

readonly debug: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

Implementation of

Logger.debug


error()

readonly error: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

Implementation of

Logger.error


info()

readonly info: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

Implementation of

Logger.info


log()

readonly log: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

Implementation of

Logger.log


trace()

readonly trace: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

Implementation of

Logger.trace


warn()

readonly warn: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

Implementation of

Logger.warn

ValidatorBase

@xylabs/sdk-js


Extends

Type Parameters

T

T extends EmptyObject = AnyObject

Implements

Constructors

Constructor

new ValidatorBase<T>(obj): ValidatorBase<T>;

Parameters

obj

T

Returns

ValidatorBase\<T>

Inherited from

ObjectWrapper.constructor

Properties

obj

readonly obj: T;

Inherited from

ObjectWrapper.obj

Accessors

stringKeyObj

Get Signature

get protected stringKeyObj(): StringKeyObject;

Returns

StringKeyObject

Inherited from

ObjectWrapper.stringKeyObj

Methods

validate()

abstract validate(payload): Promisable<Error[]>;

Parameters

payload

T

Returns

Promisable\<Error[]>

Implementation of

Validator.validate

functions

asAddress

@xylabs/sdk-js


Call Signature

function asAddress(value): undefined | Lowercase<string>;

Parameters

value

unknown

Returns

undefined | Lowercase\<string>

Call Signature

function asAddress(value, assert): Lowercase<string>;

Parameters

value

unknown

assert

AssertConfig

Returns

Lowercase\<string>

asHash

@xylabs/sdk-js


Call Signature

function asHash(value): undefined | Lowercase<string>;

Parameters

value

unknown

Returns

undefined | Lowercase\<string>

Call Signature

function asHash(value, assert): Lowercase<string>;

Parameters

value

unknown

assert

AssertConfig

Returns

Lowercase\<string>

asHex

@xylabs/sdk-js


Call Signature

function asHex(value): undefined | Lowercase<string>;

Parameters

value

unknown

Returns

undefined | Lowercase\<string>

Call Signature

function asHex(value, assert): Lowercase<string>;

Parameters

value

unknown

assert

AssertConfig

Returns

Lowercase\<string>

assertDefinedEx

@xylabs/sdk-js


Call Signature

function assertDefinedEx<T>(expr, messageFunc?): T;

Intended for defined checks for variables

Type Parameters

T

T

Parameters

expr

Expression to be evaluated for truthiness

undefined | T

messageFunc?

AssertExMessageFunc\<T>

Returns

T

Value of expression

Throws

AssertExError

Call Signature

function assertDefinedEx<T, R>(expr, errorFunc?): T;

Intended for defined checks for variables

Type Parameters

T

T

R

R extends Error

Parameters

expr

Expression to be evaluated for truthiness

undefined | T

errorFunc?

AssertExErrorFunc\<T, R>

Returns

T

Value of expression

Throws

AssertExError

Call Signature

function assertDefinedEx<T>(expr): T;

Type Parameters

T

T

Parameters

expr

undefined | T

Returns

T

Deprecated

  • passing a message will soon be required

Call Signature

function assertDefinedEx<T>(expr, message?): T;

Type Parameters

T

T

Parameters

expr

undefined | T

message?

string

Returns

T

Deprecated

  • replace string with () => string

    assertEx

@xylabs/sdk-js


Call Signature

function assertEx<T>(expr, messageFunc?): T;

Intended for simple truthiness checks for variables

Type Parameters

T

T

Parameters

expr

Expression to be evaluated for truthiness

undefined | null | T

messageFunc?

AssertExMessageFunc\<T>

Returns

T

Value of expression

Throws

AssertExError

Call Signature

function assertEx<T, R>(expr, errorFunc?): T;

Intended for simple truthiness checks for variables

Type Parameters

T

T

R

R extends Error

Parameters

expr

Expression to be evaluated for truthiness

undefined | null | T

errorFunc?

AssertExErrorFunc\<T, R>

Returns

T

Value of expression

Throws

AssertExError

Call Signature

function assertEx<T>(expr): T;

Type Parameters

T

T

Parameters

expr

undefined | null | T

Returns

T

Deprecated

  • passing a message will soon be required

Call Signature

function assertEx<T>(expr, message?): T;

Type Parameters

T

T

Parameters

expr

undefined | null | T

message?

string

Returns

T

Deprecated

  • replace string with () => string

    createDeepMerge

@xylabs/sdk-js


function createDeepMerge(options): <T>(...objects) => MergeAll<T>;

Creates a deep merge function with the specified options.

Parameters

options

MergeOptions

Options for merging.

Returns

A deep merge function configured for the specified options.

<T>(...objects): MergeAll<T>;

Type Parameters

T

T extends AnyObject[]

Parameters

objects

...T

Returns

MergeAll\<T>

hexToBigInt

@xylabs/sdk-js


function hexToBigInt(hex): bigint;

Parameters

hex

Lowercase\<string>

Returns

bigint

staticImplements

@xylabs/sdk-js


function staticImplements<T>(): <U>(constructor) => void;

Annotation to decorate classes which implement static methods

Type Parameters

T

T

Returns

The decorated class requiring it to implement the members of the the type as static properties/methods

<U>(constructor): void;

Type Parameters

U

U

Parameters

constructor

U

Returns

void

toPromise

@xylabs/sdk-js


function toPromise<T>(value): Promise<T>;

Type Parameters

T

T

Parameters

value

Promisable\<T>

Returns

Promise\<T>

interfaces

ApiConfig

@xylabs/sdk-js


Properties

apiDomain

apiDomain: string;

apiKey?

optional apiKey: string;

jwtToken?

optional jwtToken: string;

userid?

optional userid: string;

ForgetNodeConfig

@xylabs/sdk-js


Extends

  • ForgetConfig\<T>

Type Parameters

T

T = any

Properties

name?

optional name: string;

Inherited from

ForgetConfig.name

onCancel()?

optional onCancel: () => void;

Returns

void

Inherited from

ForgetConfig.onCancel

onComplete()?

optional onComplete: (result) => void;

Parameters

result

[undefined | T, undefined | Error]

Returns

void

Inherited from

ForgetConfig.onComplete

onException()?

optional onException: (error) => void;

Parameters

error

Error

Returns

void

Inherited from

ForgetConfig.onException

timeout?

optional timeout: number;

Inherited from

ForgetConfig.timeout

terminateOnException?

optional terminateOnException: boolean;

terminateOnTimeout?

optional terminateOnTimeout: boolean;

HexConfig

@xylabs/sdk-js


Configuration of validation and output format

Properties

bitLength?

optional bitLength: number;

byteSize?

optional byteSize: number;

prefix?

optional prefix: boolean;

Logger

@xylabs/sdk-js


Interface to handle overlap between Winston & console with as much congruency as possible.

Properties

debug

debug: LogFunction;

error

error: LogFunction;

info

info: LogFunction;

log

log: LogFunction;

trace

trace: LogFunction;

warn

warn: LogFunction;

ObjectTypeConfig

@xylabs/sdk-js


Extends

Properties

log?

optional log: boolean | Logger;

Inherited from

TypeCheckConfig.log

PromiseType

@xylabs/sdk-js


Properties

then()

then: () => unknown;

Returns

unknown

RetryConfig

@xylabs/sdk-js


Extended by

Properties

backoff?

optional backoff: number;

interval?

optional interval: number;

retries?

optional retries: number;

RetryConfigWithComplete

@xylabs/sdk-js


Extends

Type Parameters

T

T = unknown

Properties

backoff?

optional backoff: number;

Inherited from

RetryConfig.backoff


interval?

optional interval: number;

Inherited from

RetryConfig.interval


retries?

optional retries: number;

Inherited from

RetryConfig.retries


complete()?

optional complete: (result?) => boolean;

Parameters

result?

T

Returns

boolean

TypeCheckConfig

@xylabs/sdk-js


Extended by

Properties

log?

optional log: boolean | Logger;

TypeCheckOptionalConfig

@xylabs/sdk-js


Extends

Properties

log?

optional log: boolean | Logger;

Inherited from

TypeCheckConfig.log


required

required: false;

TypeCheckRequiredConfig

@xylabs/sdk-js


Extends

Properties

log?

optional log: boolean | Logger;

Inherited from

TypeCheckConfig.log


required

required: true;

Validator

@xylabs/sdk-js


Type Parameters

T

T extends EmptyObject = AnyObject

Methods

validate()

validate(payload): Promisable<Error[]>;

Parameters

payload

T

Returns

Promisable\<Error[]>

type-aliases

Address

@xylabs/sdk-js


type Address = Exclude<Hex, "reserved-address-value">;

AnyNonPromise

@xylabs/sdk-js


type AnyNonPromise = Exclude<TypedValue, PromiseType>;

AnyObject

@xylabs/sdk-js


type AnyObject = Record<TypedKey, unknown>;

Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject will result in a type that includes the universal set of field names

ApiStage

@xylabs/sdk-js


type ApiStage = EnumValue<typeof ApiStage>;

AsOptionalTypeFunction

@xylabs/sdk-js


type AsOptionalTypeFunction<T> = <TType>(value) => undefined | TType;

Type Parameters

T

T extends AnyNonPromise = AnyNonPromise

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

Returns

undefined | TType

AsTypeFunction

@xylabs/sdk-js


type AsTypeFunction<T> = {
<TType>  (value): undefined | TType;
<TType>  (value, config): TType;
<TType>  (value, config): undefined | TType;
<TType>  (value, assert): undefined | TType;
<TType>  (value, assert, config): TType;
<TType>  (value, assert, config): undefined | TType;
};

Type Parameters

T

T extends AnyNonPromise = AnyNonPromise

Call Signature

<TType>(value): undefined | TType;

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

Returns

undefined | TType

Call Signature

<TType>(value, config): TType;

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

config

TypeCheckRequiredConfig

Returns

TType

Call Signature

<TType>(value, config): undefined | TType;

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

config

TypeCheckConfig | TypeCheckOptionalConfig

Returns

undefined | TType

Call Signature

<TType>(value, assert): undefined | TType;

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

assert

StringOrAlertFunction\<TType>

Returns

undefined | TType

Call Signature

<TType>(
   value, 
   assert, 
   config): TType;

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

assert

StringOrAlertFunction\<TType>

config

TypeCheckRequiredConfig

Returns

TType

Call Signature

<TType>(
   value, 
   assert, 
   config): undefined | TType;

Type Parameters

TType

TType extends AnyNonPromise

Parameters

value

AnyNonPromise

assert

StringOrAlertFunction\<TType>

config

TypeCheckConfig | TypeCheckOptionalConfig

Returns

undefined | TType

AssertExErrorFunc

@xylabs/sdk-js


type AssertExErrorFunc<T, R> = (value?) => R;

Type Parameters

T

T

R

R extends Error

Parameters

value?

T | null

Returns

R

AssertExMessageFunc

@xylabs/sdk-js


type AssertExMessageFunc<T> = (value?) => string;

Type Parameters

T

T

Parameters

value?

T | null

Returns

string

AsyncMutex

@xylabs/sdk-js


type AsyncMutex<T> = Promise<T>;

Type Parameters

T

T

Description

Used to document promises that are being used as Mutexes

Compare

@xylabs/sdk-js


type Compare<T> = (a, b) => number;

Type Parameters

T

T

Parameters

a

T

b

T

Returns

number

DeepOmitStartsWith

@xylabs/sdk-js


type DeepOmitStartsWith<T, Prefix> = T extends infer U[] ? DeepOmitStartsWith<U, Prefix>[] : T extends object ? { [K in keyof T as K extends string ? K extends `${Prefix}${string}` ? never : K : K]: DeepOmitStartsWith<T[K], Prefix> } : T;

Type Parameters

T

T

Prefix

Prefix extends string

DeepPickStartsWith

@xylabs/sdk-js


type DeepPickStartsWith<T, Prefix> = T extends infer U[] ? DeepPickStartsWith<U, Prefix>[] : T extends object ? { [K in keyof T as K extends string ? K extends `${Prefix}${string}` ? K : never : K]: DeepPickStartsWith<T[K], Prefix> } : T;

Type Parameters

T

T

Prefix

Prefix extends string

DeepRestrictToStringKeys

@xylabs/sdk-js


type DeepRestrictToStringKeys<T> = { [K in keyof T as K extends string ? K : never]: T[K] extends (infer U)[] ? DeepRestrictToStringKeys<U>[] : T[K] extends object ? DeepRestrictToStringKeys<T[K]> : T[K] };

Type Parameters

T

T

EmptyObject

@xylabs/sdk-js


type EmptyObject<T> = { [K in keyof T]?: never };

An empty object, which means that it does enforce the set of field names, defaulting to an empty set until extended from, which then adds only those additional fields

Type Parameters

T

T extends object = object

EmptyObjectOf

@xylabs/sdk-js


type EmptyObjectOf<T> = EmptyObject<T> extends T ? EmptyObject<T> : never;

Type Parameters

T

T extends object

Hash

@xylabs/sdk-js


type Hash = Exclude<Hex, "reserved-hash-value">;

HashBitLength

@xylabs/sdk-js


type HashBitLength = 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096;

Hex

@xylabs/sdk-js


type Hex = Exclude<Lowercase<string>, "reserved-hex-value">;

JsonArray

@xylabs/sdk-js


type JsonArray = JsonValue[];

JsonObject

@xylabs/sdk-js


type JsonObject = object;

Index Signature

[key: string]: JsonValue

JsonValue

@xylabs/sdk-js


type JsonValue = 
  | string
  | number
  | boolean
  | null
  | JsonObject
  | JsonArray;

LogFunction

@xylabs/sdk-js


type LogFunction = (...data) => void;

Parameters

data

...unknown[]

Returns

void

LogLevel

@xylabs/sdk-js


type LogLevel = LogLevelValue;

Deprecated

Use LogLevelValue instead. This name conflicts with the LogLevel enum and makes it confusing to import

LogLevelKey

@xylabs/sdk-js


type LogLevelKey = EnumKey<typeof LogLevel>;

LogLevelValue

@xylabs/sdk-js


type LogLevelValue = EnumValue<typeof LogLevel>;

LogVerbosity

@xylabs/sdk-js


type LogVerbosity = LogLevelKey;

NullablePromisable

@xylabs/sdk-js


type NullablePromisable<T, V> = Promisable<T | null, V>;

Type Parameters

T

T

V

V = never

NullablePromisableArray

@xylabs/sdk-js


type NullablePromisableArray<T, V> = PromisableArray<T | null, V>;

Type Parameters

T

T

V

V = never

OmitByPredicate

@xylabs/sdk-js


type OmitByPredicate<T> = (value, key) => boolean;

Type Parameters

T

T extends EmptyObject = Record\<string, unknown>

Parameters

value

T[keyof T]

key

keyof T

Returns

boolean

OmitStartsWith

@xylabs/sdk-js


type OmitStartsWith<T, Prefix> = { [K in keyof T as K extends `${Prefix}${string}` ? never : K]: T[K] };

Type Parameters

T

T

Prefix

Prefix extends string

Optional

@xylabs/sdk-js


type Optional<T, F> = Omit<T, F> & Partial<Pick<T, F>>;

Type Parameters

T

T extends object

F

F extends keyof T

OptionalPromisable

@xylabs/sdk-js


type OptionalPromisable<T, V> = Promisable<T | undefined, V>;

Type Parameters

T

T

V

V = never

OptionalPromisableArray

@xylabs/sdk-js


type OptionalPromisableArray<T, V> = PromisableArray<T | undefined, V>;

Type Parameters

T

T

V

V = never

Override

@xylabs/sdk-js


type Override<T1, T2> = Omit<T1, keyof T2> & T2;

Type Parameters

T1

T1

T2

T2

PartialRecord

@xylabs/sdk-js


type PartialRecord<K, T> = { [P in K]?: T };

Type Parameters

K

K extends keyof any

T

T

Deprecated

use Partial<Record<>> instead

PickByPredicate

@xylabs/sdk-js


type PickByPredicate<T> = (value, key) => boolean;

Type Parameters

T

T extends EmptyObject = Record\<string, unknown>

Parameters

value

T[keyof T]

key

keyof T

Returns

boolean

PickStartsWith

@xylabs/sdk-js


type PickStartsWith<T, Prefix> = { [K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K] };

Type Parameters

T

T

Prefix

Prefix extends string

Profiler

@xylabs/sdk-js


type Profiler = Record<string, number[]>;

Promisable

@xylabs/sdk-js


type Promisable<T, V> = PromiseEx<T, V> | Promise<T> | T;

Type Parameters

T

T

V

V = never

PromisableArray

@xylabs/sdk-js


type PromisableArray<T, V> = Promisable<T[], V>;

Type Parameters

T

T

V

V = never

PromiseExFunc

@xylabs/sdk-js


type PromiseExFunc<T> = (resolve?, reject?) => void;

Type Parameters

T

T

Parameters

resolve?

PromiseExSubFunc\<T, void>

reject?

PromiseExSubFunc\<T, void>

Returns

void

PromiseExSubFunc

@xylabs/sdk-js


type PromiseExSubFunc<T, TResult> = (value) => TResult;

Type Parameters

T

T

TResult

TResult = T

Parameters

value

T

Returns

TResult

PromiseExValueFunc

@xylabs/sdk-js


type PromiseExValueFunc<V> = (value?) => boolean;

Type Parameters

V

V

Parameters

value?

V

Returns

boolean

RawAxiosJsonRequestConfig

@xylabs/sdk-js


type RawAxiosJsonRequestConfig<D> = RawAxiosRequestConfig<D> & object;

Type declaration

compressLength?

optional compressLength: number;

Type Parameters

D

D = any

RawAxiosJsonRequestUncompressedConfig

@xylabs/sdk-js


type RawAxiosJsonRequestUncompressedConfig<D> = RawAxiosRequestConfig<D>;

Type Parameters

D

D = any

StringKeyObject

@xylabs/sdk-js


type StringKeyObject<T> = object;

Type Parameters

T

T = unknown

Index Signature

[key: string]: T

StringOrAlertFunction

@xylabs/sdk-js


type StringOrAlertFunction<T> = string | AssertExMessageFunc<T>;

Type Parameters

T

T extends AnyNonPromise

TypeCheck

@xylabs/sdk-js


type TypeCheck<T> = {
  (obj): obj is T;
  (obj, config): obj is T;
  (obj, config): obj is T;
};

Type Parameters

T

T extends TypedValue

Call Signature

(obj): obj is T;

Parameters

obj

AnyNonPromise

Returns

obj is T

Call Signature

(obj, config): obj is T;

Parameters

obj

AnyNonPromise

config

TypeCheckConfig

Returns

obj is T

Call Signature

(obj, config): obj is T;

Parameters

obj

AnyNonPromise

config

undefined | number | TypeCheckConfig

Returns

obj is T

WithAdditional

@xylabs/sdk-js


type WithAdditional<T, TAdditional> = TAdditional extends EmptyObject ? T & TAdditional : T;

Type Parameters

T

T extends EmptyObject | void

TAdditional

TAdditional extends EmptyObject | void = void

variables

ApiStage

@xylabs/sdk-js


const ApiStage: Enum<{
  Beta: "beta";
  Local: "local";
  Prod: "prod";
}>;

AsObjectFactory

@xylabs/sdk-js


const AsObjectFactory: object;

Type declaration

create()

create: <T>(typeCheck) => AsTypeFunction;

Type Parameters

T

T extends TypedObject

Parameters

typeCheck

TypeCheck\<T>

Returns

AsTypeFunction

createOptional()

createOptional: <T>(typeCheck) => (value) => T | undefined;

Type Parameters

T

T extends TypedObject

Parameters

typeCheck

TypeCheck\<T>

Returns

(value): T | undefined;

Parameters

value

AnyNonPromise

Returns

T | undefined

AsTypeFactory

@xylabs/sdk-js


const AsTypeFactory: object;

Type declaration

create()

create: <T>(typeCheck) => AsTypeFunction<T>;

Type Parameters

T

T extends AnyNonPromise

Parameters

typeCheck

TypeCheck\<T>

Returns

AsTypeFunction\<T>

createOptional()

createOptional: <T>(typeCheck) => (value) => T | undefined;

Type Parameters

T

T extends AnyNonPromise

Parameters

typeCheck

TypeCheck\<T>

Returns

(value): T | undefined;

Parameters

value

AnyNonPromise

Returns

T | undefined

HashBitLength

@xylabs/sdk-js


HashBitLength: HashBitLength[];

LogLevel

@xylabs/sdk-js


const LogLevel: Enum<{
  error: 1;
  warn: 2;
  info: 3;
  log: 4;
  debug: 5;
  trace: 6;
}>;

NoOpLogFunction

@xylabs/sdk-js


const NoOpLogFunction: (..._data) => undefined;

Parameters

_data

...unknown[]

Returns

undefined

ZERO_ADDRESS

@xylabs/sdk-js


const ZERO_ADDRESS: Address;

ZERO_HASH

@xylabs/sdk-js


const ZERO_HASH: Hash;

asAnyObject

@xylabs/sdk-js


const asAnyObject: AsTypeFunction;

axios

@xylabs/sdk-js


const axios: AxiosJson;

axiosUncompressed

@xylabs/sdk-js


const axiosUncompressed: AxiosJsonUncompressed;

bitsToNibbles

@xylabs/sdk-js


const bitsToNibbles: (value) => number;

Parameters

value

number

Returns

number

clearTimeoutEx

@xylabs/sdk-js


const clearTimeoutEx: (id) => void;

Parameters

id

string

Returns

void

containsAll

@xylabs/sdk-js


const containsAll: <T>(source, target) => boolean;

Type Parameters

T

T

Parameters

source

T[]

target

T[]

Returns

boolean

createProfiler

@xylabs/sdk-js


const createProfiler: () => Profiler;

Returns

Profiler

deepMerge

@xylabs/sdk-js


const deepMerge: <T>(...objects) => MergeAll<T>;

Deeply merges multiple objects into a new object.

Type Parameters

T

T extends AnyObject[]

Parameters

objects

...T

Multiple objects to merge deeply. The function merges properties from all objects into a new object. If a property exists in multiple objects, the last object's value will be used. If a property is an object, it will be merged recursively. If a property is an array, it will be overwritten by the last object's value. If a property is a primitive value, it will be overwritten by the last object's value. If a property is undefined in the source, it will be skipped. If a property is a symbol, it will be merged as well.

Returns

MergeAll\<T>

A new object with the merged properties.

defaultForgetNodeConfig

@xylabs/sdk-js


const defaultForgetNodeConfig: ForgetNodeConfig<unknown>;

delay

@xylabs/sdk-js


const delay: (ms) => Promise<unknown>;

Parameters

ms

number

Returns

Promise\<unknown>

difference

@xylabs/sdk-js


const difference: <TKey>(a, b) => Set<TKey>;

Type Parameters

TKey

TKey

Parameters

a

Set\<TKey>

b

Set\<TKey>

Returns

Set\<TKey>

distinct

@xylabs/sdk-js


const distinct: <T>(value, index, array) => boolean;

Type Parameters

T

T

Parameters

value

T

index

number

array

T[]

Returns

boolean

ellipsize

@xylabs/sdk-js


const ellipsize: (value, length?) => string;

Parameters

value

string

length?

number

Returns

string

exists

@xylabs/sdk-js


const exists: <T>(x?) => x is NonNullable<T>;

Used to type narrow an object which is possibly null or undefined. Works well with functional Array methods. For example:

Type Parameters

T

T

Parameters

x?

The object which is potentially undefined or null

T | null

Returns

x is NonNullable<T>

False if the object is null/undefined, true otherwise

Example

const payloads: XyoPayload[] = boundWitness._payloads?.filter(exists) || []

filterAs

@xylabs/sdk-js


const filterAs: <In, Out>(x, predicate) => NonNullable<Out>[];

Type Parameters

In

In

Out

Out

Parameters

x

In[]

predicate

(a) => Out

Returns

NonNullable\<Out>[]

filterAsync

@xylabs/sdk-js


const filterAsync: <T>(array, predicate) => Promise<T[]>;

Returns the elements of an array that meet the condition specified in a callback function.

Type Parameters

T

T

Parameters

array

T[]

The array to filter.

predicate

(value, index, array) => Promise\<boolean>

A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array.

Returns

Promise\<T[]>

The elements of an array that meet the condition specified in a callback function.

findAs

@xylabs/sdk-js


const findAs: <In, Out>(x, predicate) => NonNullable<Out> | undefined;

Type Parameters

In

In

Out

Out

Parameters

x

In[]

predicate

(a) => Out

Returns

NonNullable\<Out> | undefined

findLastAs

@xylabs/sdk-js


const findLastAs: <In, Out>(x, predicate) => NonNullable<Out> | undefined;

Type Parameters

In

In

Out

Out

Parameters

x

In[]

predicate

(a) => Out

Returns

NonNullable\<Out> | undefined

flatten

@xylabs/sdk-js


const flatten: <T>(a?, b?) => T[];

Type Parameters

T

T

Parameters

a?

T | ConcatArray\<T>

b?

T | ConcatArray\<T>

Returns

T[]

forget

@xylabs/sdk-js


const forget: <T>(promise, config?) => void;

Type Parameters

T

T

Parameters

promise

Promisable\<T>

config?

ForgetNodeConfig\<T>

Returns

void

fromFixedPoint

@xylabs/sdk-js


const fromFixedPoint: (value, places?) => bigint;

Parameters

value

bigint

places?

number

Returns

bigint

fulfilled

@xylabs/sdk-js


const fulfilled: <T>(val) => val is PromiseFulfilledResult<T>;

For use with Promise.allSettled to filter only successful results

Type Parameters

T

T

Parameters

val

PromiseSettledResult\<T>

Returns

val is PromiseFulfilledResult<T>

fulfilledValues

@xylabs/sdk-js


const fulfilledValues: <T>(previousValue, currentValue) => T[];

For use with Promise.allSettled to reduce to only successful result values

Type Parameters

T

T

Parameters

previousValue

T[]

currentValue

PromiseSettledResult\<T>

Returns

T[]

Examples

const resolved = Promise.resolve('resolved')
const rejected = Promise.reject('rejected')
const settled = await Promise.allSettled([resolved, rejected])
const results = settled.reduce(fulfilledValues, [] as string[])
// results === [ 'resolved' ]
const resolved = Promise.resolve('resolved')
const rejected = Promise.reject('rejected')
const settled = await Promise.allSettled([resolved, rejected])
const results = settled.reduce<string[]>(fulfilledValues, [])
// results === [ 'resolved' ]

functionName

@xylabs/sdk-js


const functionName: (depth?) => string;

Parameters

depth?

number

Returns

string

getApiStage

@xylabs/sdk-js


const getApiStage: (hostname) => "beta" | "local" | "prod";

Parameters

hostname

string

Returns

"beta" | "local" | "prod"

getFunctionName

@xylabs/sdk-js


const getFunctionName: (depth?) => string;

Parameters

depth?

number

Returns

string

handleError

@xylabs/sdk-js


const handleError: <T>(error, handler) => T;

Type Parameters

T

T

Parameters

error

any

handler

(error) => T

Returns

T

handleErrorAsync

@xylabs/sdk-js


const handleErrorAsync: <T>(error, handler) => Promise<T>;

Type Parameters

T

T

Parameters

error

any

handler

(error) => Promise\<T>

Returns

Promise\<T>

hexFrom

@xylabs/sdk-js


const hexFrom: (value, config?) => Hex;

Takes unknown value and tries our best to convert it to a hex string

Parameters

value

string | number | bigint | ArrayBufferLike

config?

HexConfig

Returns

Hex

hexFromArrayBuffer

@xylabs/sdk-js


const hexFromArrayBuffer: (buffer, config?) => Hex;

Convert an ArrayBuffer to a hex string

Parameters

buffer

ArrayBufferLike

config?

HexConfig

Returns

Hex

hexFromBigInt

@xylabs/sdk-js


const hexFromBigInt: (value, config?) => Hex;

Convert a bigint to a hex string

Parameters

value

bigint

config?

HexConfig

Returns

Hex

hexFromHexString

@xylabs/sdk-js


const hexFromHexString: (value, config?) => Hex;

Parameters

value

string

config?

HexConfig

Returns

Hex

hexFromNumber

@xylabs/sdk-js


const hexFromNumber: (value, config?) => Hex;

Parameters

value

number

config?

HexConfig

Returns

Hex

hexRegex

@xylabs/sdk-js


const hexRegex: RegExp;

hexRegexWithPrefix

@xylabs/sdk-js


const hexRegexWithPrefix: RegExp;

intersection

@xylabs/sdk-js


const intersection: <TKey>(a, b) => Set<TKey>;

Type Parameters

TKey

TKey

Parameters

a

Set\<TKey>

b

Set\<TKey>

Returns

Set\<TKey>

isAddress

@xylabs/sdk-js


const isAddress: (value, config?) => value is Address;

Parameters

value

unknown

config?

HexConfig

Returns

value is Address

isError

@xylabs/sdk-js


const isError: (error) => error is Error;

Parameters

error

any

Returns

error is Error

isEthAddress

@xylabs/sdk-js


const isEthAddress: (obj) => boolean;

Parameters

obj

type

string

Returns

boolean

isHash

@xylabs/sdk-js


const isHash: (value, bitLength?) => value is Hash;

Parameters

value

unknown

bitLength?

HashBitLength

Returns

value is Hash

isHashBitLength

@xylabs/sdk-js


const isHashBitLength: (value) => value is HashBitLength;

Parameters

value

unknown

Returns

value is HashBitLength

isHex

@xylabs/sdk-js


const isHex: (value, config?) => value is Hex;

Parameters

value

unknown

config?

HexConfig

Returns

value is Hex

isHexZero

@xylabs/sdk-js


const isHexZero: (value?) => boolean | undefined;

Parameters

value?

string

Returns

boolean | undefined

isJsonArray

@xylabs/sdk-js


const isJsonArray: (value) => value is JsonArray;

Parameters

value

unknown

Returns

value is JsonArray

isJsonObject

@xylabs/sdk-js


const isJsonObject: (value) => value is JsonObject;

Parameters

value

unknown

Returns

value is JsonObject

isJsonValue

@xylabs/sdk-js


const isJsonValue: (value) => value is JsonValue;

Parameters

value

unknown

Returns

value is JsonValue

isObject

@xylabs/sdk-js


const isObject: <T>(value) => value is T & object;

Type Parameters

T

T

Parameters

value

T

Returns

value is T & object

isPromise

@xylabs/sdk-js


const isPromise: (value) => value is Promise<unknown>;

Parameters

value

unknown

Returns

value is Promise<unknown>

isType

@xylabs/sdk-js


const isType: (value, expectedType) => boolean;

Parameters

value

unknown

expectedType

FieldType

Returns

boolean

isValidJsonFieldPair

@xylabs/sdk-js


const isValidJsonFieldPair: ([key, value]) => boolean;

Parameters

[key, value]

[unknown, unknown]

Returns

boolean

nibblesToBits

@xylabs/sdk-js


const nibblesToBits: (value) => number;

Parameters

value

number

Returns

number

omitBy

@xylabs/sdk-js


const omitBy: <T>(obj, predicate, maxDepth?) => Partial<T>;

Type Parameters

T

T extends EmptyObject

Parameters

obj

T

predicate

OmitByPredicate

maxDepth?

number

Returns

Partial\<T>

omitByPrefix

@xylabs/sdk-js


const omitByPrefix: <T, P>(payload, prefix, maxDepth?) => DeepOmitStartsWith<T, P>;

Type Parameters

T

T extends EmptyObject

P

P extends string

Parameters

payload

T

prefix

P

maxDepth?

number

Returns

DeepOmitStartsWith\<T, P>

padHex

@xylabs/sdk-js


const padHex: (hex, byteCount?) => string;

Parameters

hex

string

byteCount?

number

Returns

string

pickBy

@xylabs/sdk-js


const pickBy: <T>(obj, predicate, maxDepth?) => Partial<T>;

Type Parameters

T

T extends EmptyObject

Parameters

obj

T

predicate

PickByPredicate

maxDepth?

number

Returns

Partial\<T>

pickByPrefix

@xylabs/sdk-js


const pickByPrefix: <T, P>(payload, prefix, maxDepth?) => DeepPickStartsWith<T, P>;

Type Parameters

T

T extends EmptyObject

P

P extends string

Parameters

payload

T

prefix

P

maxDepth?

number

Returns

DeepPickStartsWith\<T, P>

profile

@xylabs/sdk-js


const profile: (profiler, name) => void;

Parameters

profiler

Profiler

name

string

Returns

void

profileReport

@xylabs/sdk-js


const profileReport: (profiler) => Record<string, number>;

Parameters

profiler

Profiler

Returns

Record\<string, number>

rejected

@xylabs/sdk-js


const rejected: <T>(val) => val is PromiseRejectedResult;

For use with Promise.allSettled to filter only rejected results

Type Parameters

T

T

Parameters

val

PromiseSettledResult\<T>

Returns

val is PromiseRejectedResult

removeFields

@xylabs/sdk-js


const removeFields: <T, K>(obj, fields) => Omit<T, K>;

Type Parameters

T

T extends EmptyObject

K

K extends keyof T

Parameters

obj

T

fields

K[]

Returns

Omit\<T, K>

retry

@xylabs/sdk-js


const retry: <T>(func, config?) => Promise<T | undefined>;

Type Parameters

T

T = unknown

Parameters

func

() => Promisable\<T | undefined>

config?

RetryConfigWithComplete\<T>

Returns

Promise\<T | undefined>

setTimeoutEx

@xylabs/sdk-js


const setTimeoutEx: (func, delay) => string;

Parameters

func

Function

delay

number

Returns

string

toAddress

@xylabs/sdk-js


const toAddress: (value, config?) => Lowercase<string>;

Parameters

value

string | number | bigint | ArrayBufferLike

config?

HexConfig

Returns

Lowercase\<string>

toDecimalPrecision

@xylabs/sdk-js


const toDecimalPrecision: (value, digits) => string;

Parameters

value

number

digits

number

Returns

string

toFixedPoint

@xylabs/sdk-js


const toFixedPoint: (value, places?) => bigint;

Parameters

value

bigint | string

places?

number

Returns

bigint

toHex

@xylabs/sdk-js


const toHex: (value, config?) => Lowercase<string>;

takes any value and tries our best to convert it to a hex string

Parameters

value

string | number | bigint | ArrayBufferLike

config?

HexConfig

Returns

Lowercase\<string>

toHexLegacy

@xylabs/sdk-js


const toHexLegacy: (buffer) => string;

Parameters

buffer

ArrayBuffer

Returns

string

toJson

@xylabs/sdk-js


const toJson: (value, maxDepth?) => JsonValue;

Parameters

value

unknown

maxDepth?

number

Returns

JsonValue

toJsonArray

@xylabs/sdk-js


const toJsonArray: (value, cycleList?, maxDepth?) => JsonArray;

Parameters

value

unknown[]

cycleList?

unknown[]

maxDepth?

number

Returns

JsonArray

toJsonObject

@xylabs/sdk-js


const toJsonObject: (value, cycleList?, maxDepth?) => JsonObject;

Parameters

value

object

cycleList?

unknown[]

maxDepth?

number

Returns

JsonObject

toJsonString

@xylabs/sdk-js


const toJsonString: (value, maxDepth?) => string;

Parameters

value

unknown

maxDepth?

number

Returns

string

toJsonValue

@xylabs/sdk-js


const toJsonValue: (value, cycleList?, maxDepth?) => JsonValue;

Parameters

value

unknown

cycleList?

unknown[]

maxDepth?

number

Returns

JsonValue

union

@xylabs/sdk-js


const union: <TKey>(a, b) => Set<TKey>;

Type Parameters

TKey

TKey

Parameters

a

Set\<TKey>

b

Set\<TKey>

Returns

Set\<TKey>

uniq

@xylabs/sdk-js


const uniq: <T>(arr) => T[];

Type Parameters

T

T

Parameters

arr

T[]

Returns

T[]

uniqBy

@xylabs/sdk-js


const uniqBy: <T, I>(arr, iteratee) => T[];

Type Parameters

T

T

I

I

Parameters

arr

T[]

iteratee

(item) => I

Returns

T[]

Part of sdk-js

Maintainers

License

See the LICENSE file for license details

Credits

Made with 🔥 and ❄️ by XYLabs