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

bean

Package Overview
Dependencies
Maintainers
0
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bean - npm Package Compare versions

Comparing version

to
0.2.4

19

bean.js

@@ -58,5 +58,5 @@ /*!

customHandler = function (element, fn, type, condition, args) {
return function (event) {
if (condition ? condition.call(this, event) : W3C_MODEL ? true : event && event.propertyName == '_on' + type || !event) {
fn.apply(element, [event].concat(args));
return function (e) {
if (condition ? condition.apply(this, arguments) : W3C_MODEL ? true : e && e.propertyName == '_on' + type || !e) {
fn.apply(element, Array.prototype.slice.call(arguments, e ? 0 : 1).concat(args));
}

@@ -158,2 +158,11 @@ };

if (!attached || (isString && !attached[events])) {
if (attached && names) {
for (k in attached) {
if (attached.hasOwnProperty(k)) {
for (i in attached[k]) {
attached[k].hasOwnProperty(i) && i === names && rm(element, [k, names].join('.'));
}
}
}
}
return element;

@@ -189,3 +198,3 @@ }

for (k = isNamespace.length; k--;) {
handlers[isNamespace[k]] && handlers[isNamespace[k]].apply(element, args);
handlers && handlers[isNamespace[k]] && handlers[isNamespace[k]].apply(element, [false].concat(args));
}

@@ -196,3 +205,3 @@ } else if (!args && element[eventSupport]) {

for (k in handlers) {
handlers.hasOwnProperty(k) && handlers[k].apply(element, args);
handlers.hasOwnProperty(k) && handlers[k].apply(element, [false].concat(args));
}

@@ -199,0 +208,0 @@ }

@@ -10,2 +10,2 @@ /*!

*/
!function(a){function F(a){var b=a.relatedTarget;if(!b)return b===null;return b!=this&&b.prefix!="xul"&&!/document/.test(this.toString())&&!p(this,b)}var b=1,c={},d={},e=/over|out/,f=/[^\.]*(?=\..*)\.|.*/,g=/\..*/,h="addEventListener",i="attachEvent",j="removeEventListener",k="detachEvent",l=a.document||{},m=l.documentElement||{},n=m[h],o=n?h:i,p=function(a,b){var c=b.parentNode;while(c!==null){if(c==a)return!0;c=c.parentNode}},q=function(a,c){return a.__uid=c||a.__uid||b++},r=function(a){var b=q(a);return c[b]=c[b]||{}},s=n?function(a,b,c,d){a[d?h:j](b,c,!1)}:function(a,b,c,d,e){e&&d&&(a["_on"+e]=a["_on"+e]||0),a[d?i:k]("on"+b,c)},t=function(b,c,d){return function(e){e=D(e||((this.ownerDocument||this.document||this).parentWindow||a).event);return c.apply(b,[e].concat(d))}},u=function(a,b,c,d,e){return function(f){(d?d.call(this,f):n?!0:f&&f.propertyName=="_on"+c||!f)&&b.apply(a,[f].concat(e))}},v=function(a,b,c,e){var h=b.replace(g,""),i=r(a),j=i[h]||(i[h]={}),k=c,l=q(c,b.replace(f,""));if(j[l])return a;var m=G[h];m&&(c=m.condition?u(a,c,h,m.condition):c,h=m.base||h);var p=E[h];c=p?t(a,c,e):u(a,c,h,!1,e),p=n||p;if(h=="unload"){var v=c;c=function(){w(a,h,c)&&v()}}a[o]&&s(a,p?h:"propertychange",c,!0,!p&&h),j[l]=c,c.__uid=l,c.__originalFn=k;return h=="unload"?a:d[q(a)]=a},w=function(a,b,c){var d,e,h,i,j=r(a),k=b.replace(g,"");if(!j||!j[k])return a;e=b.replace(f,""),h=e?e.split("."):[c.__uid];for(i=h.length;i--;){d=h[i],c=j[k][d],delete j[k][d];if(a[o]){k=G[k]?G[k].base:k;var l=n||E[k];s(a,l?k:"propertychange",c,!1,!l&&k)}}return a},x=function(a,b,c){return function(d){var e=typeof a=="string"?c(a,this):a;for(var f=d.target;f&&f!=this;f=f.parentNode)for(var g=e.length;g--;)if(e[g]==f)return b.apply(f,arguments)}},y=function(a,b,c,d,e){if(typeof b=="object"&&!c)for(var f in b)b.hasOwnProperty(f)&&y(a,f,b[f]);else{var g=typeof c=="string",h=(g?c:b).split(" ");c=g?x(b,d,e):c;for(var i=h.length;i--;)v(a,h[i],c,Array.prototype.slice.call(arguments,g?4:3))}return a},z=function(a,b,c){var d,e,h,i,j=typeof b=="string",k=j&&b.replace(f,""),l=w,m=r(a);if(j&&/\s/.test(b)){b=b.split(" "),i=b.length-1;while(z(a,b[i])&&i--);return a}h=j?b.replace(g,""):b;if(!m||j&&!m[h])return a;if(typeof c=="function")l(a,h,c);else if(k)l(a,b);else{l=h?l:z,e=j&&h,h=h?c||m[h]||h:m;for(d in h)h.hasOwnProperty(d)&&(l(a,e||d,h[d]),delete h[d])}return a},A=function(a,b,c){var d,e,h,i=b.split(" ");for(h=i.length;h--;){b=i[h].replace(g,"");var j=E[b],k=i[h].replace(f,""),l=r(a)[b];if(k){k=k.split(".");for(e=k.length;e--;)l[k[e]]&&l[k[e]].apply(a,c)}else if(!c&&a[o])B(j,b,a);else for(e in l)l.hasOwnProperty(e)&&l[e].apply(a,c)}return a},B=n?function(b,c,d){evt=document.createEvent(b?"HTMLEvents":"UIEvents"),evt[b?"initEvent":"initUIEvent"](c,!0,!0,a,1),d.dispatchEvent(evt)}:function(a,b,c){a?c.fireEvent("on"+b,document.createEventObject()):c["_on"+b]++},C=function(a,b,c){var d=r(b),e,f,g=q(a);e=c?d[c]:d;for(f in e)e.hasOwnProperty(f)&&(c?y:C)(a,c||b,c?e[f].__originalFn:f);return a},D=function(a){var b={};if(!a)return b;var c=a.type,d=a.target||a.srcElement;b.preventDefault=D.preventDefault(a),b.stopPropagation=D.stopPropagation(a),b.target=d&&d.nodeType==3?d.parentNode:d;if(~c.indexOf("key"))b.keyCode=a.which||a.keyCode;else if(/click|mouse|menu/i.test(c)){b.rightClick=a.which==3||a.button==2,b.pos={x:0,y:0};if(a.pageX||a.pageY)b.clientX=a.pageX,b.clientY=a.pageY;else if(a.clientX||a.clientY)b.clientX=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,b.clientY=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;e.test(c)&&(b.relatedTarget=a.relatedTarget||a[(c=="mouseover"?"from":"to")+"Element"])}for(var f in a)f in b||(b[f]=a[f]);return b};D.preventDefault=function(a){return function(){a.preventDefault?a.preventDefault():a.returnValue=!1}},D.stopPropagation=function(a){return function(){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}};var E={click:1,dblclick:1,mouseup:1,mousedown:1,contextmenu:1,mousewheel:1,DOMMouseScroll:1,mouseover:1,mouseout:1,mousemove:1,selectstart:1,selectend:1,keydown:1,keypress:1,keyup:1,orientationchange:1,touchstart:1,touchmove:1,touchend:1,touchcancel:1,gesturestart:1,gesturechange:1,gestureend:1,focus:1,blur:1,change:1,reset:1,select:1,submit:1,load:1,unload:1,beforeunload:1,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1},G={mouseenter:{base:"mouseover",condition:F},mouseleave:{base:"mouseout",condition:F},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}},H={add:y,remove:z,clone:C,fire:A},I=function(a){var b=z(a).__uid;b&&(delete d[b],delete c[b])};a[i]&&y(a,"unload",function(){for(var b in d)d.hasOwnProperty(b)&&I(d[b]);a.CollectGarbage&&CollectGarbage()});var J=a.bean;H.noConflict=function(){a.bean=J;return this},typeof module!="undefined"&&module.exports?module.exports=H:a.bean=H}(this)
!function(a){function F(a){var b=a.relatedTarget;return b?b!=this&&b.prefix!="xul"&&!/document/.test(this.toString())&&!p(this,b):b===null}var b=1,c={},d={},e=/over|out/,f=/[^\.]*(?=\..*)\.|.*/,g=/\..*/,h="addEventListener",i="attachEvent",j="removeEventListener",k="detachEvent",l=a.document||{},m=l.documentElement||{},n=m[h],o=n?h:i,p=function(a,b){var c=b.parentNode;while(c!==null){if(c==a)return!0;c=c.parentNode}},q=function(a,c){return a.__uid=c||a.__uid||b++},r=function(a){var b=q(a);return c[b]=c[b]||{}},s=n?function(a,b,c,d){a[d?h:j](b,c,!1)}:function(a,b,c,d,e){e&&d&&(a["_on"+e]=a["_on"+e]||0),a[d?i:k]("on"+b,c)},t=function(b,c,d){return function(e){e=D(e||((this.ownerDocument||this.document||this).parentWindow||a).event);return c.apply(b,[e].concat(d))}},u=function(a,b,c,d,e){return function(f){(d?d.apply(this,arguments):n?!0:f&&f.propertyName=="_on"+c||!f)&&b.apply(a,Array.prototype.slice.call(arguments,f?0:1).concat(e))}},v=function(a,b,c,e){var h=b.replace(g,""),i=r(a),j=i[h]||(i[h]={}),k=c,l=q(c,b.replace(f,""));if(j[l])return a;var m=G[h];m&&(c=m.condition?u(a,c,h,m.condition):c,h=m.base||h);var p=E[h];c=p?t(a,c,e):u(a,c,h,!1,e),p=n||p;if(h=="unload"){var v=c;c=function(){w(a,h,c)&&v()}}a[o]&&s(a,p?h:"propertychange",c,!0,!p&&h),j[l]=c,c.__uid=l,c.__originalFn=k;return h=="unload"?a:d[q(a)]=a},w=function(a,b,c){var d,e,h,i,j=r(a),k=b.replace(g,"");if(!j||!j[k])return a;e=b.replace(f,""),h=e?e.split("."):[c.__uid];for(i=h.length;i--;){d=h[i],c=j[k][d],delete j[k][d];if(a[o]){k=G[k]?G[k].base:k;var l=n||E[k];s(a,l?k:"propertychange",c,!1,!l&&k)}}return a},x=function(a,b,c){return function(d){var e=typeof a=="string"?c(a,this):a;for(var f=d.target;f&&f!=this;f=f.parentNode)for(var g=e.length;g--;)if(e[g]==f)return b.apply(f,arguments)}},y=function(a,b,c,d,e){if(typeof b=="object"&&!c)for(var f in b)b.hasOwnProperty(f)&&y(a,f,b[f]);else{var g=typeof c=="string",h=(g?c:b).split(" ");c=g?x(b,d,e):c;for(var i=h.length;i--;)v(a,h[i],c,Array.prototype.slice.call(arguments,g?4:3))}return a},z=function(a,b,c){var d,e,h,i,j=typeof b=="string",k=j&&b.replace(f,""),l=w,m=r(a);if(j&&/\s/.test(b)){b=b.split(" "),i=b.length-1;while(z(a,b[i])&&i--);return a}h=j?b.replace(g,""):b;if(!m||j&&!m[h]){if(m&&k)for(d in m)if(m.hasOwnProperty(d))for(i in m[d])m[d].hasOwnProperty(i)&&i===k&&l(a,[d,k].join("."));return a}if(typeof c=="function")l(a,h,c);else if(k)l(a,b);else{l=h?l:z,e=j&&h,h=h?c||m[h]||h:m;for(d in h)h.hasOwnProperty(d)&&(l(a,e||d,h[d]),delete h[d])}return a},A=function(a,b,c){var d,e,h,i=b.split(" ");for(h=i.length;h--;){b=i[h].replace(g,"");var j=E[b],k=i[h].replace(f,""),l=r(a)[b];if(k){k=k.split(".");for(e=k.length;e--;)l&&l[k[e]]&&l[k[e]].apply(a,[!1].concat(c))}else if(!c&&a[o])B(j,b,a);else for(e in l)l.hasOwnProperty(e)&&l[e].apply(a,[!1].concat(c))}return a},B=n?function(b,c,d){evt=document.createEvent(b?"HTMLEvents":"UIEvents"),evt[b?"initEvent":"initUIEvent"](c,!0,!0,a,1),d.dispatchEvent(evt)}:function(a,b,c){a?c.fireEvent("on"+b,document.createEventObject()):c["_on"+b]++},C=function(a,b,c){var d=r(b),e,f,g=q(a);e=c?d[c]:d;for(f in e)e.hasOwnProperty(f)&&(c?y:C)(a,c||b,c?e[f].__originalFn:f);return a},D=function(a){var b={};if(!a)return b;var c=a.type,d=a.target||a.srcElement;b.preventDefault=D.preventDefault(a),b.stopPropagation=D.stopPropagation(a),b.target=d&&d.nodeType==3?d.parentNode:d;if(~c.indexOf("key"))b.keyCode=a.which||a.keyCode;else if(/click|mouse|menu/i.test(c)){b.rightClick=a.which==3||a.button==2,b.pos={x:0,y:0};if(a.pageX||a.pageY)b.clientX=a.pageX,b.clientY=a.pageY;else if(a.clientX||a.clientY)b.clientX=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,b.clientY=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;e.test(c)&&(b.relatedTarget=a.relatedTarget||a[(c=="mouseover"?"from":"to")+"Element"])}for(var f in a)f in b||(b[f]=a[f]);return b};D.preventDefault=function(a){return function(){a.preventDefault?a.preventDefault():a.returnValue=!1}},D.stopPropagation=function(a){return function(){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}};var E={click:1,dblclick:1,mouseup:1,mousedown:1,contextmenu:1,mousewheel:1,DOMMouseScroll:1,mouseover:1,mouseout:1,mousemove:1,selectstart:1,selectend:1,keydown:1,keypress:1,keyup:1,orientationchange:1,touchstart:1,touchmove:1,touchend:1,touchcancel:1,gesturestart:1,gesturechange:1,gestureend:1,focus:1,blur:1,change:1,reset:1,select:1,submit:1,load:1,unload:1,beforeunload:1,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1},G={mouseenter:{base:"mouseover",condition:F},mouseleave:{base:"mouseout",condition:F},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}},H={add:y,remove:z,clone:C,fire:A},I=function(a){var b=z(a).__uid;b&&(delete d[b],delete c[b])};a[i]&&y(a,"unload",function(){for(var b in d)d.hasOwnProperty(b)&&I(d[b]);a.CollectGarbage&&CollectGarbage()});var J=a.bean;H.noConflict=function(){a.bean=J;return this},typeof module!="undefined"&&module.exports?module.exports=H:a.bean=H}(this)
{
"name": "bean",
"description": "an events api for javascript",
"version": "0.2.3",
"version": "0.2.4",
"homepage": "https://github.com/fat/bean",

@@ -6,0 +6,0 @@ "authors": ["Jacob Thornton <@fat>"],

@@ -193,2 +193,60 @@ Bean

Ender Integration API
---------------------
If you use bean with ender it's API is greatly extended through it's Bridge file. This extension aims to give bean the look and feel of jQuery, but at the tiny size of bean.
Here's the run down of the method alias's added...
**ADD EVENTS**
+ on - <code>$(element).on('click', fn);</code>
+ addListener - <code>$(element).addListener('click', fn);</code>
+ bind - <code>$(element).bind('click', fn);</code>
+ listen - <code>$(element).listen('click', fn);</code>
**REMOVE EVENTS**
+ unbind - <code>$(element).unbind('click');</code>
+ unlisten - <code>$(element).unbind('click');</code>
+ removeListener - <code>$(element).unbind('click');</code>
**DELEGATE EVENTS**
+ delegate - <code>$(element).delegate('.foo', fn);</code>
+ undelegate - <code>$(element).delegate('.foo');</code>
**CLONE EVENTS**
+ cloneEvents - <code>$(element).delegate('.cloneEvents', fn);</code>
**SPECIAL EVENTS**
+ hover - <code>$(element).hover(enterfn, leavefn);</code>
+ blur - <code>$(element).blur(fn);</code>
+ change - <code>$(element).change(fn);</code>
+ click - <code>$(element).click(fn);</code>
+ dblclick - <code>$(element).dblclick(fn);</code>
+ focusin - <code>$(element).focusin(fn);</code>
+ focusout - <code>$(element).focusout(fn);</code>
+ keydown - <code>$(element).keydown(fn);</code>
+ keypress - <code>$(element).keypress(fn);</code>
+ keyup - <code>$(element).keyup(fn);</code>
+ mousedown - <code>$(element).mousedown(fn);</code>
+ mouseenter - <code>$(element).mouseenter(fn);</code>
+ mouseleave - <code>$(element).mouseleave(fn);</code>
+ mouseout - <code>$(element).mouseout(fn);</code>
+ mouseover - <code>$(element).mouseover(fn);</code>
+ mouseup - <code>$(element).mouseup(fn);</code>
+ mousemove - <code>$(element).mousemove(fn);</code>
+ resize - <code>$(element).resize(fn);</code>
+ scroll - <code>$(element).scroll(fn);</code>
+ select - <code>$(element).select(fn);</code>
+ submit - <code>$(element).submit(fn);</code>
+ unload - <code>$(element).unload(fn);</code>
Contributors

@@ -195,0 +253,0 @@ -------

@@ -49,5 +49,5 @@ !function (context) {

customHandler = function (element, fn, type, condition, args) {
return function (event) {
if (condition ? condition.call(this, event) : W3C_MODEL ? true : event && event.propertyName == '_on' + type || !event) {
fn.apply(element, [event].concat(args));
return function (e) {
if (condition ? condition.apply(this, arguments) : W3C_MODEL ? true : e && e.propertyName == '_on' + type || !e) {
fn.apply(element, Array.prototype.slice.call(arguments, e ? 0 : 1).concat(args));
}

@@ -149,2 +149,11 @@ };

if (!attached || (isString && !attached[events])) {
if (attached && names) {
for (k in attached) {
if (attached.hasOwnProperty(k)) {
for (i in attached[k]) {
attached[k].hasOwnProperty(i) && i === names && rm(element, [k, names].join('.'));
}
}
}
}
return element;

@@ -180,3 +189,3 @@ }

for (k = isNamespace.length; k--;) {
handlers && handlers[isNamespace[k]] && handlers[isNamespace[k]].apply(element, args);
handlers && handlers[isNamespace[k]] && handlers[isNamespace[k]].apply(element, [false].concat(args));
}

@@ -187,3 +196,3 @@ } else if (!args && element[eventSupport]) {

for (k in handlers) {
handlers.hasOwnProperty(k) && handlers[k].apply(element, args);
handlers.hasOwnProperty(k) && handlers[k].apply(element, [false].concat(args));
}

@@ -190,0 +199,0 @@ }

@@ -133,2 +133,15 @@ //stub this for ie crap

test('fire: should be able to pass multiple arguments to custom event', 4, function () {
// jquery like array syntax
var el = document.getElementById('input');
bean.remove(el);
bean.add(el, 'foo', function (one, two, three) {
ok(arguments.length == 3, 'fires an event with 3 arguments')
ok(one == 1, 'value should equal 1')
ok(two == 2, 'value should equal 2')
ok(three == 3, 'value should equal 3')
});
bean.fire(el, 'foo', [1, 2, 3]);
});
})

@@ -283,2 +296,18 @@

test('remove: should be able to remove all events of a certain namespace', 1, function () {
var el = document.getElementById('input'),
handler1 = function () {
ok(true, 'remove all events 1');
bean.remove(el, '.foo');
Syn.click(el).key('j');
},
handler2 = function () {
ok(true, 'remove all events 2');
};
bean.add(el, 'click.foo', handler1);
bean.add(el, 'click.foo', handler1);
bean.add(el, 'keydown.foo', handler2);
Syn.click(el);
});
})

@@ -318,3 +347,3 @@

test('clone: should fire cloned event in scope of new element', 1, function () {
test('clone: should firere cloned event in scope of new element', 1, function () {
bean.add(el1, 'click', function () {

@@ -321,0 +350,0 @@ ok(this == el2, 'scope of "this" is the element that cloned the event')