umt 1.6.0 → 1.6.2

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,8 +1,7 @@
1
1
  /**
2
2
  * 誤差のない足し算
3
- * @param {number} x
4
- * @param {number} y
3
+ * @param {number[]} numbers
5
4
  * @returns number
6
5
  * @example addition(0.1, 0.2); // 0.3
7
6
  */
8
- export declare const addition: (x: number, y: number) => number;
7
+ export declare const addition: (...numbers: number[]) => number;
@@ -3,13 +3,12 @@ import { max } from "./max";
3
3
  import { multiplication } from "./multiplication";
4
4
  /**
5
5
  * 誤差のない足し算
6
- * @param {number} x
7
- * @param {number} y
6
+ * @param {number[]} numbers
8
7
  * @returns number
9
8
  * @example addition(0.1, 0.2); // 0.3
10
9
  */
11
- export const addition = (x, y) => {
12
- const z = Math.pow(10, max(getDecimalLength(x), getDecimalLength(y)));
13
- return (multiplication(x, z) + multiplication(y, z)) / z;
10
+ export const addition = (...numbers) => {
11
+ const z = Math.pow(10, max(...numbers.map((element) => getDecimalLength(element))));
12
+ return (numbers.reduce((sum, current) => sum + multiplication(current, z), 0) / z);
14
13
  };
15
14
  //# sourceMappingURL=addition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addition.js","sourceRoot":"","sources":["../../src/Math/addition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IAC/C,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IAC9D,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"addition.js","sourceRoot":"","sources":["../../src/Math/addition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAiB,EAAE,EAAE;IAC/C,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC;IAC5E,OAAO,CACL,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAC1E,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
- * 誤差のない掛け算
3
- * @param {number} x
4
- * @param {number} y
2
+ * 誤差のない掛け算を任意長の引数で行う
3
+ * @param {...number[]} numbers
5
4
  * @returns number
6
- * @example multiplication(0.1, 0.2); // 0.02
5
+ * @example multiplication(0.1, 0.2, 0.3); // 0.006
7
6
  */
8
- export declare const multiplication: (x: number, y: number) => number;
7
+ export declare const multiplication: (...numbers: number[]) => number;
@@ -1,15 +1,16 @@
1
1
  import { getDecimalLength } from "./getDecimalLength";
2
2
  /**
3
- * 誤差のない掛け算
4
- * @param {number} x
5
- * @param {number} y
3
+ * 誤差のない掛け算を任意長の引数で行う
4
+ * @param {...number[]} numbers
6
5
  * @returns number
7
- * @example multiplication(0.1, 0.2); // 0.02
6
+ * @example multiplication(0.1, 0.2, 0.3); // 0.006
8
7
  */
9
- export const multiplication = (x, y) => {
10
- const n = Math.pow(10, (getDecimalLength(x) + getDecimalLength(y)));
11
- x = +`${x}`.replace(".", "");
12
- y = +`${y}`.replace(".", "");
13
- return (x * y) / n;
8
+ export const multiplication = (...numbers) => {
9
+ return numbers.reduce((accumulator, number) => {
10
+ const n = Math.pow(10, (getDecimalLength(accumulator) + getDecimalLength(number)));
11
+ const accumulatorWithoutDot = +`${accumulator}`.replace(".", "");
12
+ const numberWithoutDot = +`${number}`.replace(".", "");
13
+ return (accumulatorWithoutDot * numberWithoutDot) / n;
14
+ }, 1);
14
15
  };
15
16
  //# sourceMappingURL=multiplication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiplication.js","sourceRoot":"","sources":["../../src/Math/multiplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IACrD,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IAC5D,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC"}
1
+ {"version":3,"file":"multiplication.js","sourceRoot":"","sources":["../../src/Math/multiplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,OAAiB,EAAE,EAAE;IACrD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;QAC3E,MAAM,qBAAqB,GAAG,CAAC,GAAG,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC"}
@@ -5,4 +5,4 @@
5
5
  * @returns number
6
6
  * @example roundOf(1.234, 2); // 1.23
7
7
  */
8
- export declare const roundOf: (number_: number, precision: number) => number;
8
+ export declare const roundOf: (number_: number, precision?: number) => number;
@@ -5,7 +5,7 @@
5
5
  * @returns number
6
6
  * @example roundOf(1.234, 2); // 1.23
7
7
  */
8
- export const roundOf = (number_, precision) => {
8
+ export const roundOf = (number_, precision = 0) => {
9
9
  return Math.round(number_ * Math.pow(10, precision)) / Math.pow(10, precision);
10
10
  };
11
11
  //# sourceMappingURL=roundOf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"roundOf.js","sourceRoot":"","sources":["../../src/Math/roundOf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE;IAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAA,EAAE,EAAI,SAAS,CAAA,CAAC,GAAG,SAAA,EAAE,EAAI,SAAS,CAAA,CAAC;AACjE,CAAC,CAAC"}
1
+ {"version":3,"file":"roundOf.js","sourceRoot":"","sources":["../../src/Math/roundOf.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE;IACxD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAA,EAAE,EAAI,SAAS,CAAA,CAAC,GAAG,SAAA,EAAE,EAAI,SAAS,CAAA,CAAC;AACjE,CAAC,CAAC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
- * 誤差のない引き算
3
- * @param {number} x
4
- * @param {number} y
2
+ * 誤差のない引き算を任意長の引数で行う
3
+ * @param {number[]} numbers 引き算を行う数値の配列
5
4
  * @returns number
6
- * @example subtract(0.1, 0.2); // -0.1
5
+ * @example subtract([0.1, 0.2, 0.3]); // -0.4
7
6
  */
8
- export declare const subtract: (x: number, y: number) => number;
7
+ export declare const subtract: (...numbers: number[]) => number;
@@ -2,16 +2,20 @@ import { getDecimalLength } from "./getDecimalLength";
2
2
  import { max } from "./max";
3
3
  import { multiplication } from "./multiplication";
4
4
  /**
5
- * 誤差のない引き算
6
- * @param {number} x
7
- * @param {number} y
5
+ * 誤差のない引き算を任意長の引数で行う
6
+ * @param {number[]} numbers 引き算を行う数値の配列
8
7
  * @returns number
9
- * @example subtract(0.1, 0.2); // -0.1
8
+ * @example subtract([0.1, 0.2, 0.3]); // -0.4
10
9
  */
11
- export const subtract = (x, y) => {
12
- // 10の何乗かを取得
13
- const z = Math.pow(10, max(getDecimalLength(x), getDecimalLength(y)));
14
- // 小数点を揃えてから引き算
15
- return (multiplication(x, z) - multiplication(y, z)) / z;
10
+ export const subtract = (...numbers) => {
11
+ return numbers.reduce((accumulator, current, index) => {
12
+ if (index === 0) {
13
+ return current;
14
+ }
15
+ // 10の何乗かを取得
16
+ const z = Math.pow(10, max(getDecimalLength(accumulator), getDecimalLength(current)));
17
+ // 小数点を揃えてから引き算
18
+ return (multiplication(accumulator, z) - multiplication(current, z)) / z;
19
+ }, 0);
16
20
  };
17
21
  //# sourceMappingURL=subtract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subtract.js","sourceRoot":"","sources":["../../src/Math/subtract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IACvD,YAAY;IACZ,MAAM,CAAC,GAAG,SAAA,EAAE,EAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC;IAC9D,eAAe;IACf,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"subtract.js","sourceRoot":"","sources":["../../src/Math/subtract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAiB,EAAU,EAAE;IACvD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACpD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,YAAY;QACZ,MAAM,CAAC,GACL,SAAA,EAAE,EAAI,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC;QACtE,eAAe;QACf,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * cmykをrgbaに変換する
3
+ * @param cmyk
4
+ * @returns { r: number; g: number; b: number; a: number; }
5
+ * @example cmykToRgba(100, 100, 0, 60.78) // { r: 0, g: 0, b: 100, a: 1 }
6
+ */
7
+ export declare const cmykToRgba: (c: number, m: number, y: number, k: number, a?: number) => {
8
+ r: number;
9
+ g: number;
10
+ b: number;
11
+ a: number;
12
+ };
@@ -0,0 +1,41 @@
1
+ import { division } from "../Math/division";
2
+ import { max } from "../Math/max";
3
+ import { min } from "../Math/min";
4
+ import { multiplication } from "../Math/multiplication";
5
+ import { roundOf } from "../Math/roundOf";
6
+ import { subtract } from "../Math/subtract";
7
+ /**
8
+ * cmykをrgbaに変換する
9
+ * @param cmyk
10
+ * @returns { r: number; g: number; b: number; a: number; }
11
+ * @example cmykToRgba(100, 100, 0, 60.78) // { r: 0, g: 0, b: 100, a: 1 }
12
+ */
13
+ export const cmykToRgba = (c, m, y, k, a = 1) => {
14
+ // CMYKの値を0から100の範囲に制限
15
+ const clampedC = max(0, min(100, c));
16
+ const clampedM = max(0, min(100, m));
17
+ const clampedY = max(0, min(100, y));
18
+ const clampedK = max(0, min(100, k));
19
+ // CMYKの値を0から1の範囲に変換
20
+ const cPercentage = division(clampedC, 100);
21
+ const mPercentage = division(clampedM, 100);
22
+ const yPercentage = division(clampedY, 100);
23
+ const kPercentage = division(clampedK, 100);
24
+ // RGBの値を計算
25
+ const r = multiplication(255, subtract(1, cPercentage), subtract(1, kPercentage));
26
+ const g = multiplication(255, subtract(1, mPercentage), subtract(1, kPercentage));
27
+ const b = multiplication(255, subtract(1, yPercentage), subtract(1, kPercentage));
28
+ // RGBの値を0から255の範囲に丸める
29
+ const roundedR = roundOf(r);
30
+ const roundedG = roundOf(g);
31
+ const roundedB = roundOf(b);
32
+ // アルファ値を0から1の範囲に制限
33
+ const clampedA = max(0, min(1, a));
34
+ return {
35
+ r: roundedR,
36
+ g: roundedG,
37
+ b: roundedB,
38
+ a: clampedA,
39
+ };
40
+ };
41
+ //# sourceMappingURL=cmykToRgba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmykToRgba.js","sourceRoot":"","sources":["../../src/Tool/cmykToRgba.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAC,GAAG,CAAC,EAC2C,EAAE;IAClD,sBAAsB;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAErC,oBAAoB;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAE5C,WAAW;IACX,MAAM,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,EACxB,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CACzB,CAAC;IACF,MAAM,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,EACxB,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CACzB,CAAC;IACF,MAAM,CAAC,GAAG,cAAc,CACtB,GAAG,EACH,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,EACxB,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CACzB,CAAC;IAEF,sBAAsB;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE5B,mBAAmB;IACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO;QACL,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * hslaをrgbaに変換する
3
+ * @param h 色相 (0から360の範囲)
4
+ * @param s 彩度 (0から100の範囲)
5
+ * @param l 明度 (0から100の範囲)
6
+ * @param a アルファ値 (0から1の範囲)
7
+ * @returns { r: number; g: number; b: number; a: number; }
8
+ * @example hslaToRgba(120, 50, 50, 1) // { r: 64, g: 191, b: 64, a: 1 }
9
+ */
10
+ export declare const hslaToRgba: (h: number, s: number, l: number, a?: number) => {
11
+ r: number;
12
+ g: number;
13
+ b: number;
14
+ a: number;
15
+ };
@@ -0,0 +1,76 @@
1
+ import { addition } from "../Math/addition";
2
+ import { division } from "../Math/division";
3
+ import { max } from "../Math/max";
4
+ import { min } from "../Math/min";
5
+ import { multiplication } from "../Math/multiplication";
6
+ import { roundOf } from "../Math/roundOf";
7
+ import { subtract } from "../Math/subtract";
8
+ /**
9
+ * hslaをrgbaに変換する
10
+ * @param h 色相 (0から360の範囲)
11
+ * @param s 彩度 (0から100の範囲)
12
+ * @param l 明度 (0から100の範囲)
13
+ * @param a アルファ値 (0から1の範囲)
14
+ * @returns { r: number; g: number; b: number; a: number; }
15
+ * @example hslaToRgba(120, 50, 50, 1) // { r: 64, g: 191, b: 64, a: 1 }
16
+ */
17
+ export const hslaToRgba = (h, s, l, a = 1) => {
18
+ if (h < 0 ||
19
+ h > 360 ||
20
+ s < 0 ||
21
+ s > 100 ||
22
+ l < 0 ||
23
+ l > 100 ||
24
+ a < 0 ||
25
+ a > 1) {
26
+ return { r: 0, g: 0, b: 0, a: 1 };
27
+ }
28
+ const hue = division(division(h, 360, false)[1], 360);
29
+ const saturation = division(max(0, min(s, 100)), 100);
30
+ const lightness = division(max(0, min(l, 100)), 100);
31
+ let r = 0;
32
+ let g = 0;
33
+ let b = 0;
34
+ if (saturation === 0) {
35
+ r = g = b = lightness;
36
+ }
37
+ else {
38
+ const hueToRgb = (p, q, t) => {
39
+ let tAdjusted = t;
40
+ if (t < 0) {
41
+ tAdjusted = addition(t, 1);
42
+ }
43
+ if (t > 1) {
44
+ tAdjusted = subtract(t, 1);
45
+ }
46
+ if (tAdjusted < division(1, 6)) {
47
+ return addition(p, multiplication(subtract(q, p), multiplication(6, tAdjusted)));
48
+ }
49
+ if (tAdjusted < division(1, 2)) {
50
+ return q;
51
+ }
52
+ if (tAdjusted < division(2, 3)) {
53
+ return addition(p, multiplication(subtract(q, p), multiplication(subtract(division(2, 3, true), tAdjusted), 6)));
54
+ }
55
+ return p;
56
+ };
57
+ const q = lightness < 0.5
58
+ ? multiplication(lightness, addition(1, saturation))
59
+ : subtract(addition(lightness, saturation), multiplication(lightness, saturation));
60
+ const p = subtract(multiplication(2, lightness), q);
61
+ r = hueToRgb(p, q, addition(hue, division(1, 3)));
62
+ g = hueToRgb(p, q, hue);
63
+ b = hueToRgb(p, q, subtract(hue, division(1, 3)));
64
+ }
65
+ const roundedR = roundOf(multiplication(r, 255));
66
+ const roundedG = roundOf(multiplication(g, 255));
67
+ const roundedB = roundOf(multiplication(b, 255));
68
+ const clampedA = max(0, min(1, a));
69
+ return {
70
+ r: roundedR,
71
+ g: roundedG,
72
+ b: roundedB,
73
+ a: clampedA,
74
+ };
75
+ };
76
+ //# sourceMappingURL=hslaToRgba.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hslaToRgba.js","sourceRoot":"","sources":["../../src/Tool/hslaToRgba.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export * from "./birthday";
2
+ export * from "./cmykToRgba";
2
3
  export * from "./createPipeline";
3
4
  export * from "./dayOfWeek";
4
5
  export * from "./deleteSpace";
5
6
  export * from "./hexaToRgba";
7
+ export * from "./hslaToRgba";
6
8
  export * from "./rgbaToCmyk";
7
9
  export * from "./rgbaToHexA";
8
10
  export * from "./rgbaToHsla";
@@ -1,8 +1,10 @@
1
1
  export * from "./birthday";
2
+ export * from "./cmykToRgba";
2
3
  export * from "./createPipeline";
3
4
  export * from "./dayOfWeek";
4
5
  export * from "./deleteSpace";
5
6
  export * from "./hexaToRgba";
7
+ export * from "./hslaToRgba";
6
8
  export * from "./rgbaToCmyk";
7
9
  export * from "./rgbaToHexA";
8
10
  export * from "./rgbaToHsla";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tool/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -4,11 +4,11 @@
4
4
  * @returns { h: number; s: number; l: number; a: number; }
5
5
  * @example rgbaToHsla({ r: 100, g: 100, b: 100, a: 1 }); // { h: 0, s: 0, l: 39.22, a: 1 }
6
6
  */
7
- export declare const rgbaToHsla: (rgba: {
7
+ export declare const rgbaToHsla: ({ r, g, b, a, }: {
8
8
  r: number;
9
9
  g: number;
10
10
  b: number;
11
- a?: number;
11
+ a?: number | undefined;
12
12
  }) => {
13
13
  h: number;
14
14
  s: number;
@@ -9,12 +9,12 @@ import { subtract } from "../Math/subtract";
9
9
  * @returns { h: number; s: number; l: number; a: number; }
10
10
  * @example rgbaToHsla({ r: 100, g: 100, b: 100, a: 1 }); // { h: 0, s: 0, l: 39.22, a: 1 }
11
11
  */
12
- export const rgbaToHsla = (rgba) => {
13
- const r = division(rgba.r, 255);
14
- const g = division(rgba.g, 255);
15
- const b = division(rgba.b, 255);
16
- const max = Math.max(r, g, b);
17
- const min = Math.min(r, g, b);
12
+ export const rgbaToHsla = ({ r, g, b, a = 1, }) => {
13
+ const rPrime = division(r, 255);
14
+ const gPrime = division(g, 255);
15
+ const bPrime = division(b, 255);
16
+ const max = Math.max(rPrime, gPrime, bPrime);
17
+ const min = Math.min(rPrime, gPrime, bPrime);
18
18
  const diff = subtract(max, min);
19
19
  let h = 0;
20
20
  const l = division(addition(max, min), 2);
@@ -23,16 +23,16 @@ export const rgbaToHsla = (rgba) => {
23
23
  : division(diff, subtract(1, Math.abs(subtract(addition(max, min), 1))));
24
24
  if (diff !== 0) {
25
25
  switch (max) {
26
- case r: {
27
- h = addition(division(subtract(g, b), diff), g < b ? 6 : 0);
26
+ case rPrime: {
27
+ h = addition(division(subtract(gPrime, bPrime), diff), gPrime < bPrime ? 6 : 0);
28
28
  break;
29
29
  }
30
- case g: {
31
- h = addition(division(subtract(b, r), diff), 2);
30
+ case gPrime: {
31
+ h = addition(division(subtract(bPrime, rPrime), diff), 2);
32
32
  break;
33
33
  }
34
- case b: {
35
- h = addition(division(subtract(r, g), diff), 4);
34
+ case bPrime: {
35
+ h = addition(division(subtract(rPrime, gPrime), diff), 4);
36
36
  break;
37
37
  }
38
38
  }
@@ -42,7 +42,7 @@ export const rgbaToHsla = (rgba) => {
42
42
  h: roundOf(h, 2),
43
43
  s: roundOf(s * 100, 2),
44
44
  l: roundOf(l * 100, 2),
45
- a: rgba.a || 1,
45
+ a,
46
46
  };
47
47
  };
48
48
  //# sourceMappingURL=rgbaToHsla.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rgbaToHsla.js","sourceRoot":"","sources":["../../src/Tool/rgbaToHsla.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAK1B,EAAE,EAAE;IACH,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,GACL,IAAI,KAAK,CAAC;QACR,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,CAAC;YACD,KAAK,CAAC,CAAC,CAAC,CAAC;gBACP,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChD,MAAM;YACR,CAAC;QACH,CAAC;QACD,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;KACf,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"rgbaToHsla.js","sourceRoot":"","sources":["../../src/Tool/rgbaToHsla.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,GAAG,CAAC,GAMN,EAAkD,EAAE;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,GACL,IAAI,KAAK,CAAC;QACR,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACf,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,GAAG,QAAQ,CACV,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EACxC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;QACH,CAAC;QACD,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "umt",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "author": "riya-amemiya",
5
5
  "repository": {
6
6
  "type": "git",
@@ -48,6 +48,7 @@
48
48
  "license": "MIT",
49
49
  "scripts": {
50
50
  "build": "tsc && tsc-alias -p tsconfig.json",
51
+ "build:clean": "rm -rf module && yarn build",
51
52
  "clean-build": "rm -rf module && yarn build",
52
53
  "deploy": "yarn typedoc && gh-pages -d doc",
53
54
  "test": "jest",