UNPKG

@saleor/app-sdk

Version:

SDK for building great Saleor Apps

43 lines (38 loc) 2.22 kB
import { G as GenericSaleorWebhook, a as GenericWebhookConfig } from './generic-saleor-webhook-Cp6qiwDu.mjs'; import { P as PlatformAdapterInterface, A as ActionHandlerResult, d as WebhookContext } from './saleor-webhook-DUUfTEi7.mjs'; import { AsyncWebhookEventType, SyncWebhookEventType } from './types.mjs'; type WebApiHandlerInput = Request; type WebApiHandler = (req: Request) => Response | Promise<Response>; /** PlatformAdapter for Web API (Fetch API: Request and Response) * * Platform adapters are used in Actions to handle generic request logic * like getting body, headers, etc. * * Thanks to this Actions logic can be re-used for each platform * @see {PlatformAdapterInterface} * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Response} * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request} * * */ declare class WebApiAdapter<TRequest extends Request = Request, TResponse extends Response = Response> implements PlatformAdapterInterface<TRequest> { request: TRequest; ResponseConstructor: { new (...args: any): TResponse; }; constructor(request: TRequest, ResponseConstructor: { new (...args: any): TResponse; }); getHeader(name: string): string | null; getBody(): Promise<any>; getRawBody(): Promise<string>; getBaseUrl(): string; get method(): "POST" | "GET"; send(result: ActionHandlerResult): Promise<TResponse>; } type WebhookConfig<Event = AsyncWebhookEventType | SyncWebhookEventType> = GenericWebhookConfig<WebApiHandlerInput, Event>; /** Function type provided by consumer in `SaleorWebApiWebhook.createHandler` */ type WebApiWebhookHandler<TPayload = unknown, TRequest extends Request = Request, TResponse extends Response = Response> = (req: TRequest, ctx: WebhookContext<TPayload>) => TResponse | Promise<TResponse>; declare abstract class SaleorWebApiWebhook<TPayload = unknown> extends GenericSaleorWebhook<WebApiHandlerInput, TPayload> { createHandler(handlerFn: WebApiWebhookHandler<TPayload>): WebApiHandler; } export { SaleorWebApiWebhook as S, type WebApiHandlerInput as W, type WebApiHandler as a, type WebhookConfig as b, type WebApiWebhookHandler as c, WebApiAdapter as d };