@minima-global/mds
Version:
Official MDS Typescript Library for Minima. Used for creating minidapps that interact with the Minima Blockchain.
53 lines • 2.2 kB
TypeScript
import type { MDSResponse } from '../../types.js';
import type { Coin } from '../general/response.js';
import type { CoinsParams, KeysListParams, KeysParamsAction, ScanChainParams, TokenExportParams, TokenImportParams, TokenParams, TxPowParams } from './params.js';
import type { KeysReturnType, ScanChain, TokensReturnType, TxPowReturnType } from './response.js';
/**
* Coins function types
*/
type CoinsCallback = (data: MDSResponse<Coin[]>) => void;
export type CoinsFunc = <T extends CoinsParams | undefined>(...args: T extends undefined ? [CoinsCallback?] : [{
params: CoinsParams;
}, CoinsCallback?]) => Promise<MDSResponse<Coin[]>>;
/**
* Tokens function types
*/
export type ActionParamMapTokens = {
readonly import: TokenImportParams;
readonly export: TokenExportParams;
};
export type TokensParamType<A extends TokenParams | undefined> = A extends {
action: keyof ActionParamMapTokens;
} ? ActionParamMapTokens[A['action']] : A;
export type TokensFuncParams<A extends TokenParams | undefined> = [
{
params: TokensParamType<A>;
},
TokensCallback<A>?
];
type TokensCallback<T> = (data: TokensReturnType<T>) => void;
export type TokensFunc = <T extends TokenParams | undefined>(...args: T extends undefined ? [TokensCallback<T>?] : TokensFuncParams<T>) => Promise<TokensReturnType<T>>;
/**
* Keys function types
*/
type KeysCallback<T> = (data: KeysReturnType<T>) => void;
export type KeysFunc = <T extends KeysParamsAction | undefined>(...args: T extends undefined ? [KeysCallback<T>?] : T extends 'list' ? [{
params: KeysListParams;
}, KeysCallback<T>?] : [{
params: {
action: T;
};
}, KeysCallback<T>?]) => Promise<KeysReturnType<T>>;
type TxPowCallback<T> = (data: TxPowReturnType<T>) => void;
export type TxPowFunc = <T extends {
params: TxPowParams;
}>(...args: T extends {
params: TxPowParams;
} ? [{
params: TxPowParams;
}, TxPowCallback<T>?] : [T, TxPowCallback<T>?]) => Promise<TxPowReturnType<T>>;
export type ScanChainFunc = (args: {
params: ScanChainParams;
}, callback?: (data: MDSResponse<ScanChain>) => void) => Promise<MDSResponse<ScanChain>>;
export {};
//# sourceMappingURL=functions.d.ts.map