@orao-network/fuel-vrf
Version:
ORAO VRF SDK Verifiable Random Function for the Fuel Network
24 lines (23 loc) • 566 B
TypeScript
/**
* Mimics Sway Enum.
* Requires one and only one Key-Value pair and raises error if more are provided.
*/
export type Enum<T> = {
[K in keyof T]: Pick<T, K> & {
[P in Exclude<keyof T, K>]?: never;
};
}[keyof T];
/**
* Mimics Sway Option and Vectors.
* Vectors are treated like arrays in Typescript.
*/
export type Option<T> = T | undefined;
export type Vec<T> = T[];
/**
* Mimics Sway Result enum type.
* Ok represents the success case, while Err represents the error case.
*/
export type Result<T, E> = Enum<{
Ok: T;
Err: E;
}>;