@basmilius/utils 1.8.0 → 1.9.0
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/utils.js.map +1 -1
- package/package.json +6 -5
- package/src/clampWithStepPrecision.ts +5 -0
- package/src/countDecimals.ts +3 -0
- package/src/defineStore.ts +31 -0
- package/src/downloadBlob.ts +7 -0
- package/src/downloadString.ts +6 -0
- package/src/downloadUrl.ts +9 -0
- package/src/formatDate.ts +9 -0
- package/src/formatDateFull.ts +9 -0
- package/src/formatDateTime.ts +11 -0
- package/src/formatMonth.ts +7 -0
- package/src/formatNumber.ts +8 -0
- package/src/formatPercentage.ts +7 -0
- package/src/formatTime.ts +8 -0
- package/src/generateStepTicks.ts +36 -0
- package/src/getPrototypeChain.ts +25 -0
- package/src/hexToRGB.ts +9 -0
- package/src/hslToHSV.ts +6 -0
- package/src/hslToRGB.ts +26 -0
- package/src/hsvToHSL.ts +6 -0
- package/src/hsvToRGB.ts +53 -0
- package/src/hueToRGB.ts +23 -0
- package/src/index.ts +41 -0
- package/src/isHtmlElement.ts +3 -0
- package/src/isPointInPolygon.ts +17 -0
- package/src/isToday.ts +5 -0
- package/src/mulberry32.ts +34 -0
- package/src/openUrl.ts +7 -0
- package/src/rgbToHEX.ts +7 -0
- package/src/rgbToHSL.ts +34 -0
- package/src/rgbToHSV.ts +26 -0
- package/src/roundStep.ts +3 -0
- package/src/setObjectMethod.ts +3 -0
- package/src/setObjectValue.ts +3 -0
- package/src/viewTransition.ts +7 -0
- package/src/waitFor.ts +3 -0
package/dist/utils.js.map
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"export default async function (ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n",
|
|
39
39
|
"export type Constructor<T = {}> = new (...args: any[]) => T;\nexport type Descriptors = Record<string | symbol, TypedPropertyDescriptor<unknown> | PropertyDescriptor>;\n\nexport { 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 getPrototypeChain } from './getPrototypeChain';\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 setObjectMethod } from './setObjectMethod';\nexport { default as setObjectValue } from './setObjectValue';\nexport { default as viewTransition } from './viewTransition';\nexport { default as waitFor } from './waitFor';\n\nexport const MDASH = '—';\nexport const NDASH = '–';\nexport const NOOP: Function = () => void 0;\n"
|
|
40
40
|
],
|
|
41
|
-
"mappings": ";AAAA,SAAO,iBAAiB,CAAC,OAAe,MAAsB;
|
|
41
|
+
"mappings": "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",
|
|
42
42
|
"debugId": "57A374B7C6C48CB264756E2164756E21",
|
|
43
43
|
"names": []
|
|
44
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basmilius/utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "Various utilities that are commonly used in personal projects.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"node": ">=23"
|
|
28
28
|
},
|
|
29
29
|
"files": [
|
|
30
|
-
"dist
|
|
30
|
+
"dist",
|
|
31
|
+
"src"
|
|
31
32
|
],
|
|
32
33
|
"publishConfig": {
|
|
33
34
|
"access": "public",
|
|
@@ -44,11 +45,11 @@
|
|
|
44
45
|
}
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
|
-
"@types/bun": "^1.2.
|
|
48
|
+
"@types/bun": "^1.2.4",
|
|
48
49
|
"@types/luxon": "^3.4.2",
|
|
49
50
|
"luxon": "^3.5.0",
|
|
50
|
-
"oxc-transform": "^0.
|
|
51
|
-
"pinia": "^3.0.
|
|
51
|
+
"oxc-transform": "^0.56.0",
|
|
52
|
+
"pinia": "^3.0.1"
|
|
52
53
|
},
|
|
53
54
|
"peerDependencies": {
|
|
54
55
|
"luxon": "^3.5.0",
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { defineStore, StoreGeneric, storeToRefs } from 'pinia';
|
|
2
|
+
|
|
3
|
+
export default function <Id extends string, Setup extends (...args: any[]) => any, Context = ReturnType<Setup>>(id: Id, setup: Setup): UseStore<Context> {
|
|
4
|
+
const storeFn = defineStore(id, setup);
|
|
5
|
+
|
|
6
|
+
return () => {
|
|
7
|
+
const store = storeFn();
|
|
8
|
+
const keys = Object.getOwnPropertyNames(store);
|
|
9
|
+
const refs = storeToRefs(store as StoreGeneric);
|
|
10
|
+
const result: Record<string, unknown> = {};
|
|
11
|
+
|
|
12
|
+
for (const key of keys) {
|
|
13
|
+
if (key.startsWith('$') || key.startsWith('_')) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (key in refs) {
|
|
18
|
+
result[key] = refs[key];
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
result[key] = store[key];
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return result as Context;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type UseStore<R> = {
|
|
30
|
+
(): R;
|
|
31
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export default function (lower: number, upper: number, target: number = 5, isSmall?: boolean): number[] {
|
|
2
|
+
const STEP_TICK_SIZES = [1, 5, 10, 25, 50, 100, 250, 500, 1000, 2500, 5000, 10000] as const;
|
|
3
|
+
const STEP_TICK_SMALL_SIZES = [.1, .5, ...STEP_TICK_SIZES];
|
|
4
|
+
|
|
5
|
+
const delta = upper - lower;
|
|
6
|
+
const sizes = isSmall ? STEP_TICK_SMALL_SIZES : STEP_TICK_SIZES;
|
|
7
|
+
|
|
8
|
+
for (const size of sizes) {
|
|
9
|
+
const count = Math.floor(delta / size);
|
|
10
|
+
const steps: number[] = [];
|
|
11
|
+
|
|
12
|
+
if (count > target + 1) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
steps.push(lower);
|
|
17
|
+
|
|
18
|
+
for (let i = 1; i < count; ++i) {
|
|
19
|
+
steps.push(i * size + lower);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
steps.push(upper);
|
|
23
|
+
|
|
24
|
+
return steps;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const digits = delta.toString().length - 1;
|
|
28
|
+
const power = Math.pow(10, digits);
|
|
29
|
+
const steps: number[] = [];
|
|
30
|
+
|
|
31
|
+
for (let i = 0; i < delta; i += power) {
|
|
32
|
+
steps.push(i + lower);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return steps;
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Descriptors } from '@/index';
|
|
2
|
+
|
|
3
|
+
export default function (obj: Function): Descriptors {
|
|
4
|
+
const entries: Descriptors = {};
|
|
5
|
+
|
|
6
|
+
do {
|
|
7
|
+
if (obj.name === '') {
|
|
8
|
+
break;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(obj.prototype))) {
|
|
12
|
+
if (['constructor', 'clone', 'toJSON'].includes(key)) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (!descriptor.get && !descriptor.set) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
entries[key] = descriptor;
|
|
21
|
+
}
|
|
22
|
+
} while (obj = Object.getPrototypeOf(obj));
|
|
23
|
+
|
|
24
|
+
return entries;
|
|
25
|
+
}
|
package/src/hexToRGB.ts
ADDED
package/src/hslToHSV.ts
ADDED
package/src/hslToRGB.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import hueToRGB from './hueToRGB';
|
|
2
|
+
|
|
3
|
+
export default function (h: number, s: number, l: number): [number, number, number] {
|
|
4
|
+
let r: number, g: number, b: number;
|
|
5
|
+
|
|
6
|
+
h /= 360;
|
|
7
|
+
s /= 100;
|
|
8
|
+
l /= 100;
|
|
9
|
+
|
|
10
|
+
if (s === 0) {
|
|
11
|
+
r = g = b = l;
|
|
12
|
+
} else {
|
|
13
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
14
|
+
const p = 2 * l - q;
|
|
15
|
+
|
|
16
|
+
r = hueToRGB(p, q, h + 1 / 3);
|
|
17
|
+
g = hueToRGB(p, q, h);
|
|
18
|
+
b = hueToRGB(p, q, h - 1 / 3);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
r = Math.round(r * 255);
|
|
22
|
+
g = Math.round(g * 255);
|
|
23
|
+
b = Math.round(b * 255);
|
|
24
|
+
|
|
25
|
+
return [r, g, b];
|
|
26
|
+
}
|
package/src/hsvToHSL.ts
ADDED
package/src/hsvToRGB.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export default function (h: number, s: number, v: number): [number, number, number] {
|
|
2
|
+
let r = 0, g = 0, b = 0;
|
|
3
|
+
|
|
4
|
+
let i = Math.floor(h * 6),
|
|
5
|
+
f = h * 6 - i,
|
|
6
|
+
p = v * (1 - s),
|
|
7
|
+
q = v * (1 - f * s),
|
|
8
|
+
t = v * (1 - (1 - f) * s);
|
|
9
|
+
|
|
10
|
+
switch (i % 6) {
|
|
11
|
+
case 0:
|
|
12
|
+
r = v;
|
|
13
|
+
g = t;
|
|
14
|
+
b = p;
|
|
15
|
+
break;
|
|
16
|
+
|
|
17
|
+
case 1:
|
|
18
|
+
r = q;
|
|
19
|
+
g = v;
|
|
20
|
+
b = p;
|
|
21
|
+
break;
|
|
22
|
+
|
|
23
|
+
case 2:
|
|
24
|
+
r = p;
|
|
25
|
+
g = v;
|
|
26
|
+
b = t;
|
|
27
|
+
break;
|
|
28
|
+
|
|
29
|
+
case 3:
|
|
30
|
+
r = p;
|
|
31
|
+
g = q;
|
|
32
|
+
b = v;
|
|
33
|
+
break;
|
|
34
|
+
|
|
35
|
+
case 4:
|
|
36
|
+
r = t;
|
|
37
|
+
g = p;
|
|
38
|
+
b = v;
|
|
39
|
+
break;
|
|
40
|
+
|
|
41
|
+
case 5:
|
|
42
|
+
r = v;
|
|
43
|
+
g = p;
|
|
44
|
+
b = q;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
r = Math.round(r * 255);
|
|
49
|
+
g = Math.round(g * 255);
|
|
50
|
+
b = Math.round(b * 255);
|
|
51
|
+
|
|
52
|
+
return [r, g, b];
|
|
53
|
+
}
|
package/src/hueToRGB.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default function (p: number, q: number, t: number): number {
|
|
2
|
+
if (t < 0) {
|
|
3
|
+
t += 1;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
if (t > 1) {
|
|
7
|
+
t -= 1;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (t < 1 / 6) {
|
|
11
|
+
return p + (q - p) * 6 * t;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (t < 1 / 2) {
|
|
15
|
+
return q;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (t < 2 / 3) {
|
|
19
|
+
return p + (q - p) * (2 / 3 - t) * 6;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return p;
|
|
23
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export type Constructor<T = {}> = new (...args: any[]) => T;
|
|
2
|
+
export type Descriptors = Record<string | symbol, TypedPropertyDescriptor<unknown> | PropertyDescriptor>;
|
|
3
|
+
|
|
4
|
+
export { default as clampWithStepPrecision } from './clampWithStepPrecision';
|
|
5
|
+
export { default as countDecimals } from './countDecimals';
|
|
6
|
+
export { default as defineStore } from './defineStore';
|
|
7
|
+
export { default as downloadBlob } from './downloadBlob';
|
|
8
|
+
export { default as downloadString } from './downloadString';
|
|
9
|
+
export { default as downloadUrl } from './downloadUrl';
|
|
10
|
+
export { default as formatDate } from './formatDate';
|
|
11
|
+
export { default as formatDateFull } from './formatDateFull';
|
|
12
|
+
export { default as formatDateTime } from './formatDateTime';
|
|
13
|
+
export { default as formatMonth } from './formatMonth';
|
|
14
|
+
export { default as formatNumber } from './formatNumber';
|
|
15
|
+
export { default as formatPercentage } from './formatPercentage';
|
|
16
|
+
export { default as formatTime } from './formatTime';
|
|
17
|
+
export { default as generateStepTicks } from './generateStepTicks';
|
|
18
|
+
export { default as getPrototypeChain } from './getPrototypeChain';
|
|
19
|
+
export { default as hexToRGB } from './hexToRGB';
|
|
20
|
+
export { default as hslToHSV } from './hslToHSV';
|
|
21
|
+
export { default as hslToRGB } from './hslToRGB';
|
|
22
|
+
export { default as hsvToHSL } from './hsvToHSL';
|
|
23
|
+
export { default as hsvToRGB } from './hsvToRGB';
|
|
24
|
+
export { default as hueToRGB } from './hueToRGB';
|
|
25
|
+
export { default as isHtmlElement } from './isHtmlElement';
|
|
26
|
+
export { default as isPointInPolygon } from './isPointInPolygon';
|
|
27
|
+
export { default as isToday } from './isToday';
|
|
28
|
+
export { default as mulberry32, type Mulberry32 } from './mulberry32';
|
|
29
|
+
export { default as openUrl } from './openUrl';
|
|
30
|
+
export { default as rgbToHEX } from './rgbToHEX';
|
|
31
|
+
export { default as rgbToHSL } from './rgbToHSL';
|
|
32
|
+
export { default as rgbToHSV } from './rgbToHSV';
|
|
33
|
+
export { default as roundStep } from './roundStep';
|
|
34
|
+
export { default as setObjectMethod } from './setObjectMethod';
|
|
35
|
+
export { default as setObjectValue } from './setObjectValue';
|
|
36
|
+
export { default as viewTransition } from './viewTransition';
|
|
37
|
+
export { default as waitFor } from './waitFor';
|
|
38
|
+
|
|
39
|
+
export const MDASH = '—';
|
|
40
|
+
export const NDASH = '–';
|
|
41
|
+
export const NOOP: Function = () => void 0;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type Point = [number, number];
|
|
2
|
+
|
|
3
|
+
export default function (point: Point, polygon: Point[]): boolean {
|
|
4
|
+
let inside = false;
|
|
5
|
+
|
|
6
|
+
for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
7
|
+
const xi = polygon[i][0], yi = polygon[i][1];
|
|
8
|
+
const xj = polygon[j][0], yj = polygon[j][1];
|
|
9
|
+
const intersect = ((yi > point[1]) != (yj > point[1])) && (point[0] < (xj - xi) * (point[1] - yi) / (yj - yi) + xi);
|
|
10
|
+
|
|
11
|
+
if (intersect) {
|
|
12
|
+
inside = !inside;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return inside;
|
|
17
|
+
}
|
package/src/isToday.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function mulberry32(seed: number): Mulberry32 {
|
|
2
|
+
const state = new Uint32Array(1);
|
|
3
|
+
state[0] = seed;
|
|
4
|
+
|
|
5
|
+
function next(): number {
|
|
6
|
+
const innerState = (state[0] = (state[0] + 0x6d2b79f5) | 0);
|
|
7
|
+
let t = Math.imul(innerState ^ (innerState >>> 15), 1 | innerState);
|
|
8
|
+
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
|
|
9
|
+
|
|
10
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function nextBetween(from: number, to: number): number {
|
|
14
|
+
return next() * (to - from) + from;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function fork(): Mulberry32 {
|
|
18
|
+
return mulberry32(next() * 2 ** 32);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return {
|
|
22
|
+
fork,
|
|
23
|
+
next,
|
|
24
|
+
nextBetween
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default mulberry32;
|
|
29
|
+
|
|
30
|
+
export type Mulberry32 = {
|
|
31
|
+
fork(): Mulberry32;
|
|
32
|
+
next(): number;
|
|
33
|
+
nextBetween(min: number, max: number): number;
|
|
34
|
+
}
|
package/src/openUrl.ts
ADDED
package/src/rgbToHEX.ts
ADDED
package/src/rgbToHSL.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export default function (r: number, g: number, b: number): [number, number, number] {
|
|
2
|
+
r /= 255;
|
|
3
|
+
g /= 255;
|
|
4
|
+
b /= 255;
|
|
5
|
+
|
|
6
|
+
let cmin: number = Math.min(r, g, b),
|
|
7
|
+
cmax: number = Math.max(r, g, b),
|
|
8
|
+
delta: number = cmax - cmin,
|
|
9
|
+
h: number, s: number, l: number;
|
|
10
|
+
|
|
11
|
+
if (delta === 0) {
|
|
12
|
+
h = 0;
|
|
13
|
+
} else if (cmax === r) {
|
|
14
|
+
h = ((g - b) / delta) % 6;
|
|
15
|
+
} else if (cmax === g) {
|
|
16
|
+
h = (b - r) / delta + 2;
|
|
17
|
+
} else {
|
|
18
|
+
h = (r - g) / delta + 4;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
h = Math.round(h * 60);
|
|
22
|
+
|
|
23
|
+
if (h < 0) {
|
|
24
|
+
h += 360;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
l = (cmax + cmin) / 2;
|
|
28
|
+
s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));
|
|
29
|
+
|
|
30
|
+
s = +(s * 100).toFixed(1);
|
|
31
|
+
l = +(l * 100).toFixed(1);
|
|
32
|
+
|
|
33
|
+
return [h, s, l];
|
|
34
|
+
};
|
package/src/rgbToHSV.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default function (r: number, g: number, b: number): [number, number, number] {
|
|
2
|
+
r /= 255;
|
|
3
|
+
g /= 255;
|
|
4
|
+
b /= 255;
|
|
5
|
+
|
|
6
|
+
let cmin: number = Math.min(r, g, b),
|
|
7
|
+
cmax: number = Math.max(r, g, b),
|
|
8
|
+
delta: number = cmax - cmin,
|
|
9
|
+
h: number, s: number = (cmax === 0 ? 0 : delta / cmax), v = cmax;
|
|
10
|
+
|
|
11
|
+
if (cmax === cmin) {
|
|
12
|
+
h = 0;
|
|
13
|
+
} else {
|
|
14
|
+
if (cmax === r) {
|
|
15
|
+
h = (g - b) / delta + (g < b ? 6 : 0);
|
|
16
|
+
} else if (cmax === g) {
|
|
17
|
+
h = (b - r) / delta + 2;
|
|
18
|
+
} else {
|
|
19
|
+
h = (r - g) / delta + 4;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
h /= 6;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return [h, s, v];
|
|
26
|
+
};
|
package/src/roundStep.ts
ADDED
package/src/waitFor.ts
ADDED