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

domassist

Package Overview
Dependencies
Maintainers
7
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

domassist - npm Package Compare versions

Comparing version 1.10.0 to 1.11.0

test/append.test.js

865

dist/domassist.js

@@ -1,535 +0,544 @@

(function (exports) {
'use strict';
var Domassist = (function (exports) {
'use strict';
function findOne(selector, el) {
var found = find(selector, el);
if (found.length) {
return found[0];
function isWindow(obj) {
return obj != null && obj === obj.window;
}
return null;
}
function find(selector) {
var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
function isWindow(obj) {
return obj != null && obj === obj.window;
}
function find(selector) {
var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
if (selector instanceof HTMLElement || selector instanceof Node || isWindow(selector)) {
return [selector];
} else if (selector instanceof NodeList) {
return [].slice.call(selector);
} else if (typeof selector === 'string') {
var startElement = context ? findOne(context) : document;
return [].slice.call(startElement.querySelectorAll(selector));
if (selector instanceof HTMLElement || selector instanceof Node || isWindow(selector)) {
return [selector];
} else if (selector instanceof NodeList) {
return [].slice.call(selector);
} else if (typeof selector === 'string') {
var startElement = context ? find(context)[0] : document;
return [].slice.call(startElement.querySelectorAll(selector));
}
return [];
}
return [];
}
function addClass(selector, cls) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return addClass(item, cls);
});
}
var els = find(selector);
if (els.length) {
var clsArray = [].concat(cls);
els.forEach(function (el) {
clsArray.forEach(function (item) {
el.classList.add(item);
function addClass(selector, cls) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return addClass(item, cls);
});
});
return els;
}
var els = find(selector);
if (els.length) {
var clsArray = [].concat(cls);
els.forEach(function (el) {
clsArray.forEach(function (item) {
el.classList.add(item);
});
});
return els;
}
}
}
function on(selector, event, cb) {
var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
function on(selector, event, cb) {
var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return on(item, event, cb, capture);
});
return;
}
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return on(item, event, cb, capture);
});
return;
}
var data = {
cb: cb,
capture: capture
};
var data = {
cb: cb,
capture: capture
};
if (!window._domassistevents) {
window._domassistevents = {};
}
if (!window._domassistevents) {
window._domassistevents = {};
}
window._domassistevents['_' + event] = data;
var el = find(selector);
if (el.length) {
el.forEach(function (item) {
item.addEventListener(event, cb, capture);
});
window._domassistevents['_' + event] = data;
var el = find(selector);
if (el.length) {
el.forEach(function (item) {
item.addEventListener(event, cb, capture);
});
}
}
}
function matches(el, selector) {
var proto = Element.prototype;
var match = false;
function matches(el, selector) {
var proto = Element.prototype;
var match = false;
var prefixes = ['matches', 'matchesSelector', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'];
var prefixes = ['matches', 'matchesSelector', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'];
prefixes.forEach(function (prefix) {
if (proto.hasOwnProperty(prefix)) {
match = proto[prefix];
prefixes.forEach(function (prefix) {
if (proto.hasOwnProperty(prefix)) {
match = proto[prefix];
}
});
if (match) {
return el ? match.call(el, selector) : null;
}
});
}
if (match) {
return el ? match.call(el, selector) : null;
function delegate(el, event, selector, cb) {
var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
on(el, event, function (e) {
if (e.target && matches(e.target, selector)) {
return cb(e);
}
}, capture);
}
}
function delegate(el, event, selector, cb) {
var capture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
function findOne(selector, el) {
var found = find(selector, el);
on(el, event, function (e) {
if (e.target && matches(e.target, selector)) {
return cb(e);
if (found.length) {
return found[0];
}
}, capture);
}
var NativeCustomEvent = window.CustomEvent;
//
// Check for the usage of native support for CustomEvents which is lacking
// completely on IE.
//
function canIuseNativeCustom() {
try {
var p = new NativeCustomEvent('t', {
detail: {
a: 'b'
}
});
return p.type === 't' && p.detail.a === 'b';
} catch (e) {
return false;
return null;
}
}
// Lousy polyfill for the Custom Event constructor for IE.
var IECustomEvent = function CustomEvent(type, params) {
var e = document.createEvent('CustomEvent');
var NativeCustomEvent = window.CustomEvent;
if (params) {
e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
} else {
e.initCustomEvent(type, false, false, undefined);
//
// Check for the usage of native support for CustomEvents which is lacking
// completely on IE.
//
function canIuseNativeCustom() {
try {
var p = new NativeCustomEvent('t', {
detail: {
a: 'b'
}
});
return p.type === 't' && p.detail.a === 'b';
} catch (e) {
return false;
}
}
return e;
};
// Lousy polyfill for the Custom Event constructor for IE.
var IECustomEvent = function CustomEvent(type, params) {
var e = document.createEvent('CustomEvent');
var DomassistCustomEvent = canIuseNativeCustom() ? NativeCustomEvent : IECustomEvent;
if (params) {
e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
} else {
e.initCustomEvent(type, false, false, undefined);
}
function fire(selector, type, params) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return fire(item, type, params);
});
}
var els = find(selector);
return e;
};
if (els.length) {
els.forEach(function (el) {
var event = new DomassistCustomEvent(type, params);
el.dispatchEvent(event);
});
var DomassistCustomEvent = canIuseNativeCustom() ? NativeCustomEvent : IECustomEvent;
return els;
}
}
function fire(selector, type) {
var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
function hasClass(selector, cls) {
var el = findOne(selector);
if (!el) {
return false;
}
return el.classList.contains(cls);
}
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return fire(item, type, params);
});
}
function hide(selector) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return hide(item);
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
var currentDisplay = window.getComputedStyle(el).getPropertyValue('display');
var els = find(selector);
if (currentDisplay !== 'none') {
el.dataset._currentDisplay = currentDisplay;
el.style.display = 'none';
if (els.length) {
if (params.bubbles !== false) {
params.bubbles = true;
}
});
}
}
function hover(el, enter, exit) {
on(el, 'mouseenter', enter);
on(el, 'mouseleave', exit);
}
els.forEach(function (el) {
var event = new DomassistCustomEvent(type, params);
el.dispatchEvent(event);
});
function off(selector, event) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return off(item, event);
});
return els;
}
}
if (!window._domassistevents) {
window._domassistevents = {};
function hasClass(selector, cls) {
var el = findOne(selector);
if (!el) {
return false;
}
return el.classList.contains(cls);
}
var data = window._domassistevents['_' + event];
function hide(selector) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return hide(item);
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
var currentDisplay = window.getComputedStyle(el).getPropertyValue('display');
if (!data) {
return;
if (currentDisplay !== 'none') {
el.dataset._currentDisplay = currentDisplay;
el.style.display = 'none';
}
});
}
}
var el = find(selector);
if (el.length) {
el.forEach(function (item) {
item.removeEventListener(event, data.cb, data.capture);
});
function hover(el, enter, exit) {
on(el, 'mouseenter', enter);
on(el, 'mouseleave', exit);
}
}
function once(el, event, run) {
var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
function off(selector, event) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return off(item, event);
});
}
if (!window._domassistevents) {
window._domassistevents = {};
}
on(el, event, function (e) {
off(el, event);
run(e);
}, capture);
}
var data = window._domassistevents['_' + event];
var transform = null;
if (!data) {
return;
}
var el = find(selector);
if (el.length) {
el.forEach(function (item) {
item.removeEventListener(event, data.cb, data.capture);
});
}
}
function prefixedTransform() {
if (transform) {
return transform;
function once(el, event, run) {
var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
on(el, event, function (e) {
off(el, event);
run(e);
}, capture);
}
var testEl = document.createElement('div');
var transform = null;
if (testEl.style.transform === null) {
var vendors = ['Webkit', 'webkit', 'Moz', 'ms'];
var property = null;
function prefixedTransform() {
if (transform) {
return transform;
}
for (var i = 0, len = vendors.length; i < len && !property; i++) {
var tProperty = vendors[i] + 'Transform';
if (typeof testEl.style[tProperty] !== 'undefined') {
property = tProperty;
var testEl = document.createElement('div');
if (testEl.style.transform === null) {
var vendors = ['Webkit', 'webkit', 'Moz', 'ms'];
var property = null;
for (var i = 0, len = vendors.length; i < len && !property; i++) {
var tProperty = vendors[i] + 'Transform';
if (typeof testEl.style[tProperty] !== 'undefined') {
property = tProperty;
}
}
transform = property;
} else {
transform = 'transform';
}
transform = property;
} else {
transform = 'transform';
return transform;
}
return transform;
}
function removeClass(selector, cls) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return removeClass(item, cls);
});
}
function removeClass(selector, cls) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return removeClass(item, cls);
});
}
var els = find(selector);
if (els.length) {
var clsArray = [].concat(cls);
els.forEach(function (el) {
clsArray.forEach(function (item) {
el.classList.remove(item);
var els = find(selector);
if (els.length) {
var clsArray = [].concat(cls);
els.forEach(function (el) {
clsArray.forEach(function (item) {
el.classList.remove(item);
});
});
});
return els;
return els;
}
}
}
var SCROLLABLE_CONTAINER = void 0;
var SCROLLABLE_CONTAINER = void 0;
function getScrollableContainer() {
if (SCROLLABLE_CONTAINER) {
return SCROLLABLE_CONTAINER;
}
function getScrollableContainer() {
if (SCROLLABLE_CONTAINER) {
return SCROLLABLE_CONTAINER;
}
var documentElement = window.document.documentElement;
var scrollableContainer = void 0;
var documentElement = window.document.documentElement;
var scrollableContainer = void 0;
documentElement.scrollTop = 1;
documentElement.scrollTop = 1;
if (documentElement.scrollTop === 1) {
documentElement.scrollTop = 0;
scrollableContainer = documentElement;
} else {
scrollableContainer = document.body;
}
if (documentElement.scrollTop === 1) {
documentElement.scrollTop = 0;
scrollableContainer = documentElement;
} else {
scrollableContainer = document.body;
}
SCROLLABLE_CONTAINER = scrollableContainer;
SCROLLABLE_CONTAINER = scrollableContainer;
return scrollableContainer;
}
return scrollableContainer;
}
SCROLLABLE_CONTAINER = getScrollableContainer();
SCROLLABLE_CONTAINER = getScrollableContainer();
function show(selector) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return show(item);
});
function show(selector) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return show(item);
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
el.style.display = el.dataset._currentDisplay || 'block';
});
}
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
el.style.display = el.dataset._currentDisplay || 'block';
});
}
}
function toggleClass(el, value) {
if (hasClass(el, value)) {
removeClass(el, value);
} else {
addClass(el, value);
function toggleClass(el, value) {
if (hasClass(el, value)) {
removeClass(el, value);
} else {
addClass(el, value);
}
}
}
function closest(el, selector) {
var parent = el.parentElement;
while (parent.parentElement && !matches(parent, selector)) {
parent = parent.parentElement;
function closest(el, selector) {
var parent = el.parentElement;
while (parent.parentElement && !matches(parent, selector)) {
parent = parent.parentElement;
}
return matches(parent, selector) ? parent : null;
}
return matches(parent, selector) ? parent : null;
}
var setupReady = function setupReady(callbacks) {
return function (callback) {
callbacks.push(callback);
function execute() {
while (callbacks.length) {
var fn = callbacks.shift();
if (typeof fn === 'function') {
fn();
var setupReady = function setupReady(callbacks) {
return function (callback) {
callbacks.push(callback);
function execute() {
while (callbacks.length) {
var fn = callbacks.shift();
if (typeof fn === 'function') {
fn();
}
}
}
}
function loaded() {
document.removeEventListener('DOMContentLoaded', loaded);
execute();
}
setTimeout(function () {
if (document.readyState !== 'loading') {
return execute();
function loaded() {
document.removeEventListener('DOMContentLoaded', loaded);
execute();
}
}, 0);
document.addEventListener('DOMContentLoaded', loaded);
setTimeout(function () {
if (document.readyState !== 'loading') {
return execute();
}
}, 0);
document.addEventListener('DOMContentLoaded', loaded);
};
};
};
var ready = setupReady([]);
var ready = setupReady([]);
function styles(selector, css) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return styles(item, css);
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
Object.keys(css).forEach(function (key) {
el.style[key] = css[key];
function styles(selector, css) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return styles(item, css);
});
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
Object.keys(css).forEach(function (key) {
el.style[key] = css[key];
});
});
}
}
}
function addAttrs(selector, attrs) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return addAttrs(item, attrs);
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (item) {
Object.keys(attrs).forEach(function (attr) {
if (attr in item) {
item[attr] = attrs[attr];
} else {
item.dataset[attr] = attrs[attr];
}
function addAttrs(selector, attrs) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return addAttrs(item, attrs);
});
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (item) {
Object.keys(attrs).forEach(function (attr) {
if (attr in item) {
item[attr] = attrs[attr];
} else {
item.dataset[attr] = attrs[attr];
}
});
});
}
return els;
}
return els;
}
function html(selector, value) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return html(item, value);
});
}
var el = find(selector);
if (el.length) {
var length = el.length;
for (var i = 0; i < length; i += 1) {
el[i].innerHTML = value;
function html(selector, value) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return html(item, value);
});
}
var el = find(selector);
if (el.length) {
var length = el.length;
for (var i = 0; i < length; i += 1) {
el[i].innerHTML = value;
}
}
}
}
/* global DocumentTouch */
/* global DocumentTouch */
function isTouch() {
return 'ontouchstart' in window || window.DocumentTouch && document instanceof DocumentTouch;
}
function isTouch() {
return 'ontouchstart' in window || window.DocumentTouch && document instanceof DocumentTouch;
}
function bindEvents(el, events) {
Object.keys(events).forEach(function (event) {
on(el, event, events[event]);
});
}
function modify(selector, params) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return modify(item, params);
function bindEvents(el, events) {
Object.keys(events).forEach(function (event) {
on(el, event, events[event]);
});
}
var modules = {
addClass: addClass,
removeClass: removeClass,
html: html,
events: on,
styles: styles
};
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
Object.keys(params).forEach(function (param, index) {
if (param in modules) {
if (param === 'events') {
bindEvents(el, params[param]);
function modify(selector, params) {
if (Array.isArray(selector)) {
selector.forEach(function (item) {
return modify(item, params);
});
}
var modules = {
addClass: addClass,
removeClass: removeClass,
html: html,
events: on,
styles: styles
};
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
Object.keys(params).forEach(function (param, index) {
if (param in modules) {
if (param === 'events') {
bindEvents(el, params[param]);
}
modules[param](el, params[param]);
}
modules[param](el, params[param]);
}
});
});
});
}
}
}
function append(selector, value) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return append(item, value);
});
function append(selector, value) {
if (Array.isArray(selector)) {
return selector.forEach(function (item) {
return append(item, value);
});
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
if (typeof value === 'string') {
el.insertAdjacentHTML('beforeend', value);
} else {
el.appendChild(value);
}
});
}
}
var els = find(selector);
if (els.length) {
els.forEach(function (el) {
if (typeof value === 'string') {
el.insertAdjacentHTML('beforeend', value);
} else {
el.appendChild(value);
}
});
}
}
function toArray(value) {
if (!value) {
return [];
function toArray(value) {
if (!value) {
return [];
}
if (Array.isArray(value)) {
return value;
}
if (value instanceof Node) {
return [value];
}
return [].slice.call(value);
}
if (Array.isArray(value)) {
return value;
}
if (value instanceof Node) {
return [value];
}
return [].slice.call(value);
}
var domassist_default = {
addClass: addClass,
delegate: delegate,
find: find,
findOne: findOne,
fire: fire,
hasClass: hasClass,
hide: hide,
hover: hover,
isWindow: isWindow,
off: off,
on: on,
once: once,
prefixedTransform: prefixedTransform,
removeClass: removeClass,
scrollableContainer: getScrollableContainer,
show: show,
matches: matches,
toggleClass: toggleClass,
closest: closest,
ready: ready,
styles: styles,
addAttrs: addAttrs,
html: html,
isTouch: isTouch,
modify: modify,
append: append,
toArray: toArray
};
var domassist_default = {
addClass: addClass,
delegate: delegate,
find: find,
findOne: findOne,
fire: fire,
hasClass: hasClass,
hide: hide,
hover: hover,
isWindow: isWindow,
off: off,
on: on,
once: once,
prefixedTransform: prefixedTransform,
removeClass: removeClass,
scrollableContainer: getScrollableContainer,
show: show,
matches: matches,
toggleClass: toggleClass,
closest: closest,
ready: ready,
styles: styles,
addAttrs: addAttrs,
html: html,
isTouch: isTouch,
modify: modify,
append: append,
toArray: toArray
};
exports.addClass = addClass;
exports.delegate = delegate;
exports.find = find;
exports.findOne = findOne;
exports.fire = fire;
exports.hasClass = hasClass;
exports.hide = hide;
exports.hover = hover;
exports.isWindow = isWindow;
exports.off = off;
exports.on = on;
exports.once = once;
exports.prefixedTransform = prefixedTransform;
exports.removeClass = removeClass;
exports.scrollableContainer = getScrollableContainer;
exports.show = show;
exports.matches = matches;
exports.toggleClass = toggleClass;
exports.closest = closest;
exports.ready = ready;
exports.styles = styles;
exports.addAttrs = addAttrs;
exports.html = html;
exports.isTouch = isTouch;
exports.modify = modify;
exports.append = append;
exports.toArray = toArray;
exports['default'] = domassist_default;
exports.addClass = addClass;
exports.delegate = delegate;
exports.find = find;
exports.findOne = findOne;
exports.fire = fire;
exports.hasClass = hasClass;
exports.hide = hide;
exports.hover = hover;
exports.isWindow = isWindow;
exports.off = off;
exports.on = on;
exports.once = once;
exports.prefixedTransform = prefixedTransform;
exports.removeClass = removeClass;
exports.scrollableContainer = getScrollableContainer;
exports.show = show;
exports.matches = matches;
exports.toggleClass = toggleClass;
exports.closest = closest;
exports.ready = ready;
exports.styles = styles;
exports.addAttrs = addAttrs;
exports.html = html;
exports.isTouch = isTouch;
exports.modify = modify;
exports.append = append;
exports.toArray = toArray;
exports.default = domassist_default;
}((this.Domassist = this.Domassist || {})));
return exports;
}({}));
//# sourceMappingURL=domassist.js.map

@@ -1,2 +0,1 @@

import findOne from './findOne';
import isWindow from './isWindow';

@@ -10,3 +9,3 @@

} else if (typeof selector === 'string') {
const startElement = (context) ? findOne(context) : document;
const startElement = (context) ? find(context)[0] : document;
return [].slice.call(startElement.querySelectorAll(selector));

@@ -13,0 +12,0 @@ }

@@ -38,9 +38,14 @@ import find from './find';

function fire(selector, type, params) {
function fire(selector, type, params = {}) {
if (Array.isArray(selector)) {
return selector.forEach((item) => fire(item, type, params));
return selector.forEach(item => fire(item, type, params));
}
const els = find(selector);
if (els.length) {
if (params.bubbles !== false) {
params.bubbles = true;
}
els.forEach(el => {

@@ -47,0 +52,0 @@ const event = new DomassistCustomEvent(type, params);

{
"name": "domassist",
"version": "1.10.0",
"version": "1.11.0",
"description": "Various dom helpers",

@@ -30,8 +30,8 @@ "main": "dist/domassist.js",

"devDependencies": {
"eslint-config-firstandthird": "3.2.0",
"eslint-plugin-compat": "^1.0.3",
"eslint-plugin-import": "^2.3.0",
"phantomjs-prebuilt": "^2.1.14",
"scriptkit": "0.2.0",
"static-server": "^2.0.3",
"eslint-config-firstandthird": "^4.3.0",
"eslint-plugin-compat": "^2.5.1",
"eslint-plugin-import": "^2.14.0",
"phantomjs-prebuilt": "^2.1.16",
"scriptkit": "0.4.0",
"static-server": "^2.2.1",
"tap-spec": "^4.1.1",

@@ -43,3 +43,4 @@ "tape-rollup": "4.6.4",

"env": {
"browser": true
"browser": true,
"commonjs": true
},

@@ -46,0 +47,0 @@ "extends": "firstandthird",

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