UNPKG

atomico

Version:

Atomico is a small library for the creation of interfaces based on web-components, only using functions and hooks.

52 lines (46 loc) 1.31 kB
/** * Return if value is array * @param {*} * @return {boolean} */ export function isArray(value) { return Array.isArray(value); } /** * compare 2 array * @param {array} before * @param {array} after * @example * isEqualArray([1,2,3,4],[1,2,3,4]) // true * isEqualArray([1,2,3,4],[1,2,3]) // false * isEqualArray([5,1,2,3],[1,2,3,5]) // false * isEqualArray([],[]) // true * @returns {boolean} */ export function isEqualArray(before, after) { let length = before.length; if (length !== after.length) return false; for (let i = 0; i < length; i++) { if (before[i] !== after[i]) return false; } return true; } export function assign(master, commit) { for (let key in commit) { master[key] = commit[key]; } for (let i = 2; i < arguments.length; i++) assign(master, arguments[i]); return master; } export function isFunction(value) { return typeof value == "function"; } // export function fps(callback, count = 3) { // count-- ? requestAnimationFrame(() => fps(callback, count)) : callback(); // } export function promise(callback) { return new Promise(callback); } export function isRawNode(node) { return node instanceof HTMLElement || node instanceof SVGElement; }