New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

emitter-master

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

emitter-master - npm Package Compare versions

Comparing version 1.0.13 to 1.0.14

browser/index.js.map

220

browser/index.js

@@ -1,1 +0,219 @@

var Emitter=function(e){"use strict";const r={},n={};function p(e){return n[e]??(n[e]=[])}function s(e){return r[e]??(r[e]=[])}function t(e,n){let t=[],o;if("string"==typeof e)o="string",t.push(e);else{if(!Array.isArray(e))throw new Error("错误的参数:"+e);o="array",t=e}if("function"==typeof n){for(let e=0,r=t.length;e<r;e++){var l=t[e],a=s(l);for(let e=0,r=a.length;e<r;e++)"array"===o?n({event_name:l,data:a[e]}):n(a[e]);a.length=0,p(l).push({type:"normal",event_name_type:o,handle:n})}return()=>c(e,n)}for(let e=0,r=t.length;e<r;e++){const i=t[e],f=s(i);if(0!=f.length)return new Promise(e=>{"array"===o?e({event_name:i,data:f.pop()}):e(f.pop())})}return new Promise(e=>e(void 0===n?null:n))}function o(e,n){let t=[];if("string"==typeof e)t.push(e);else{if(!Array.isArray(e))throw new Error("错误的参数:"+e);t=e}for(let r=0,e=t.length;r<e;r++){var o=t[r],l=p(o);if(0===l.length)s(o).push(n);else for(let e=0;e<l.length;e++){var a=l[r];"string"===a.event_name_type?a.handle(n):a.handle({event_name:o,data:n}),"once"===a.type&&(l.splice(e,1),e--)}}}function c(e,r){let n=[];if("string"==typeof e)n.push(e);else{if(!Array.isArray(e))throw new Error("错误的参数:"+e);n=e}var t={offline:!1};if(void 0!==r&&("function"==typeof r?t.callback=r:(void 0!==r.offline&&(t.offline=r.offline),void 0!==r.callback&&(t.callback=r.callback))),void 0===t.callback)for(let e=0,r=n.length;e<r;e++){var o=n[e];t.offline&&(s(o).length=0),p(o).length=0}else for(let e=0,r=n.length;e<r;e++){var l=p(n[e]);for(let e=0;e<l.length;e++)l[e].handle===t.callback&&(l.splice(e,1),e--)}}var l=t,a=o,i=c,a=(console.log("%cemitter-master:%c 1.0.13 %c=> %curl:%c https://www.npmjs.com/package/emitter-master","color: #fff;background: purple;padding: 2px 5px;border-radius:4px;font-size: 14px;","color: purple;font-size:14px;","color: #333;font-size:14px;","background: purple;font-size:14px; padding: 2px 5px; border-radius: 4px; color: #fff;","font-size:14px;"),{sender:a,receiver:l,listener:t,once:function(e,n){let t=[],o;if("string"==typeof e)o="string",t.push(e);else{if(!Array.isArray(e))throw new Error("错误的参数:"+e);o="array",t=e}if("function"==typeof n){for(let e=0,r=t.length;e<r;e++){var l=t[e],a=s(l);0===a.length?p(l).push({type:"once",event_name_type:o,handle:n}):"array"===o?n({event_name:l,data:a.pop()}):n(a.pop())}return()=>c(e,n)}for(let e=0;e<t.length;e++){const r=t[e],i=s(r);if(0!==i.length)return new Promise(e=>"array"===o?e({event_name:r,data:i.pop()}):e(i.pop()))}return new Promise(e=>e(void 0===n?null:n))},trigger:o,clear:c,debug_print:function(){console.log("事件缓存--\x3e",n),console.log("离线缓存--\x3e",r)},remove:i});return e.Emitter=a,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
var Emitter = (function (exports) {
'use strict';
var version = "1.0.14";
// 用于发送和监听某个事件的发射器
const offline_cache = {}; // 存储离线队列的事件处理程序
const event_cache = {}; // 存储事件对应的事件处理程序
// 获取 event_list
function get_event_list(event_name) {
return event_cache[event_name] ?? (event_cache[event_name] = []);
}
// 获取离线列表
function get_offline_list(event_name) {
return offline_cache[event_name] ?? (offline_cache[event_name] = []);
}
function listener(event_names, handle_or_default) {
let event_name_list = [];
let arg1_type;
if (typeof event_names === "string") {
arg1_type = "string";
event_name_list.push(event_names);
}
else if (Array.isArray(event_names)) {
arg1_type = "array";
event_name_list = event_names;
}
else {
throw new Error("错误的参数:" + event_names);
}
if (typeof handle_or_default === "function") {
// 第二个参数是函数的情况必定会返回函数
for (let i = 0, len = event_name_list.length; i < len; i++) {
const event_name = event_name_list[i];
const offline_list = get_offline_list(event_name);
for (let j = 0, len2 = offline_list.length; j < len2; j++) {
arg1_type === "array" ?
handle_or_default({ event_name, data: offline_list[j] }) :
handle_or_default(offline_list[j]);
}
offline_list.length = 0;
// 离线执行全部执行一遍并清空之后添加监听
const event_list = get_event_list(event_name);
event_list.push({
type: "normal",
event_name_type: arg1_type,
handle: handle_or_default
});
}
return () => clear(event_names, handle_or_default);
}
else {
// 第二个参数为值
for (let i = 0, len = event_name_list.length; i < len; i++) {
const event_name = event_name_list[i];
const offline_list = get_offline_list(event_name);
if (offline_list.length == 0)
continue;
return new Promise(resolve => {
arg1_type === "array" ?
resolve({ event_name, data: offline_list.pop() }) :
resolve(offline_list.pop());
});
}
return new Promise(resolve => handle_or_default === undefined ? resolve(null) : resolve(handle_or_default));
}
}
function once(event_names, handle_or_default) {
let event_name_list = [];
let arg1_type;
if (typeof event_names === "string") {
arg1_type = "string";
event_name_list.push(event_names);
}
else if (Array.isArray(event_names)) {
arg1_type = "array";
event_name_list = event_names;
}
else {
throw new Error("错误的参数:" + event_names);
}
if (typeof handle_or_default === "function") {
for (let i = 0, len = event_name_list.length; i < len; i++) {
const event_name = event_name_list[i];
const offline_list = get_offline_list(event_name);
if (offline_list.length === 0) {
get_event_list(event_name).push({
type: "once",
event_name_type: arg1_type,
handle: handle_or_default
});
continue;
}
arg1_type === "array" ?
handle_or_default({ event_name, data: offline_list.pop() }) :
handle_or_default(offline_list.pop());
}
return () => clear(event_names, handle_or_default);
}
else {
for (let i = 0; i < event_name_list.length; i++) {
const event_name = event_name_list[i];
const offline_list = get_offline_list(event_name);
if (offline_list.length === 0)
continue;
return new Promise(resolve => arg1_type === "array" ?
resolve({ event_name, data: offline_list.pop() }) :
resolve(offline_list.pop()));
}
return new Promise(resolve => handle_or_default === undefined ? resolve(null) : resolve(handle_or_default));
}
}
// 触发事件,或发送数据
function trigger(event_names, data) {
let event_name_list = [];
if (typeof event_names === "string") {
event_name_list.push(event_names);
}
else if (Array.isArray(event_names)) {
event_name_list = event_names;
}
else {
throw new Error("错误的参数:" + event_names);
}
for (let i = 0, len = event_name_list.length; i < len; i++) {
const event_name = event_name_list[i];
const event_list = get_event_list(event_name);
if (event_list.length === 0) { // 如果当前的事件中没有对应的处理函数那么直接将这个请求添加到离线列表
const offline_list = get_offline_list(event_name);
offline_list.push(data);
}
else {
for (let j = 0; j < event_list.length; j++) {
const event_info = event_list[i];
event_info.event_name_type === "string" ? event_info.handle(data) : event_info.handle({
event_name,
data
});
if (event_info.type === "once") {
event_list.splice(j, 1); // 对于 once 类型的事件执行之后删除掉
j--; // 删除之后记得减掉索引,不让会跳过一些handle函数
}
}
}
}
}
// 清除单个事件或者清除所有的事件
function clear(event_names, callback_or_config) {
let event_name_list = [];
if (typeof event_names === "string") {
event_name_list.push(event_names);
}
else if (Array.isArray(event_names)) {
event_name_list = event_names;
}
else {
throw new Error("错误的参数:" + event_names);
}
const event_config = { offline: false };
if (callback_or_config !== undefined) {
if (typeof callback_or_config === "function") {
event_config.callback = callback_or_config;
}
else {
(callback_or_config.offline !== undefined) && (event_config.offline = callback_or_config.offline);
(callback_or_config.callback !== undefined) && (event_config.callback = callback_or_config.callback);
}
}
if (event_config.callback === undefined) {
for (let i = 0, len = event_name_list.length; i < len; i++) {
const event_name = event_name_list[i];
event_config.offline && (get_offline_list(event_name).length = 0);
get_event_list(event_name).length = 0;
}
}
else {
for (let i = 0, len = event_name_list.length; i < len; i++) {
const event_name = event_name_list[i];
const event_list = get_event_list(event_name);
for (let j = 0; j < event_list.length; j++) {
const event_info = event_list[j];
if (event_info.handle === event_config.callback) { // 如果callback和handle是同一个函数那么删除
event_list.splice(j, 1);
j--;
}
}
}
}
}
// 用于debug的打印
function debug_print() {
console.log("事件缓存-->", event_cache);
console.log("离线缓存-->", offline_cache);
}
// 定义别名
const receiver = listener;
const sender = trigger;
const remove = clear;
console.log(`%cemitter-master:%c ${version} %c=> %curl:%c https://www.npmjs.com/package/emitter-master`, "color: #fff;background: purple;padding: 2px 5px;border-radius:4px;font-size: 14px;", "color: purple;font-size:14px;", "color: #333;font-size:14px;", "background: purple;font-size:14px; padding: 2px 5px; border-radius: 4px; color: #fff;", "font-size:14px;");
// 用于导出的 Event 对象
const Emitter = {
sender,
receiver,
listener,
once,
trigger,
clear,
debug_print,
remove
};
exports.Emitter = Emitter;
Object.defineProperty(exports, '__esModule', { value: true });
return exports;
})({});
//# sourceMappingURL=index.js.map

2

package.json
{
"name": "emitter-master",
"version": "1.0.13",
"version": "1.0.14",
"description": "Support for offline event emitters, event, listener",

@@ -5,0 +5,0 @@ "main": "./cjs/index.cjs",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc