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

mjolnir.js

Package Overview
Dependencies
Maintainers
12
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mjolnir.js - npm Package Compare versions

Comparing version 2.2.1 to 2.3.0-beta.1

10

CHANGELOG.md
# Change Log
#### [2.3.1] - Aug 3, 2019
#### [2.3.0] - Aug 3, 2019
- Add priority option to event handlers (#54)
#### [2.2.1] - Aug 3, 2019
- Revert "Avoid crash if imported in a web worker (#29)" (#49)
#### [2.3.0] - Aug 2, 2019
#### [2.2.0] - Aug 2, 2019

@@ -12,3 +16,3 @@ - Use ocular-dev-tools (#43)

#### [2.2.2] - June 5, 2019
#### [2.1.2] - June 5, 2019

@@ -15,0 +19,0 @@ - Fix undefind userAgent (#40)

@@ -161,9 +161,9 @@ "use strict";

key: "on",
value: function on(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, false);
value: function on(event, handler, opts) {
this._addEventHandler(event, handler, opts, false);
}
}, {
key: "once",
value: function once(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, true);
value: function once(event, handler, opts) {
this._addEventHandler(event, handler, opts, true);
}

@@ -213,8 +213,8 @@ }, {

key: "_addEventHandler",
value: function _addEventHandler(event, handler, srcElement, once) {
value: function _addEventHandler(event, handler, opts, once) {
if (typeof event !== 'string') {
srcElement = handler;
opts = handler;
for (var eventName in event) {
this._addEventHandler(eventName, event[eventName], srcElement, once);
this._addEventHandler(eventName, event[eventName], opts, once);
}

@@ -242,3 +242,3 @@

eventRegistrar.add(event, handler, srcElement, once);
eventRegistrar.add(event, handler, opts, once);
}

@@ -245,0 +245,0 @@ }, {

@@ -10,2 +10,4 @@ "use strict";

var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));

@@ -17,2 +19,7 @@

var DEFAULT_OPTIONS = {
srcElement: 'root',
priority: 0
};
var EventRegistrar = function () {

@@ -34,4 +41,3 @@ function EventRegistrar(eventManager) {

key: "add",
value: function add(type, handler) {
var srcElement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'root';
value: function add(type, handler, opts) {
var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;

@@ -41,14 +47,35 @@ var handlers = this.handlers,

if (!handlersByElement.has(srcElement)) {
handlersByElement.set(srcElement, []);
if (opts && ((0, _typeof2["default"])(opts) !== 'object' || opts.addEventListener)) {
opts = {
srcElement: opts
};
}
opts = opts ? Object.assign({}, DEFAULT_OPTIONS, opts) : DEFAULT_OPTIONS;
var entries = handlersByElement.get(opts.srcElement);
if (!entries) {
entries = [];
handlersByElement.set(opts.srcElement, entries);
}
var entry = {
type: type,
handler: handler,
srcElement: srcElement,
srcElement: opts.srcElement,
priority: opts.priority,
once: once
};
handlers.push(entry);
handlersByElement.get(srcElement).push(entry);
var insertPosition = entries.length - 1;
while (insertPosition >= 0) {
if (entries[insertPosition].priority >= entry.priority) {
break;
}
insertPosition--;
}
entries.splice(insertPosition + 1, 0, entry);
}

@@ -55,0 +82,0 @@ }, {

@@ -113,8 +113,8 @@ import { Manager } from './utils/hammer';

on(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, false);
on(event, handler, opts) {
this._addEventHandler(event, handler, opts, false);
}
once(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, true);
once(event, handler, opts) {
this._addEventHandler(event, handler, opts, true);
}

@@ -163,8 +163,8 @@

_addEventHandler(event, handler, srcElement, once) {
_addEventHandler(event, handler, opts, once) {
if (typeof event !== 'string') {
srcElement = handler;
opts = handler;
for (var eventName in event) {
this._addEventHandler(eventName, event[eventName], srcElement, once);
this._addEventHandler(eventName, event[eventName], opts, once);
}

@@ -194,3 +194,3 @@

eventRegistrar.add(event, handler, srcElement, once);
eventRegistrar.add(event, handler, opts, once);
}

@@ -197,0 +197,0 @@

import { whichButtons, getOffsetPosition } from './event-utils';
var DEFAULT_OPTIONS = {
srcElement: 'root',
priority: 0
};
export default class EventRegistrar {

@@ -14,4 +18,3 @@ constructor(eventManager) {

add(type, handler) {
var srcElement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'root';
add(type, handler, opts) {
var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;

@@ -23,14 +26,35 @@ var {

if (!handlersByElement.has(srcElement)) {
handlersByElement.set(srcElement, []);
if (opts && (typeof opts !== 'object' || opts.addEventListener)) {
opts = {
srcElement: opts
};
}
opts = opts ? Object.assign({}, DEFAULT_OPTIONS, opts) : DEFAULT_OPTIONS;
var entries = handlersByElement.get(opts.srcElement);
if (!entries) {
entries = [];
handlersByElement.set(opts.srcElement, entries);
}
var entry = {
type,
handler,
srcElement,
srcElement: opts.srcElement,
priority: opts.priority,
once
};
handlers.push(entry);
handlersByElement.get(srcElement).push(entry);
var insertPosition = entries.length - 1;
while (insertPosition >= 0) {
if (entries[insertPosition].priority >= entry.priority) {
break;
}
insertPosition--;
}
entries.splice(insertPosition + 1, 0, entry);
}

@@ -37,0 +61,0 @@

@@ -144,9 +144,9 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";

key: "on",
value: function on(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, false);
value: function on(event, handler, opts) {
this._addEventHandler(event, handler, opts, false);
}
}, {
key: "once",
value: function once(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, true);
value: function once(event, handler, opts) {
this._addEventHandler(event, handler, opts, true);
}

@@ -196,8 +196,8 @@ }, {

key: "_addEventHandler",
value: function _addEventHandler(event, handler, srcElement, once) {
value: function _addEventHandler(event, handler, opts, once) {
if (typeof event !== 'string') {
srcElement = handler;
opts = handler;
for (var eventName in event) {
this._addEventHandler(eventName, event[eventName], srcElement, once);
this._addEventHandler(eventName, event[eventName], opts, once);
}

@@ -225,3 +225,3 @@

eventRegistrar.add(event, handler, srcElement, once);
eventRegistrar.add(event, handler, opts, once);
}

@@ -228,0 +228,0 @@ }, {

@@ -0,4 +1,9 @@

import _typeof from "@babel/runtime/helpers/esm/typeof";
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import { whichButtons, getOffsetPosition } from './event-utils';
var DEFAULT_OPTIONS = {
srcElement: 'root',
priority: 0
};

@@ -22,4 +27,3 @@ var EventRegistrar = function () {

key: "add",
value: function add(type, handler) {
var srcElement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'root';
value: function add(type, handler, opts) {
var once = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;

@@ -29,14 +33,35 @@ var handlers = this.handlers,

if (!handlersByElement.has(srcElement)) {
handlersByElement.set(srcElement, []);
if (opts && (_typeof(opts) !== 'object' || opts.addEventListener)) {
opts = {
srcElement: opts
};
}
opts = opts ? Object.assign({}, DEFAULT_OPTIONS, opts) : DEFAULT_OPTIONS;
var entries = handlersByElement.get(opts.srcElement);
if (!entries) {
entries = [];
handlersByElement.set(opts.srcElement, entries);
}
var entry = {
type: type,
handler: handler,
srcElement: srcElement,
srcElement: opts.srcElement,
priority: opts.priority,
once: once
};
handlers.push(entry);
handlersByElement.get(srcElement).push(entry);
var insertPosition = entries.length - 1;
while (insertPosition >= 0) {
if (entries[insertPosition].priority >= entry.priority) {
break;
}
insertPosition--;
}
entries.splice(insertPosition + 1, 0, entry);
}

@@ -43,0 +68,0 @@ }, {

{
"name": "mjolnir.js",
"description": "An Event Manager",
"version": "2.2.1",
"version": "2.3.0-beta.1",
"keywords": [

@@ -6,0 +6,0 @@ "hammerjs",

@@ -162,9 +162,9 @@ // Copyright (c) 2017 Uber Technologies, Inc.

// Register an event handler function to be called on `event`.
on(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, false);
on(event, handler, opts) {
this._addEventHandler(event, handler, opts, false);
}
// Register an event handler function to be called on `event`, then remove it
once(event, handler, srcElement) {
this._addEventHandler(event, handler, srcElement, true);
once(event, handler, opts) {
this._addEventHandler(event, handler, opts, true);
}

@@ -226,8 +226,8 @@

*/
_addEventHandler(event, handler, srcElement, once) {
_addEventHandler(event, handler, opts, once) {
if (typeof event !== 'string') {
srcElement = handler;
opts = handler;
// If `event` is a map, call `on()` for each entry.
for (const eventName in event) {
this._addEventHandler(eventName, event[eventName], srcElement, once);
this._addEventHandler(eventName, event[eventName], opts, once);
}

@@ -253,3 +253,3 @@ return;

this._toggleRecognizer(eventRegistrar.recognizerName, true);
eventRegistrar.add(event, handler, srcElement, once);
eventRegistrar.add(event, handler, opts, once);
}

@@ -256,0 +256,0 @@

import {whichButtons, getOffsetPosition} from './event-utils';
const DEFAULT_OPTIONS = {
srcElement: 'root',
priority: 0
};
export default class EventRegistrar {

@@ -17,11 +22,29 @@ constructor(eventManager) {

add(type, handler, srcElement = 'root', once = false) {
add(type, handler, opts, once = false) {
const {handlers, handlersByElement} = this;
if (!handlersByElement.has(srcElement)) {
handlersByElement.set(srcElement, []);
if (opts && (typeof opts !== 'object' || opts.addEventListener)) {
// is DOM element, backward compatibility
opts = {srcElement: opts};
}
const entry = {type, handler, srcElement, once};
opts = opts ? Object.assign({}, DEFAULT_OPTIONS, opts) : DEFAULT_OPTIONS;
let entries = handlersByElement.get(opts.srcElement);
if (!entries) {
entries = [];
handlersByElement.set(opts.srcElement, entries);
}
const entry = {type, handler, srcElement: opts.srcElement, priority: opts.priority, once};
handlers.push(entry);
handlersByElement.get(srcElement).push(entry);
// Sort handlers by descending priority
// Handlers with the same priority are excuted in the order of registration
let insertPosition = entries.length - 1;
while (insertPosition >= 0) {
if (entries[insertPosition].priority >= entry.priority) {
break;
}
insertPosition--;
}
entries.splice(insertPosition + 1, 0, entry);
}

@@ -28,0 +51,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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