1 | import { RequestError } from "@octokit/request-error";
|
2 | import type { WebhookEventMap, WebhookEventName } from "@octokit/webhooks-types";
|
3 | import { Logger } from "./createLogger";
|
4 | import type { emitterEventNames } from "./generated/webhook-names";
|
5 | export declare type EmitterWebhookEventName = typeof emitterEventNames[number];
|
6 | export declare type EmitterWebhookEvent<TEmitterEvent extends EmitterWebhookEventName = EmitterWebhookEventName> = TEmitterEvent extends `${infer TWebhookEvent}.${infer TAction}` ? BaseWebhookEvent<Extract<TWebhookEvent, WebhookEventName>> & {
|
7 | payload: {
|
8 | action: TAction;
|
9 | };
|
10 | } : BaseWebhookEvent<Extract<TEmitterEvent, WebhookEventName>>;
|
11 | export declare type EmitterWebhookEventWithStringPayloadAndSignature = {
|
12 | id: string;
|
13 | name: EmitterWebhookEventName;
|
14 | payload: string;
|
15 | signature: string;
|
16 | };
|
17 | export declare type EmitterWebhookEventWithSignature = EmitterWebhookEvent & {
|
18 | signature: string;
|
19 | };
|
20 | interface BaseWebhookEvent<TName extends WebhookEventName> {
|
21 | id: string;
|
22 | name: TName;
|
23 | payload: WebhookEventMap[TName];
|
24 | }
|
25 | export interface Options<TTransformed = unknown> {
|
26 | secret?: string;
|
27 | transform?: TransformMethod<TTransformed>;
|
28 | log?: Partial<Logger>;
|
29 | }
|
30 | declare type TransformMethod<T> = (event: EmitterWebhookEvent) => T | PromiseLike<T>;
|
31 | export declare type HandlerFunction<TName extends EmitterWebhookEventName, TTransformed> = (event: EmitterWebhookEvent<TName> & TTransformed) => any;
|
32 | export declare type RemoveHandlerFunction<TName extends EmitterWebhookEventName | "*", TTransformed> = (event: EmitterWebhookEvent<Exclude<TName, "*">> & TTransformed) => any;
|
33 | declare type Hooks = {
|
34 | [key: string]: Function[];
|
35 | };
|
36 | export interface State extends Options<any> {
|
37 | eventHandler?: any;
|
38 | hooks: Hooks;
|
39 | log: Logger;
|
40 | }
|
41 |
|
42 |
|
43 |
|
44 | export declare type WebhookError = Error & Partial<RequestError>;
|
45 | export interface WebhookEventHandlerError extends AggregateError<WebhookError> {
|
46 | event: EmitterWebhookEvent;
|
47 | }
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 | declare class AggregateError<T extends Error = Error> extends Error implements Iterable<T> {
|
56 | readonly name: "AggregateError";
|
57 | constructor(errors: ReadonlyArray<T | {
|
58 | [key: string]: any;
|
59 | } | string>);
|
60 | [Symbol.iterator](): IterableIterator<T>;
|
61 | }
|
62 | export {};
|