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.
- 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/module/Tool/rgbaToHsla.d.ts +2 -2
- package/module/Tool/rgbaToHsla.js +13 -13
- package/module/Tool/rgbaToHsla.js.map +1 -1
- package/package.json +2 -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"}
|
|
@@ -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: (
|
|
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 = (
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const max = Math.max(
|
|
17
|
-
const min = Math.min(
|
|
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
|
|
27
|
-
h = addition(division(subtract(
|
|
26
|
+
case rPrime: {
|
|
27
|
+
h = addition(division(subtract(gPrime, bPrime), diff), gPrime < bPrime ? 6 : 0);
|
|
28
28
|
break;
|
|
29
29
|
}
|
|
30
|
-
case
|
|
31
|
-
h = addition(division(subtract(
|
|
30
|
+
case gPrime: {
|
|
31
|
+
h = addition(division(subtract(bPrime, rPrime), diff), 2);
|
|
32
32
|
break;
|
|
33
33
|
}
|
|
34
|
-
case
|
|
35
|
-
h = addition(division(subtract(
|
|
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
|
|
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,
|
|
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.
|
|
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",
|