magicbell
Version:
MagicBell API wrapper
23 lines (22 loc) • 898 B
TypeScript
import { ClientOptions, RequestMethod } from './types.js';
type KeyOfType<T, V> = keyof {
[P in keyof T as T[P] extends V ? P : never]: any;
};
export type IterablePromise<TData, TKey extends KeyOfType<TData, Array<unknown>> = KeyOfType<TData, Array<unknown>>, TNode = TData[TKey] extends Array<unknown> ? TData[TKey][number] : never> = Promise<TData> & {
[Symbol.asyncIterator](): Iterator<TNode>;
forEach(cb: (node: TNode, index: number) => void | boolean | Promise<void | boolean>): Promise<void>;
toArray(options: {
limit: number;
}): Promise<Array<TNode>>;
};
export declare function normalizeArgs({ path, method, args, }: {
path: string;
method: RequestMethod;
args: (Record<string, unknown> | string)[];
}): {
path: string;
data: Record<string, unknown>;
params: Record<string, unknown>;
options: Partial<ClientOptions>;
};
export {};