1 | import { createLogger } from "./createLogger.js";
|
2 | import {
|
3 | createEventHandler
|
4 | } from "./event-handler/index.js";
|
5 | import { sign, verify } from "@octokit/webhooks-methods";
|
6 | import { verifyAndReceive } from "./verify-and-receive.js";
|
7 | import { createNodeMiddleware } from "./middleware/node/index.js";
|
8 | import { emitterEventNames } from "./generated/webhook-names.js";
|
9 | class Webhooks {
|
10 | sign;
|
11 | verify;
|
12 | on;
|
13 | onAny;
|
14 | onError;
|
15 | removeListener;
|
16 | receive;
|
17 | verifyAndReceive;
|
18 | constructor(options) {
|
19 | if (!options || !options.secret) {
|
20 | throw new Error("[@octokit/webhooks] options.secret required");
|
21 | }
|
22 | const state = {
|
23 | eventHandler: createEventHandler(options),
|
24 | secret: options.secret,
|
25 | hooks: {},
|
26 | log: createLogger(options.log)
|
27 | };
|
28 | this.sign = sign.bind(null, options.secret);
|
29 | this.verify = verify.bind(null, options.secret);
|
30 | this.on = state.eventHandler.on;
|
31 | this.onAny = state.eventHandler.onAny;
|
32 | this.onError = state.eventHandler.onError;
|
33 | this.removeListener = state.eventHandler.removeListener;
|
34 | this.receive = state.eventHandler.receive;
|
35 | this.verifyAndReceive = verifyAndReceive.bind(null, state);
|
36 | }
|
37 | }
|
38 | export {
|
39 | Webhooks,
|
40 | createEventHandler,
|
41 | createNodeMiddleware,
|
42 | emitterEventNames
|
43 | };
|