@qwreey-js/ts-util 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,38 @@
1
+ /**
2
+ * A utility for caching the result of an asynchronous function for a specified Time-To-Live (TTL, interval).
3
+ * If `getValue` is called multiple times within the TTL, it returns the cached result instead of executing the function again.
4
+ */
1
5
  export declare class CachedGetter<Res> {
2
6
  private func;
3
7
  private interval;
4
8
  private value?;
5
9
  private last?;
10
+ /**
11
+ * @param func The asynchronous function to execute and cache.
12
+ * @param interval The Time-To-Live interval in milliseconds.
13
+ */
6
14
  constructor(func: () => Promise<Res>, interval: number);
15
+ /**
16
+ * Retrieves the cached value or executes the function if the cache has expired or is missing.
17
+ */
7
18
  getValue(): Promise<Res>;
8
19
  }
20
+ /**
21
+ * A mapped variant of `CachedGetter`. It caches multiple asynchronous function results based on unique keys.
22
+ */
9
23
  export declare class CachedGetterMap<Res, Key> {
10
24
  private func;
11
25
  private interval;
12
26
  private values;
27
+ /**
28
+ * @param func The asynchronous function to execute and cache per key.
29
+ * @param interval The Time-To-Live interval in milliseconds.
30
+ */
13
31
  constructor(func: (key: Key) => Promise<Res>, interval: number);
32
+ /**
33
+ * Retrieves the cached value for the specific key, or executes the function if the cache has expired or is missing.
34
+ * @param key The unique key identifying the cached result.
35
+ */
14
36
  getValue(key: Key): Promise<Res>;
15
37
  }
16
38
  export declare namespace CachedGetterMap {
@@ -1 +1 @@
1
- {"version":3,"file":"cached-getter.d.ts","sourceRoot":"","sources":["../src/cached-getter.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY,CAAC,GAAG;IAC3B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAC,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAS;gBAEH,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM;IAKhD,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAStC;AAED,qBAAa,eAAe,CAAC,GAAG,EAAE,GAAG;IACnC,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAwC;gBAEnC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM;IAMxD,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAc9C;AACD,yBAAiB,eAAe,CAAC;IAC/B,KAAY,MAAM,CAAC,GAAG,IAAI;QACxB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
1
+ {"version":3,"file":"cached-getter.d.ts","sourceRoot":"","sources":["../src/cached-getter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,YAAY,CAAC,GAAG;IAC3B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAC,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAS;IAEtB;;;OAGG;gBACgB,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM;IAK7D;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;CAStC;AAED;;GAEG;AACH,qBAAa,eAAe,CAAC,GAAG,EAAE,GAAG;IACnC,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAwC;IAEtD;;;OAGG;gBACgB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM;IAMrE;;;OAGG;IACU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAc9C;AACD,yBAAiB,eAAe,CAAC;IAC/B,KAAY,MAAM,CAAC,GAAG,IAAI;QACxB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -1,12 +1,23 @@
1
+ /**
2
+ * A utility for caching the result of an asynchronous function for a specified Time-To-Live (TTL, interval).
3
+ * If `getValue` is called multiple times within the TTL, it returns the cached result instead of executing the function again.
4
+ */
1
5
  export class CachedGetter {
2
6
  func;
3
7
  interval;
4
8
  value;
5
9
  last;
10
+ /**
11
+ * @param func The asynchronous function to execute and cache.
12
+ * @param interval The Time-To-Live interval in milliseconds.
13
+ */
6
14
  constructor(func, interval) {
7
15
  this.func = func;
8
16
  this.interval = interval;
9
17
  }
18
+ /**
19
+ * Retrieves the cached value or executes the function if the cache has expired or is missing.
20
+ */
10
21
  async getValue() {
11
22
  const curr = +new Date();
12
23
  if (!this.value || !this.last || this.last + this.interval < curr) {
@@ -17,15 +28,26 @@ export class CachedGetter {
17
28
  return await this.value;
18
29
  }
19
30
  }
31
+ /**
32
+ * A mapped variant of `CachedGetter`. It caches multiple asynchronous function results based on unique keys.
33
+ */
20
34
  export class CachedGetterMap {
21
35
  func;
22
36
  interval;
23
37
  values;
38
+ /**
39
+ * @param func The asynchronous function to execute and cache per key.
40
+ * @param interval The Time-To-Live interval in milliseconds.
41
+ */
24
42
  constructor(func, interval) {
25
43
  this.func = func;
26
44
  this.values = new Map();
27
45
  this.interval = interval;
28
46
  }
47
+ /**
48
+ * Retrieves the cached value for the specific key, or executes the function if the cache has expired or is missing.
49
+ * @param key The unique key identifying the cached result.
50
+ */
29
51
  async getValue(key) {
30
52
  const curr = +new Date();
31
53
  const record = this.values.get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"cached-getter.js","sourceRoot":"","sources":["../src/cached-getter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IACf,IAAI,CAAqB;IACzB,QAAQ,CAAS;IACjB,KAAK,CAAgB;IACrB,IAAI,CAAU;IAEtB,YAAmB,IAAwB,EAAE,QAAgB;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAClB,IAAI,CAA6B;IACjC,QAAQ,CAAS;IACjB,MAAM,CAAwC;IAEtD,YAAmB,IAAgC,EAAE,QAAgB;QACnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAAQ;QAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,IAAI,EAAE,IAAI;gBACV,KAAK;aACN,CAAC,CAAC;YACH,OAAO,MAAM,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"cached-getter.js","sourceRoot":"","sources":["../src/cached-getter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,IAAI,CAAqB;IACzB,QAAQ,CAAS;IACjB,KAAK,CAAgB;IACrB,IAAI,CAAU;IAEtB;;;OAGG;IACH,YAAmB,IAAwB,EAAE,QAAgB;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;YAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,IAAI,CAA6B;IACjC,QAAQ,CAAS;IACjB,MAAM,CAAwC;IAEtD;;;OAGG;IACH,YAAmB,IAAgC,EAAE,QAAgB;QACnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,GAAQ;QAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACnB,IAAI,EAAE,IAAI;gBACV,KAAK;aACN,CAAC,CAAC;YACH,OAAO,MAAM,KAAK,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,72 @@
1
+ export declare class RGBColor {
2
+ /** 0-255 sRGB red value */
3
+ readonly r: number;
4
+ /** 0-255 sRGB green value */
5
+ readonly g: number;
6
+ /** 0-255 sRGB blue value */
7
+ readonly b: number;
8
+ constructor(r: number, g: number, b: number);
9
+ /**
10
+ * Converts a hex color string to an RGB object.
11
+ * @param hex 3-digit (#FFF) or 6-digit (#FFFFFF) hex string
12
+ */
13
+ static fromHex(hex: string): RGBColor;
14
+ /**
15
+ * Converts an Oklab color back to an RGB color.
16
+ */
17
+ static fromOKLab(okLab: OKLabColor): RGBColor;
18
+ /**
19
+ * Linearly interpolates (Lerps) between two sRGB colors based on an amount (0~1).
20
+ */
21
+ static lerp(from: RGBColor, to: RGBColor, amount: number): RGBColor;
22
+ /**
23
+ * Convert to a hex color string.
24
+ */
25
+ toHex(): string;
26
+ /**
27
+ * Convert to a OKLab color.
28
+ */
29
+ toOKLab(): OKLabColor;
30
+ }
31
+ export declare class OKLabColor {
32
+ /** Lightness */
33
+ readonly l: number;
34
+ /** Green-Red component */
35
+ readonly a: number;
36
+ /** Blue-Yellow component */
37
+ readonly b: number;
38
+ constructor(l: number, a: number, b: number);
39
+ /**
40
+ * Converts an RGB color to an Oklab color.
41
+ * Note: Uses Björn Ottosson's standard Oklab transformation matrices.
42
+ */
43
+ static fromRGB(rgb: RGBColor): OKLabColor;
44
+ /**
45
+ * Converts an Hex color to an Oklab color.
46
+ * Note: Uses Björn Ottosson's standard Oklab transformation matrices.
47
+ */
48
+ static fromHex(hex: string): OKLabColor;
49
+ /**
50
+ * Linearly interpolates (Lerps) between two Oklab colors based on an amount (0~1).
51
+ */
52
+ static lerp(from: OKLabColor, to: OKLabColor, amount: number): OKLabColor;
53
+ toHex(): string;
54
+ toRGB(): RGBColor;
55
+ }
56
+ /**
57
+ * Naturally interpolates between two hex colors in the Oklab color space, then returns the resulting hex color.
58
+ * @param fromHex Start color (e.g., "#FF0000")
59
+ * @param toHex Target color (e.g., "#0000FF")
60
+ * @param amount Transition value (0.0 ~ 1.0)
61
+ * @returns Interpolated hex color string
62
+ */
63
+ export declare function lerpHexColorInOKLab(fromHex: string, toHex: string, amount: number): string;
64
+ /**
65
+ * sRGB interpolates between two hex color, then returns the resulting hex color.
66
+ * @param fromHex Start color (e.g., "#FF0000")
67
+ * @param toHex Target color (e.g., "#0000FF")
68
+ * @param amount Transition value (0.0 ~ 1.0)
69
+ * @returns Interpolated hex color string
70
+ */
71
+ export declare function lerpHexColorInSRGB(fromHex: string, toHex: string, amount: number): string;
72
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAcA,qBAAa,QAAQ;IACnB,2BAA2B;IAC3B,SAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,SAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B;IAC5B,SAAgB,CAAC,EAAE,MAAM,CAAC;gBAEP,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAMlD;;;OAGG;WACW,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAkB5C;;OAEG;WACW,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ;IAoBpD;;OAEG;WACW,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ;IAY1E;;OAEG;IACI,KAAK,IAAI,MAAM;IAQtB;;OAEG;IACI,OAAO,IAAI,UAAU;CAG7B;AAED,qBAAa,UAAU;IACrB,gBAAgB;IAChB,SAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2BAA2B;IAC3B,SAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4BAA4B;IAC5B,SAAgB,CAAC,EAAE,MAAM,CAAC;gBAEP,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAMlD;;;OAGG;WACW,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU;IAwBhD;;;OAGG;WACW,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAI9C;;OAEG;WACW,IAAI,CAChB,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,MAAM,GACb,UAAU;IAaN,KAAK,IAAI,MAAM;IAIf,KAAK,IAAI,QAAQ;CAGzB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAeR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAWR"}
package/dist/color.js ADDED
@@ -0,0 +1,187 @@
1
+ // Convert sRGB value to Linear sRGB space (Remove Gamma)
2
+ const toLinear = (c) => c > 0.04045 ? Math.pow((c + 0.055) / 1.055, 2.4) : c / 12.92;
3
+ // Convert Linear sRGB space to sRGB value (Apply Gamma)
4
+ const toSrgb = (c) => c <= 0.0031308 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - 0.055;
5
+ // Clamp to prevent out-of-bounds values after Oklab conversion
6
+ const clampSrgb = (val) => Math.max(0, Math.min(255, Math.round(val)));
7
+ // Clamp amount between 0 and 1
8
+ const clampAmount = (amount) => Math.max(0, Math.min(1, amount));
9
+ export class RGBColor {
10
+ /** 0-255 sRGB red value */
11
+ r;
12
+ /** 0-255 sRGB green value */
13
+ g;
14
+ /** 0-255 sRGB blue value */
15
+ b;
16
+ constructor(r, g, b) {
17
+ this.r = r;
18
+ this.g = g;
19
+ this.b = b;
20
+ }
21
+ /**
22
+ * Converts a hex color string to an RGB object.
23
+ * @param hex 3-digit (#FFF) or 6-digit (#FFFFFF) hex string
24
+ */
25
+ static fromHex(hex) {
26
+ let cleaned = hex.replace("#", "");
27
+ if (cleaned.length === 3) {
28
+ cleaned = cleaned
29
+ .split("")
30
+ .map((char) => char + char)
31
+ .join("");
32
+ }
33
+ const num = parseInt(cleaned, 16);
34
+ if (isNaN(num)) {
35
+ throw new Error(`Invalid hex color: ${hex}`);
36
+ }
37
+ return new RGBColor((num >> 16) & 255, (num >> 8) & 255, num & 255);
38
+ }
39
+ /**
40
+ * Converts an Oklab color back to an RGB color.
41
+ */
42
+ static fromOKLab(okLab) {
43
+ // 1. Oklab to Non-linear LMS (Inverse Matrix M2)
44
+ const l_ = okLab.l + 0.3963377774 * okLab.a + 0.2158037573 * okLab.b;
45
+ const m_ = okLab.l - 0.1055613458 * okLab.a - 0.0638541728 * okLab.b;
46
+ const s_ = okLab.l - 0.0894841775 * okLab.a - 1.291485548 * okLab.b;
47
+ // 2. Linear LMS (cube)
48
+ const lmsL = l_ * l_ * l_;
49
+ const lmsM = m_ * m_ * m_;
50
+ const lmsS = s_ * s_ * s_;
51
+ // 3. LMS to Linear RGB (Inverse Matrix M1)
52
+ const lr = 4.0767416621 * lmsL - 3.3077115913 * lmsM + 0.2309699292 * lmsS;
53
+ const lg = -1.2684380046 * lmsL + 2.6097574011 * lmsM - 0.3413193965 * lmsS;
54
+ const lb = -0.0041960863 * lmsL - 0.7034186147 * lmsM + 1.707614701 * lmsS;
55
+ // 4. Linear RGB to sRGB (apply Gamma) & Scale back to [0, 255]
56
+ return new RGBColor(toSrgb(lr) * 255, toSrgb(lg) * 255, toSrgb(lb) * 255);
57
+ }
58
+ /**
59
+ * Linearly interpolates (Lerps) between two sRGB colors based on an amount (0~1).
60
+ */
61
+ static lerp(from, to, amount) {
62
+ const t = clampAmount(amount);
63
+ if (t === 0)
64
+ return from;
65
+ if (t === 1)
66
+ return to;
67
+ // Linear interpolation for each color component
68
+ const r = Math.round(from.r + (to.r - from.r) * t);
69
+ const g = Math.round(from.g + (to.g - from.g) * t);
70
+ const b = Math.round(from.b + (to.b - from.b) * t);
71
+ return new RGBColor(r, g, b);
72
+ }
73
+ /**
74
+ * Convert to a hex color string.
75
+ */
76
+ toHex() {
77
+ const r = clampSrgb(this.r).toString(16).padStart(2, "0");
78
+ const g = clampSrgb(this.g).toString(16).padStart(2, "0");
79
+ const b = clampSrgb(this.b).toString(16).padStart(2, "0");
80
+ return `#${r}${g}${b}`;
81
+ }
82
+ /**
83
+ * Convert to a OKLab color.
84
+ */
85
+ toOKLab() {
86
+ return OKLabColor.fromRGB(this);
87
+ }
88
+ }
89
+ export class OKLabColor {
90
+ /** Lightness */
91
+ l;
92
+ /** Green-Red component */
93
+ a;
94
+ /** Blue-Yellow component */
95
+ b;
96
+ constructor(l, a, b) {
97
+ this.l = l;
98
+ this.a = a;
99
+ this.b = b;
100
+ }
101
+ /**
102
+ * Converts an RGB color to an Oklab color.
103
+ * Note: Uses Björn Ottosson's standard Oklab transformation matrices.
104
+ */
105
+ static fromRGB(rgb) {
106
+ // 1. Normalize sRGB to [0, 1] & Convert to Linear RGB
107
+ const lr = toLinear(rgb.r / 255);
108
+ const lg = toLinear(rgb.g / 255);
109
+ const lb = toLinear(rgb.b / 255);
110
+ // 2. Linear RGB to LMS space (Matrix M1)
111
+ const lmsL = 0.4122214708 * lr + 0.5363325363 * lg + 0.0514459929 * lb;
112
+ const lmsM = 0.2119034982 * lr + 0.6806995451 * lg + 0.1073969566 * lb;
113
+ const lmsS = 0.0883024619 * lr + 0.2817188376 * lg + 0.6299787005 * lb;
114
+ // 3. Non-linear LMS (cube root)
115
+ const l_ = Math.cbrt(lmsL);
116
+ const m_ = Math.cbrt(lmsM);
117
+ const s_ = Math.cbrt(lmsS);
118
+ // 4. LMS to Oklab (Matrix M2)
119
+ return new OKLabColor(0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_, 1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_, 0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_);
120
+ }
121
+ /**
122
+ * Converts an Hex color to an Oklab color.
123
+ * Note: Uses Björn Ottosson's standard Oklab transformation matrices.
124
+ */
125
+ static fromHex(hex) {
126
+ return OKLabColor.fromRGB(RGBColor.fromHex(hex));
127
+ }
128
+ /**
129
+ * Linearly interpolates (Lerps) between two Oklab colors based on an amount (0~1).
130
+ */
131
+ static lerp(from, to, amount) {
132
+ // Clamp amount between 0 and 1
133
+ const t = clampAmount(amount);
134
+ if (t === 0)
135
+ return from;
136
+ if (t === 1)
137
+ return to;
138
+ return new OKLabColor(from.l + (to.l - from.l) * t, from.a + (to.a - from.a) * t, from.b + (to.b - from.b) * t);
139
+ }
140
+ toHex() {
141
+ return RGBColor.fromOKLab(this).toHex();
142
+ }
143
+ toRGB() {
144
+ return RGBColor.fromOKLab(this);
145
+ }
146
+ }
147
+ /**
148
+ * Naturally interpolates between two hex colors in the Oklab color space, then returns the resulting hex color.
149
+ * @param fromHex Start color (e.g., "#FF0000")
150
+ * @param toHex Target color (e.g., "#0000FF")
151
+ * @param amount Transition value (0.0 ~ 1.0)
152
+ * @returns Interpolated hex color string
153
+ */
154
+ export function lerpHexColorInOKLab(fromHex, toHex, amount) {
155
+ // 1. Clamp amount
156
+ const t = clampAmount(amount);
157
+ if (t === 0)
158
+ return fromHex;
159
+ if (t === 1)
160
+ return toHex;
161
+ // 2. Convert RGB to Oklab color space
162
+ const oklab1 = OKLabColor.fromHex(fromHex);
163
+ const oklab2 = OKLabColor.fromHex(toHex);
164
+ // 3. Safely interpolate (Lerp) in the Oklab space
165
+ const lerpedOklab = OKLabColor.lerp(oklab1, oklab2, t);
166
+ // 5. Assemble final RGB values back to a hex string (includes clamping)
167
+ return lerpedOklab.toHex();
168
+ }
169
+ /**
170
+ * sRGB interpolates between two hex color, then returns the resulting hex color.
171
+ * @param fromHex Start color (e.g., "#FF0000")
172
+ * @param toHex Target color (e.g., "#0000FF")
173
+ * @param amount Transition value (0.0 ~ 1.0)
174
+ * @returns Interpolated hex color string
175
+ */
176
+ export function lerpHexColorInSRGB(fromHex, toHex, amount) {
177
+ const t = clampAmount(amount);
178
+ if (t === 0)
179
+ return fromHex;
180
+ if (t === 1)
181
+ return toHex;
182
+ const rgb1 = RGBColor.fromHex(fromHex);
183
+ const rgb2 = RGBColor.fromHex(toHex);
184
+ const lerpedRgb = RGBColor.lerp(rgb1, rgb2, t);
185
+ return lerpedRgb.toHex();
186
+ }
187
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"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"}
package/dist/date.d.ts CHANGED
@@ -1,9 +1,42 @@
1
+ /**
2
+ * Shared utility functions for Date manipulation.
3
+ * * @remarks
4
+ * **Known Limitations:**
5
+ * - **Two-digit Year Behavior:** Due to native JavaScript `Date` constructor rules, year values between 0 and 99 are interpreted as 1900-1999 (e.g., year 26 becomes 1926).
6
+ * - **Automatic Date Rollover:** Invalid dates (such as month 13 or day 32) do not throw errors. The native `Date` object will silently roll over and recalculate to the next valid date.
7
+ */
1
8
  export declare namespace DateUtil {
9
+ /** Create new date without time */
2
10
  function removeTime(dateTime: Date): Date;
11
+ /** Create new date without time and days */
3
12
  function removeDay(dateTime: Date): Date;
4
- function formatYYYYMMDD(date: Date): string;
5
- function formatUTCYYYYMMDD(date: Date): string;
6
- function fromUTCYYYMMDD(str: string): Date;
7
- function formatUTCHHMMSS(date: Date): string;
13
+ /** Formats a date to YYYY-MM-DD */
14
+ function formatYYYYMMDD(date: Date, delimit?: string): string;
15
+ /** Formats a date to YYYY-MM */
16
+ function formatYYYYMM(date: Date, delimit?: string): string;
17
+ /** Formats a date to HH:MM:SS */
18
+ function formatHHMMSS(date: Date, delimit?: string): string;
19
+ /** Formats a date to HH:MM */
20
+ function formatHHMM(date: Date, delimit?: string): string;
21
+ /** Formats a date to UTC YYYY-MM-DD */
22
+ function formatUTCYYYYMMDD(date: Date, delimit?: string): string;
23
+ /** Formats a date to UTC YYYY-MM */
24
+ function formatUTCYYYYMM(date: Date, delimit?: string): string;
25
+ /** Formats a date to UTC HH:MM:SS */
26
+ function formatUTCHHMMSS(date: Date, delimit?: string): string;
27
+ /** Formats a date to UTC HH:MM */
28
+ function formatUTCHHMM(date: Date, delimit?: string): string;
29
+ /** Parses a string formatted as YYYY-MM-DD into a Date */
30
+ function fromYYYYMMDD(str: string, delimit?: string): Date;
31
+ /** Parses a string formatted as YYYY-MM-DD into a UTC Date */
32
+ function fromUTCYYYYMMDD(str: string, delimit?: string): Date;
33
+ /** Korean full names of the days of the week */
34
+ const KoreanWeekNames: string[];
35
+ /** Korean short names of the days of the week */
36
+ const KoreanWeekNamesShort: string[];
37
+ /** English full names of the days of the week */
38
+ const EnglishWeekNames: string[];
39
+ /** English short names of the days of the week */
40
+ const EnglishWeekNamesShort: string[];
8
41
  }
9
42
  //# sourceMappingURL=date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AAKA,yBAAiB,QAAQ,CAAC;IACxB,SAAgB,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAM/C;IAED,SAAgB,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAE9C;IAED,SAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEjD;IACD,SAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEpD;IACD,SAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIhD;IACD,SAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAElD;CACF"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,yBAAiB,QAAQ,CAAC;IACxB,mCAAmC;IACnC,SAAgB,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAM/C;IAED,4CAA4C;IAC5C,SAAgB,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAE9C;IAED,mCAAmC;IACnC,SAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAExE;IAED,gCAAgC;IAChC,SAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAEtE;IAED,iCAAiC;IACjC,SAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAEtE;IAED,8BAA8B;IAC9B,SAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAEpE;IAED,uCAAuC;IACvC,SAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAE3E;IAED,oCAAoC;IACpC,SAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAEzE;IAED,qCAAqC;IACrC,SAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAEzE;IAED,kCAAkC;IAClC,SAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,MAAY,GAAG,MAAM,CAEvE;IAED,0DAA0D;IAC1D,SAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,IAAI,CAYrE;IAED,8DAA8D;IAC9D,SAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,IAAI,CAYxE;IAED,gDAAgD;IACzC,MAAM,eAAe,UAQ3B,CAAC;IAEF,iDAAiD;IAC1C,MAAM,oBAAoB,UAQhC,CAAC;IAEF,iDAAiD;IAC1C,MAAM,gBAAgB,UAQ5B,CAAC;IAEF,kDAAkD;IAC3C,MAAM,qBAAqB,UAQjC,CAAC;CACH"}
package/dist/date.js CHANGED
@@ -1,33 +1,124 @@
1
- function zeroPadding(value) {
2
- if (value > 10)
3
- return value.toString();
4
- return "0" + value.toString();
5
- }
1
+ import { zeroPadding } from "./utils.js";
2
+ /**
3
+ * Shared utility functions for Date manipulation.
4
+ * * @remarks
5
+ * **Known Limitations:**
6
+ * - **Two-digit Year Behavior:** Due to native JavaScript `Date` constructor rules, year values between 0 and 99 are interpreted as 1900-1999 (e.g., year 26 becomes 1926).
7
+ * - **Automatic Date Rollover:** Invalid dates (such as month 13 or day 32) do not throw errors. The native `Date` object will silently roll over and recalculate to the next valid date.
8
+ */
6
9
  export var DateUtil;
7
10
  (function (DateUtil) {
11
+ /** Create new date without time */
8
12
  function removeTime(dateTime) {
9
13
  return new Date(dateTime.getFullYear(), dateTime.getMonth(), dateTime.getDate());
10
14
  }
11
15
  DateUtil.removeTime = removeTime;
16
+ /** Create new date without time and days */
12
17
  function removeDay(dateTime) {
13
18
  return new Date(dateTime.getFullYear(), dateTime.getMonth());
14
19
  }
15
20
  DateUtil.removeDay = removeDay;
16
- function formatYYYYMMDD(date) {
17
- return `${date.getFullYear()}-${zeroPadding(date.getMonth() + 1)}-${zeroPadding(date.getDate())}`;
21
+ /** Formats a date to YYYY-MM-DD */
22
+ function formatYYYYMMDD(date, delimit = "-") {
23
+ return `${date.getFullYear()}${delimit}${zeroPadding(date.getMonth() + 1)}${delimit}${zeroPadding(date.getDate())}`;
18
24
  }
19
25
  DateUtil.formatYYYYMMDD = formatYYYYMMDD;
20
- function formatUTCYYYYMMDD(date) {
21
- return `${date.getUTCFullYear()}-${zeroPadding(date.getUTCMonth() + 1)}-${zeroPadding(date.getUTCDate())}`;
26
+ /** Formats a date to YYYY-MM */
27
+ function formatYYYYMM(date, delimit = "-") {
28
+ return `${date.getFullYear()}${delimit}${zeroPadding(date.getMonth() + 1)}`;
29
+ }
30
+ DateUtil.formatYYYYMM = formatYYYYMM;
31
+ /** Formats a date to HH:MM:SS */
32
+ function formatHHMMSS(date, delimit = ":") {
33
+ return `${zeroPadding(date.getHours())}${delimit}${zeroPadding(date.getMinutes())}${delimit}${zeroPadding(date.getSeconds())}`;
34
+ }
35
+ DateUtil.formatHHMMSS = formatHHMMSS;
36
+ /** Formats a date to HH:MM */
37
+ function formatHHMM(date, delimit = ":") {
38
+ return `${zeroPadding(date.getHours())}${delimit}${zeroPadding(date.getMinutes())}`;
39
+ }
40
+ DateUtil.formatHHMM = formatHHMM;
41
+ /** Formats a date to UTC YYYY-MM-DD */
42
+ function formatUTCYYYYMMDD(date, delimit = "-") {
43
+ return `${date.getUTCFullYear()}${delimit}${zeroPadding(date.getUTCMonth() + 1)}${delimit}${zeroPadding(date.getUTCDate())}`;
22
44
  }
23
45
  DateUtil.formatUTCYYYYMMDD = formatUTCYYYYMMDD;
24
- function fromUTCYYYMMDD(str) {
25
- return new Date(`${str.slice(0, 4)}-${str.slice(5, 7)}-${str.slice(8, 10)}T00:00:00.000Z`);
46
+ /** Formats a date to UTC YYYY-MM */
47
+ function formatUTCYYYYMM(date, delimit = "-") {
48
+ return `${date.getUTCFullYear()}${delimit}${zeroPadding(date.getUTCMonth() + 1)}`;
26
49
  }
27
- DateUtil.fromUTCYYYMMDD = fromUTCYYYMMDD;
28
- function formatUTCHHMMSS(date) {
29
- return `${zeroPadding(date.getUTCHours())}:${zeroPadding(date.getUTCMinutes())}:${zeroPadding(date.getUTCSeconds())}`;
50
+ DateUtil.formatUTCYYYYMM = formatUTCYYYYMM;
51
+ /** Formats a date to UTC HH:MM:SS */
52
+ function formatUTCHHMMSS(date, delimit = ":") {
53
+ return `${zeroPadding(date.getUTCHours())}${delimit}${zeroPadding(date.getUTCMinutes())}${delimit}${zeroPadding(date.getUTCSeconds())}`;
30
54
  }
31
55
  DateUtil.formatUTCHHMMSS = formatUTCHHMMSS;
56
+ /** Formats a date to UTC HH:MM */
57
+ function formatUTCHHMM(date, delimit = ":") {
58
+ return `${zeroPadding(date.getUTCHours())}${delimit}${zeroPadding(date.getUTCMinutes())}`;
59
+ }
60
+ DateUtil.formatUTCHHMM = formatUTCHHMM;
61
+ /** Parses a string formatted as YYYY-MM-DD into a Date */
62
+ function fromYYYYMMDD(str, delimit = "-") {
63
+ const [year, month, day] = str.split(delimit).map(Number);
64
+ if (!Number.isInteger(year) ||
65
+ !Number.isInteger(month) ||
66
+ !Number.isInteger(day)) {
67
+ throw Error("format not valid");
68
+ }
69
+ return new Date(year, month - 1, day);
70
+ }
71
+ DateUtil.fromYYYYMMDD = fromYYYYMMDD;
72
+ /** Parses a string formatted as YYYY-MM-DD into a UTC Date */
73
+ function fromUTCYYYYMMDD(str, delimit = "-") {
74
+ const [year, month, day] = str.split(delimit).map(Number);
75
+ if (!Number.isInteger(year) ||
76
+ !Number.isInteger(month) ||
77
+ !Number.isInteger(day)) {
78
+ throw Error("format not valid");
79
+ }
80
+ return new Date(Date.UTC(year, month - 1, day));
81
+ }
82
+ DateUtil.fromUTCYYYYMMDD = fromUTCYYYYMMDD;
83
+ /** Korean full names of the days of the week */
84
+ DateUtil.KoreanWeekNames = [
85
+ "일요일",
86
+ "월요일",
87
+ "화요일",
88
+ "수요일",
89
+ "목요일",
90
+ "금요일",
91
+ "토요일",
92
+ ];
93
+ /** Korean short names of the days of the week */
94
+ DateUtil.KoreanWeekNamesShort = [
95
+ "일",
96
+ "월",
97
+ "화",
98
+ "수",
99
+ "목",
100
+ "금",
101
+ "토",
102
+ ];
103
+ /** English full names of the days of the week */
104
+ DateUtil.EnglishWeekNames = [
105
+ "Sunday",
106
+ "Monday",
107
+ "Tuesday",
108
+ "Wednesday",
109
+ "Thursday",
110
+ "Friday",
111
+ "Saturday",
112
+ ];
113
+ /** English short names of the days of the week */
114
+ DateUtil.EnglishWeekNamesShort = [
115
+ "Sun",
116
+ "Mon",
117
+ "Tue",
118
+ "Wed",
119
+ "Thu",
120
+ "Fri",
121
+ "Sat",
122
+ ];
32
123
  })(DateUtil || (DateUtil = {}));
33
124
  //# sourceMappingURL=date.js.map
package/dist/date.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AAAA,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACxC,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,KAAW,QAAQ,CA2BxB;AA3BD,WAAiB,QAAQ;IACvB,SAAgB,UAAU,CAAC,QAAc;QACvC,OAAO,IAAI,IAAI,CACb,QAAQ,CAAC,WAAW,EAAE,EACtB,QAAQ,CAAC,QAAQ,EAAE,EACnB,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IANe,mBAAU,aAMzB,CAAA;IAED,SAAgB,SAAS,CAAC,QAAc;QACtC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAFe,kBAAS,YAExB,CAAA;IAED,SAAgB,cAAc,CAAC,IAAU;QACvC,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC;IAFe,uBAAc,iBAE7B,CAAA;IACD,SAAgB,iBAAiB,CAAC,IAAU;QAC1C,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;IAC7G,CAAC;IAFe,0BAAiB,oBAEhC,CAAA;IACD,SAAgB,cAAc,CAAC,GAAW;QACxC,OAAO,IAAI,IAAI,CACb,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAC1E,CAAC;IACJ,CAAC;IAJe,uBAAc,iBAI7B,CAAA;IACD,SAAgB,eAAe,CAAC,IAAU;QACxC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;IACxH,CAAC;IAFe,wBAAe,kBAE9B,CAAA;AACH,CAAC,EA3BgB,QAAQ,KAAR,QAAQ,QA2BxB"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from "./cached-getter.js";
2
+ export * from "./color.js";
2
3
  export * from "./date.js";
3
4
  export * from "./interval.js";
4
- export * from "./json.js";
5
5
  export * from "./mixin.js";
6
- export * from "./promise.js";
6
+ export * from "./params-builder.js";
7
7
  export * from "./result.js";
8
8
  export * from "./utils.js";
9
9
  import { setLogErr as _setLogErr } from "./libLog.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,SAAS,IAAI,UAAU,EAAqB,MAAM,aAAa,CAAC;AACzE,yBAAiB,WAAW,CAAC;IACpB,MAAM,SAAS,mBAAa,CAAC;IAC7B,MAAM,MAAM,8BAAU,CAAC;CAC/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,SAAS,IAAI,UAAU,EAAqB,MAAM,aAAa,CAAC;AACzE,yBAAiB,WAAW,CAAC;IACpB,MAAM,SAAS,mBAAa,CAAC;IAC7B,MAAM,MAAM,8BAAU,CAAC;CAC/B"}
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from "./cached-getter.js";
2
+ export * from "./color.js";
2
3
  export * from "./date.js";
3
4
  export * from "./interval.js";
4
- export * from "./json.js";
5
5
  export * from "./mixin.js";
6
- export * from "./promise.js";
6
+ export * from "./params-builder.js";
7
7
  export * from "./result.js";
8
8
  export * from "./utils.js";
9
9
  import { setLogErr as _setLogErr, logErr as _logErr } from "./libLog.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,MAAM,KAAW,WAAW,CAG3B;AAHD,WAAiB,WAAW;IACb,qBAAS,GAAG,UAAU,CAAC;IACvB,kBAAM,GAAG,OAAO,CAAC;AAChC,CAAC,EAHgB,WAAW,KAAX,WAAW,QAG3B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,MAAM,KAAW,WAAW,CAG3B;AAHD,WAAiB,WAAW;IACb,qBAAS,GAAG,UAAU,CAAC;IACvB,kBAAM,GAAG,OAAO,CAAC;AAChC,CAAC,EAHgB,WAAW,KAAX,WAAW,QAG3B"}