@basmilius/utils 1.14.0 → 1.15.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/index.d.ts CHANGED
@@ -26,6 +26,8 @@ export { default as isPointInPolygon } from "./isPointInPolygon";
26
26
  export { default as isToday } from "./isToday";
27
27
  export { default as mulberry32, type Mulberry32 } from "./mulberry32";
28
28
  export { default as openUrl } from "./openUrl";
29
+ export { default as persistentRef } from "./persistentRef";
30
+ export { default as persistentStringRef } from "./persistentStringRef";
29
31
  export { default as rgbToHEX } from "./rgbToHEX";
30
32
  export { default as rgbToHSL } from "./rgbToHSL";
31
33
  export { default as rgbToHSV } from "./rgbToHSV";
@@ -34,6 +36,8 @@ export { default as setObjectMethod } from "./setObjectMethod";
34
36
  export { default as setObjectValue } from "./setObjectValue";
35
37
  export { default as viewTransition } from "./viewTransition";
36
38
  export { default as waitFor } from "./waitFor";
37
- export declare const MDASH = "";
38
- export declare const NDASH = "";
39
+ export declare const CHECK: "";
40
+ export declare const CROSS: "";
41
+ export declare const MDASH: "—";
42
+ export declare const NDASH: "–";
39
43
  export declare const NOOP: Function;
@@ -0,0 +1,4 @@
1
+ import type { Ref } from "vue";
2
+ type Deserializer<T> = (value: string) => T;
3
+ type Serializer<T> = (value: T) => string;
4
+ export default function<T>(key: string, defaultValue: T, serialize?: Serializer<T>, deserialize?: Deserializer<T>): Ref<T | null>;
@@ -0,0 +1,2 @@
1
+ import type { Ref } from "vue";
2
+ export default function(key: string, defaultValue: string | null): Ref<string | null>;
package/dist/utils.js CHANGED
@@ -357,6 +357,25 @@ function openUrl_default(url) {
357
357
  window.location.href = url;
358
358
  }
359
359
  }
360
+ // src/persistentRef.ts
361
+ import { ref, watch } from "vue";
362
+ function persistentRef_default(key, defaultValue, serialize = JSON.stringify, deserialize = JSON.parse) {
363
+ const storedValue = localStorage.getItem(key);
364
+ const initialValue = storedValue ? deserialize(storedValue) : defaultValue;
365
+ const persistentRef = ref(initialValue);
366
+ watch(persistentRef, (value) => {
367
+ if (value === null || value === undefined) {
368
+ localStorage.removeItem(key);
369
+ } else {
370
+ localStorage.setItem(key, serialize(value));
371
+ }
372
+ }, { deep: true, immediate: true });
373
+ return persistentRef;
374
+ }
375
+ // src/persistentStringRef.ts
376
+ function persistentStringRef_default(key, defaultValue) {
377
+ return persistentRef_default(key, defaultValue, (value) => value ?? "", (value) => value === "" ? null : value);
378
+ }
360
379
  // src/rgbToHEX.ts
361
380
  function rgbToHEX_default(r, g, b) {
362
381
  const sr = r.toString(16).padStart(2, "0");
@@ -386,6 +405,8 @@ async function waitFor_default(ms) {
386
405
  }
387
406
 
388
407
  // src/index.ts
408
+ var CHECK = "✔";
409
+ var CROSS = "✘";
389
410
  var MDASH = "—";
390
411
  var NDASH = "–";
391
412
  var NOOP = () => {
@@ -400,6 +421,8 @@ export {
400
421
  rgbToHSV_default as rgbToHSV,
401
422
  rgbToHSL_default as rgbToHSL,
402
423
  rgbToHEX_default as rgbToHEX,
424
+ persistentStringRef_default as persistentStringRef,
425
+ persistentRef_default as persistentRef,
403
426
  openUrl_default as openUrl,
404
427
  mulberry32_default as mulberry32,
405
428
  isToday_default as isToday,
@@ -428,8 +451,10 @@ export {
428
451
  clampWithStepPrecision_default as clampWithStepPrecision,
429
452
  NOOP,
430
453
  NDASH,
431
- MDASH
454
+ MDASH,
455
+ CROSS,
456
+ CHECK
432
457
  };
433
458
 
434
- //# debugId=1AD0E300F4EDB03F64756E2164756E21
459
+ //# debugId=46D41BF193DB8D2864756E2164756E21
435
460
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 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/getPrototypeChain.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/setObjectMethod.ts", "../src/setObjectValue.ts", "../src/viewTransition.ts", "../src/waitFor.ts", "../src/index.ts"],
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/getPrototypeChain.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/persistentRef.ts", "../src/persistentStringRef.ts", "../src/rgbToHEX.ts", "../src/setObjectMethod.ts", "../src/setObjectValue.ts", "../src/viewTransition.ts", "../src/waitFor.ts", "../src/index.ts"],
4
4
  "sourcesContent": [
5
5
  "export default function (value: number, step: number): number {\n return Math.round(value / step) * step;\n}\n",
6
6
  "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",
@@ -31,14 +31,16 @@
31
31
  "import type { DateTime } from 'luxon';\n\nexport default function (dateTime: DateTime, today: DateTime): boolean {\n return today.hasSame(dateTime, 'day');\n}\n",
32
32
  "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",
33
33
  "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",
34
+ "import type { Ref } from 'vue';\nimport { ref, watch } from 'vue';\n\ntype Deserializer<T> = (value: string) => T;\ntype Serializer<T> = (value: T) => string;\n\nexport default function <T>(key: string, defaultValue: T, serialize: Serializer<T> = JSON.stringify, deserialize: Deserializer<T> = JSON.parse): Ref<T | null> {\n const storedValue = localStorage.getItem(key);\n const initialValue = storedValue ? deserialize(storedValue) : defaultValue;\n\n const persistentRef: Ref<T | null> = ref<T>(initialValue) as Ref<T | null>;\n\n watch(persistentRef, value => {\n if (value === null || value === undefined) {\n localStorage.removeItem(key);\n } else {\n localStorage.setItem(key, serialize(value));\n }\n }, {deep: true, immediate: true});\n\n return persistentRef;\n}\n",
35
+ "import type { Ref } from 'vue';\nimport persistentRef from './persistentRef';\n\nexport default function (key: string, defaultValue: string | null): Ref<string | null> {\n return persistentRef(key, defaultValue, value => value ?? '', value => value === '' ? null : value);\n}\n",
34
36
  "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",
35
37
  "export default function (obj: Function, key: string, fn: Function): void {\n obj.prototype[key] = fn;\n}\n",
36
38
  "export default function (obj: object, key: symbol | string, value: unknown): void {\n Object.defineProperty(obj, key, {value});\n}\n",
37
39
  "export default function (fn: Function): void {\n if ('startViewTransition' in document) {\n (document.startViewTransition as Function)(fn);\n } else {\n fn();\n }\n}\n",
38
40
  "export default async function (ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n",
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"
41
+ "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 persistentRef } from './persistentRef';\nexport { default as persistentStringRef } from './persistentStringRef';\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 CHECK = '✔' as const;\nexport const CROSS = '✘' as const;\nexport const MDASH = '—' as const;\nexport const NDASH = '–' as const;\nexport const NOOP: Function = () => void 0;\n"
40
42
  ],
41
- "mappings": "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",
42
- "debugId": "1AD0E300F4EDB03F64756E2164756E21",
43
+ "mappings": "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",
44
+ "debugId": "46D41BF193DB8D2864756E2164756E21",
43
45
  "names": []
44
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basmilius/utils",
3
- "version": "1.14.0",
3
+ "version": "1.15.0",
4
4
  "description": "Various utilities that are commonly used in personal projects.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -49,10 +49,12 @@
49
49
  "@types/bun": "^1.2.10",
50
50
  "@types/luxon": "^3.6.2",
51
51
  "luxon": "^3.6.1",
52
- "pinia": "^3.0.2"
52
+ "pinia": "^3.0.2",
53
+ "vue": "^3.5.13"
53
54
  },
54
55
  "peerDependencies": {
55
56
  "luxon": "^3.6.1",
56
- "pinia": "^3.0.2"
57
+ "pinia": "^3.0.2",
58
+ "vue": "^3.5.13"
57
59
  }
58
60
  }
package/src/index.ts CHANGED
@@ -27,6 +27,8 @@ export { default as isPointInPolygon } from './isPointInPolygon';
27
27
  export { default as isToday } from './isToday';
28
28
  export { default as mulberry32, type Mulberry32 } from './mulberry32';
29
29
  export { default as openUrl } from './openUrl';
30
+ export { default as persistentRef } from './persistentRef';
31
+ export { default as persistentStringRef } from './persistentStringRef';
30
32
  export { default as rgbToHEX } from './rgbToHEX';
31
33
  export { default as rgbToHSL } from './rgbToHSL';
32
34
  export { default as rgbToHSV } from './rgbToHSV';
@@ -36,6 +38,8 @@ export { default as setObjectValue } from './setObjectValue';
36
38
  export { default as viewTransition } from './viewTransition';
37
39
  export { default as waitFor } from './waitFor';
38
40
 
39
- export const MDASH = '';
40
- export const NDASH = '';
41
+ export const CHECK = '' as const;
42
+ export const CROSS = '' as const;
43
+ export const MDASH = '—' as const;
44
+ export const NDASH = '–' as const;
41
45
  export const NOOP: Function = () => void 0;
@@ -0,0 +1,22 @@
1
+ import type { Ref } from 'vue';
2
+ import { ref, watch } from 'vue';
3
+
4
+ type Deserializer<T> = (value: string) => T;
5
+ type Serializer<T> = (value: T) => string;
6
+
7
+ export default function <T>(key: string, defaultValue: T, serialize: Serializer<T> = JSON.stringify, deserialize: Deserializer<T> = JSON.parse): Ref<T | null> {
8
+ const storedValue = localStorage.getItem(key);
9
+ const initialValue = storedValue ? deserialize(storedValue) : defaultValue;
10
+
11
+ const persistentRef: Ref<T | null> = ref<T>(initialValue) as Ref<T | null>;
12
+
13
+ watch(persistentRef, value => {
14
+ if (value === null || value === undefined) {
15
+ localStorage.removeItem(key);
16
+ } else {
17
+ localStorage.setItem(key, serialize(value));
18
+ }
19
+ }, {deep: true, immediate: true});
20
+
21
+ return persistentRef;
22
+ }
@@ -0,0 +1,6 @@
1
+ import type { Ref } from 'vue';
2
+ import persistentRef from './persistentRef';
3
+
4
+ export default function (key: string, defaultValue: string | null): Ref<string | null> {
5
+ return persistentRef(key, defaultValue, value => value ?? '', value => value === '' ? null : value);
6
+ }