UNPKG

@dfinity/utils

Version:

A collection of utilities and constants for NNS/SNS projects.

31 lines (30 loc) 1.33 kB
import type { Identity } from "@icp-sdk/core/agent"; export type QueryAndUpdateIdentity = Identity | undefined | null; export interface QueryAndUpdateRequestParams { certified: boolean; identity: QueryAndUpdateIdentity; } export type QueryAndUpdateRequest<R> = (options: QueryAndUpdateRequestParams) => Promise<R>; export type QueryAndUpdateOnResponse<R> = (options: { certified: boolean; response: R; }) => void; export interface QueryAndUpdateOnErrorOptions<E = unknown> { error: E; identity: QueryAndUpdateIdentity; } type QueryAndUpdateOnError<E = unknown> = (options: QueryAndUpdateOnErrorOptions<E>) => void; export type QueryAndUpdateOnQueryError<E = unknown> = QueryAndUpdateOnError<E>; export type QueryAndUpdateOnUpdateError<E = unknown> = QueryAndUpdateOnError<E>; export type QueryAndUpdateStrategy = "query_and_update" | "query" | "update"; export type QueryAndUpdatePromiseResolution = "all_settled" | "race"; export interface QueryAndUpdateParams<R, E = unknown> { request: QueryAndUpdateRequest<R>; onLoad: QueryAndUpdateOnResponse<R>; onQueryError?: QueryAndUpdateOnQueryError<E>; onUpdateError?: QueryAndUpdateOnUpdateError<E>; strategy?: QueryAndUpdateStrategy; identity: QueryAndUpdateIdentity; resolution?: QueryAndUpdatePromiseResolution; } export {};