@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 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;AAC1D,SAAO,KAAK,MAAM,QAAQ,IAAI,IAAI;AAAA;;;ACCtC,SAAO,8BAAiB,CAAC,OAAe,KAAa,KAAa,MAAsB;AACpF,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,MAAM,kBAAU,SAAS,MAAM,OAAO,KAAK,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAAA;;ACHlG,SAAO,qBAAiB,CAAC,OAAuB;AAC5C,SAAO,MAAM,SAAS,EAAE,MAAM,GAAG,EAAE,IAAI,UAAU;AAAA;;ACDrD;AAEA,SAAO,mBAAwG,CAAC,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,OAAO,KAAK;AACnB;AAAA,MACJ;AAEA,aAAO,OAAO,MAAM;AAAA,IACxB;AAEA,WAAO;AAAA;AAAA;;ACxBf,SAAO,mBAAiB,CAAC,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;AAAA;;;ACLpC,SAAO,oBAAiB,CAAC,MAAY,UAAwB;AACzD,QAAM,MAAM,IAAI,gBAAgB,IAAI;AACpC,sBAAY,KAAK,QAAQ;AACzB,MAAI,gBAAgB,GAAG;AAAA;;ACH3B,SAAO,sBAAiB,CAAC,MAAc,UAAkB,MAAoB;AACzE,QAAM,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAC,KAAI,CAAC;AACpC,uBAAa,MAAM,QAAQ;AAAA;;ACF/B,SAAO,kBAAiB,CAAC,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,EACT,CAAC;AAAA;;ACLL,SAAO,sBAAiB,CAAC,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,EACX,CAAC;AAAA;;ACLL,SAAO,sBAAiB,CAAC,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ,CAAC;AAAA;;ACPL,SAAO,mBAAiB,CAAC,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,OAAO;AAAA,EACX,CAAC;AAAA;;ACLL,SAAO,oBAAiB,CAAC,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;AAAA;;ACNjC,SAAO,wBAAiB,CAAC,OAAuB;AAC5C,SAAO,IAAI,KAAK,aAAa,UAAU,UAAU;AAAA,IAC7C,uBAAuB;AAAA,IACvB,uBAAuB;AAAA,IACvB,OAAO;AAAA,EACX,CAAC,EAAE,OAAO,KAAK;AAAA;;ACHnB,SAAO,kBAAiB,CAAC,UAA4B;AACjD,SAAO,SAAS,eAAe;AAAA,IAC3B,MAAM;AAAA,IACN,QAAQ;AAAA,EACZ,CAAC;AAAA;;ACNL,SAAO,yBAAiB,CAAC,OAAe,OAAe,SAAiB,GAAG,SAA6B;AACpG,QAAM,kBAAkB,CAAC,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,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,UAAM,SAAkB,CAAC;AAEzB,QAAI,QAAQ,SAAS,GAAG;AACpB;AAAA,IACJ;AAEA,WAAM,KAAK,KAAK;AAEhB,aAAS,IAAI,EAAG,IAAI,SAAS,GAAG;AAC5B,aAAM,KAAK,IAAI,OAAO,KAAK;AAAA,IAC/B;AAEA,WAAM,KAAK,KAAK;AAEhB,WAAO;AAAA,EACX;AAEA,QAAM,SAAS,MAAM,SAAS,EAAE,SAAS;AACzC,QAAM,QAAQ,KAAK,IAAI,IAAI,MAAM;AACjC,QAAM,QAAkB,CAAC;AAEzB,WAAS,IAAI,EAAG,IAAI,OAAO,KAAK,OAAO;AACnC,UAAM,KAAK,IAAI,KAAK;AAAA,EACxB;AAEA,SAAO;AAAA;;AChCX,SAAO,yBAAiB,CAAC,KAA4B;AACjD,QAAM,UAAuB,CAAC;AAE9B,KAAG;AACC,QAAI,IAAI,SAAS,IAAI;AACjB;AAAA,IACJ;AAEA,gBAAY,KAAK,eAAe,OAAO,QAAQ,OAAO,0BAA0B,IAAI,SAAS,CAAC,GAAG;AAC7F,UAAI,CAAC,eAAe,SAAS,QAAQ,EAAE,SAAS,GAAG,GAAG;AAClD;AAAA,MACJ;AAEA,WAAK,WAAW,QAAQ,WAAW,KAAK;AACpC;AAAA,MACJ;AAEA,cAAQ,OAAO;AAAA,IACnB;AAAA,EACJ,SAAS,MAAM,OAAO,eAAe,GAAG;AAExC,SAAO;AAAA;;ACvBX,SAAO,gBAAiB,CAAC,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;AAAA;;ACPJ,SAAO,gBAAiB,CAAC,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;AAAA;;;ACnBX,SAAO,gBAAiB,CAAC,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;AAGhC,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AAEtB,SAAO,CAAC,GAAG,GAAG,CAAC;AAAA;;;ACxBnB,SAAO,gBAAiB,CAAC,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;AAG1B,SAAK;AAAA;AAGT,SAAO,CAAC,GAAG,GAAG,CAAC;AAAA;;;ACrBnB,SAAO,gBAAiB,CAAC,GAAW,GAAW,GAAqC;AAChF,SAAO,iBAAS,GAAG,iBAAS,GAAG,GAAG,CAAC,CAAC;AAAA;;ACJxC,SAAO,gBAAiB,CAAC,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;AAAA,SACH;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,SAEC;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,SAEC;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,SAEC;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,SAEC;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA,SAEC;AACD,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ;AAAA;AAGR,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AACtB,MAAI,KAAK,MAAM,IAAI,GAAG;AAEtB,SAAO,CAAC,GAAG,GAAG,CAAC;AAAA;;;ACnDnB,SAAO,gBAAiB,CAAC,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;AAG1B,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,QAAM,IAAI,KAAK,QAAQ,CAAC;AACxB,QAAM,IAAI,KAAK,QAAQ,CAAC;AAExB,SAAO,CAAC,GAAG,GAAG,CAAC;AAAA;;;AC7BnB,SAAO,gBAAiB,CAAC,GAAW,GAAW,GAAqC;AAChF,SAAO,iBAAS,GAAG,iBAAS,GAAG,GAAG,CAAC,CAAC;AAAA;;ACJxC,SAAO,qBAAiB,CAAC,KAAkC;AACvD,SAAO,eAAe;AAAA;;ACC1B,SAAO,wBAAiB,CAAC,OAAc,SAA2B;AAC9D,MAAI,SAAS;AAEb,WAAS,IAAI,GAAG,IAAI,QAAQ,SAAS,EAAG,IAAI,QAAQ,QAAQ,IAAI,KAAK;AACjE,UAAM,KAAK,QAAQ,GAAG,IAAI,KAAK,QAAQ,GAAG;AAC1C,UAAM,KAAK,QAAQ,GAAG,IAAI,KAAK,QAAQ,GAAG;AAC1C,UAAM,YAAc,KAAK,MAAM,MAAQ,KAAK,MAAM,MAAS,MAAM,MAAM,KAAK,OAAO,MAAM,KAAK,OAAO,KAAK,MAAM;AAEhH,QAAI,WAAW;AACX,gBAAU;AAAA,IACd;AAAA,EACJ;AAEA,SAAO;AAAA;;ACbX,SAAO,eAAiB,CAAC,UAAoB,OAA0B;AACnE,SAAO,MAAM,QAAQ,UAAU,KAAK;AAAA;;ACHxC,SAAS,UAAU,CAAC,MAA0B;AAC1C,QAAM,QAAQ,IAAI,YAAY,CAAC;AAC/B,QAAM,KAAK;AAEX,WAAS,IAAI,GAAW;AACpB,UAAM,aAAc,MAAM,KAAM,MAAM,KAAK,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;AAGtC,WAAS,WAAW,CAAC,MAAc,IAAoB;AACnD,WAAO,KAAK,KAAK,KAAK,QAAQ;AAAA;AAGlC,WAAS,IAAI,GAAe;AACxB,WAAO,WAAW,KAAK,IAAI,KAAK,EAAE;AAAA;AAGtC,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA;AAGJ,IAAe;;AC3Bf,SAAO,eAAiB,CAAC,KAAmB;AACxC,MAAI,OAAO,aAAa,OAAO,OAAO,UAAU;AAC5C,WAAO,KAAK,KAAK,MAAM;AAAA,EAC3B,OAAO;AACH,WAAO,SAAS,OAAO;AAAA;AAAA;;ACJ/B,SAAO,gBAAiB,CAAC,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,KAAK,KAAK;AAAA;;ACLzB,SAAO,uBAAiB,CAAC,KAAe,KAAa,IAAoB;AACrE,MAAI,UAAU,OAAO;AAAA;;ACDzB,SAAO,sBAAiB,CAAC,KAAa,KAAsB,OAAsB;AAC9E,SAAO,eAAe,KAAK,KAAK,EAAC,MAAK,CAAC;AAAA;;ACD3C,SAAO,sBAAiB,CAAC,IAAoB;AACzC,MAAI,yBAAyB,UAAU;AACnC,IAAC,SAAS,oBAAiC,EAAE;AAAA,EACjD,OAAO;AACH,OAAG;AAAA;AAAA;;ACJX,eAAO,eAAuB,CAAC,IAA2B;AACtD,SAAO,IAAI,QAAQ,aAAW,WAAW,SAAS,EAAE,CAAC;AAAA;;;ACqClD,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,OAAiB,MAAG;AAAG;AAAA;",
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.8.0",
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.2",
48
+ "@types/bun": "^1.2.4",
48
49
  "@types/luxon": "^3.4.2",
49
50
  "luxon": "^3.5.0",
50
- "oxc-transform": "^0.49.0",
51
- "pinia": "^3.0.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,5 @@
1
+ import roundStep from './roundStep';
2
+
3
+ export default function (value: number, min: number, max: number, step: number): number {
4
+ return Math.max(min, Math.min(max, +roundStep(value * (max - min) + min, step).toPrecision(4)));
5
+ }
@@ -0,0 +1,3 @@
1
+ export default function (value: number): number {
2
+ return value.toString().split('.')[1]?.length ?? 0;
3
+ }
@@ -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,7 @@
1
+ import downloadUrl from './downloadUrl';
2
+
3
+ export default function (blob: Blob, filename: string): void {
4
+ const url = URL.createObjectURL(blob);
5
+ downloadUrl(url, filename);
6
+ URL.revokeObjectURL(url);
7
+ }
@@ -0,0 +1,6 @@
1
+ import downloadBlob from './downloadBlob';
2
+
3
+ export default function (data: string, filename: string, type: string): void {
4
+ const blob = new Blob([data], {type});
5
+ downloadBlob(blob, filename);
6
+ }
@@ -0,0 +1,9 @@
1
+ export default function (url: string, filename: string): void {
2
+ const anchor = document.createElement('a');
3
+ anchor.download = filename;
4
+ anchor.href = url;
5
+
6
+ document.body.appendChild(anchor);
7
+ anchor.click();
8
+ document.body.removeChild(anchor);
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { DateTime } from 'luxon';
2
+
3
+ export default function (dateTime: DateTime): string {
4
+ return dateTime.toLocaleString({
5
+ year: 'numeric',
6
+ month: 'long',
7
+ day: 'numeric',
8
+ });
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { DateTime } from 'luxon';
2
+
3
+ export default function (dateTime: DateTime): string {
4
+ return dateTime.toLocaleString({
5
+ weekday: 'long',
6
+ day: 'numeric',
7
+ month: 'long'
8
+ });
9
+ }
@@ -0,0 +1,11 @@
1
+ import type { DateTime } from 'luxon';
2
+
3
+ export default function (dateTime: DateTime): string {
4
+ return dateTime.toLocaleString({
5
+ year: 'numeric',
6
+ month: 'long',
7
+ day: 'numeric',
8
+ hour: '2-digit',
9
+ minute: '2-digit'
10
+ });
11
+ }
@@ -0,0 +1,7 @@
1
+ import type { DateTime } from 'luxon';
2
+
3
+ export default function (dateTime: DateTime): string {
4
+ return dateTime.toLocaleString({
5
+ month: 'long',
6
+ });
7
+ }
@@ -0,0 +1,8 @@
1
+ export default function (value: number, decimals: number = 0): string {
2
+ const formatter = new Intl.NumberFormat(navigator.language, {
3
+ maximumFractionDigits: decimals,
4
+ minimumFractionDigits: decimals
5
+ });
6
+
7
+ return formatter.format(value);
8
+ }
@@ -0,0 +1,7 @@
1
+ export default function (value: number): string {
2
+ return new Intl.NumberFormat(navigator.language, {
3
+ maximumFractionDigits: 1,
4
+ minimumFractionDigits: 0,
5
+ style: 'percent'
6
+ }).format(value);
7
+ }
@@ -0,0 +1,8 @@
1
+ import type { DateTime } from 'luxon';
2
+
3
+ export default function (dateTime: DateTime): string {
4
+ return dateTime.toLocaleString({
5
+ hour: '2-digit',
6
+ minute: '2-digit'
7
+ });
8
+ }
@@ -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
+ }
@@ -0,0 +1,9 @@
1
+ export default function (hex: string): [number, number, number] {
2
+ const color = parseInt(hex.startsWith('#') ? hex.substring(1) : hex, 16);
3
+
4
+ return [
5
+ (color >> 16) & 255,
6
+ (color >> 8) & 255,
7
+ color & 255
8
+ ];
9
+ }
@@ -0,0 +1,6 @@
1
+ import hslToRGB from './hslToRGB';
2
+ import rgbToHSV from './rgbToHSV';
3
+
4
+ export default function (h: number, s: number, v: number): [number, number, number] {
5
+ return rgbToHSV(...hslToRGB(h, s, v));
6
+ }
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ import hsvToRGB from './hsvToRGB';
2
+ import rgbToHSL from './rgbToHSL';
3
+
4
+ export default function (h: number, s: number, v: number): [number, number, number] {
5
+ return rgbToHSL(...hsvToRGB(h, s, v));
6
+ }
@@ -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
+ }
@@ -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,3 @@
1
+ export default function (elm: unknown): elm is HTMLElement {
2
+ return elm instanceof HTMLElement;
3
+ }
@@ -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,5 @@
1
+ import type { DateTime } from 'luxon';
2
+
3
+ export default function (dateTime: DateTime, today: DateTime): boolean {
4
+ return today.hasSame(dateTime, 'day');
5
+ }
@@ -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
@@ -0,0 +1,7 @@
1
+ export default function (url: string): void {
2
+ if (window.location !== window.parent.location) {
3
+ window.open(url, '_top');
4
+ } else {
5
+ window.location.href = url;
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ export default function (r: number, g: number, b: number): string {
2
+ const sr = r.toString(16).padStart(2, '0');
3
+ const sg = g.toString(16).padStart(2, '0');
4
+ const sb = b.toString(16).padStart(2, '0');
5
+
6
+ return `#${sr}${sg}${sb}`;
7
+ }
@@ -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
+ };
@@ -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
+ };
@@ -0,0 +1,3 @@
1
+ export default function (value: number, step: number): number {
2
+ return Math.round(value / step) * step;
3
+ }
@@ -0,0 +1,3 @@
1
+ export default function (obj: Function, key: string, fn: Function): void {
2
+ obj.prototype[key] = fn;
3
+ }
@@ -0,0 +1,3 @@
1
+ export default function (obj: object, key: symbol | string, value: unknown): void {
2
+ Object.defineProperty(obj, key, {value});
3
+ }
@@ -0,0 +1,7 @@
1
+ export default function (fn: Function): void {
2
+ if ('startViewTransition' in document) {
3
+ (document.startViewTransition as Function)(fn);
4
+ } else {
5
+ fn();
6
+ }
7
+ }
package/src/waitFor.ts ADDED
@@ -0,0 +1,3 @@
1
+ export default async function (ms: number): Promise<void> {
2
+ return new Promise(resolve => setTimeout(resolve, ms));
3
+ }