UNPKG

@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
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