1.1.2 • Published 5 years ago
@bmiddha/webhooks-test v1.1.2
WebHooks
Easy-to-use, object oriented WebHooks library written in TypeScript.
Install
npm install --save @bmiddha/webhooks
API
add(name, url)
- Add WebHook
Parameters
Name | Type | Required |
---|---|---|
name | string | true |
url | string | true |
Return: void
Add WebHook to database.
remove(name, url)
- Remove WebHook
Parameters
Name | Type | Required |
---|---|---|
name | string | true |
url | string | false |
Return: void
trigger(name, data, headers)
- Trigger WebHook
Parameters
Name | Type | Required |
---|---|---|
name | string | true |
data | JSON | true |
headers | JSON | false |
Return: void
Event emission return value
getDB()
- Get All WebHooks from Database
Return: Object
All names, and URLs.
{
"name1": [
"url1",
"url2",
"url3"
],
"name2": [
"url4"
]
}
getWebHook(name)
- Get WebHook
Parameters
Name | Type | Required |
---|---|---|
name | string | true |
requestFunctions()
- Get Request Functions
Return: (name: string, jsonData: {}, headersData?: {}) => Promise<void>[]
emitter()
- Get Event Emitter
Return: events.EventEmitter
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.
1.1.2
5 years ago