umt 1.6.1 → 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.
- package/module/Math/addition.d.ts +2 -3
- package/module/Math/addition.js +4 -5
- package/module/Math/addition.js.map +1 -1
- package/module/Math/multiplication.d.ts +4 -5
- package/module/Math/multiplication.js +10 -9
- package/module/Math/multiplication.js.map +1 -1
- package/module/Math/roundOf.d.ts +1 -1
- package/module/Math/roundOf.js +1 -1
- package/module/Math/roundOf.js.map +1 -1
- package/module/Math/subtract.d.ts +4 -5
- package/module/Math/subtract.js +13 -9
- package/module/Math/subtract.js.map +1 -1
- package/module/Tool/cmykToRgba.d.ts +12 -0
- package/module/Tool/cmykToRgba.js +41 -0
- package/module/Tool/cmykToRgba.js.map +1 -0
- package/module/Tool/hslaToRgba.d.ts +15 -0
- package/module/Tool/hslaToRgba.js +76 -0
- package/module/Tool/hslaToRgba.js.map +1 -0
- package/module/Tool/index.d.ts +2 -0
- package/module/Tool/index.js +2 -0
- package/module/Tool/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 誤差のない足し算
|
|
3
|
-
* @param {number}
|
|
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: (
|
|
7
|
+
export declare const addition: (...numbers: number[]) => number;
|
package/module/Math/addition.js
CHANGED
|
@@ -3,13 +3,12 @@ import { max } from "./max";
|
|
|
3
3
|
import { multiplication } from "./multiplication";
|
|
4
4
|
/**
|
|
5
5
|
* 誤差のない足し算
|
|
6
|
-
* @param {number}
|
|
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 = (
|
|
12
|
-
const z = Math.pow(10, max(
|
|
13
|
-
return (
|
|
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
|
|
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}
|
|
4
|
-
* @param {number} y
|
|
2
|
+
* 誤差のない掛け算を任意長の引数で行う
|
|
3
|
+
* @param {...number[]} numbers
|
|
5
4
|
* @returns number
|
|
6
|
-
* @example multiplication(0.1, 0.2); // 0.
|
|
5
|
+
* @example multiplication(0.1, 0.2, 0.3); // 0.006
|
|
7
6
|
*/
|
|
8
|
-
export declare const multiplication: (
|
|
7
|
+
export declare const multiplication: (...numbers: number[]) => number;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { getDecimalLength } from "./getDecimalLength";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @param {number}
|
|
5
|
-
* @param {number} y
|
|
3
|
+
* 誤差のない掛け算を任意長の引数で行う
|
|
4
|
+
* @param {...number[]} numbers
|
|
6
5
|
* @returns number
|
|
7
|
-
* @example multiplication(0.1, 0.2); // 0.
|
|
6
|
+
* @example multiplication(0.1, 0.2, 0.3); // 0.006
|
|
8
7
|
*/
|
|
9
|
-
export const multiplication = (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
|
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"}
|
package/module/Math/roundOf.d.ts
CHANGED
package/module/Math/roundOf.js
CHANGED
|
@@ -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,
|
|
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}
|
|
4
|
-
* @param {number} y
|
|
2
|
+
* 誤差のない引き算を任意長の引数で行う
|
|
3
|
+
* @param {number[]} numbers 引き算を行う数値の配列
|
|
5
4
|
* @returns number
|
|
6
|
-
* @example subtract(0.1, 0.2); // -0.
|
|
5
|
+
* @example subtract([0.1, 0.2, 0.3]); // -0.4
|
|
7
6
|
*/
|
|
8
|
-
export declare const subtract: (
|
|
7
|
+
export declare const subtract: (...numbers: number[]) => number;
|
package/module/Math/subtract.js
CHANGED
|
@@ -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}
|
|
7
|
-
* @param {number} y
|
|
5
|
+
* 誤差のない引き算を任意長の引数で行う
|
|
6
|
+
* @param {number[]} numbers 引き算を行う数値の配列
|
|
8
7
|
* @returns number
|
|
9
|
-
* @example subtract(0.1, 0.2); // -0.
|
|
8
|
+
* @example subtract([0.1, 0.2, 0.3]); // -0.4
|
|
10
9
|
*/
|
|
11
|
-
export const subtract = (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
|
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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"}
|
package/module/Tool/index.d.ts
CHANGED
|
@@ -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";
|
package/module/Tool/index.js
CHANGED
|
@@ -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";
|
package/module/Tool/index.js.map
CHANGED
|
@@ -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"}
|