@basmilius/utils 1.3.0 → 1.3.1

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 CHANGED
@@ -21,7 +21,7 @@ export { default as hueToRGB } from './hueToRGB';
21
21
  export { default as isHtmlElement } from './isHtmlElement';
22
22
  export { default as isPointInPolygon } from './isPointInPolygon';
23
23
  export { default as isToday } from './isToday';
24
- export { default as mulberry32 } from './mulberry32';
24
+ export { default as mulberry32, type Mulberry32 } from './mulberry32';
25
25
  export { default as openUrl } from './openUrl';
26
26
  export { default as rgbToHEX } from './rgbToHEX';
27
27
  export { default as rgbToHSL } from './rgbToHSL';
@@ -1,6 +1,6 @@
1
1
  declare function mulberry32(seed: number): Mulberry32;
2
2
  export default mulberry32;
3
- type Mulberry32 = {
3
+ export type Mulberry32 = {
4
4
  fork(): Mulberry32;
5
5
  next(): number;
6
6
  nextBetween(min: number, max: number): number;
package/dist/utils.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/roundStep.ts", "../src/clampWithStepPrecision.ts", "../src/countDecimals.ts", "../src/defineStore.ts", "../src/downloadUrl.ts", "../src/downloadBlob.ts", "../src/downloadString.ts", "../src/formatDate.ts", "../src/formatDateFull.ts", "../src/formatDateTime.ts", "../src/formatMonth.ts", "../src/formatNumber.ts", "../src/formatPercentage.ts", "../src/formatTime.ts", "../src/generateStepTicks.ts", "../src/hexToRGB.ts", "../src/hueToRGB.ts", "../src/hslToRGB.ts", "../src/rgbToHSV.ts", "../src/hslToHSV.ts", "../src/hsvToRGB.ts", "../src/rgbToHSL.ts", "../src/hsvToHSL.ts", "../src/isHtmlElement.ts", "../src/isPointInPolygon.ts", "../src/isToday.ts", "../src/mulberry32.ts", "../src/openUrl.ts", "../src/rgbToHEX.ts", "../src/viewTransition.ts", "../src/waitFor.ts", "../src/index.ts"],
4
- "sourcesContent": ["export default function (value: number, step: number): number {\n return Math.round(value / step) * step;\n}\n", "import roundStep from './roundStep';\n\nexport default function (value: number, min: number, max: number, step: number): number {\n return Math.max(min, Math.min(max, +roundStep(value * (max - min) + min, step).toPrecision(4)));\n}\n", "export default function (value: number): number {\n return value.toString().split('.')[1]?.length ?? 0;\n}\n", "import { defineStore, StoreGeneric, storeToRefs } from 'pinia';\n\nexport default function <Id extends string, Setup extends (...args: any[]) => any, Context = ReturnType<Setup>>(id: Id, setup: Setup): UseStore<Context> {\n const storeFn = defineStore(id, setup);\n\n return () => {\n const store = storeFn();\n const keys = Object.getOwnPropertyNames(store);\n const refs = storeToRefs(store as StoreGeneric);\n const result: Record<string, unknown> = {};\n\n for (const key of keys) {\n if (key.startsWith('$') || key.startsWith('_')) {\n continue;\n }\n\n if (key in refs) {\n result[key] = refs[key];\n continue;\n }\n\n result[key] = store[key];\n }\n\n return result as Context;\n };\n}\n\ntype UseStore<R> = {\n (): R;\n}\n", "export default function (url: string, filename: string): void {\n const anchor = document.createElement('a');\n anchor.download = filename;\n anchor.href = url;\n\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n}\n", "import downloadUrl from './downloadUrl';\n\nexport default function (blob: Blob, filename: string): void {\n const url = URL.createObjectURL(blob);\n downloadUrl(url, filename);\n URL.revokeObjectURL(url);\n}\n", "import downloadBlob from './downloadBlob';\n\nexport default function (data: string, filename: string, type: string): void {\n const blob = new Blob([data], {type});\n downloadBlob(blob, filename);\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n weekday: 'long',\n day: 'numeric',\n month: 'long'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n month: 'long',\n });\n}\n", "export default function (value: number, decimals: number = 0): string {\n const formatter = new Intl.NumberFormat(navigator.language, {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n\n return formatter.format(value);\n}\n", "export default function (value: number): string {\n return new Intl.NumberFormat(navigator.language, {\n maximumFractionDigits: 1,\n minimumFractionDigits: 0,\n style: 'percent'\n }).format(value);\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "export default function (lower: number, upper: number, target: number = 5, isSmall?: boolean): number[] {\n const STEP_TICK_SIZES = [1, 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000] as const;\n const STEP_TICK_SMALL_SIZES = [.1, .5, ...STEP_TICK_SIZES];\n\n const delta = upper - lower;\n const sizes = isSmall ? STEP_TICK_SMALL_SIZES : STEP_TICK_SIZES;\n\n for (const size of sizes) {\n const count = Math.floor(delta / size);\n const steps: number[] = [];\n\n if (count > target + 1) {\n continue;\n }\n\n steps.push(lower);\n\n for (let i = 1; i < count; ++i) {\n steps.push(i * size + lower);\n }\n\n steps.push(upper);\n\n return steps;\n }\n\n const digits = delta.toString().length - 1;\n const power = Math.pow(10, digits);\n const steps: number[] = [];\n\n for (let i = 0; i < delta; i += power) {\n steps.push(i + lower);\n }\n\n return steps;\n}\n", "export default function (hex: string): [number, number, number] {\n const color = parseInt(hex.startsWith('#') ? hex.substring(1) : hex, 16);\n\n return [\n (color >> 16) & 255,\n (color >> 8) & 255,\n color & 255\n ];\n}\n", "export default function (p: number, q: number, t: number): number {\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n", "import hueToRGB from './hueToRGB';\n\nexport default function (h: number, s: number, l: number): [number, number, number] {\n let r: number, g: number, b: number;\n\n h /= 360;\n s /= 100;\n l /= 100;\n\n if (s === 0) {\n r = g = b = l;\n } else {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n\n r = hueToRGB(p, q, h + 1 / 3);\n g = hueToRGB(p, q, h);\n b = hueToRGB(p, q, h - 1 / 3);\n }\n\n r = Math.round(r * 255);\n g = Math.round(g * 255);\n b = Math.round(b * 255);\n\n return [r, g, b];\n}\n", "export default function (r: number, g: number, b: number): [number, number, number] {\n r /= 255;\n g /= 255;\n b /= 255;\n\n let cmin: number = Math.min(r, g, b),\n cmax: number = Math.max(r, g, b),\n delta: number = cmax - cmin,\n h: number, s: number = (cmax === 0 ? 0 : delta / cmax), v = cmax;\n\n if (cmax === cmin) {\n h = 0;\n } else {\n if (cmax === r) {\n h = (g - b) / delta + (g < b ? 6 : 0);\n } else if (cmax === g) {\n h = (b - r) / delta + 2;\n } else {\n h = (r - g) / delta + 4;\n }\n\n h /= 6;\n }\n\n return [h, s, v];\n};\n", "import hslToRGB from './hslToRGB';\nimport rgbToHSV from './rgbToHSV';\n\nexport default function (h: number, s: number, v: number): [number, number, number] {\n return rgbToHSV(...hslToRGB(h, s, v));\n}\n", "export default function (h: number, s: number, v: number): [number, number, number] {\n let r = 0, g = 0, b = 0;\n\n let i = Math.floor(h * 6),\n f = h * 6 - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n r = Math.round(r * 255);\n g = Math.round(g * 255);\n b = Math.round(b * 255);\n\n return [r, g, b];\n}\n", "export default function (r: number, g: number, b: number): [number, number, number] {\n r /= 255;\n g /= 255;\n b /= 255;\n\n let cmin: number = Math.min(r, g, b),\n cmax: number = Math.max(r, g, b),\n delta: number = cmax - cmin,\n h: number, s: number, l: number;\n\n if (delta === 0) {\n h = 0;\n } else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n } else if (cmax === g) {\n h = (b - r) / delta + 2;\n } else {\n h = (r - g) / delta + 4;\n }\n\n h = Math.round(h * 60);\n\n if (h < 0) {\n h += 360;\n }\n\n l = (cmax + cmin) / 2;\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n\n return [h, s, l];\n};\n", "import hsvToRGB from './hsvToRGB';\nimport rgbToHSL from './rgbToHSL';\n\nexport default function (h: number, s: number, v: number): [number, number, number] {\n return rgbToHSL(...hsvToRGB(h, s, v));\n}\n", "export default function (elm: unknown): elm is HTMLElement {\n return elm instanceof HTMLElement;\n}\n", "type Point = [number, number];\n\nexport default function (point: Point, polygon: Point[]): boolean {\n let inside = false;\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0], yi = polygon[i][1];\n const xj = polygon[j][0], yj = polygon[j][1];\n const intersect = ((yi > point[1]) != (yj > point[1])) && (point[0] < (xj - xi) * (point[1] - yi) / (yj - yi) + xi);\n\n if (intersect) {\n inside = !inside;\n }\n }\n\n return inside;\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime, today: DateTime): boolean {\n return today.hasSame(dateTime, 'day');\n}\n", "function mulberry32(seed: number): Mulberry32 {\n const state = new Uint32Array(1);\n state[0] = seed;\n\n function next(): number {\n const innerState = (state[0] = (state[0] + 0x6d2b79f5) | 0);\n let t = Math.imul(innerState ^ (innerState >>> 15), 1 | innerState);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n }\n\n function nextBetween(from: number, to: number): number {\n return next() * (to - from) + from;\n }\n\n function fork(): Mulberry32 {\n return mulberry32(next() * 2 ** 32);\n }\n\n return {\n fork,\n next,\n nextBetween\n };\n}\n\nexport default mulberry32;\n\ntype Mulberry32 = {\n fork(): Mulberry32;\n next(): number;\n nextBetween(min: number, max: number): number;\n}\n", "export default function (url: string): void {\n if (window.location !== window.parent.location) {\n window.open(url, '_top');\n } else {\n window.location.href = url;\n }\n}\n", "export default function (r: number, g: number, b: number): string {\n const sr = r.toString(16).padStart(2, '0');\n const sg = g.toString(16).padStart(2, '0');\n const sb = b.toString(16).padStart(2, '0');\n\n return `#${sr}${sg}${sb}`;\n}\n", "export default function (fn: Function): void {\n if ('startViewTransition' in document) {\n (document.startViewTransition as Function)(fn);\n } else {\n fn();\n }\n}\n", "export default async function (ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n", "export { default as clampWithStepPrecision } from './clampWithStepPrecision';\nexport { default as countDecimals } from './countDecimals';\nexport { default as defineStore } from './defineStore';\nexport { default as downloadBlob } from './downloadBlob';\nexport { default as downloadString } from './downloadString';\nexport { default as downloadUrl } from './downloadUrl';\nexport { default as formatDate } from './formatDate';\nexport { default as formatDateFull } from './formatDateFull';\nexport { default as formatDateTime } from './formatDateTime';\nexport { default as formatMonth } from './formatMonth';\nexport { default as formatNumber } from './formatNumber';\nexport { default as formatPercentage } from './formatPercentage';\nexport { default as formatTime } from './formatTime';\nexport { default as generateStepTicks } from './generateStepTicks';\nexport { default as hexToRGB } from './hexToRGB';\nexport { default as hslToHSV } from './hslToHSV';\nexport { default as hslToRGB } from './hslToRGB';\nexport { default as hsvToHSL } from './hsvToHSL';\nexport { default as hsvToRGB } from './hsvToRGB';\nexport { default as hueToRGB } from './hueToRGB';\nexport { default as isHtmlElement } from './isHtmlElement';\nexport { default as isPointInPolygon } from './isPointInPolygon';\nexport { default as isToday } from './isToday';\nexport { default as mulberry32 } from './mulberry32';\nexport { default as openUrl } from './openUrl';\nexport { default as rgbToHEX } from './rgbToHEX';\nexport { default as rgbToHSL } from './rgbToHSL';\nexport { default as rgbToHSV } from './rgbToHSV';\nexport { default as roundStep } from './roundStep';\nexport { default as viewTransition } from './viewTransition';\nexport { default as waitFor } from './waitFor';\n\nexport const MDASH = '\u2014';\nexport const NDASH = '\u2013';\nexport const NOOP = () => void 0;\n"],
4
+ "sourcesContent": ["export default function (value: number, step: number): number {\n return Math.round(value / step) * step;\n}\n", "import roundStep from './roundStep';\n\nexport default function (value: number, min: number, max: number, step: number): number {\n return Math.max(min, Math.min(max, +roundStep(value * (max - min) + min, step).toPrecision(4)));\n}\n", "export default function (value: number): number {\n return value.toString().split('.')[1]?.length ?? 0;\n}\n", "import { defineStore, StoreGeneric, storeToRefs } from 'pinia';\n\nexport default function <Id extends string, Setup extends (...args: any[]) => any, Context = ReturnType<Setup>>(id: Id, setup: Setup): UseStore<Context> {\n const storeFn = defineStore(id, setup);\n\n return () => {\n const store = storeFn();\n const keys = Object.getOwnPropertyNames(store);\n const refs = storeToRefs(store as StoreGeneric);\n const result: Record<string, unknown> = {};\n\n for (const key of keys) {\n if (key.startsWith('$') || key.startsWith('_')) {\n continue;\n }\n\n if (key in refs) {\n result[key] = refs[key];\n continue;\n }\n\n result[key] = store[key];\n }\n\n return result as Context;\n };\n}\n\ntype UseStore<R> = {\n (): R;\n}\n", "export default function (url: string, filename: string): void {\n const anchor = document.createElement('a');\n anchor.download = filename;\n anchor.href = url;\n\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n}\n", "import downloadUrl from './downloadUrl';\n\nexport default function (blob: Blob, filename: string): void {\n const url = URL.createObjectURL(blob);\n downloadUrl(url, filename);\n URL.revokeObjectURL(url);\n}\n", "import downloadBlob from './downloadBlob';\n\nexport default function (data: string, filename: string, type: string): void {\n const blob = new Blob([data], {type});\n downloadBlob(blob, filename);\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n weekday: 'long',\n day: 'numeric',\n month: 'long'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n month: 'long',\n });\n}\n", "export default function (value: number, decimals: number = 0): string {\n const formatter = new Intl.NumberFormat(navigator.language, {\n maximumFractionDigits: decimals,\n minimumFractionDigits: decimals\n });\n\n return formatter.format(value);\n}\n", "export default function (value: number): string {\n return new Intl.NumberFormat(navigator.language, {\n maximumFractionDigits: 1,\n minimumFractionDigits: 0,\n style: 'percent'\n }).format(value);\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime): string {\n return dateTime.toLocaleString({\n hour: '2-digit',\n minute: '2-digit'\n });\n}\n", "export default function (lower: number, upper: number, target: number = 5, isSmall?: boolean): number[] {\n const STEP_TICK_SIZES = [1, 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000] as const;\n const STEP_TICK_SMALL_SIZES = [.1, .5, ...STEP_TICK_SIZES];\n\n const delta = upper - lower;\n const sizes = isSmall ? STEP_TICK_SMALL_SIZES : STEP_TICK_SIZES;\n\n for (const size of sizes) {\n const count = Math.floor(delta / size);\n const steps: number[] = [];\n\n if (count > target + 1) {\n continue;\n }\n\n steps.push(lower);\n\n for (let i = 1; i < count; ++i) {\n steps.push(i * size + lower);\n }\n\n steps.push(upper);\n\n return steps;\n }\n\n const digits = delta.toString().length - 1;\n const power = Math.pow(10, digits);\n const steps: number[] = [];\n\n for (let i = 0; i < delta; i += power) {\n steps.push(i + lower);\n }\n\n return steps;\n}\n", "export default function (hex: string): [number, number, number] {\n const color = parseInt(hex.startsWith('#') ? hex.substring(1) : hex, 16);\n\n return [\n (color >> 16) & 255,\n (color >> 8) & 255,\n color & 255\n ];\n}\n", "export default function (p: number, q: number, t: number): number {\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n", "import hueToRGB from './hueToRGB';\n\nexport default function (h: number, s: number, l: number): [number, number, number] {\n let r: number, g: number, b: number;\n\n h /= 360;\n s /= 100;\n l /= 100;\n\n if (s === 0) {\n r = g = b = l;\n } else {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n\n r = hueToRGB(p, q, h + 1 / 3);\n g = hueToRGB(p, q, h);\n b = hueToRGB(p, q, h - 1 / 3);\n }\n\n r = Math.round(r * 255);\n g = Math.round(g * 255);\n b = Math.round(b * 255);\n\n return [r, g, b];\n}\n", "export default function (r: number, g: number, b: number): [number, number, number] {\n r /= 255;\n g /= 255;\n b /= 255;\n\n let cmin: number = Math.min(r, g, b),\n cmax: number = Math.max(r, g, b),\n delta: number = cmax - cmin,\n h: number, s: number = (cmax === 0 ? 0 : delta / cmax), v = cmax;\n\n if (cmax === cmin) {\n h = 0;\n } else {\n if (cmax === r) {\n h = (g - b) / delta + (g < b ? 6 : 0);\n } else if (cmax === g) {\n h = (b - r) / delta + 2;\n } else {\n h = (r - g) / delta + 4;\n }\n\n h /= 6;\n }\n\n return [h, s, v];\n};\n", "import hslToRGB from './hslToRGB';\nimport rgbToHSV from './rgbToHSV';\n\nexport default function (h: number, s: number, v: number): [number, number, number] {\n return rgbToHSV(...hslToRGB(h, s, v));\n}\n", "export default function (h: number, s: number, v: number): [number, number, number] {\n let r = 0, g = 0, b = 0;\n\n let i = Math.floor(h * 6),\n f = h * 6 - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n\n case 5:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n r = Math.round(r * 255);\n g = Math.round(g * 255);\n b = Math.round(b * 255);\n\n return [r, g, b];\n}\n", "export default function (r: number, g: number, b: number): [number, number, number] {\n r /= 255;\n g /= 255;\n b /= 255;\n\n let cmin: number = Math.min(r, g, b),\n cmax: number = Math.max(r, g, b),\n delta: number = cmax - cmin,\n h: number, s: number, l: number;\n\n if (delta === 0) {\n h = 0;\n } else if (cmax === r) {\n h = ((g - b) / delta) % 6;\n } else if (cmax === g) {\n h = (b - r) / delta + 2;\n } else {\n h = (r - g) / delta + 4;\n }\n\n h = Math.round(h * 60);\n\n if (h < 0) {\n h += 360;\n }\n\n l = (cmax + cmin) / 2;\n s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));\n\n s = +(s * 100).toFixed(1);\n l = +(l * 100).toFixed(1);\n\n return [h, s, l];\n};\n", "import hsvToRGB from './hsvToRGB';\nimport rgbToHSL from './rgbToHSL';\n\nexport default function (h: number, s: number, v: number): [number, number, number] {\n return rgbToHSL(...hsvToRGB(h, s, v));\n}\n", "export default function (elm: unknown): elm is HTMLElement {\n return elm instanceof HTMLElement;\n}\n", "type Point = [number, number];\n\nexport default function (point: Point, polygon: Point[]): boolean {\n let inside = false;\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0], yi = polygon[i][1];\n const xj = polygon[j][0], yj = polygon[j][1];\n const intersect = ((yi > point[1]) != (yj > point[1])) && (point[0] < (xj - xi) * (point[1] - yi) / (yj - yi) + xi);\n\n if (intersect) {\n inside = !inside;\n }\n }\n\n return inside;\n}\n", "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime, today: DateTime): boolean {\n return today.hasSame(dateTime, 'day');\n}\n", "function mulberry32(seed: number): Mulberry32 {\n const state = new Uint32Array(1);\n state[0] = seed;\n\n function next(): number {\n const innerState = (state[0] = (state[0] + 0x6d2b79f5) | 0);\n let t = Math.imul(innerState ^ (innerState >>> 15), 1 | innerState);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n }\n\n function nextBetween(from: number, to: number): number {\n return next() * (to - from) + from;\n }\n\n function fork(): Mulberry32 {\n return mulberry32(next() * 2 ** 32);\n }\n\n return {\n fork,\n next,\n nextBetween\n };\n}\n\nexport default mulberry32;\n\nexport type Mulberry32 = {\n fork(): Mulberry32;\n next(): number;\n nextBetween(min: number, max: number): number;\n}\n", "export default function (url: string): void {\n if (window.location !== window.parent.location) {\n window.open(url, '_top');\n } else {\n window.location.href = url;\n }\n}\n", "export default function (r: number, g: number, b: number): string {\n const sr = r.toString(16).padStart(2, '0');\n const sg = g.toString(16).padStart(2, '0');\n const sb = b.toString(16).padStart(2, '0');\n\n return `#${sr}${sg}${sb}`;\n}\n", "export default function (fn: Function): void {\n if ('startViewTransition' in document) {\n (document.startViewTransition as Function)(fn);\n } else {\n fn();\n }\n}\n", "export default async function (ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n", "export { default as clampWithStepPrecision } from './clampWithStepPrecision';\nexport { default as countDecimals } from './countDecimals';\nexport { default as defineStore } from './defineStore';\nexport { default as downloadBlob } from './downloadBlob';\nexport { default as downloadString } from './downloadString';\nexport { default as downloadUrl } from './downloadUrl';\nexport { default as formatDate } from './formatDate';\nexport { default as formatDateFull } from './formatDateFull';\nexport { default as formatDateTime } from './formatDateTime';\nexport { default as formatMonth } from './formatMonth';\nexport { default as formatNumber } from './formatNumber';\nexport { default as formatPercentage } from './formatPercentage';\nexport { default as formatTime } from './formatTime';\nexport { default as generateStepTicks } from './generateStepTicks';\nexport { default as hexToRGB } from './hexToRGB';\nexport { default as hslToHSV } from './hslToHSV';\nexport { default as hslToRGB } from './hslToRGB';\nexport { default as hsvToHSL } from './hsvToHSL';\nexport { default as hsvToRGB } from './hsvToRGB';\nexport { default as hueToRGB } from './hueToRGB';\nexport { default as isHtmlElement } from './isHtmlElement';\nexport { default as isPointInPolygon } from './isPointInPolygon';\nexport { default as isToday } from './isToday';\nexport { default as mulberry32, type Mulberry32 } from './mulberry32';\nexport { default as openUrl } from './openUrl';\nexport { default as rgbToHEX } from './rgbToHEX';\nexport { default as rgbToHSL } from './rgbToHSL';\nexport { default as rgbToHSV } from './rgbToHSV';\nexport { default as roundStep } from './roundStep';\nexport { default as viewTransition } from './viewTransition';\nexport { default as waitFor } from './waitFor';\n\nexport const MDASH = '\u2014';\nexport const NDASH = '\u2013';\nexport const NOOP = () => void 0;\n"],
5
5
  "mappings": ";AAAe,SAAR,kBAAkB,OAAe,MAAsB;AAC1D,SAAO,KAAK,MAAM,QAAQ,IAAI,IAAI;AACtC;;;ACAe,SAAR,+BAAkB,OAAe,KAAa,KAAa,MAAsB;AACpF,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,kBAAU,SAAS,MAAM,OAAO,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAClG;;;ACJe,SAAR,sBAAkB,OAAuB;AAC5C,SAAO,MAAM,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,UAAU;AACrD;;;ACFA,SAAS,aAA2B,mBAAmB;AAExC,SAAR,oBAAyG,IAAQ,OAAiC;AACrJ,QAAM,UAAU,YAAY,IAAI,KAAK;AAErC,SAAO,MAAM;AACT,UAAM,QAAQ,QAAQ;AACtB,UAAM,OAAO,OAAO,oBAAoB,KAAK;AAC7C,UAAM,OAAO,YAAY,KAAqB;AAC9C,UAAM,SAAkC,CAAC;AAEzC,eAAW,OAAO,MAAM;AACpB,UAAI,IAAI,WAAW,GAAG,KAAK,IAAI,WAAW,GAAG,GAAG;AAC5C;AAAA,MACJ;AAEA,UAAI,OAAO,MAAM;AACb,eAAO,GAAG,IAAI,KAAK,GAAG;AACtB;AAAA,MACJ;AAEA,aAAO,GAAG,IAAI,MAAM,GAAG;AAAA,IAC3B;AAEA,WAAO;AAAA,EACX;AACJ;;;AC1Be,SAAR,oBAAkB,KAAa,UAAwB;AAC1D,QAAM,SAAS,SAAS,cAAc,GAAG;AACzC,SAAO,WAAW;AAClB,SAAO,OAAO;AAEd,WAAS,KAAK,YAAY,MAAM;AAChC,SAAO,MAAM;AACb,WAAS,KAAK,YAAY,MAAM;AACpC;;;ACNe,SAAR,qBAAkB,MAAY,UAAwB;AACzD,QAAM,MAAM,IAAI,gBAAgB,IAAI;AACpC,sBAAY,KAAK,QAAQ;AACzB,MAAI,gBAAgB,GAAG;AAC3B;;;ACJe,SAAR,uBAAkB,MAAc,UAAkB,MAAoB;AACzE,QAAM,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAC,KAAI,CAAC;AACpC,uBAAa,MAAM,QAAQ;AAC/B;;;ACHe,SAAR,mBAAkB,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACT,CAAC;AACL;;;ACNe,SAAR,uBAAkB,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,EACX,CAAC;AACL;;;ACNe,SAAR,uBAAkB,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ,CAAC;AACL;;;ACRe,SAAR,oBAAkB,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,OAAO;AAAA,EACX,CAAC;AACL;;;ACNe,SAAR,qBAAkB,OAAe,WAAmB,GAAW;AAClE,QAAM,YAAY,IAAI,KAAK,aAAa,UAAU,UAAU;AAAA,IACxD,uBAAuB;AAAA,IACvB,uBAAuB;AAAA,EAC3B,CAAC;AAED,SAAO,UAAU,OAAO,KAAK;AACjC;;;ACPe,SAAR,yBAAkB,OAAuB;AAC5C,SAAO,IAAI,KAAK,aAAa,UAAU,UAAU;AAAA,IAC7C,uBAAuB;AAAA,IACvB,uBAAuB;AAAA,IACvB,OAAO;AAAA,EACX,CAAC,EAAE,OAAO,KAAK;AACnB;;;ACJe,SAAR,mBAAkB,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ,CAAC;AACL;;;ACPe,SAAR,0BAAkB,OAAe,OAAe,SAAiB,GAAG,SAA6B;AACpG,QAAM,kBAAkB,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAM,MAAM,KAAM,GAAK;AACjF,QAAM,wBAAwB,CAAC,KAAI,KAAI,GAAG,eAAe;AAEzD,QAAM,QAAQ,QAAQ;AACtB,QAAM,QAAQ,UAAU,wBAAwB;AAEhD,aAAW,QAAQ,OAAO;AACtB,UAAM,QAAQ,KAAK,MAAM,QAAQ,IAAI;AACrC,UAAMA,SAAkB,CAAC;AAEzB,QAAI,QAAQ,SAAS,GAAG;AACpB;AAAA,IACJ;AAEA,IAAAA,OAAM,KAAK,KAAK;AAEhB,aAAS,IAAI,GAAG,IAAI,OAAO,EAAE,GAAG;AAC5B,MAAAA,OAAM,KAAK,IAAI,OAAO,KAAK;AAAA,IAC/B;AAEA,IAAAA,OAAM,KAAK,KAAK;AAEhB,WAAOA;AAAA,EACX;AAEA,QAAM,SAAS,MAAM,SAAS,EAAE,SAAS;AACzC,QAAM,QAAQ,KAAK,IAAI,IAAI,MAAM;AACjC,QAAM,QAAkB,CAAC;AAEzB,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK,OAAO;AACnC,UAAM,KAAK,IAAI,KAAK;AAAA,EACxB;AAEA,SAAO;AACX;;;ACnCe,SAAR,iBAAkB,KAAuC;AAC5D,QAAM,QAAQ,SAAS,IAAI,WAAW,GAAG,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,EAAE;AAEvE,SAAO;AAAA,IACF,SAAS,KAAM;AAAA,IACf,SAAS,IAAK;AAAA,IACf,QAAQ;AAAA,EACZ;AACJ;;;ACRe,SAAR,iBAAkB,GAAW,GAAW,GAAmB;AAC9D,MAAI,IAAI,GAAG;AACP,SAAK;AAAA,EACT;AAEA,MAAI,IAAI,GAAG;AACP,SAAK;AAAA,EACT;AAEA,MAAI,IAAI,IAAI,GAAG;AACX,WAAO,KAAK,IAAI,KAAK,IAAI;AAAA,EAC7B;AAEA,MAAI,IAAI,IAAI,GAAG;AACX,WAAO;AAAA,EACX;AAEA,MAAI,IAAI,IAAI,GAAG;AACX,WAAO,KAAK,IAAI,MAAM,IAAI,IAAI,KAAK;AAAA,EACvC;AAEA,SAAO;AACX;;;ACpBe,SAAR,iBAAkB,GAAW,GAAW,GAAqC;AAChF,MAAI,GAAW,GAAW;AAE1B,OAAK;AACL,OAAK;AACL,OAAK;AAEL,MAAI,MAAM,GAAG;AACT,QAAI,IAAI,IAAI;AAAA,EAChB,OAAO;AACH,UAAM,IAAI,IAAI,MAAM,KAAK,IAAI,KAAK,IAAI,IAAI,IAAI;AAC9C,UAAM,IAAI,IAAI,IAAI;AAElB,QAAI,iBAAS,GAAG,GAAG,IAAI,IAAI,CAAC;AAC5B,QAAI,iBAAS,GAAG,GAAG,CAAC;AACpB,QAAI,iBAAS,GAAG,GAAG,IAAI,IAAI,CAAC;AAAA,EAChC;AAEA,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AAEtB,SAAO,CAAC,GAAG,GAAG,CAAC;AACnB;;;ACzBe,SAAR,iBAAkB,GAAW,GAAW,GAAqC;AAChF,OAAK;AACL,OAAK;AACL,OAAK;AAEL,MAAI,OAAe,KAAK,IAAI,GAAG,GAAG,CAAC,GAC/B,OAAe,KAAK,IAAI,GAAG,GAAG,CAAC,GAC/B,QAAgB,OAAO,MACvB,GAAW,IAAa,SAAS,IAAI,IAAI,QAAQ,MAAO,IAAI;AAEhE,MAAI,SAAS,MAAM;AACf,QAAI;AAAA,EACR,OAAO;AACH,QAAI,SAAS,GAAG;AACZ,WAAK,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI;AAAA,IACvC,WAAW,SAAS,GAAG;AACnB,WAAK,IAAI,KAAK,QAAQ;AAAA,IAC1B,OAAO;AACH,WAAK,IAAI,KAAK,QAAQ;AAAA,IAC1B;AAEA,SAAK;AAAA,EACT;AAEA,SAAO,CAAC,GAAG,GAAG,CAAC;AACnB;;;ACtBe,SAAR,iBAAkB,GAAW,GAAW,GAAqC;AAChF,SAAO,iBAAS,GAAG,iBAAS,GAAG,GAAG,CAAC,CAAC;AACxC;;;ACLe,SAAR,iBAAkB,GAAW,GAAW,GAAqC;AAChF,MAAI,IAAI,GAAG,IAAI,GAAG,IAAI;AAEtB,MAAI,IAAI,KAAK,MAAM,IAAI,CAAC,GACpB,IAAI,IAAI,IAAI,GACZ,IAAI,KAAK,IAAI,IACb,IAAI,KAAK,IAAI,IAAI,IACjB,IAAI,KAAK,KAAK,IAAI,KAAK;AAE3B,UAAQ,IAAI,GAAG;AAAA,IACX,KAAK;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,IAEJ,KAAK;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,IAEJ,KAAK;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,IAEJ,KAAK;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,IAEJ,KAAK;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,IAEJ,KAAK;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,EACR;AAEA,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AAEtB,SAAO,CAAC,GAAG,GAAG,CAAC;AACnB;;;ACpDe,SAAR,iBAAkB,GAAW,GAAW,GAAqC;AAChF,OAAK;AACL,OAAK;AACL,OAAK;AAEL,MAAI,OAAe,KAAK,IAAI,GAAG,GAAG,CAAC,GAC/B,OAAe,KAAK,IAAI,GAAG,GAAG,CAAC,GAC/B,QAAgB,OAAO,MACvB,GAAW,GAAW;AAE1B,MAAI,UAAU,GAAG;AACb,QAAI;AAAA,EACR,WAAW,SAAS,GAAG;AACnB,SAAM,IAAI,KAAK,QAAS;AAAA,EAC5B,WAAW,SAAS,GAAG;AACnB,SAAK,IAAI,KAAK,QAAQ;AAAA,EAC1B,OAAO;AACH,SAAK,IAAI,KAAK,QAAQ;AAAA,EAC1B;AAEA,MAAI,KAAK,MAAM,IAAI,EAAE;AAErB,MAAI,IAAI,GAAG;AACP,SAAK;AAAA,EACT;AAEA,OAAK,OAAO,QAAQ;AACpB,MAAI,UAAU,IAAI,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;AAErD,MAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;AACxB,MAAI,EAAE,IAAI,KAAK,QAAQ,CAAC;AAExB,SAAO,CAAC,GAAG,GAAG,CAAC;AACnB;;;AC9Be,SAAR,iBAAkB,GAAW,GAAW,GAAqC;AAChF,SAAO,iBAAS,GAAG,iBAAS,GAAG,GAAG,CAAC,CAAC;AACxC;;;ACLe,SAAR,sBAAkB,KAAkC;AACvD,SAAO,eAAe;AAC1B;;;ACAe,SAAR,yBAAkB,OAAc,SAA2B;AAC9D,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,QAAQ,SAAS,GAAG,IAAI,QAAQ,QAAQ,IAAI,KAAK;AACjE,UAAM,KAAK,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;AAC3C,UAAM,KAAK,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;AAC3C,UAAM,YAAc,KAAK,MAAM,CAAC,KAAO,KAAK,MAAM,CAAC,KAAQ,MAAM,CAAC,KAAK,KAAK,OAAO,MAAM,CAAC,IAAI,OAAO,KAAK,MAAM;AAEhH,QAAI,WAAW;AACX,eAAS,CAAC;AAAA,IACd;AAAA,EACJ;AAEA,SAAO;AACX;;;ACde,SAAR,gBAAkB,UAAoB,OAA0B;AACnE,SAAO,MAAM,QAAQ,UAAU,KAAK;AACxC;;;ACJA,SAAS,WAAW,MAA0B;AAC1C,QAAM,QAAQ,IAAI,YAAY,CAAC;AAC/B,QAAM,CAAC,IAAI;AAEX,WAAS,OAAe;AACpB,UAAM,aAAc,MAAM,CAAC,IAAK,MAAM,CAAC,IAAI,aAAc;AACzD,QAAI,IAAI,KAAK,KAAK,aAAc,eAAe,IAAK,IAAI,UAAU;AAClE,QAAK,IAAI,KAAK,KAAK,IAAK,MAAM,GAAI,KAAK,CAAC,IAAK;AAE7C,aAAS,IAAK,MAAM,QAAS,KAAK;AAAA,EACtC;AAEA,WAAS,YAAY,MAAc,IAAoB;AACnD,WAAO,KAAK,KAAK,KAAK,QAAQ;AAAA,EAClC;AAEA,WAAS,OAAmB;AACxB,WAAO,WAAW,KAAK,IAAI,KAAK,EAAE;AAAA,EACtC;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAEA,IAAO,qBAAQ;;;AC3BA,SAAR,gBAAkB,KAAmB;AACxC,MAAI,OAAO,aAAa,OAAO,OAAO,UAAU;AAC5C,WAAO,KAAK,KAAK,MAAM;AAAA,EAC3B,OAAO;AACH,WAAO,SAAS,OAAO;AAAA,EAC3B;AACJ;;;ACNe,SAAR,iBAAkB,GAAW,GAAW,GAAmB;AAC9D,QAAM,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AACzC,QAAM,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AACzC,QAAM,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAEzC,SAAO,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;AAC3B;;;ACNe,SAAR,uBAAkB,IAAoB;AACzC,MAAI,yBAAyB,UAAU;AACnC,IAAC,SAAS,oBAAiC,EAAE;AAAA,EACjD,OAAO;AACH,OAAG;AAAA,EACP;AACJ;;;ACNA,eAAO,gBAAwB,IAA2B;AACtD,SAAO,IAAI,QAAQ,aAAW,WAAW,SAAS,EAAE,CAAC;AACzD;;;AC8BO,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,OAAO,MAAM;",
6
6
  "names": ["steps"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basmilius/utils",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Various utilities that are commonly used in personal projects.",
5
5
  "type": "module",
6
6
  "license": "MIT",