@xylabs/sdk-js
Base functionality used throughout XY Labs TypeScript/JavaScript libraries
Reference
@xylabs/sdk-js
Classes
- ApiClient
- ApiEndpoint
- AxiosJson
- AxiosJsonUncompressed
- EthAddress
- ForgetPromise
Log- ConsoleLogger
- IdLogger
- LevelLogger
- SilentLogger
- IsObjectFactory
- ObjectWrapper
- ValidatorBase
- PromiseEx
Interfaces
- ApiConfig
- ForgetNodeConfig
- HexConfig
- Logger
- ObjectTypeConfig
- Validator
- TypeCheckConfig
- TypeCheckRequiredConfig
- TypeCheckOptionalConfig
- PromiseType
- RetryConfig
- RetryConfigWithComplete
Type Aliases
- ApiStage
- AssertExMessageFunc
- AssertExErrorFunc
- RawAxiosJsonRequestConfig
- RawAxiosJsonRequestUncompressedConfig
- Address
- HashBitLength
- Hash
- Hex
- LogFunction
LogLevel- LogLevelKey
- LogVerbosity
- LogLevelValue
- EmptyObject
- EmptyObjectOf
- JsonValue
- JsonObject
- JsonArray
- OmitStartsWith
- DeepOmitStartsWith
- DeepRestrictToStringKeys
- Optional
- Override
PartialRecord- PickStartsWith
- DeepPickStartsWith
- StringKeyObject
- WithAdditional
- OmitByPredicate
- PickByPredicate
- AnyObject
- AsTypeFunction
- AsOptionalTypeFunction
- Compare
- StringOrAlertFunction
- TypeCheck
- Profiler
- PromiseExSubFunc
- PromiseExFunc
- PromiseExValueFunc
- AnyNonPromise
- Promisable
- PromisableArray
- OptionalPromisable
- OptionalPromisableArray
- NullablePromisable
- NullablePromisableArray
- AsyncMutex
Variables
- ApiStage
- getApiStage
- containsAll
- distinct
- filterAs
- filterAsync
- findAs
- findLastAs
- flatten
- uniq
- uniqBy
- axios
- axiosUncompressed
- fromFixedPoint
- toDecimalPrecision
- toFixedPoint
- delay
- handleError
- handleErrorAsync
- isError
- isEthAddress
- ellipsize
- padHex
- exists
- defaultForgetNodeConfig
- forget
- functionName
- ZERO_ADDRESS
- toAddress
- isAddress
- ZERO_HASH
- HashBitLength
- isHashBitLength
- isHash
- hexFrom
- hexFromArrayBuffer
- hexFromBigInt
- hexFromHexString
- hexFromNumber
- isHex
- isHexZero
- toHexLegacy
- bitsToNibbles
- nibblesToBits
- hexRegex
- hexRegexWithPrefix
- toHex
- LogLevel
- NoOpLogFunction
- getFunctionName
- AsObjectFactory
- AsTypeFactory
- isJsonValue
- isJsonArray
- isValidJsonFieldPair
- isJsonObject
- asAnyObject
- deepMerge
- isObject
- isType
- omitBy
- omitByPrefix
- pickBy
- pickByPrefix
- removeFields
- toJsonArray
- toJsonObject
- toJsonValue
- toJsonString
- toJson
- createProfiler
- profile
- profileReport
- fulfilled
- fulfilledValues
- isPromise
- rejected
- retry
- difference
- intersection
- union
- setTimeoutEx
- clearTimeoutEx
Functions
- assertDefinedEx
- assertEx
- asAddress
- asHash
- asHex
- hexToBigInt
- createDeepMerge
- toPromise
- staticImplements
classes
ApiClient
Constructors
Constructor
new ApiClient(token?, stage?): ApiClient;
Parameters
token?
null
| string
stage?
Returns
ApiClient
Properties
token?
protected optional token: null | string;
stage?
protected optional stage: ApiStage;
Methods
endPoint()
abstract endPoint(): string;
Returns
string
ApiEndpoint
Type Parameters
T
T
Constructors
Constructor
new ApiEndpoint<T>(config, path): ApiEndpoint<T>;
Parameters
config
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
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
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
Interface to handle overlap between Winston &
console
with as much congruency as possible.
Extends
Constructors
Constructor
new ConsoleLogger(level?): ConsoleLogger;
Parameters
level?
Returns
ConsoleLogger
Overrides
Properties
level
readonly level: LogLevelValue;
Inherited from
logger
readonly logger: Logger;
Inherited from
Accessors
debug
Get Signature
get debug(): LogFunction;
Returns
Inherited from
error
Get Signature
get error(): LogFunction;
Returns
Inherited from
info
Get Signature
get info(): LogFunction;
Returns
Inherited from
log
Get Signature
get log(): LogFunction;
Returns
Inherited from
trace
Get Signature
get trace(): LogFunction;
Returns
Inherited from
warn
Get Signature
get warn(): LogFunction;
Returns
Inherited from
EthAddress
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
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
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
externalStackTrace?
string
Returns
void
Overrides
ForgetPromise.timeoutHandler
IdLogger
Interface to handle overlap between Winston &
console
with as much congruency as possible.
Implements
Constructors
Constructor
new IdLogger(logger, id?): IdLogger;
Parameters
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
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
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
level?
Returns
LevelLogger
Properties
level
readonly level: LogLevelValue;
logger
readonly logger: Logger;
Accessors
debug
Get Signature
get debug(): LogFunction;
Returns
Implementation of
error
Get Signature
get error(): LogFunction;
Returns
Implementation of
info
Get Signature
get info(): LogFunction;
Returns
Implementation of
log
Get Signature
get log(): LogFunction;
Returns
Implementation of
trace
Get Signature
get trace(): LogFunction;
Returns
Implementation of
warn
Get Signature
get warn(): LogFunction;
Returns
Implementation of
Log
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
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
PromiseEx
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
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
error()
readonly error: (..._data) => undefined;
Parameters
_data
...unknown
[]
Returns
undefined
Implementation of
info()
readonly info: (..._data) => undefined;
Parameters
_data
...unknown
[]
Returns
undefined
Implementation of
log()
readonly log: (..._data) => undefined;
Parameters
_data
...unknown
[]
Returns
undefined
Implementation of
trace()
readonly trace: (..._data) => undefined;
Parameters
_data
...unknown
[]
Returns
undefined
Implementation of
warn()
readonly warn: (..._data) => undefined;
Parameters
_data
...unknown
[]
Returns
undefined
Implementation of
ValidatorBase
Extends
ObjectWrapper
\<Partial
\<T
>>
Type Parameters
T
T
extends EmptyObject
= AnyObject
Implements
Validator
\<T
>
Constructors
Constructor
new ValidatorBase<T>(obj): ValidatorBase<T>;
Parameters
obj
T
Returns
ValidatorBase
\<T
>
Inherited from
Properties
obj
readonly obj: T;
Inherited from
Accessors
stringKeyObj
Get Signature
get protected stringKeyObj(): StringKeyObject;
Returns
Inherited from
Methods
validate()
abstract validate(payload): Promisable<Error[]>;
Parameters
payload
T
Returns
Promisable
\<Error
[]>
Implementation of
functions
asAddress
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
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
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
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?
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
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?
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
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
function hexToBigInt(hex): bigint;
Parameters
hex
Lowercase
\<string
>
Returns
bigint
staticImplements
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
function toPromise<T>(value): Promise<T>;
Type Parameters
T
T
Parameters
value
Promisable
\<T
>
Returns
Promise
\<T
>
interfaces
ApiConfig
Properties
apiDomain
apiDomain: string;
apiKey?
optional apiKey: string;
jwtToken?
optional jwtToken: string;
userid?
optional userid: string;
ForgetNodeConfig
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
Configuration of validation and output format
Properties
bitLength?
optional bitLength: number;
byteSize?
optional byteSize: number;
prefix?
optional prefix: boolean;
Logger
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
Extends
Properties
log?
optional log: boolean | Logger;
Inherited from
PromiseType
Properties
then()
then: () => unknown;
Returns
unknown
RetryConfig
Extended by
Properties
backoff?
optional backoff: number;
interval?
optional interval: number;
retries?
optional retries: number;
RetryConfigWithComplete
Extends
Type Parameters
T
T
= unknown
Properties
backoff?
optional backoff: number;
Inherited from
interval?
optional interval: number;
Inherited from
retries?
optional retries: number;
Inherited from
complete()?
optional complete: (result?) => boolean;
Parameters
result?
T
Returns
boolean
TypeCheckConfig
Extended by
Properties
log?
optional log: boolean | Logger;
TypeCheckOptionalConfig
Extends
Properties
log?
optional log: boolean | Logger;
Inherited from
required
required: false;
TypeCheckRequiredConfig
Extends
Properties
log?
optional log: boolean | Logger;
Inherited from
required
required: true;
Validator
Type Parameters
T
T
extends EmptyObject
= AnyObject
Methods
validate()
validate(payload): Promisable<Error[]>;
Parameters
payload
T
Returns
Promisable
\<Error
[]>
type-aliases
Address
type Address = Exclude<Hex, "reserved-address-value">;
AnyNonPromise
type AnyNonPromise = Exclude<TypedValue, PromiseType>;
AnyObject
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
type ApiStage = EnumValue<typeof ApiStage>;
AsOptionalTypeFunction
type AsOptionalTypeFunction<T> = <TType>(value) => undefined | TType;
Type Parameters
T
T
extends AnyNonPromise
= AnyNonPromise
Type Parameters
TType
TType
extends AnyNonPromise
Parameters
value
Returns
undefined
| TType
AsTypeFunction
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
Returns
undefined
| TType
Call Signature
<TType>(value, config): TType;
Type Parameters
TType
TType
extends AnyNonPromise
Parameters
value
config
Returns
TType
Call Signature
<TType>(value, config): undefined | TType;
Type Parameters
TType
TType
extends AnyNonPromise
Parameters
value
config
TypeCheckConfig
| TypeCheckOptionalConfig
Returns
undefined
| TType
Call Signature
<TType>(value, assert): undefined | TType;
Type Parameters
TType
TType
extends AnyNonPromise
Parameters
value
assert
StringOrAlertFunction
\<TType
>
Returns
undefined
| TType
Call Signature
<TType>(
value,
assert,
config): TType;
Type Parameters
TType
TType
extends AnyNonPromise
Parameters
value
assert
StringOrAlertFunction
\<TType
>
config
Returns
TType
Call Signature
<TType>(
value,
assert,
config): undefined | TType;
Type Parameters
TType
TType
extends AnyNonPromise
Parameters
value
assert
StringOrAlertFunction
\<TType
>
config
TypeCheckConfig
| TypeCheckOptionalConfig
Returns
undefined
| TType
AssertExErrorFunc
type AssertExErrorFunc<T, R> = (value?) => R;
Type Parameters
T
T
R
R
extends Error
Parameters
value?
T
| null
Returns
R
AssertExMessageFunc
type AssertExMessageFunc<T> = (value?) => string;
Type Parameters
T
T
Parameters
value?
T
| null
Returns
string
AsyncMutex
type AsyncMutex<T> = Promise<T>;
Type Parameters
T
T
Description
Used to document promises that are being used as Mutexes
Compare
type Compare<T> = (a, b) => number;
Type Parameters
T
T
Parameters
a
T
b
T
Returns
number
DeepOmitStartsWith
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
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
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
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
type EmptyObjectOf<T> = EmptyObject<T> extends T ? EmptyObject<T> : never;
Type Parameters
T
T
extends object
Hash
type Hash = Exclude<Hex, "reserved-hash-value">;
HashBitLength
type HashBitLength = 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096;
Hex
type Hex = Exclude<Lowercase<string>, "reserved-hex-value">;
JsonArray
type JsonArray = JsonValue[];
JsonObject
type JsonObject = object;
Index Signature
[key: string]: JsonValue
JsonValue
type JsonValue =
| string
| number
| boolean
| null
| JsonObject
| JsonArray;
LogFunction
type LogFunction = (...data) => void;
Parameters
data
...unknown
[]
Returns
void
LogLevel
type LogLevel = LogLevelValue;
Deprecated
Use LogLevelValue
instead.
This name conflicts with the LogLevel
enum and
makes it confusing to import
LogLevelKey
type LogLevelKey = EnumKey<typeof LogLevel>;
LogLevelValue
type LogLevelValue = EnumValue<typeof LogLevel>;
LogVerbosity
type LogVerbosity = LogLevelKey;
NullablePromisable
type NullablePromisable<T, V> = Promisable<T | null, V>;
Type Parameters
T
T
V
V
= never
NullablePromisableArray
type NullablePromisableArray<T, V> = PromisableArray<T | null, V>;
Type Parameters
T
T
V
V
= never
OmitByPredicate
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
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
type Optional<T, F> = Omit<T, F> & Partial<Pick<T, F>>;
Type Parameters
T
T
extends object
F
F
extends keyof T
OptionalPromisable
type OptionalPromisable<T, V> = Promisable<T | undefined, V>;
Type Parameters
T
T
V
V
= never
OptionalPromisableArray
type OptionalPromisableArray<T, V> = PromisableArray<T | undefined, V>;
Type Parameters
T
T
V
V
= never
Override
type Override<T1, T2> = Omit<T1, keyof T2> & T2;
Type Parameters
T1
T1
T2
T2
PartialRecord
type PartialRecord<K, T> = { [P in K]?: T };
Type Parameters
K
K
extends keyof any
T
T
Deprecated
use Partial<Record<>> instead
PickByPredicate
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
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
type Profiler = Record<string, number[]>;
Promisable
type Promisable<T, V> = PromiseEx<T, V> | Promise<T> | T;
Type Parameters
T
T
V
V
= never
PromisableArray
type PromisableArray<T, V> = Promisable<T[], V>;
Type Parameters
T
T
V
V
= never
PromiseExFunc
type PromiseExFunc<T> = (resolve?, reject?) => void;
Type Parameters
T
T
Parameters
resolve?
PromiseExSubFunc
\<T
, void
>
reject?
PromiseExSubFunc
\<T
, void
>
Returns
void
PromiseExSubFunc
type PromiseExSubFunc<T, TResult> = (value) => TResult;
Type Parameters
T
T
TResult
TResult
= T
Parameters
value
T
Returns
TResult
PromiseExValueFunc
type PromiseExValueFunc<V> = (value?) => boolean;
Type Parameters
V
V
Parameters
value?
V
Returns
boolean
RawAxiosJsonRequestConfig
type RawAxiosJsonRequestConfig<D> = RawAxiosRequestConfig<D> & object;
Type declaration
compressLength?
optional compressLength: number;
Type Parameters
D
D
= any
RawAxiosJsonRequestUncompressedConfig
type RawAxiosJsonRequestUncompressedConfig<D> = RawAxiosRequestConfig<D>;
Type Parameters
D
D
= any
StringKeyObject
type StringKeyObject<T> = object;
Type Parameters
T
T
= unknown
Index Signature
[key: string]: T
StringOrAlertFunction
type StringOrAlertFunction<T> = string | AssertExMessageFunc<T>;
Type Parameters
T
T
extends AnyNonPromise
TypeCheck
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
Returns
obj is T
Call Signature
(obj, config): obj is T;
Parameters
obj
config
Returns
obj is T
Call Signature
(obj, config): obj is T;
Parameters
obj
config
undefined
| number
| TypeCheckConfig
Returns
obj is T
WithAdditional
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
const ApiStage: Enum<{
Beta: "beta";
Local: "local";
Prod: "prod";
}>;
AsObjectFactory
const AsObjectFactory: object;
Type declaration
create()
create: <T>(typeCheck) => AsTypeFunction;
Type Parameters
T
T
extends TypedObject
Parameters
typeCheck
TypeCheck
\<T
>
Returns
createOptional()
createOptional: <T>(typeCheck) => (value) => T | undefined;
Type Parameters
T
T
extends TypedObject
Parameters
typeCheck
TypeCheck
\<T
>
Returns
(value): T | undefined;
Parameters
value
Returns
T
| undefined
AsTypeFactory
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
Returns
T
| undefined
HashBitLength
HashBitLength: HashBitLength[];
LogLevel
const LogLevel: Enum<{
error: 1;
warn: 2;
info: 3;
log: 4;
debug: 5;
trace: 6;
}>;
NoOpLogFunction
const NoOpLogFunction: (..._data) => undefined;
Parameters
_data
...unknown
[]
Returns
undefined
ZERO_ADDRESS
const ZERO_ADDRESS: Address;
ZERO_HASH
const ZERO_HASH: Hash;
asAnyObject
const asAnyObject: AsTypeFunction;
axios
const axios: AxiosJson;
axiosUncompressed
const axiosUncompressed: AxiosJsonUncompressed;
bitsToNibbles
const bitsToNibbles: (value) => number;
Parameters
value
number
Returns
number
clearTimeoutEx
const clearTimeoutEx: (id) => void;
Parameters
id
string
Returns
void
containsAll
const containsAll: <T>(source, target) => boolean;
Type Parameters
T
T
Parameters
source
T
[]
target
T
[]
Returns
boolean
createProfiler
const createProfiler: () => Profiler;
Returns
deepMerge
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
const defaultForgetNodeConfig: ForgetNodeConfig<unknown>;
delay
const delay: (ms) => Promise<unknown>;
Parameters
ms
number
Returns
Promise
\<unknown
>
difference
const difference: <TKey>(a, b) => Set<TKey>;
Type Parameters
TKey
TKey
Parameters
a
Set
\<TKey
>
b
Set
\<TKey
>
Returns
Set
\<TKey
>
distinct
const distinct: <T>(value, index, array) => boolean;
Type Parameters
T
T
Parameters
value
T
index
number
array
T
[]
Returns
boolean
ellipsize
const ellipsize: (value, length?) => string;
Parameters
value
string
length?
number
Returns
string
exists
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
const filterAs: <In, Out>(x, predicate) => NonNullable<Out>[];
Type Parameters
In
In
Out
Out
Parameters
x
In
[]
predicate
(a
) => Out
Returns
NonNullable
\<Out
>[]
filterAsync
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
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
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
const flatten: <T>(a?, b?) => T[];
Type Parameters
T
T
Parameters
a?
T
| ConcatArray
\<T
>
b?
T
| ConcatArray
\<T
>
Returns
T
[]
forget
const forget: <T>(promise, config?) => void;
Type Parameters
T
T
Parameters
promise
Promisable
\<T
>
config?
ForgetNodeConfig
\<T
>
Returns
void
fromFixedPoint
const fromFixedPoint: (value, places?) => bigint;
Parameters
value
bigint
places?
number
Returns
bigint
fulfilled
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
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
const functionName: (depth?) => string;
Parameters
depth?
number
Returns
string
getApiStage
const getApiStage: (hostname) => "beta" | "local" | "prod";
Parameters
hostname
string
Returns
"beta"
| "local"
| "prod"
getFunctionName
const getFunctionName: (depth?) => string;
Parameters
depth?
number
Returns
string
handleError
const handleError: <T>(error, handler) => T;
Type Parameters
T
T
Parameters
error
any
handler
(error
) => T
Returns
T
handleErrorAsync
const handleErrorAsync: <T>(error, handler) => Promise<T>;
Type Parameters
T
T
Parameters
error
any
handler
(error
) => Promise
\<T
>
Returns
Promise
\<T
>
hexFrom
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?
Returns
hexFromArrayBuffer
const hexFromArrayBuffer: (buffer, config?) => Hex;
Convert an ArrayBuffer to a hex string
Parameters
buffer
ArrayBufferLike
config?
Returns
hexFromBigInt
const hexFromBigInt: (value, config?) => Hex;
Convert a bigint to a hex string
Parameters
value
bigint
config?
Returns
hexFromHexString
const hexFromHexString: (value, config?) => Hex;
Parameters
value
string
config?
Returns
hexFromNumber
const hexFromNumber: (value, config?) => Hex;
Parameters
value
number
config?
Returns
hexRegex
const hexRegex: RegExp;
hexRegexWithPrefix
const hexRegexWithPrefix: RegExp;
intersection
const intersection: <TKey>(a, b) => Set<TKey>;
Type Parameters
TKey
TKey
Parameters
a
Set
\<TKey
>
b
Set
\<TKey
>
Returns
Set
\<TKey
>
isAddress
const isAddress: (value, config?) => value is Address;
Parameters
value
unknown
config?
Returns
value is Address
isError
const isError: (error) => error is Error;
Parameters
error
any
Returns
error is Error
isEthAddress
const isEthAddress: (obj) => boolean;
Parameters
obj
type
string
Returns
boolean
isHash
const isHash: (value, bitLength?) => value is Hash;
Parameters
value
unknown
bitLength?
Returns
value is Hash
isHashBitLength
const isHashBitLength: (value) => value is HashBitLength;
Parameters
value
unknown
Returns
value is HashBitLength
isHex
const isHex: (value, config?) => value is Hex;
Parameters
value
unknown
config?
Returns
value is Hex
isHexZero
const isHexZero: (value?) => boolean | undefined;
Parameters
value?
string
Returns
boolean
| undefined
isJsonArray
const isJsonArray: (value) => value is JsonArray;
Parameters
value
unknown
Returns
value is JsonArray
isJsonObject
const isJsonObject: (value) => value is JsonObject;
Parameters
value
unknown
Returns
value is JsonObject
isJsonValue
const isJsonValue: (value) => value is JsonValue;
Parameters
value
unknown
Returns
value is JsonValue
isObject
const isObject: <T>(value) => value is T & object;
Type Parameters
T
T
Parameters
value
T
Returns
value is T & object
isPromise
const isPromise: (value) => value is Promise<unknown>;
Parameters
value
unknown
Returns
value is Promise<unknown>
isType
const isType: (value, expectedType) => boolean;
Parameters
value
unknown
expectedType
FieldType
Returns
boolean
isValidJsonFieldPair
const isValidJsonFieldPair: ([key, value]) => boolean;
Parameters
[key, value]
[unknown
, unknown
]
Returns
boolean
nibblesToBits
const nibblesToBits: (value) => number;
Parameters
value
number
Returns
number
omitBy
const omitBy: <T>(obj, predicate, maxDepth?) => Partial<T>;
Type Parameters
T
T
extends EmptyObject
Parameters
obj
T
predicate
maxDepth?
number
Returns
Partial
\<T
>
omitByPrefix
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
const padHex: (hex, byteCount?) => string;
Parameters
hex
string
byteCount?
number
Returns
string
pickBy
const pickBy: <T>(obj, predicate, maxDepth?) => Partial<T>;
Type Parameters
T
T
extends EmptyObject
Parameters
obj
T
predicate
maxDepth?
number
Returns
Partial
\<T
>
pickByPrefix
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
const profile: (profiler, name) => void;
Parameters
profiler
name
string
Returns
void
profileReport
const profileReport: (profiler) => Record<string, number>;
Parameters
profiler
Returns
Record
\<string
, number
>
rejected
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
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
const retry: <T>(func, config?) => Promise<T | undefined>;
Type Parameters
T
T
= unknown
Parameters
func
() => Promisable
\<T
| undefined
>
config?
Returns
Promise
\<T
| undefined
>
setTimeoutEx
const setTimeoutEx: (func, delay) => string;
Parameters
func
Function
delay
number
Returns
string
toAddress
const toAddress: (value, config?) => Lowercase<string>;
Parameters
value
string
| number
| bigint
| ArrayBufferLike
config?
Returns
Lowercase
\<string
>
toDecimalPrecision
const toDecimalPrecision: (value, digits) => string;
Parameters
value
number
digits
number
Returns
string
toFixedPoint
const toFixedPoint: (value, places?) => bigint;
Parameters
value
bigint
| string
places?
number
Returns
bigint
toHex
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?
Returns
Lowercase
\<string
>
toHexLegacy
const toHexLegacy: (buffer) => string;
Parameters
buffer
ArrayBuffer
Returns
string
toJson
const toJson: (value, maxDepth?) => JsonValue;
Parameters
value
unknown
maxDepth?
number
Returns
toJsonArray
const toJsonArray: (value, cycleList?, maxDepth?) => JsonArray;
Parameters
value
unknown
[]
cycleList?
unknown
[]
maxDepth?
number
Returns
toJsonObject
const toJsonObject: (value, cycleList?, maxDepth?) => JsonObject;
Parameters
value
object
cycleList?
unknown
[]
maxDepth?
number
Returns
toJsonString
const toJsonString: (value, maxDepth?) => string;
Parameters
value
unknown
maxDepth?
number
Returns
string
toJsonValue
const toJsonValue: (value, cycleList?, maxDepth?) => JsonValue;
Parameters
value
unknown
cycleList?
unknown
[]
maxDepth?
number
Returns
union
const union: <TKey>(a, b) => Set<TKey>;
Type Parameters
TKey
TKey
Parameters
a
Set
\<TKey
>
b
Set
\<TKey
>
Returns
Set
\<TKey
>
uniq
const uniq: <T>(arr) => T[];
Type Parameters
T
T
Parameters
arr
T
[]
Returns
T
[]
uniqBy
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