@myparcel/sdk
Version:
JavaScript SDK to connect to the MyParcel API via Node.js or browser
19 lines (17 loc) • 778 B
TypeScript
import { AbstractEndpoint } from './model/endpoint/AbstractEndpoint';
import { EndpointResponse, Options } from './model/client/AbstractClient.types';
import { AbstractClient } from './model/client/AbstractClient';
type EndpointMethod<E extends AbstractEndpoint> = (options?: Options<E>) => Promise<EndpointResponse<E>>;
export type MyParcelSdk<E extends AbstractEndpoint> = MyParcelSdkEndpoints<E> & {
client: AbstractClient;
};
type MyParcelSdkEndpoints<E extends AbstractEndpoint> = {
[K in E['name']]: EndpointMethod<Extract<E, {
name: K;
}>>;
};
/**
* Create a sdk instance with a client and given endpoints.
*/
export declare function createMyParcelSdk<E extends AbstractEndpoint>(client: AbstractClient, endpoints: E[]): MyParcelSdk<E>;
export {};