@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.
Files changed (51) hide show
  1. package/LICENSE +1 -1
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/names/getName.d.ts +1 -0
  7. package/dist/names/getName.d.ts.map +1 -1
  8. package/dist/names/getName.js +5 -1
  9. package/dist/names/getName.js.map +1 -1
  10. package/dist/names/tcapi.d.ts +9 -0
  11. package/dist/names/tcapi.d.ts.map +1 -0
  12. package/dist/names/tcapi.js +1849 -0
  13. package/dist/names/tcapi.js.map +1 -0
  14. package/dist/utility/cmyToCmyk.js +2 -2
  15. package/dist/utility/cmyToCmyk.js.map +1 -1
  16. package/dist/utility/deltaCmc.d.ts.map +1 -1
  17. package/dist/utility/deltaCmc.js +13 -9
  18. package/dist/utility/deltaCmc.js.map +1 -1
  19. package/dist/utility/deltaE00.d.ts.map +1 -1
  20. package/dist/utility/deltaE00.js +19 -18
  21. package/dist/utility/deltaE00.js.map +1 -1
  22. package/dist/utility/hexToRgb.d.ts +1 -1
  23. package/dist/utility/hexToRgb.js +1 -1
  24. package/dist/utility/hslToRgb.d.ts.map +1 -1
  25. package/dist/utility/hslToRgb.js +7 -8
  26. package/dist/utility/hslToRgb.js.map +1 -1
  27. package/dist/utility/hsvToRgb.d.ts.map +1 -1
  28. package/dist/utility/hsvToRgb.js +3 -1
  29. package/dist/utility/hsvToRgb.js.map +1 -1
  30. package/dist/utility/rgbToHex.d.ts +9 -0
  31. package/dist/utility/rgbToHex.d.ts.map +1 -0
  32. package/dist/utility/rgbToHex.js +10 -0
  33. package/dist/utility/rgbToHex.js.map +1 -0
  34. package/dist/utility/rgbToHsl.js +6 -7
  35. package/dist/utility/rgbToHsl.js.map +1 -1
  36. package/dist/utility/rgbToHsv.d.ts.map +1 -1
  37. package/dist/utility/rgbToHsv.js +12 -7
  38. package/dist/utility/rgbToHsv.js.map +1 -1
  39. package/package.json +14 -18
  40. package/src/index.ts +2 -0
  41. package/src/names/getName.ts +6 -1
  42. package/src/names/tcapi.ts +1851 -0
  43. package/src/utility/cmyToCmyk.ts +3 -3
  44. package/src/utility/deltaCmc.ts +17 -13
  45. package/src/utility/deltaE00.ts +24 -23
  46. package/src/utility/hexToRgb.ts +1 -1
  47. package/src/utility/hslToRgb.ts +10 -8
  48. package/src/utility/hsvToRgb.ts +5 -1
  49. package/src/utility/rgbToHex.ts +11 -0
  50. package/src/utility/rgbToHsl.ts +8 -8
  51. 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.0.0",
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:Lakuna/color"
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": "mocha",
32
+ "test": "node --test",
33
33
  "beautify": "prettier . --write"
34
34
  },
35
35
  "devDependencies": {
36
- "@eslint/js": "^9.9.1",
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/mocha": "^10.0.7",
42
- "chai": "^5.1.1",
43
- "eslint": "^9.9.1",
44
- "eslint-config-prettier": "^9.1.0",
45
- "eslint-plugin-prettier": "^5.2.1",
46
- "eslint-plugin-tsdoc": "^0.3.0",
47
- "mocha": "^10.7.3",
48
- "prettier": "^3.3.3",
49
- "typedoc": "^0.26.6",
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
- "types": "./dist/index.d.ts",
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";
@@ -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 as [string, T];
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()) {