UNPKG

1.04 kBJavaScriptView Raw
1'use strict';
2
3const settings = require('../../shared/settings');
4
5const only = {
6 ifNotExists() {
7 return settings({ autoCreate: true });
8 },
9 ifExists() {
10 return settings({ autoCreate: false });
11 },
12};
13
14const extendPreEvent = (extender) => {
15 if (!extender || typeof extender !== 'function')
16 throw new Error('Extender is missing or not a function.');
17
18 return {
19 preEventExtender(event) {
20 return Promise.resolve(extender(event));
21 },
22 };
23};
24
25const extendEvent = (extender) => {
26 if (!extender || typeof extender !== 'function')
27 throw new Error('Extender is missing or not a function.');
28
29 return {
30 eventExtender(event) {
31 return Promise.resolve(extender(event));
32 },
33 };
34};
35
36const identifier = (identifierFunction) => {
37 if (!identifierFunction || (typeof identifierFunction !== 'function' && typeof identifierFunction !== 'string'))
38 throw new Error('No identifier valid supplied!');
39
40 return { useAsId: identifierFunction };
41};
42
43
44module.exports = {
45 settings,
46 only,
47 extendPreEvent,
48 extendEvent,
49 identifier,
50};