README
WebHooks
Easy-to-use, object oriented WebHooks library written in TypeScript.
Install
npm install --save @bmiddha/webhooks
API
- Add WebHook add(name, url)
Parameters
Name | Type | Required |
---|---|---|
name |
string |
true |
url |
string |
true |
void
Return: Add WebHook to database.
- Remove WebHook remove(name, url)
Parameters
Name | Type | Required |
---|---|---|
name |
string |
true |
url |
string |
false |
void
Return:
- Trigger WebHook trigger(name, data, headers)
Parameters
Name | Type | Required |
---|---|---|
name |
string |
true |
data |
JSON |
true |
headers |
JSON |
false |
void
Return: Event emission return value
- Get All WebHooks from Database getDB()
Object
Return: All names, and URLs.
{
"name1": [
"url1",
"url2",
"url3"
],
"name2": [
"url4"
]
}
- Get WebHook getWebHook(name)
Parameters
Name | Type | Required |
---|---|---|
name |
string |
true |
- Get Request Functions requestFunctions()
(name: string, jsonData: {}, headersData?: {}) => Promise<void>[]
Return:
- Get Event Emitter emitter()
events.EventEmitter
Return: Example
import * as Redis from 'ioredis';
import WebHooks from '@bmiddha/webhooks';
const redisClient = new Redis();
const webHooks = new WebHooks({ redisClient });
webHooks.add('webHookName', 'http://localhost:8080/hook')
const demo = async () => {
await webHooks.add("webHookName", "http://localhost:8080/hook");
webHooks.trigger("webHooksName", { data: 123 });
webHooks.trigger(
"webHooksName",
{
test: "data",
more: {
test: "data"
},
even: {
more: {
test: "data"
}
}
},
{
"custom-header": "value"
}
);
}
demo();
Acknowledgments
Inspired by roccomuso/node-webhooks.