secure-event-emitter
Version:
SecureEventEmitter is a tiny javascript package that uses restrict rules and mechanisms to build safer and protected event-driven architecture. It's similar to nodejs EventEmitter, but dictates stricter rules to prevent misuse.
58 lines (46 loc) • 1.5 kB
JavaScript
;
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
var identity = function identity(x) {
return x;
};
var isFunction = function isFunction(x) {
return typeof x === 'function';
};
var isUndefined = function isUndefined(x) {
return typeof x === 'undefined';
};
var isString = function isString(x) {
return typeof x === 'string';
};
var isArray = function isArray(x) {
return Array.isArray(x);
};
var isSymbol = function isSymbol(x) {
return _typeof(x) === 'symbol';
};
var isDescribedSymbol = function isDescribedSymbol(x) {
return isSymbol(x) && x.description;
};
var isObject = function isObject(x) {
return _typeof(x) === 'object' && x !== null;
};
var isSubset = function isSubset(setArr, subsetArr) {
return subsetArr.every(function (val) {
return setArr.includes(val);
});
};
var isObservable = function isObservable(x) {
return isObject(x) && isFunction(x.on) && isFunction(x.off);
};
module.exports = {
identity: identity,
isFunction: isFunction,
isUndefined: isUndefined,
isString: isString,
isArray: isArray,
isSymbol: isSymbol,
isObject: isObject,
isSubset: isSubset,
isDescribedSymbol: isDescribedSymbol,
isObservable: isObservable
};