@lakuna/color 1.0.0 → 1.1.1
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/LICENSE +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/names/getName.d.ts +1 -0
- package/dist/names/getName.d.ts.map +1 -1
- package/dist/names/getName.js +5 -1
- package/dist/names/getName.js.map +1 -1
- package/dist/names/tcapi.d.ts +9 -0
- package/dist/names/tcapi.d.ts.map +1 -0
- package/dist/names/tcapi.js +1849 -0
- package/dist/names/tcapi.js.map +1 -0
- package/dist/utility/cmyToCmyk.js +2 -2
- package/dist/utility/cmyToCmyk.js.map +1 -1
- package/dist/utility/deltaCmc.d.ts.map +1 -1
- package/dist/utility/deltaCmc.js +13 -9
- package/dist/utility/deltaCmc.js.map +1 -1
- package/dist/utility/deltaE00.d.ts.map +1 -1
- package/dist/utility/deltaE00.js +19 -18
- package/dist/utility/deltaE00.js.map +1 -1
- package/dist/utility/hexToRgb.d.ts +1 -1
- package/dist/utility/hexToRgb.js +1 -1
- package/dist/utility/hslToRgb.d.ts.map +1 -1
- package/dist/utility/hslToRgb.js +7 -8
- package/dist/utility/hslToRgb.js.map +1 -1
- package/dist/utility/hsvToRgb.d.ts.map +1 -1
- package/dist/utility/hsvToRgb.js +3 -1
- package/dist/utility/hsvToRgb.js.map +1 -1
- package/dist/utility/rgbToHex.d.ts +9 -0
- package/dist/utility/rgbToHex.d.ts.map +1 -0
- package/dist/utility/rgbToHex.js +10 -0
- package/dist/utility/rgbToHex.js.map +1 -0
- package/dist/utility/rgbToHsl.js +6 -7
- package/dist/utility/rgbToHsl.js.map +1 -1
- package/dist/utility/rgbToHsv.d.ts.map +1 -1
- package/dist/utility/rgbToHsv.js +12 -7
- package/dist/utility/rgbToHsv.js.map +1 -1
- package/package.json +14 -18
- package/src/index.ts +2 -0
- package/src/names/getName.ts +6 -1
- package/src/names/tcapi.ts +1851 -0
- package/src/utility/cmyToCmyk.ts +3 -3
- package/src/utility/deltaCmc.ts +17 -13
- package/src/utility/deltaE00.ts +24 -23
- package/src/utility/hexToRgb.ts +1 -1
- package/src/utility/hslToRgb.ts +10 -8
- package/src/utility/hsvToRgb.ts +5 -1
- package/src/utility/rgbToHex.ts +11 -0
- package/src/utility/rgbToHsl.ts +8 -8
- package/src/utility/rgbToHsv.ts +13 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lakuna/color",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "A library for various color-related operations.",
|
|
5
5
|
"homepage": "https://color.lakuna.pw",
|
|
6
6
|
"bugs": {
|
|
@@ -23,37 +23,33 @@
|
|
|
23
23
|
],
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|
|
26
|
-
"url": "github
|
|
26
|
+
"url": "git+https://github.com/Lakuna/color.git"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsc",
|
|
30
30
|
"lint": "eslint src",
|
|
31
31
|
"doc": "typedoc src",
|
|
32
|
-
"test": "
|
|
32
|
+
"test": "node --test",
|
|
33
33
|
"beautify": "prettier . --write"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@eslint/js": "^9.
|
|
37
|
-
"@types/chai": "^4.3.19",
|
|
36
|
+
"@eslint/js": "^9.38.0",
|
|
38
37
|
"@types/eslint": "^9.6.1",
|
|
39
|
-
"@types/eslint__js": "^8.42.3",
|
|
40
38
|
"@types/eslint-config-prettier": "^6.11.3",
|
|
41
|
-
"@types/
|
|
42
|
-
"
|
|
43
|
-
"eslint": "^
|
|
44
|
-
"eslint-
|
|
45
|
-
"eslint-plugin-
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"typescript": "^5.5.4",
|
|
51
|
-
"typescript-eslint": "^8.3.0"
|
|
39
|
+
"@types/node": "^24.9.0",
|
|
40
|
+
"eslint": "^9.38.0",
|
|
41
|
+
"eslint-config-prettier": "^10.1.8",
|
|
42
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
43
|
+
"eslint-plugin-tsdoc": "^0.4.0",
|
|
44
|
+
"prettier": "^3.6.2",
|
|
45
|
+
"typedoc": "^0.28.14",
|
|
46
|
+
"typescript": "^5.9.3",
|
|
47
|
+
"typescript-eslint": "^8.46.2"
|
|
52
48
|
},
|
|
53
49
|
"exports": {
|
|
54
50
|
".": "./dist/index.js"
|
|
55
51
|
},
|
|
56
|
-
"
|
|
52
|
+
"typings": "./dist/index.d.ts",
|
|
57
53
|
"type": "module",
|
|
58
54
|
"sideEffects": false
|
|
59
55
|
}
|
package/src/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ export { default as hollasch } from "./names/hollasch.js";
|
|
|
7
7
|
export { default as nbs } from "./names/nbs.js";
|
|
8
8
|
export { default as ntc } from "./names/ntc.js";
|
|
9
9
|
export { default as resene } from "./names/resene.js";
|
|
10
|
+
export { default as tcapi } from "./names/tcapi.js";
|
|
10
11
|
export { default as x11 } from "./names/x11.js";
|
|
11
12
|
export { default as xkcd } from "./names/xkcd.js";
|
|
12
13
|
|
|
@@ -48,6 +49,7 @@ export { default as lchToLab } from "./utility/lchToLab.js";
|
|
|
48
49
|
export { default as luvToXyz } from "./utility/luvToXyz.js";
|
|
49
50
|
export { default as relativeLuminance } from "./utility/relativeLuminance.js";
|
|
50
51
|
export { default as rgbToCmy } from "./utility/rgbToCmy.js";
|
|
52
|
+
export { default as rgbToHex } from "./utility/rgbToHex.js";
|
|
51
53
|
export { default as rgbToHsl } from "./utility/rgbToHsl.js";
|
|
52
54
|
export { default as rgbToHsv } from "./utility/rgbToHsv.js";
|
|
53
55
|
export { default as rgbToXyz } from "./utility/rgbToXyz.js";
|
package/src/names/getName.ts
CHANGED
|
@@ -11,6 +11,7 @@ import xyzToLab from "../utility/xyzToLab.js";
|
|
|
11
11
|
* @param names - The color name dictionary.
|
|
12
12
|
* @param diff - The function for comparing the difference between colors.
|
|
13
13
|
* @returns The nearest color name.
|
|
14
|
+
* @throws `Error` if the color name dictionary is empty.
|
|
14
15
|
* @public
|
|
15
16
|
*/
|
|
16
17
|
export default function getName<T extends Color>(
|
|
@@ -18,7 +19,11 @@ export default function getName<T extends Color>(
|
|
|
18
19
|
names: Map<string, T>,
|
|
19
20
|
diff: (a: T, b: T) => number
|
|
20
21
|
): string {
|
|
21
|
-
let [nearestName] = names.entries().next().value
|
|
22
|
+
let [nearestName] = names.entries().next().value ?? [];
|
|
23
|
+
if (!nearestName) {
|
|
24
|
+
throw new Error("The color name dictionary must not be empty.");
|
|
25
|
+
}
|
|
26
|
+
|
|
22
27
|
let nearestDiff = Infinity;
|
|
23
28
|
|
|
24
29
|
for (const [name, otherColor] of names.entries()) {
|