@totallyinformation/ti-common-event-handler
Version:
A common, shared event handler used across multiple TotallyInformation packages. Implemented as a singleton class.
39 lines (33 loc) • 1.32 kB
JavaScript
/**
* Copyright (c) 2021-2023 Julian Knight (Totally Information)
* https://it.knightnet.org.uk, https://github.com/TotallyInformation/ti-common-event-handler
*
* Licensed under the Apache License, Version 2.0 (the 'License');
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an 'AS IS' BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
const EventEmitter2 = require('eventemitter2') // https://github.com/EventEmitter2/EventEmitter2
/** Singleton model. Only 1 instance of tiEventManager should ever exist.
* Use as: `const tiEvents = require('@totallyinformation/ti-common-event-handler')`
*/
// @ts-ignore
const tiEventManager = new EventEmitter2({
// set this to `true` to use wildcards
wildcard: true,
// the delimiter used to segment namespaces
delimiter: '/',
// emit listener add/remove events
newListener: true,
removeListener: true,
})
module.exports = tiEventManager
// EOF