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

homey

Package Overview
Dependencies
Maintainers
1
Versions
207
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

homey - npm Package Compare versions

Comparing version 0.1.0-beta.0 to 0.1.0-beta.1

lib/types.js

67

d.ts/homey.d.ts

@@ -1,42 +0,51 @@

type CSSClass = string;
type Elements = Elements;
type PredicateFn = (element: Element) => boolean;
type Selector = string;
/* Types */
/*
* Queries
*/
export type CSSClass = string;
export type CSSSelector = string;
export type Dataset = { [key: string]: string };
export type Elements = Element[];
export type EventType = string;
export function query(element: Element, selector: Selector): Element | null;
export function queryAll(element: Element, selector: Selector): Elements;
export function matches(element: Element, selector: Selector): boolean;
type EventOptions = { bubbles?: boolean, cancelable?: boolean, detail?: any };
type Predicate = (element: Element) => boolean;
/*
* Classes
*/
/* Aliases */
export const body: Element;
export const html: Element;
/* CSS */
export function addClass(element: Element, cssClass: CSSClass): boolean;
export function hasClass(element: Element, cssClass: CSSClass): boolean;
export function addClass(element: Element, cssClass: CSSClass): boolean;
export function removeClass(element: Element, cssClass: CSSClass): boolean;
export function toggleClass(element: Element, cssClass: CSSClass, state?: boolean): boolean;
/*
* Dataset
*/
/* Data */
export function dataset(element: HTMLElement): { [key: string]: string };
export function dataset(element: HTMLElement): Dataset;
/*
* Traverse
*/
/* Events */
export function dispatch(target: EventTarget, eventType: EventType, options?: EventOptions): boolean;
export function on(element: Element, eventType: EventType, listener: EventListener, useCapture?: boolean): () => void;
export function once(element: Element, eventType: EventType, listener: EventListener, useCapture?: boolean): () => void;
export function delegate(element: Element, selector: CSSSelector, eventType: EventType, listener: EventListener, useCapture?: boolean): () => void;
/* Manipulation */
export function remove(element: Element): boolean;
/* Quering */
export function query(element: Element, selector: CSSSelector): Element | null;
export function queryAll(element: Element, selector: CSSSelector): Elements;
/* Traversing */
export function closest(element: Element, condition: CSSSelector | Predicate): Element | null;
export function matches(element: Element, selector: CSSSelector): boolean;
export function parent(element: Element): Element | null;
export function parentBy(element: Element, selector: Selector | PredicateFn): Element | null;
export function parentBy(element: Element, condition: CSSSelector | Predicate): Element | null;
export function parents(element: Element): Elements;
export function parentsBy(element: Element, selector: Selector | PredicateFn): Elements;
/*
* Manipulate
*/
export function remove(element: Element): boolean;
export function parentsBy(element: Element, condition: CSSSelector | Predicate): Elements;
/*!
* homey v0.1.0-beta.0
* homey v0.1.0-beta.1
* https://github.com/demiazz/homey

@@ -17,51 +17,7 @@ *

"use strict";
/*
* Utilities
*/
/*
* Types
*/
var body = window.document.body;
function toArray(arrayLike) {
return Array.prototype.slice.call(arrayLike);
}
var html = window.document.documentElement;
/*
* Queries
*/
function query(element, selector) {
return element.querySelector(selector);
}
function queryAll(element, selector) {
var elements = element.querySelectorAll(selector);
return toArray(elements);
}
function getMatchesFn() {
var element = document.createElement("div");
return (
element.matches ||
element.matchesSelector ||
element.msMatchesSelector ||
element.mozMatchesSelector ||
element.webkitMatchesSelector ||
element.oMatchesSelector
);
}
var matchesFn = getMatchesFn();
function matches(element, selector) {
return matchesFn.call(element, selector);
}
/*
* Classes
*/
function hasClass(element, cssClass) {

@@ -98,11 +54,7 @@ return element.classList.contains(cssClass);

/*
* Dataset
*/
function nativeDataset(element) {
function datasetNative(element) {
return element.dataset;
}
function polyfillDataset(element) {
function datasetPolyfill(element) {
return [].slice.call(element.attributes).reduce(function(data, _ref) {

@@ -126,3 +78,3 @@ var name = _ref.name, value = _ref.value;

return element.dataset ? nativeDataset : polyfillDataset;
return element.dataset ? datasetNative : datasetPolyfill;
}

@@ -136,6 +88,21 @@

/*
* Traverse
*/
function getMatchesFn() {
var element = document.createElement("div");
return (
element.matches ||
element.matchesSelector ||
element.msMatchesSelector ||
element.mozMatchesSelector ||
element.webkitMatchesSelector ||
element.oMatchesSelector
);
}
var matchesFn = getMatchesFn();
function matches(element, selector) {
return matchesFn.call(element, selector);
}
function parent(element) {

@@ -145,2 +112,127 @@ return element.parentElement;

function on(element, eventType, handler) {
var useCapture = arguments.length > 3 && arguments[3] !== undefined
? arguments[3]
: false;
element.addEventListener(eventType, handler, useCapture);
return function() {
return element.removeEventListener(eventType, handler, useCapture);
};
}
function delegate(element, selector, eventType, handler) {
var useCapture = arguments.length > 4 && arguments[4] !== undefined
? arguments[4]
: false;
function wrappedHandler(event) {
if (!(event.target instanceof Element)) {
return;
}
var current = event.target;
while (current) {
if (matches(current, selector)) {
event.delegateTarget = element;
handler(event);
delete event.delegateTarget;
return;
}
if (current === element) {
return;
}
current = parent(current);
}
}
return on(element, eventType, wrappedHandler, useCapture);
}
function getProperty(object, property, defaultValue) {
return Object.prototype.hasOwnProperty.call(object, property)
? object[property]
: defaultValue;
}
function toArray(arrayLike) {
return Array.prototype.slice.call(arrayLike);
}
function createWithConstructor(eventType, bubbles, cancelable, detail) {
return new CustomEvent(eventType, {
bubbles: bubbles,
cancelable: cancelable,
detail: detail
});
}
function createWithInit(eventType, bubbles, cancelable, detail) {
var event = document.createEvent("CustomEvent");
event.initCustomEvent(eventType, bubbles, cancelable, detail);
return event;
}
var create = typeof window.CustomEvent === "function"
? createWithConstructor
: createWithInit;
function dispatch(target, eventType) {
var options = arguments.length > 2 && arguments[2] !== undefined
? arguments[2]
: { bubbles: true, cancelable: true, detail: null };
var bubbles = getProperty(options, "bubbles", true);
var cancelable = getProperty(options, "cancelable", true);
var detail = getProperty(options, "detail", null);
var event = create(eventType, bubbles, cancelable, detail);
return target.dispatchEvent(event);
}
function once(element, eventType, handler) {
var useCapture = arguments.length > 3 && arguments[3] !== undefined
? arguments[3]
: false;
function wrappedHandler(event) {
element.removeEventListener(eventType, wrappedHandler, useCapture);
handler(event);
}
return on(element, eventType, wrappedHandler, useCapture);
}
function remove(element) {
var parentElement = parent(element);
if (parentElement) {
parentElement.removeChild(element);
return true;
}
return false;
}
function query(element, selector) {
return element.querySelector(selector);
}
function queryAll(element, selector) {
var elements = element.querySelectorAll(selector);
return toArray(elements);
}
function parentBy(element, condition) {

@@ -166,2 +258,34 @@ var predicate = typeof condition === "string"

function closestPolyfill(element, selector) {
if (matches(element, selector)) {
return element;
}
return parentBy(element, selector);
}
function closestNative(element, selector) {
return element.closest(selector);
}
function getClosestFn() {
var element = document.createElement("div");
return element.closest ? closestNative : closestPolyfill;
}
var closestFn = getClosestFn();
function closest(element, condition) {
if (typeof condition === "string") {
return closestFn(element, condition);
}
if (condition(element)) {
return element;
}
return parentBy(element, condition);
}
function parents(element) {

@@ -191,26 +315,18 @@ var result = [];

/*
* Manipulate
*/
function remove(element) {
var parentElement = parent(element);
if (parentElement) {
parentElement.removeChild(element);
return true;
}
return false;
}
exports.query = query;
exports.queryAll = queryAll;
exports.matches = matches;
exports.body = body;
exports.html = html;
exports.addClass = addClass;
exports.hasClass = hasClass;
exports.addClass = addClass;
exports.removeClass = removeClass;
exports.toggleClass = toggleClass;
exports.dataset = dataset;
exports.delegate = delegate;
exports.dispatch = dispatch;
exports.on = on;
exports.once = once;
exports.remove = remove;
exports.query = query;
exports.queryAll = queryAll;
exports.closest = closest;
exports.matches = matches;
exports.parent = parent;

@@ -220,5 +336,4 @@ exports.parentBy = parentBy;

exports.parentsBy = parentsBy;
exports.remove = remove;
Object.defineProperty(exports, "__esModule", { value: true });
});

@@ -1,3 +0,3 @@

/*! homey v0.1.0-beta.0 | https://github.com/demiazz/homey | (c) Alexey Plutalov | MIT license */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("homey",["exports"],t):t(e.homey=e.homey||{})}(this,function(e){"use strict";function t(e){return Array.prototype.slice.call(e)}function n(e,t){return e.querySelector(t)}function r(e,n){return t(e.querySelectorAll(n))}function u(e,t){return h.call(e,t)}function o(e,t){return e.classList.contains(t)}function c(e,t){var n=!o(e,t);return n&&e.classList.add(t),n}function a(e,t){var n=o(e,t);return n&&e.classList.remove(t),n}function s(e,t,n){return((3===arguments.length?n:!o(e,t))?c:a)(e,t)}function i(e){return e.dataset}function f(e){return[].slice.call(e.attributes).reduce(function(e,t){var n=t.name,r=t.value;if(/^data-(.+)/.test(n)){e[n.substr(5).replace(/-\w/g,function(e){return e[1].toUpperCase()})]=r}return e},{})}function l(e){return S(e)}function d(e){return e.parentElement}function m(e,t){for(var n="string"==typeof t?function(e){return u(e,t)}:t,r=d(e);r;){if(n(r))return r;r=d(r)}return null}function p(e){for(var t=[],n=d(e);n;)t.push(n),n=d(n);return t}function v(e,t){var n="string"==typeof t?function(e){return u(e,t)}:t;return p(e).filter(n)}function y(e){var t=d(e);return!!t&&(t.removeChild(e),!0)}var h=function(){var e=document.createElement("div");return e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector}(),S=function(){return document.createElement("div").dataset?i:f}();e.query=n,e.queryAll=r,e.matches=u,e.hasClass=o,e.addClass=c,e.removeClass=a,e.toggleClass=s,e.dataset=l,e.parent=d,e.parentBy=m,e.parents=p,e.parentsBy=v,e.remove=y,Object.defineProperty(e,"__esModule",{value:!0})});
/*! homey v0.1.0-beta.1 | https://github.com/demiazz/homey | (c) Alexey Plutalov | MIT license */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("homey",["exports"],t):t(e.homey=e.homey||{})}(this,function(e){"use strict";function t(e,t){return e.classList.contains(t)}function n(e,n){var r=!t(e,n);return r&&e.classList.add(n),r}function r(e,n){var r=t(e,n);return r&&e.classList.remove(n),r}function o(e,o,u){return((3===arguments.length?u:!t(e,o))?n:r)(e,o)}function u(e){return e.dataset}function c(e){return[].slice.call(e.attributes).reduce(function(e,t){var n=t.name,r=t.value;if(/^data-(.+)/.test(n)){e[n.substr(5).replace(/-\w/g,function(e){return e[1].toUpperCase()})]=r}return e},{})}function i(e){return A(e)}function a(e,t){return O.call(e,t)}function l(e){return e.parentElement}function s(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}function f(e,t,n,r){function o(n){if(n.target instanceof Element)for(var o=n.target;o;){if(a(o,t))return n.delegateTarget=e,r(n),void delete n.delegateTarget;if(o===e)return;o=l(o)}}var u=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return s(e,n,o,u)}function d(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:n}function v(e){return Array.prototype.slice.call(e)}function m(e,t,n,r){return new CustomEvent(e,{bubbles:t,cancelable:n,detail:r})}function p(e,t,n,r){var o=document.createEvent("CustomEvent");return o.initCustomEvent(e,t,n,r),o}function h(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{bubbles:!0,cancelable:!0,detail:null},r=d(n,"bubbles",!0),o=d(n,"cancelable",!0),u=d(n,"detail",null),c=B(t,r,o,u);return e.dispatchEvent(c)}function y(e,t,n){function r(u){e.removeEventListener(t,r,o),n(u)}var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return s(e,t,r,o)}function b(e){var t=l(e);return!!t&&(t.removeChild(e),!0)}function g(e,t){return e.querySelector(t)}function E(e,t){return v(e.querySelectorAll(t))}function w(e,t){for(var n="string"==typeof t?function(e){return a(e,t)}:t,r=l(e);r;){if(n(r))return r;r=l(r)}return null}function C(e,t){return a(e,t)?e:w(e,t)}function S(e,t){return e.closest(t)}function L(e,t){return"string"==typeof t?P(e,t):t(e)?e:w(e,t)}function M(e){for(var t=[],n=l(e);n;)t.push(n),n=l(n);return t}function q(e,t){var n="string"==typeof t?function(e){return a(e,t)}:t;return M(e).filter(n)}var j=window.document.body,x=window.document.documentElement,A=function(){return document.createElement("div").dataset?u:c}(),O=function(){var e=document.createElement("div");return e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector}(),B="function"==typeof window.CustomEvent?m:p,P=function(){return document.createElement("div").closest?S:C}();e.body=j,e.html=x,e.addClass=n,e.hasClass=t,e.removeClass=r,e.toggleClass=o,e.dataset=i,e.delegate=f,e.dispatch=h,e.on=s,e.once=y,e.remove=b,e.query=g,e.queryAll=E,e.closest=L,e.matches=a,e.parent=l,e.parentBy=w,e.parents=M,e.parentsBy=q,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=homey.min.js.map
/*!
* homey v0.1.0-beta.0
* homey v0.1.0-beta.1
* https://github.com/demiazz/homey

@@ -14,203 +14,107 @@ *

});
exports.parentsBy = exports.parents = exports.parentBy = exports.parent = exports.matches = exports.closest = exports.queryAll = exports.query = exports.remove = exports.once = exports.on = exports.dispatch = exports.delegate = exports.dataset = exports.toggleClass = exports.removeClass = exports.hasClass = exports.addClass = exports.html = exports.body = undefined;
/*
* Utilities
*/
var _body = require("./aliases/body");
/*
* Types
*/
var _body2 = _interopRequireDefault(_body);
function toArray(arrayLike) {
return Array.prototype.slice.call(arrayLike);
}
var _html = require("./aliases/html");
/*
* Queries
*/
var _html2 = _interopRequireDefault(_html);
function query(element, selector) {
return element.querySelector(selector);
}
var _addClass = require("./css/add-class");
function queryAll(element, selector) {
var elements = element.querySelectorAll(selector);
var _addClass2 = _interopRequireDefault(_addClass);
return toArray(elements);
}
var _hasClass = require("./css/has-class");
function getMatchesFn() {
var element = document.createElement("div");
var _hasClass2 = _interopRequireDefault(_hasClass);
return (
element.matches ||
element.matchesSelector ||
element.msMatchesSelector ||
element.mozMatchesSelector ||
element.webkitMatchesSelector ||
element.oMatchesSelector
);
}
var _removeClass = require("./css/remove-class");
var matchesFn = getMatchesFn();
var _removeClass2 = _interopRequireDefault(_removeClass);
function matches(element, selector) {
return matchesFn.call(element, selector);
}
var _toggleClass = require("./css/toggle-class");
/*
* Classes
*/
var _toggleClass2 = _interopRequireDefault(_toggleClass);
function hasClass(element, cssClass) {
return element.classList.contains(cssClass);
}
var _dataset = require("./data/dataset");
function addClass(element, cssClass) {
var result = !hasClass(element, cssClass);
var _dataset2 = _interopRequireDefault(_dataset);
if (result) {
element.classList.add(cssClass);
}
var _delegate = require("./events/delegate");
return result;
}
var _delegate2 = _interopRequireDefault(_delegate);
function removeClass(element, cssClass) {
var result = hasClass(element, cssClass);
var _dispatch = require("./events/dispatch");
if (result) {
element.classList.remove(cssClass);
}
var _dispatch2 = _interopRequireDefault(_dispatch);
return result;
}
var _on = require("./events/on");
function toggleClass(element, cssClass, state) {
var target = arguments.length === 3 ? state : !hasClass(element, cssClass);
var toggleFn = target ? addClass : removeClass;
var _on2 = _interopRequireDefault(_on);
return toggleFn(element, cssClass);
}
var _once = require("./events/once");
/*
* Dataset
*/
var _once2 = _interopRequireDefault(_once);
function nativeDataset(element) {
return element.dataset;
}
var _remove = require("./manipulation/remove");
function polyfillDataset(element) {
return [].slice.call(element.attributes).reduce(function(data, _ref) {
var name = _ref.name, value = _ref.value;
var _remove2 = _interopRequireDefault(_remove);
if (/^data-(.+)/.test(name)) {
var normalizedName = name.substr(5).replace(/-\w/g, function(str) {
return str[1].toUpperCase();
});
var _query = require("./quering/query");
data[normalizedName] = value;
}
var _query2 = _interopRequireDefault(_query);
return data;
}, {});
}
var _queryAll = require("./quering/query-all");
function getDatasetFn() {
var element = document.createElement("div");
var _queryAll2 = _interopRequireDefault(_queryAll);
return element.dataset ? nativeDataset : polyfillDataset;
}
var _closest = require("./traversing/closest");
var datasetFn = getDatasetFn();
var _closest2 = _interopRequireDefault(_closest);
function dataset(element) {
return datasetFn(element);
}
var _matches = require("./traversing/matches");
/*
* Traverse
*/
var _matches2 = _interopRequireDefault(_matches);
function parent(element) {
return element.parentElement;
}
var _parent = require("./traversing/parent");
function parentBy(element, condition) {
var predicate = typeof condition === "string"
? function(e) {
return matches(e, condition);
}
: condition;
var _parent2 = _interopRequireDefault(_parent);
var current = parent(element);
var _parentBy = require("./traversing/parent-by");
while (current) {
if (predicate(current)) {
return current;
}
var _parentBy2 = _interopRequireDefault(_parentBy);
current = parent(current);
}
var _parents = require("./traversing/parents");
return null;
}
var _parents2 = _interopRequireDefault(_parents);
function parents(element) {
var result = [];
var _parentsBy = require("./traversing/parents-by");
var current = parent(element);
var _parentsBy2 = _interopRequireDefault(_parentsBy);
while (current) {
result.push(current);
current = parent(current);
}
return result;
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function parentsBy(element, condition) {
var predicate = typeof condition === "string"
? function(e) {
return matches(e, condition);
}
: condition;
return parents(element).filter(predicate);
}
/*
* Manipulate
*/
function remove(element) {
var parentElement = parent(element);
if (parentElement) {
parentElement.removeChild(element);
return true;
}
return false;
}
/*
* Exports
*/
exports.query = query;
exports.queryAll = queryAll;
exports.matches = matches;
exports.hasClass = hasClass;
exports.addClass = addClass;
exports.removeClass = removeClass;
exports.toggleClass = toggleClass;
exports.dataset = dataset;
exports.parent = parent;
exports.parentBy = parentBy;
exports.parents = parents;
exports.parentsBy = parentsBy;
exports.remove = remove;
exports.body = _body2.default;
exports.html = _html2.default;
exports.addClass = _addClass2.default;
exports.hasClass = _hasClass2.default;
exports.removeClass = _removeClass2.default;
exports.toggleClass = _toggleClass2.default;
exports.dataset = _dataset2.default;
exports.delegate = _delegate2.default;
exports.dispatch = _dispatch2.default;
exports.on = _on2.default;
exports.once = _once2.default;
exports.remove = _remove2.default;
exports.query = _query2.default;
exports.queryAll = _queryAll2.default;
exports.closest = _closest2.default;
exports.matches = _matches2.default;
exports.parent = _parent2.default;
exports.parentBy = _parentBy2.default;
exports.parents = _parents2.default;
exports.parentsBy = _parentsBy2.default;
{
"name": "homey",
"version": "0.1.0-beta.0",
"version": "0.1.0-beta.1",
"description": "Homey shortcut's collection for DOM API",

@@ -57,2 +57,3 @@ "license": "MIT",

"babel-plugin-external-helpers": "^6.22.0",
"babel-plugin-remove-comments": "^2.0.0",
"babel-plugin-syntax-flow": "^6.18.0",

@@ -63,3 +64,3 @@ "babel-plugin-transform-flow-strip-types": "^6.22.0",

"cross-env": "^4.0.0",
"documentation": "^4.0.0-rc.0",
"documentation": "^4.0.0-rc.1",
"eslint": "^3.10.2",

@@ -71,3 +72,3 @@ "eslint-config-airbnb-base": "^11.1.3",

"eslint-plugin-prettier": "^2.0.1",
"flow-bin": "^0.44.2",
"flow-bin": "^0.45.0",
"jasmine-core": "^2.5.2",

@@ -83,7 +84,8 @@ "karma": "^1.3.0",

"karma-spec-reporter": "0.0.31",
"lint-staged": "^3.4.0",
"klaw-sync": "^2.1.0",
"lint-staged": "^3.4.1",
"mkdirp": "^0.5.1",
"phantomjs-prebuilt": "^2.1.13",
"pre-commit": "^1.2.2",
"prettier": "^1.2.2",
"prettier": "^1.3.0",
"rollup": "^0.41.6",

@@ -90,0 +92,0 @@ "rollup-plugin-babel": "^2.7.1",

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