@nativerent/js-utils 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +82 -74
- package/dist/index.js +596 -650
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +139 -164
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +18 -1
- package/tests/tests.ts +129 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import type { Primitive, SimpleObject } from \"./types\";\n\nexport function debounce(fn: Function, delay: number): () => void {\n let timeout: ReturnType<typeof setTimeout>;\n\n return function (...args: any[]) {\n clearTimeout(timeout);\n timeout = setTimeout(() => fn.apply(null, args), delay);\n };\n}\n\nexport function throttle(fn: Function, delay: number) {\n let lastCall = 0;\n\n return function (...args: any[]) {\n const now = new Date().getTime();\n if (now - lastCall < delay) {\n return;\n }\n lastCall = now;\n fn(...args);\n };\n}\n\nexport function isObject(value: any): value is object {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\n\nexport function isFn(value: any): value is Function {\n return typeof value === \"function\";\n}\n\nexport function isStr(value: any): boolean {\n return typeof value === \"string\";\n}\n\nexport function isString(value: any): value is string {\n return typeof value === \"string\";\n}\n\n/**\n * Check if the given argument is a string which is not empty\n */\nexport function isNotEmptyString(value: any) {\n return isString(value) && value.length > 0;\n}\n\nexport function isHTMLElement(value: any): value is HTMLElement {\n return value instanceof HTMLElement || value instanceof SVGElement;\n}\n\nexport function isNum(value: any): value is number {\n return typeof value === \"number\";\n}\n\nexport function isBool(value: any): value is boolean {\n return typeof value === \"boolean\";\n}\n\nexport function isUndef(value: any): value is undefined {\n return typeof value === \"undefined\";\n}\n\nexport function isNullOrUndef(value: unknown): value is null | undefined {\n return value === null || typeof value === \"undefined\";\n}\n\nexport function isDefined(value: any): boolean {\n return !isUndef(value);\n}\n\n/**\n * Returns an array containing all the elements of array1 that are not in array2 and vice-versa\n */\nexport function arrayDiff(\n array1: Array<Primitive | null | undefined>,\n array2: Array<Primitive | null | undefined>,\n): Array<Primitive | null | undefined> {\n return array1\n .filter((value) => !array2.includes(value))\n .concat(array2.filter((value: any) => !array1.includes(value)));\n}\n\n/**\n * Returns an array of elements present in array1 and array2\n */\nexport function arrayIntersect(\n array1: Array<Primitive | null | undefined>,\n array2: Array<Primitive | null | undefined>,\n) {\n const set = new Set(array2);\n return array1.filter((value) => set.has(value));\n}\n\nexport function deepCloneObject<Type>(object: Type): Type {\n return JSON.parse(JSON.stringify(object));\n}\n\n// todo: non-px values\nexport function getNumericStyleProp(prop: string, el: Element) {\n const styles: { [key: string]: any } = window.getComputedStyle(el);\n return !isNullOrUndef(styles[prop]) ? parseFloat(styles[prop] || 0) : 0;\n}\n\nexport function objectHasProp(\n obj: any,\n prop: string | number | symbol,\n): boolean {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n/**\n * Custom version of Object.keys()\n */\nexport function getObjectKeys(object: object): string[] {\n let key;\n let keys = [];\n\n for (key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n\n return keys;\n}\n\n/**\n * Convert an object to a query string\n * Works with primitive objects\n */\nexport function objectToQueryString(object: {\n [key: string | number]:\n | Primitive\n | Array<Primitive | null | undefined>\n | SimpleObject\n | { [key: string | number]: SimpleObject }\n | undefined\n | null;\n}): string {\n return Object.entries(object)\n .map(([k, v]) => {\n if (Array.isArray(v)) {\n return v\n .map((item) => `${k}[]=${encodeURIComponent(item || \"\")}`)\n .join(\"&\");\n } else if (isObject(v)) {\n return `${k}=${encodeURIComponent(JSON.stringify(v))}`;\n }\n return `${k}=${encodeURIComponent(v || \"\")}`;\n })\n .join(\"&\");\n}\n\nexport function countObjectInnerLength(\n object: Record<string | number, any[] | null | undefined>,\n) {\n return Object.values(object).reduce(\n (sum, arr) => sum + (arr?.length ?? 0),\n 0,\n );\n}\n\n/**\n * Check if the element is in viewport\n */\nexport function isElementVisible(\n element: HTMLElement,\n minVisiblePercent = 50,\n): boolean {\n const { top, bottom, height } = element.getBoundingClientRect();\n if (!height) return false;\n\n const viewportTop = 0;\n const viewportBottom = window.innerHeight;\n\n const visibleTop = Math.max(top, viewportTop);\n const visibleBottom = Math.min(bottom, viewportBottom);\n const visibleHeight = Math.max(0, visibleBottom - visibleTop);\n\n return (visibleHeight / height) * 100 >= minVisiblePercent;\n}\n\nexport function decodeSafeURL(url: string): string {\n try {\n return decodeURI(url);\n } catch {\n return url;\n }\n}\n\nexport function getSafeURL(url?: string): string {\n url = url ? url : location.href;\n return encodeURI(decodeSafeURL(url));\n}\n\nexport function parseURL(url: string): URL {\n return new URL(url);\n}\n\nexport function encodeQueryString(url: string): string {\n if (url.length > 0) {\n const index = url.indexOf(\"?\");\n if (index >= 0) {\n return url.substring(0, index) + parseURL(url).search;\n }\n }\n\n return url;\n}\n\nexport function injectScript(filename: string): void {\n const script = document.createElement(\"script\");\n script.src = filename;\n script.async = true;\n document.head.appendChild(script);\n}\n\nexport function injectStyleLink(filename: string): void {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = filename;\n document.head.appendChild(link);\n}\n\nexport function toBinaryStr(str: string): string {\n const CHUNK = 0x8000; // String.fromCharCode(...charCodes) can overflow the call stack with large strings\n const bytes = new TextEncoder().encode(str);\n let result = \"\";\n for (let i = 0; i < bytes.length; i += CHUNK) {\n result += String.fromCharCode(...bytes.subarray(i, i + CHUNK));\n }\n return result;\n}\n\n/**\n * Find a DOM element where an ad unit should be rendered to\n */\nexport function getHtmlElement(id: string) {\n return document.getElementById(id);\n}\n\n/**\n * Convert an HTML string into a list of nodes\n */\nexport function stringToHtmlElements(html: string): NodeListOf<ChildNode> {\n const template = createHtmlElement(\"div\");\n template.innerHTML = html.replace(/[\\r\\n]/gm, \"\").trim();\n return template.childNodes;\n}\n\n/**\n * Creates an HTML element and sets attributes\n */\nexport function createHtmlElement(\n type: string,\n attributes: Record<string, string> = {},\n): HTMLElement {\n const el = document.createElement(type);\n for (const [k, v] of Object.entries(attributes)) el.setAttribute(k, v);\n return el as HTMLElement;\n}\n\n/**\n * Insert HTML elements into DOM\n */\nexport function insertHtmlElements(\n nodes: NodeListOf<Node>,\n appendTo: Element | ShadowRoot = document.body,\n) {\n const fragment = document.createDocumentFragment();\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n // Allow elements + text nodes only\n if (!node || (!isHTMLElement(node) && node.nodeType !== Node.TEXT_NODE)) {\n continue;\n }\n\n let newNode: Node;\n\n // Text node\n if (node.nodeType === Node.TEXT_NODE) {\n newNode = document.createTextNode(node.textContent ?? \"\");\n fragment.appendChild(newNode);\n continue;\n }\n\n // Element node from here on\n const el = node as Element;\n const tag = el.tagName.toLowerCase();\n\n switch (tag) {\n case \"script\": {\n const src = el.getAttribute(\"src\");\n newNode =\n !isNullOrUndef(src) && src.length > 0\n ? createScriptElement(src, false, flatHtmlAttributes(el.attributes))\n : createScriptElement(\n el.textContent ?? \"\",\n true,\n flatHtmlAttributes(el.attributes),\n );\n break;\n }\n\n case \"style\":\n newNode = createStyleElement(el.textContent);\n break;\n\n case \"svg\":\n newNode = createSvgElement(\n el.innerHTML,\n flatHtmlAttributes(el.attributes),\n );\n break;\n\n default: {\n const created = createHtmlElement(\n el.tagName,\n flatHtmlAttributes(el.attributes),\n );\n // Recurse for children (handles mixed element/text)\n if (el.childNodes.length) {\n insertHtmlElements(el.childNodes, created);\n } else {\n created.textContent = el.textContent ?? \"\";\n }\n newNode = created;\n }\n }\n\n fragment.appendChild(newNode);\n }\n\n appendTo.appendChild(fragment);\n}\n\n/**\n * Make a simple object which contains only attribute name and value\n */\nexport function flatHtmlAttributes(\n attributes?: NamedNodeMap | null,\n): Record<string, string> {\n if (!attributes) return {};\n\n const result: Record<string, string> = {};\n\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes[i];\n if (attr) {\n result[attr.name] = attr.value;\n }\n }\n\n return result;\n}\n\n/**\n * Create a <script> element\n */\nexport function createScriptElement(\n js: string,\n inline = false,\n attributes: Record<string, string> = {},\n): HTMLScriptElement {\n const el = document.createElement(\"script\");\n\n for (const [k, v] of Object.entries(attributes)) {\n el.setAttribute(k, v);\n }\n\n if (inline) {\n el.appendChild(document.createTextNode(js));\n } else {\n el.async = true;\n el.src = js;\n }\n\n return el;\n}\n\n/**\n * Create a <style> element\n */\nexport function createStyleElement(css: string | null): HTMLStyleElement {\n const element = createHtmlElement(\"style\") as HTMLStyleElement;\n\n if (css) {\n element.appendChild(document.createTextNode(css));\n }\n\n return element;\n}\n\n/**\n * Create a <link> element\n */\nexport function createLinkElement(href: string): HTMLLinkElement {\n const element = createHtmlElement(\"link\") as HTMLLinkElement;\n\n element.rel = \"stylesheet\";\n element.href = href;\n\n return element;\n}\n\n/**\n * Create svg elements\n */\nexport function createSvgElement(\n content: string,\n attributes: Record<string, string> = {},\n): SVGSVGElement {\n const element = document.createElementNS(\n \"http://www.w3.org/2000/svg\",\n \"svg\",\n ) as SVGSVGElement;\n\n for (const [name, value] of Object.entries(attributes)) {\n element.setAttribute(name, value);\n }\n\n element.innerHTML = content.trim();\n\n return element;\n}\n\n/**\n * Create an image element to use as a tracking pixel\n */\nexport function createPixelElement(src: string) {\n const image = document.createElement(\"img\");\n\n image.alt = \"\";\n image.src = src;\n image.width = 1;\n image.height = 1;\n image.loading = \"eager\";\n image.setAttribute(\"aria-hidden\", \"true\");\n image.style.position = \"absolute\";\n image.style.left = \"-99999px\";\n\n return image;\n}\n\n/**\n * Append a new script element to the DOM head\n */\nexport function insertJs(js: string, inline = false) {\n const element = createScriptElement(js, inline);\n\n document.head.appendChild(element);\n}\n\n/**\n * Append a new style element to the DOM head\n */\nexport function insertCss(css: string, className?: string, external = false) {\n const element = external ? createLinkElement(css) : createStyleElement(css);\n\n if (className) {\n element.className = className;\n }\n\n document.head.appendChild(element);\n}\n\n/**\n * Get screen sizes\n */\nexport function getScreenSize(): { width: number; height: number } {\n const width = window.screen?.width ?? window.innerWidth;\n const height = window.screen?.height ?? window.innerHeight;\n\n return { width, height };\n}\n\n/**\n * Get a random integer between min and max\n */\nexport function getRandomInt(min = 0, max = 4294967295): number {\n min = Math.ceil(min);\n max = Math.floor(max);\n\n if (max <= min) {\n return min;\n }\n\n return Math.floor(Math.random() * (max - min)) + min;\n}\n\n/**\n * Implementation of Java's String.hashCode() method\n */\nexport function hashCode(str: string) {\n let hash = 0,\n chr;\n\n for (let i = 0; i < str.length; i++) {\n chr = str.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0; // convert to 32bit integer\n }\n\n return hash >>> 0;\n}\n\n/**\n * Executes a callback as soon as DOM is interactive\n */\nexport function onDOMReady<T extends unknown[]>(\n callback: (...args: T) => void,\n ...args: T\n): void {\n if (\n document.readyState === \"interactive\" ||\n document.readyState === \"complete\"\n ) {\n callback(...args);\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => callback(...args));\n }\n}\n\n/**\n * Calculate the percentage of two values\n *\n * @param a\n * @param b\n * @return number\n */\nexport function toPercent(a: number, b: number): number {\n return b > 0 ? (a / b) * 100 : 0;\n}\n\n/**\n * Make a camelCase string\n *\n * @param string\n * @return string\n */\nexport function toCamelCase(string: string): string {\n return string\n .split(new RegExp(/[-_.]/))\n .reduce(\n (a: string, b: string) => a + b.charAt(0).toUpperCase() + b.slice(1),\n );\n}\n\n/**\n * Make a snake_case string\n *\n * @param string\n * @return string\n */\nexport function toSnakeCase(string: string): string {\n return toCamelCase(string)\n .replace(/(^[A-Z])?([A-Z])/gm, \"$1_$2\")\n .toLowerCase();\n}\n\n/**\n * Transform the first letter of the given string to the upper case\n *\n * @param string\n * @return string\n */\nexport function capitalize(string: string): string {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/**\n * Registry independent string sorting\n *\n * @param first\n * @param second\n */\nexport function sortByAlphabet(first: string, second: string): number {\n return first.toLowerCase() > second.toLowerCase() ? 1 : -1;\n}\n\n/**\n * @param length\n * @return string of max length 100\n */\nexport function getRandomStr(length?: number): string {\n length = length ? (length > 100 ? 100 : length) : 10;\n\n let str = Math.random().toString(36).substring(2);\n\n while (str.length < length) {\n str += Math.random().toString(36).substring(2);\n }\n\n const result = str.slice(-length);\n return isNaN(Number(result)) ? result : getRandomStr(length);\n}\n\nexport function getRandomItem(items: any[]): any {\n return items[Math.floor(Math.random() * items.length)];\n}\n\n/**\n * Summarize elements of the given array\n *\n * @param values\n * @return number | string - a summary of all the numbers in the array or an empty string if\n * there was only NaNs\n */\nexport function sumArray(values: Array<any>): number | string {\n if (values.every((value: any) => isNaN(value))) {\n return \"\";\n } else {\n return values.reduce((sum: any, curr: any) => {\n const value = Number(curr);\n\n if (!isNaN(value)) {\n return sum + value;\n } else {\n return sum;\n }\n }, 0);\n }\n}\n\n/**\n * Returns an array of the object keys which values are not present in filter\n *\n * @param obj\n * @param values\n */\nexport function filterObjectKeysByValues(\n obj: { [key: string]: any },\n values: Array<string | number | boolean | null | undefined>,\n): string[] {\n values = Array.isArray(values) ? values : Array(values);\n\n const keys = [];\n\n for (const key in obj) {\n if (!values.includes(obj[key])) {\n keys.push(key);\n }\n }\n\n return keys;\n}\n\nexport function getFromObject(object: object, key: string): any {\n return key.split(\".\").reduce((a: any, b: any) => {\n return a[b];\n }, object);\n}\n\nexport function fireBlurEvent(\n element: string | Element | null,\n delay: number = 0,\n): void {\n fireEvent(\"blur\", element, delay);\n}\n\nexport function fireInputEvent(\n element: string | Element | null,\n delay: number = 0,\n): void {\n fireEvent(\"input\", element, delay);\n}\n\nexport function fireEvent(\n eventName: string,\n element: string | Element | null,\n delay = 0,\n): void {\n setTimeout(() => {\n const target = isString(element)\n ? document.querySelector(element)\n : element;\n if (target) {\n target.dispatchEvent(new Event(eventName, { bubbles: true }));\n }\n }, delay);\n}\n\nexport function hasObjectChanged(\n oldObj: Record<string, any>,\n values: [string, any][],\n checkNewKeys = false,\n): boolean {\n const newMap = new Map(values);\n\n // check keys from old\n for (const key of Object.keys(oldObj)) {\n let oldVal = oldObj[key];\n let newVal = newMap.get(key);\n\n if (isObject(oldVal)) {\n if (!isObject(newVal)) return true;\n if (hasObjectChanged(oldVal, Object.entries(newVal), checkNewKeys))\n return true;\n continue;\n }\n\n if (Array.isArray(oldVal) || Array.isArray(newVal)) {\n const oldArr = Array.isArray(oldVal) ? oldVal : [];\n const newArr = Array.isArray(newVal) ? newVal : [];\n if (arrayDiff(newArr, oldArr).length > 0) return true;\n continue;\n }\n\n if (areDiff(newVal, oldVal)) return true;\n }\n\n // optional: check keys that exist only in new\n if (checkNewKeys) {\n for (const key of newMap.keys()) {\n if (!(key in oldObj)) return true;\n }\n }\n\n return false;\n}\n\nexport function roundBigNum(number: number): number {\n const digitsNum = Math.trunc(number).toString().length;\n\n let roundTo = 0;\n switch (true) {\n case digitsNum > 2 && digitsNum < 5:\n roundTo = 100;\n break;\n case digitsNum >= 5:\n roundTo = 10000;\n break;\n }\n\n return roundTo ? Math.round(number / roundTo) * roundTo : number;\n}\n\nexport function extractNumbers(value: unknown): string {\n if (!isString(value) && !isNum(value)) {\n return \"\";\n }\n return value.toString().replace(/[^0-9]/g, \"\");\n}\n\nexport function removeSpaces(value: unknown): string {\n if (!isString(value) && !isNum(value)) {\n return \"\";\n }\n return value.toString().replace(/\\s/g, \"\");\n}\n\nexport function roundUp(num: number, precision: number): number {\n const multiplier = Number(\"1\".padEnd(precision + 1, \"0\"));\n return Math.ceil(num * multiplier) / multiplier;\n}\n\nexport function roundDown(num: number, precision: number): number {\n const multiplier = Number(\"1\".padEnd(precision + 1, \"0\"));\n return Math.floor(num * multiplier) / multiplier;\n}\n\nexport function areDiff(\n val1?: Primitive | null,\n val2?: Primitive | null,\n strict?: boolean,\n): boolean {\n if (strict) {\n return val1 !== val2;\n }\n\n // at least one value is not empty\n if (Boolean(val1) || Boolean(val2)) {\n return val1 != val2;\n }\n\n // both empty, but not equally empty!\n // each one may be one of: empty string, null or undefined\n return false;\n}\n\nexport function flattenObject(\n obj: Record<string, any>,\n prefix = \"\",\n): Record<string, any> {\n const pre = prefix ? `${prefix}.` : \"\";\n\n return Object.keys(obj).reduce<Record<string, any>>((acc, k) => {\n const val = obj[k];\n const key = `${pre}${k}`;\n\n if (\n (isObject(val) || Array.isArray(val)) &&\n getObjectKeys(obj[k]).length > 0\n ) {\n Object.assign(acc, flattenObject(val, key));\n } else {\n acc[key] = val;\n }\n return acc;\n }, {});\n}\n\nexport function flattenObjectAsArray(\n obj: Record<string, any>,\n): Record<string, any> {\n const flat = flattenObject(obj);\n const result: Record<string, any> = {};\n\n for (const key of Object.keys(flat)) {\n const newKey = key.replace(/\\.([^.]+)/g, \"[$1]\");\n result[newKey] = (flat as any)[key];\n }\n\n return result;\n}\n\nexport function parseObjectPathStr(pathStr: string): string[] {\n const pathParts = pathStr.replace(/\\[/g, \".\").replace(/\\]/g, \"\").split(\".\");\n\n const [first, second] = pathParts;\n if (isString(first) && isString(second) && second.includes(\"[\")) {\n return [first, ...parseObjectPathStr(second)];\n }\n\n return pathParts;\n}\n\nexport function formatNumber(\n num: number | string,\n fractionDigits?: number,\n): string {\n fractionDigits = isNullOrUndef(fractionDigits) ? 2 : fractionDigits;\n return new Intl.NumberFormat(\"ru-RU\", {\n style: \"decimal\",\n minimumFractionDigits: fractionDigits,\n maximumFractionDigits: fractionDigits,\n })\n .format(Number(num))\n .replace(\",\", \".\")\n .replace(/\\u00A0/g, \" \"); // charCode 160, White-space\n}\n\nexport function formatNumberWithSign(\n num: number | string,\n fractionDigits?: number,\n): string {\n return formatWithSign(num, formatNumber(num, fractionDigits));\n}\n\nexport function formatPercent(num: number | string): string {\n return formatNumber(num) + \"%\";\n}\n\nexport function formatWithSign(\n num: number | string,\n numString?: string,\n): string {\n numString = numString ? numString : num.toString();\n return (Number(num) < 0 ? \"\" : \"+\") + numString;\n}\n\nexport function autoSizeText(\n el: HTMLElement,\n height: number,\n minFontSize: number,\n maxFontSize: number = 50,\n) {\n let attempts = 30;\n\n const resizeText = () => {\n if (getTextHeight() === 0) {\n return;\n }\n while (attempts && getTextHeight() > height) {\n attempts--;\n reduceText();\n }\n while (attempts && getTextHeight() < height) {\n attempts--;\n enlargeText();\n }\n };\n\n const reduceText = () => {\n const fontSize = getNumericStyleProp(\"fontSize\", el);\n const newFontSize = fontSize - 1;\n if (fontSize > 1 && newFontSize >= minFontSize) {\n el.style.fontSize = `${newFontSize}px`;\n }\n };\n\n const enlargeText = () => {\n const fontSize = getNumericStyleProp(\"fontSize\", el);\n const newFontSize = fontSize + 1;\n if (newFontSize <= maxFontSize) {\n el.style.fontSize = `${newFontSize}px`;\n }\n };\n\n const getTextHeight = () =>\n Math.floor(\n el.scrollHeight -\n getNumericStyleProp(\"paddingTop\", el) -\n getNumericStyleProp(\"paddingBottom\", el),\n );\n\n resizeText();\n}\n\nexport async function monitor(\n fn: Function,\n interval: number = 10,\n attempts: number = 100,\n): Promise<boolean> {\n for (let i = 0; i < attempts; i++) {\n if (await fn()) return true;\n if (i < attempts - 1) {\n await new Promise<void>((r) => setTimeout(r, interval));\n }\n }\n return false;\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -29,7 +29,7 @@ function isString(value) {
|
|
|
29
29
|
return typeof value === "string";
|
|
30
30
|
}
|
|
31
31
|
function isNotEmptyString(value) {
|
|
32
|
-
return isString(value) && value.length;
|
|
32
|
+
return isString(value) && value.length > 0;
|
|
33
33
|
}
|
|
34
34
|
function isHTMLElement(value) {
|
|
35
35
|
return value instanceof HTMLElement || value instanceof SVGElement;
|
|
@@ -53,14 +53,15 @@ function arrayDiff(array1, array2) {
|
|
|
53
53
|
return array1.filter((value) => !array2.includes(value)).concat(array2.filter((value) => !array1.includes(value)));
|
|
54
54
|
}
|
|
55
55
|
function arrayIntersect(array1, array2) {
|
|
56
|
-
|
|
56
|
+
const set = new Set(array2);
|
|
57
|
+
return array1.filter((value) => set.has(value));
|
|
57
58
|
}
|
|
58
59
|
function deepCloneObject(object) {
|
|
59
60
|
return JSON.parse(JSON.stringify(object));
|
|
60
61
|
}
|
|
61
62
|
function getNumericStyleProp(prop, el) {
|
|
62
63
|
const styles = window.getComputedStyle(el);
|
|
63
|
-
return !isNullOrUndef(styles[prop]) ?
|
|
64
|
+
return !isNullOrUndef(styles[prop]) ? parseFloat(styles[prop] || 0) : 0;
|
|
64
65
|
}
|
|
65
66
|
function objectHasProp(obj, prop) {
|
|
66
67
|
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
@@ -86,46 +87,25 @@ function objectToQueryString(object) {
|
|
|
86
87
|
}).join("&");
|
|
87
88
|
}
|
|
88
89
|
function countObjectInnerLength(object) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
} else if (len === 1) {
|
|
94
|
-
return obj[0].length;
|
|
95
|
-
} else {
|
|
96
|
-
return obj.reduce((acc, cur) => {
|
|
97
|
-
if (Array.isArray(acc)) {
|
|
98
|
-
acc = acc.length;
|
|
99
|
-
}
|
|
100
|
-
if (cur) {
|
|
101
|
-
acc += cur.length;
|
|
102
|
-
}
|
|
103
|
-
return acc;
|
|
104
|
-
});
|
|
105
|
-
}
|
|
90
|
+
return Object.values(object).reduce(
|
|
91
|
+
(sum, arr) => sum + (arr?.length ?? 0),
|
|
92
|
+
0
|
|
93
|
+
);
|
|
106
94
|
}
|
|
107
95
|
function isElementVisible(element, minVisiblePercent = 50) {
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
const elementVisibleHeight = elementTop > 0 ? (
|
|
117
|
-
// the element is in or below viewport
|
|
118
|
-
viewPortHeight - elementTop
|
|
119
|
-
) : (
|
|
120
|
-
// the element is still in or above viewport
|
|
121
|
-
elementBottom
|
|
122
|
-
);
|
|
123
|
-
return elementVisibleHeight / elementHeight * 100 >= minVisiblePercent;
|
|
96
|
+
const { top, bottom, height } = element.getBoundingClientRect();
|
|
97
|
+
if (!height) return false;
|
|
98
|
+
const viewportTop = 0;
|
|
99
|
+
const viewportBottom = window.innerHeight;
|
|
100
|
+
const visibleTop = Math.max(top, viewportTop);
|
|
101
|
+
const visibleBottom = Math.min(bottom, viewportBottom);
|
|
102
|
+
const visibleHeight = Math.max(0, visibleBottom - visibleTop);
|
|
103
|
+
return visibleHeight / height * 100 >= minVisiblePercent;
|
|
124
104
|
}
|
|
125
105
|
function decodeSafeURL(url) {
|
|
126
106
|
try {
|
|
127
107
|
return decodeURI(url);
|
|
128
|
-
} catch
|
|
108
|
+
} catch {
|
|
129
109
|
return url;
|
|
130
110
|
}
|
|
131
111
|
}
|
|
@@ -158,9 +138,13 @@ function injectStyleLink(filename) {
|
|
|
158
138
|
document.head.appendChild(link);
|
|
159
139
|
}
|
|
160
140
|
function toBinaryStr(str) {
|
|
161
|
-
const
|
|
162
|
-
const
|
|
163
|
-
|
|
141
|
+
const CHUNK = 32768;
|
|
142
|
+
const bytes = new TextEncoder().encode(str);
|
|
143
|
+
let result = "";
|
|
144
|
+
for (let i = 0; i < bytes.length; i += CHUNK) {
|
|
145
|
+
result += String.fromCharCode(...bytes.subarray(i, i + CHUNK));
|
|
146
|
+
}
|
|
147
|
+
return result;
|
|
164
148
|
}
|
|
165
149
|
function getHtmlElement(id) {
|
|
166
150
|
return document.getElementById(id);
|
|
@@ -171,95 +155,84 @@ function stringToHtmlElements(html) {
|
|
|
171
155
|
return template.childNodes;
|
|
172
156
|
}
|
|
173
157
|
function createHtmlElement(type, attributes = {}) {
|
|
174
|
-
const
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
attrs.forEach((name) => {
|
|
178
|
-
element.setAttribute(name, attributes[name]);
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
return element;
|
|
158
|
+
const el = document.createElement(type);
|
|
159
|
+
for (const [k, v] of Object.entries(attributes)) el.setAttribute(k, v);
|
|
160
|
+
return el;
|
|
182
161
|
}
|
|
183
|
-
function insertHtmlElements(nodes, appendTo) {
|
|
184
|
-
|
|
185
|
-
const fragment = new DocumentFragment();
|
|
162
|
+
function insertHtmlElements(nodes, appendTo = document.body) {
|
|
163
|
+
const fragment = document.createDocumentFragment();
|
|
186
164
|
for (let i = 0; i < nodes.length; i++) {
|
|
187
|
-
|
|
165
|
+
const node = nodes[i];
|
|
166
|
+
if (!node || !isHTMLElement(node) && node.nodeType !== Node.TEXT_NODE) {
|
|
188
167
|
continue;
|
|
189
168
|
}
|
|
190
|
-
const node = nodes[i];
|
|
191
169
|
let newNode;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
170
|
+
if (node.nodeType === Node.TEXT_NODE) {
|
|
171
|
+
newNode = document.createTextNode(node.textContent ?? "");
|
|
172
|
+
fragment.appendChild(newNode);
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
const el = node;
|
|
176
|
+
const tag = el.tagName.toLowerCase();
|
|
177
|
+
switch (tag) {
|
|
178
|
+
case "script": {
|
|
179
|
+
const src = el.getAttribute("src");
|
|
180
|
+
newNode = !isNullOrUndef(src) && src.length > 0 ? createScriptElement(src, false, flatHtmlAttributes(el.attributes)) : createScriptElement(
|
|
181
|
+
el.textContent ?? "",
|
|
182
|
+
true,
|
|
183
|
+
flatHtmlAttributes(el.attributes)
|
|
184
|
+
);
|
|
208
185
|
break;
|
|
186
|
+
}
|
|
209
187
|
case "style":
|
|
210
|
-
newNode = createStyleElement(
|
|
188
|
+
newNode = createStyleElement(el.textContent);
|
|
211
189
|
break;
|
|
212
190
|
case "svg":
|
|
213
191
|
newNode = createSvgElement(
|
|
214
|
-
|
|
215
|
-
flatHtmlAttributes(
|
|
192
|
+
el.innerHTML,
|
|
193
|
+
flatHtmlAttributes(el.attributes)
|
|
216
194
|
);
|
|
217
195
|
break;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
newNode = createHtmlElement(
|
|
223
|
-
node.tagName,
|
|
224
|
-
flatHtmlAttributes(node.attributes)
|
|
196
|
+
default: {
|
|
197
|
+
const created = createHtmlElement(
|
|
198
|
+
el.tagName,
|
|
199
|
+
flatHtmlAttributes(el.attributes)
|
|
225
200
|
);
|
|
226
|
-
if (
|
|
227
|
-
insertHtmlElements(
|
|
201
|
+
if (el.childNodes.length) {
|
|
202
|
+
insertHtmlElements(el.childNodes, created);
|
|
228
203
|
} else {
|
|
229
|
-
|
|
204
|
+
created.textContent = el.textContent ?? "";
|
|
230
205
|
}
|
|
206
|
+
newNode = created;
|
|
207
|
+
}
|
|
231
208
|
}
|
|
232
209
|
fragment.appendChild(newNode);
|
|
233
210
|
}
|
|
234
211
|
appendTo.appendChild(fragment);
|
|
235
212
|
}
|
|
236
213
|
function flatHtmlAttributes(attributes) {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
214
|
+
if (!attributes) return {};
|
|
215
|
+
const result = {};
|
|
216
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
217
|
+
const attr = attributes[i];
|
|
218
|
+
if (attr) {
|
|
219
|
+
result[attr.name] = attr.value;
|
|
244
220
|
}
|
|
245
221
|
}
|
|
246
|
-
return
|
|
222
|
+
return result;
|
|
247
223
|
}
|
|
248
224
|
function createScriptElement(js, inline = false, attributes = {}) {
|
|
249
|
-
const
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
attrs.forEach((name) => {
|
|
253
|
-
element.setAttribute(name, attributes[name]);
|
|
254
|
-
});
|
|
225
|
+
const el = document.createElement("script");
|
|
226
|
+
for (const [k, v] of Object.entries(attributes)) {
|
|
227
|
+
el.setAttribute(k, v);
|
|
255
228
|
}
|
|
256
229
|
if (inline) {
|
|
257
|
-
|
|
230
|
+
el.appendChild(document.createTextNode(js));
|
|
258
231
|
} else {
|
|
259
|
-
|
|
260
|
-
|
|
232
|
+
el.async = true;
|
|
233
|
+
el.src = js;
|
|
261
234
|
}
|
|
262
|
-
return
|
|
235
|
+
return el;
|
|
263
236
|
}
|
|
264
237
|
function createStyleElement(css) {
|
|
265
238
|
const element = createHtmlElement("style");
|
|
@@ -274,22 +247,25 @@ function createLinkElement(href) {
|
|
|
274
247
|
element.href = href;
|
|
275
248
|
return element;
|
|
276
249
|
}
|
|
277
|
-
function createSvgElement(content, attributes) {
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
250
|
+
function createSvgElement(content, attributes = {}) {
|
|
251
|
+
const element = document.createElementNS(
|
|
252
|
+
"http://www.w3.org/2000/svg",
|
|
253
|
+
"svg"
|
|
254
|
+
);
|
|
255
|
+
for (const [name, value] of Object.entries(attributes)) {
|
|
256
|
+
element.setAttribute(name, value);
|
|
284
257
|
}
|
|
285
|
-
element.innerHTML = content;
|
|
258
|
+
element.innerHTML = content.trim();
|
|
286
259
|
return element;
|
|
287
260
|
}
|
|
288
261
|
function createPixelElement(src) {
|
|
289
262
|
const image = document.createElement("img");
|
|
263
|
+
image.alt = "";
|
|
290
264
|
image.src = src;
|
|
291
265
|
image.width = 1;
|
|
292
266
|
image.height = 1;
|
|
267
|
+
image.loading = "eager";
|
|
268
|
+
image.setAttribute("aria-hidden", "true");
|
|
293
269
|
image.style.position = "absolute";
|
|
294
270
|
image.style.left = "-99999px";
|
|
295
271
|
return image;
|
|
@@ -306,22 +282,16 @@ function insertCss(css, className, external = false) {
|
|
|
306
282
|
document.head.appendChild(element);
|
|
307
283
|
}
|
|
308
284
|
function getScreenSize() {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
height = screen.height;
|
|
313
|
-
} else {
|
|
314
|
-
width = window.innerWidth;
|
|
315
|
-
height = window.innerHeight;
|
|
316
|
-
}
|
|
317
|
-
return {
|
|
318
|
-
width,
|
|
319
|
-
height
|
|
320
|
-
};
|
|
285
|
+
const width = window.screen?.width ?? window.innerWidth;
|
|
286
|
+
const height = window.screen?.height ?? window.innerHeight;
|
|
287
|
+
return { width, height };
|
|
321
288
|
}
|
|
322
289
|
function getRandomInt(min = 0, max = 4294967295) {
|
|
323
290
|
min = Math.ceil(min);
|
|
324
291
|
max = Math.floor(max);
|
|
292
|
+
if (max <= min) {
|
|
293
|
+
return min;
|
|
294
|
+
}
|
|
325
295
|
return Math.floor(Math.random() * (max - min)) + min;
|
|
326
296
|
}
|
|
327
297
|
function hashCode(str) {
|
|
@@ -406,44 +376,37 @@ function fireInputEvent(element, delay = 0) {
|
|
|
406
376
|
}
|
|
407
377
|
function fireEvent(eventName, element, delay = 0) {
|
|
408
378
|
setTimeout(() => {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
if (!isNullOrUndef(element)) {
|
|
413
|
-
element.dispatchEvent(
|
|
414
|
-
new Event(eventName, {
|
|
415
|
-
bubbles: true
|
|
416
|
-
})
|
|
417
|
-
);
|
|
379
|
+
const target = isString(element) ? document.querySelector(element) : element;
|
|
380
|
+
if (target) {
|
|
381
|
+
target.dispatchEvent(new Event(eventName, { bubbles: true }));
|
|
418
382
|
}
|
|
419
383
|
}, delay);
|
|
420
384
|
}
|
|
421
|
-
function hasObjectChanged(
|
|
422
|
-
|
|
423
|
-
for (const key
|
|
424
|
-
let oldVal =
|
|
425
|
-
let
|
|
385
|
+
function hasObjectChanged(oldObj, values, checkNewKeys = false) {
|
|
386
|
+
const newMap = new Map(values);
|
|
387
|
+
for (const key of Object.keys(oldObj)) {
|
|
388
|
+
let oldVal = oldObj[key];
|
|
389
|
+
let newVal = newMap.get(key);
|
|
426
390
|
if (isObject(oldVal)) {
|
|
427
|
-
if (!isObject(newVal))
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}
|
|
432
|
-
} else if (Array.isArray(newVal) || Array.isArray(oldVal)) {
|
|
433
|
-
newVal = Array.isArray(newVal) ? newVal : [];
|
|
434
|
-
oldVal = Array.isArray(oldVal) ? oldVal : [];
|
|
435
|
-
hasChanged = getObjectKeys(oldVal).length !== getObjectKeys(newVal).length;
|
|
436
|
-
if (!hasChanged) {
|
|
437
|
-
hasChanged = arrayDiff(newVal, oldVal).length > 0;
|
|
438
|
-
}
|
|
439
|
-
} else {
|
|
440
|
-
hasChanged = areDiff(newVal, oldVal);
|
|
391
|
+
if (!isObject(newVal)) return true;
|
|
392
|
+
if (hasObjectChanged(oldVal, Object.entries(newVal), checkNewKeys))
|
|
393
|
+
return true;
|
|
394
|
+
continue;
|
|
441
395
|
}
|
|
442
|
-
if (
|
|
443
|
-
|
|
396
|
+
if (Array.isArray(oldVal) || Array.isArray(newVal)) {
|
|
397
|
+
const oldArr = Array.isArray(oldVal) ? oldVal : [];
|
|
398
|
+
const newArr = Array.isArray(newVal) ? newVal : [];
|
|
399
|
+
if (arrayDiff(newArr, oldArr).length > 0) return true;
|
|
400
|
+
continue;
|
|
401
|
+
}
|
|
402
|
+
if (areDiff(newVal, oldVal)) return true;
|
|
403
|
+
}
|
|
404
|
+
if (checkNewKeys) {
|
|
405
|
+
for (const key of newMap.keys()) {
|
|
406
|
+
if (!(key in oldObj)) return true;
|
|
444
407
|
}
|
|
445
408
|
}
|
|
446
|
-
return
|
|
409
|
+
return false;
|
|
447
410
|
}
|
|
448
411
|
function roundBigNum(number) {
|
|
449
412
|
const digitsNum = Math.trunc(number).toString().length;
|
|
@@ -459,13 +422,13 @@ function roundBigNum(number) {
|
|
|
459
422
|
return roundTo ? Math.round(number / roundTo) * roundTo : number;
|
|
460
423
|
}
|
|
461
424
|
function extractNumbers(value) {
|
|
462
|
-
if (!
|
|
425
|
+
if (!isString(value) && !isNum(value)) {
|
|
463
426
|
return "";
|
|
464
427
|
}
|
|
465
428
|
return value.toString().replace(/[^0-9]/g, "");
|
|
466
429
|
}
|
|
467
430
|
function removeSpaces(value) {
|
|
468
|
-
if (!
|
|
431
|
+
if (!isString(value) && !isNum(value)) {
|
|
469
432
|
return "";
|
|
470
433
|
}
|
|
471
434
|
return value.toString().replace(/\s/g, "");
|
|
@@ -488,29 +451,32 @@ function areDiff(val1, val2, strict) {
|
|
|
488
451
|
return false;
|
|
489
452
|
}
|
|
490
453
|
function flattenObject(obj, prefix = "") {
|
|
454
|
+
const pre = prefix ? `${prefix}.` : "";
|
|
491
455
|
return Object.keys(obj).reduce((acc, k) => {
|
|
492
|
-
const
|
|
493
|
-
|
|
494
|
-
|
|
456
|
+
const val = obj[k];
|
|
457
|
+
const key = `${pre}${k}`;
|
|
458
|
+
if ((isObject(val) || Array.isArray(val)) && getObjectKeys(obj[k]).length > 0) {
|
|
459
|
+
Object.assign(acc, flattenObject(val, key));
|
|
495
460
|
} else {
|
|
496
|
-
acc[
|
|
461
|
+
acc[key] = val;
|
|
497
462
|
}
|
|
498
463
|
return acc;
|
|
499
464
|
}, {});
|
|
500
465
|
}
|
|
501
466
|
function flattenObjectAsArray(obj) {
|
|
502
|
-
const result = {};
|
|
503
467
|
const flat = flattenObject(obj);
|
|
504
|
-
|
|
505
|
-
|
|
468
|
+
const result = {};
|
|
469
|
+
for (const key of Object.keys(flat)) {
|
|
470
|
+
const newKey = key.replace(/\.([^.]+)/g, "[$1]");
|
|
506
471
|
result[newKey] = flat[key];
|
|
507
|
-
}
|
|
472
|
+
}
|
|
508
473
|
return result;
|
|
509
474
|
}
|
|
510
475
|
function parseObjectPathStr(pathStr) {
|
|
511
476
|
const pathParts = pathStr.replace(/\[/g, ".").replace(/\]/g, "").split(".");
|
|
512
|
-
|
|
513
|
-
|
|
477
|
+
const [first, second] = pathParts;
|
|
478
|
+
if (isString(first) && isString(second) && second.includes("[")) {
|
|
479
|
+
return [first, ...parseObjectPathStr(second)];
|
|
514
480
|
}
|
|
515
481
|
return pathParts;
|
|
516
482
|
}
|
|
@@ -566,6 +532,15 @@ function autoSizeText(el, height, minFontSize, maxFontSize = 50) {
|
|
|
566
532
|
);
|
|
567
533
|
resizeText();
|
|
568
534
|
}
|
|
535
|
+
async function monitor(fn, interval = 10, attempts = 100) {
|
|
536
|
+
for (let i = 0; i < attempts; i++) {
|
|
537
|
+
if (await fn()) return true;
|
|
538
|
+
if (i < attempts - 1) {
|
|
539
|
+
await new Promise((r) => setTimeout(r, interval));
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
return false;
|
|
543
|
+
}
|
|
569
544
|
|
|
570
|
-
export { areDiff, arrayDiff, arrayIntersect, autoSizeText, capitalize, countObjectInnerLength, createHtmlElement, createLinkElement, createPixelElement, createScriptElement, createStyleElement, createSvgElement, debounce, decodeSafeURL, deepCloneObject, encodeQueryString, extractNumbers, filterObjectKeysByValues, fireBlurEvent, fireEvent, fireInputEvent, flatHtmlAttributes, flattenObject, flattenObjectAsArray, formatNumber, formatNumberWithSign, formatPercent, formatWithSign, getFromObject, getHtmlElement, getNumericStyleProp, getObjectKeys, getRandomInt, getRandomItem, getRandomStr, getSafeURL, getScreenSize, hasObjectChanged, hashCode, injectScript, injectStyleLink, insertCss, insertHtmlElements, insertJs, isBool, isDefined, isElementVisible, isFn, isHTMLElement, isNotEmptyString, isNullOrUndef, isNum, isObject, isStr, isString, isUndef, objectHasProp, objectToQueryString, onDOMReady, parseObjectPathStr, parseURL, removeSpaces, roundBigNum, roundDown, roundUp, sortByAlphabet, stringToHtmlElements, sumArray, throttle, toBinaryStr, toCamelCase, toPercent, toSnakeCase };
|
|
545
|
+
export { areDiff, arrayDiff, arrayIntersect, autoSizeText, capitalize, countObjectInnerLength, createHtmlElement, createLinkElement, createPixelElement, createScriptElement, createStyleElement, createSvgElement, debounce, decodeSafeURL, deepCloneObject, encodeQueryString, extractNumbers, filterObjectKeysByValues, fireBlurEvent, fireEvent, fireInputEvent, flatHtmlAttributes, flattenObject, flattenObjectAsArray, formatNumber, formatNumberWithSign, formatPercent, formatWithSign, getFromObject, getHtmlElement, getNumericStyleProp, getObjectKeys, getRandomInt, getRandomItem, getRandomStr, getSafeURL, getScreenSize, hasObjectChanged, hashCode, injectScript, injectStyleLink, insertCss, insertHtmlElements, insertJs, isBool, isDefined, isElementVisible, isFn, isHTMLElement, isNotEmptyString, isNullOrUndef, isNum, isObject, isStr, isString, isUndef, monitor, objectHasProp, objectToQueryString, onDOMReady, parseObjectPathStr, parseURL, removeSpaces, roundBigNum, roundDown, roundUp, sortByAlphabet, stringToHtmlElements, sumArray, throttle, toBinaryStr, toCamelCase, toPercent, toSnakeCase };
|
|
571
546
|
//# sourceMappingURL=index.mjs.map
|