@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.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
- return array1.filter((value) => array2.includes(value));
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]) ? parseInt(styles[prop].slice(0, -2)) : 0;
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
- const obj = Object.values(object);
90
- const len = obj.length;
91
- if (len === 0) {
92
- return 0;
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 elementCoords = element.getBoundingClientRect();
109
- const elementHeight = elementCoords.height;
110
- if (!elementHeight) {
111
- return false;
112
- }
113
- const elementTop = elementCoords.top;
114
- const elementBottom = elementCoords.bottom;
115
- const viewPortHeight = window.innerHeight;
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 (e) {
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 encoder = new TextEncoder();
162
- const charCodes = encoder.encode(str);
163
- return String.fromCharCode(...charCodes);
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 attrs = getObjectKeys(attributes);
175
- const element = document.createElement(type);
176
- if (attrs.length) {
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
- appendTo = appendTo || document.body;
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
- if (!isHTMLElement(nodes[i]) && nodes[i].nodeType !== 3) {
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
- switch (node.nodeName.toLowerCase()) {
193
- case "script":
194
- const src = node.getAttribute("src");
195
- if (!isNullOrUndef(src) && src.length > 0) {
196
- newNode = createScriptElement(
197
- src,
198
- false,
199
- flatHtmlAttributes(node.attributes)
200
- );
201
- } else {
202
- newNode = createScriptElement(
203
- node.innerHTML,
204
- true,
205
- flatHtmlAttributes(node.attributes)
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(node.textContent);
188
+ newNode = createStyleElement(el.textContent);
211
189
  break;
212
190
  case "svg":
213
191
  newNode = createSvgElement(
214
- node.innerHTML,
215
- flatHtmlAttributes(node.attributes)
192
+ el.innerHTML,
193
+ flatHtmlAttributes(el.attributes)
216
194
  );
217
195
  break;
218
- case "#text":
219
- newNode = document.createTextNode(node.textContent ?? "");
220
- break;
221
- default:
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 (node.childNodes.length) {
227
- insertHtmlElements(node.childNodes, newNode);
201
+ if (el.childNodes.length) {
202
+ insertHtmlElements(el.childNodes, created);
228
203
  } else {
229
- newNode.innerHTML = node.innerHTML;
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
- let flatAttributes = {};
238
- if (!isNullOrUndef(attributes)) {
239
- for (let i = 0; i < attributes.length; i++) {
240
- let attr = attributes[i];
241
- if (!isUndef(attr)) {
242
- flatAttributes[attr.name] = attr.value;
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 flatAttributes;
222
+ return result;
247
223
  }
248
224
  function createScriptElement(js, inline = false, attributes = {}) {
249
- const attrs = isObject(attributes) ? getObjectKeys(attributes) : [];
250
- const element = createHtmlElement("script");
251
- if (attrs.length) {
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
- element.appendChild(document.createTextNode(js));
230
+ el.appendChild(document.createTextNode(js));
258
231
  } else {
259
- element.async = true;
260
- element.src = js;
232
+ el.async = true;
233
+ el.src = js;
261
234
  }
262
- return element;
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 attrs = getObjectKeys(attributes);
279
- const element = document.createElementNS("http://www.w3.org/2000/svg", "svg");
280
- if (attrs.length) {
281
- attrs.forEach((name) => {
282
- element.setAttribute(name, attributes[name]);
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
- let width, height;
310
- if (window.screen) {
311
- width = screen.width;
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
- if (isString(element)) {
410
- element = document.querySelector(element);
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(object, values) {
422
- let hasChanged = false;
423
- for (const key in object) {
424
- let oldVal = object[key];
425
- let [, newVal] = values.find(([newKey]) => key === newKey);
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
- hasChanged = true;
429
- } else {
430
- hasChanged = hasObjectChanged(oldVal, Object.entries(newVal));
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 (hasChanged) {
443
- break;
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 hasChanged;
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 (!isStr(value) && !isNum(value)) {
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 (!isStr(value) && !isNum(value)) {
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 pre = prefix.length ? prefix + "." : "";
493
- if ((isObject(obj[k]) || Array.isArray(obj[k])) && getObjectKeys(obj[k]).length > 0) {
494
- Object.assign(acc, flattenObject(obj[k], pre + k));
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[pre + k] = obj[k];
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
- Object.keys(flat).forEach((key) => {
505
- const newKey = key.replaceAll(/\.([^.]+)/g, "[$1]");
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
- if (pathParts.length > 1 && pathParts[1].includes("[")) {
513
- return [pathParts[0], ...parseObjectPathStr(pathParts[1])];
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