@tempots/std 0.9.2 → 0.9.4

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 (82) hide show
  1. package/README.md +3 -0
  2. package/package.json +2 -2
  3. package/dist/arrays.d.ts +0 -49
  4. package/dist/arrays.js +0 -249
  5. package/dist/async-result.d.ts +0 -37
  6. package/dist/async-result.js +0 -75
  7. package/dist/bigint.d.ts +0 -18
  8. package/dist/bigint.js +0 -110
  9. package/dist/booleans.d.ts +0 -23
  10. package/dist/booleans.js +0 -68
  11. package/dist/colors/cmyk.d.ts +0 -21
  12. package/dist/colors/cmyk.js +0 -54
  13. package/dist/colors/convert.d.ts +0 -283
  14. package/dist/colors/convert.js +0 -742
  15. package/dist/colors/hsl.d.ts +0 -24
  16. package/dist/colors/hsl.js +0 -56
  17. package/dist/colors/hsla.d.ts +0 -18
  18. package/dist/colors/hsla.js +0 -35
  19. package/dist/colors/hsluv.d.ts +0 -24
  20. package/dist/colors/hsluv.js +0 -56
  21. package/dist/colors/hsv.d.ts +0 -24
  22. package/dist/colors/hsv.js +0 -54
  23. package/dist/colors/lab.d.ts +0 -24
  24. package/dist/colors/lab.js +0 -54
  25. package/dist/colors/lch.d.ts +0 -19
  26. package/dist/colors/lch.js +0 -44
  27. package/dist/colors/luv.d.ts +0 -19
  28. package/dist/colors/luv.js +0 -45
  29. package/dist/colors/rgb.d.ts +0 -13
  30. package/dist/colors/rgb.js +0 -47
  31. package/dist/colors/rgba.d.ts +0 -12
  32. package/dist/colors/rgba.js +0 -44
  33. package/dist/colors/srgb.d.ts +0 -24
  34. package/dist/colors/srgb.js +0 -51
  35. package/dist/colors/xyz.d.ts +0 -19
  36. package/dist/colors/xyz.js +0 -41
  37. package/dist/edit.d.ts +0 -20
  38. package/dist/edit.js +0 -29
  39. package/dist/equals.d.ts +0 -3
  40. package/dist/equals.js +0 -122
  41. package/dist/functions.d.ts +0 -20
  42. package/dist/functions.js +0 -38
  43. package/dist/json.d.ts +0 -14
  44. package/dist/json.js +0 -33
  45. package/dist/match.d.ts +0 -16
  46. package/dist/match.js +0 -45
  47. package/dist/maybe.d.ts +0 -9
  48. package/dist/maybe.js +0 -25
  49. package/dist/memoize.d.ts +0 -1
  50. package/dist/memoize.js +0 -9
  51. package/dist/newtype.d.ts +0 -28
  52. package/dist/newtype.js +0 -29
  53. package/dist/numbers.d.ts +0 -104
  54. package/dist/numbers.js +0 -183
  55. package/dist/objects.d.ts +0 -9
  56. package/dist/objects.js +0 -33
  57. package/dist/ord.d.ts +0 -19
  58. package/dist/ord.js +0 -73
  59. package/dist/reg-exps.d.ts +0 -10
  60. package/dist/reg-exps.js +0 -43
  61. package/dist/result.d.ts +0 -31
  62. package/dist/result.js +0 -95
  63. package/dist/strings.d.ts +0 -314
  64. package/dist/strings.js +0 -685
  65. package/dist/types/assert.d.ts +0 -12
  66. package/dist/types/assert.js +0 -13
  67. package/dist/types/differentiate.d.ts +0 -13
  68. package/dist/types/differentiate.js +0 -14
  69. package/dist/types/functions.d.ts +0 -22
  70. package/dist/types/functions.js +0 -13
  71. package/dist/types/generic.d.ts +0 -9
  72. package/dist/types/generic.js +0 -13
  73. package/dist/types/objects.d.ts +0 -50
  74. package/dist/types/objects.js +0 -13
  75. package/dist/types/tuples.d.ts +0 -44
  76. package/dist/types/tuples.js +0 -24
  77. package/dist/types/utility.d.ts +0 -2
  78. package/dist/types/utility.js +0 -1
  79. package/dist/uuid.d.ts +0 -13
  80. package/dist/uuid.js +0 -56
  81. package/dist/validation.d.ts +0 -23
  82. package/dist/validation.js +0 -44
@@ -1,742 +0,0 @@
1
- import { CMYK } from './cmyk';
2
- import { HSL } from './hsl';
3
- import { HSLuv } from './hsluv';
4
- import { HSV } from './hsv';
5
- import { LAB } from './lab';
6
- import { LCH } from './lch';
7
- import { LUV } from './luv';
8
- import { RGB } from './rgb';
9
- import { SRGB } from './srgb';
10
- import { XYZ } from './xyz';
11
- const kappa = 24389 / 27;
12
- const epsilon = 216 / 24389;
13
- const mR0 = 3.240969941904521;
14
- const mR1 = -1.537383177570093;
15
- const mR2 = -0.498610760293;
16
- const mG0 = -0.96924363628087;
17
- const mG1 = 1.87596750150772;
18
- const mG2 = 0.041555057407175;
19
- const mB0 = 0.055630079696993;
20
- const mB1 = -0.20397695888897;
21
- const mB2 = 1.056971514242878;
22
- export const WHITE_REFERENCE = [0.95047, 1, 1.08883];
23
- function distanceFromOriginAngle(slope, intercept, angle) {
24
- const d = intercept / (Math.sin(angle) - slope * Math.cos(angle));
25
- if (d < 0) {
26
- return Infinity;
27
- }
28
- else {
29
- return d;
30
- }
31
- }
32
- function calculateBoundingLines(l) {
33
- const sub1 = (l + 16) ** 3 / 1560896;
34
- const sub2 = sub1 > epsilon ? sub1 : l / kappa;
35
- const s1r = sub2 * (284517 * mR0 - 94839 * mR2);
36
- const s2r = sub2 * (838422 * mR2 + 769860 * mR1 + 731718 * mR0);
37
- const s3r = sub2 * (632260 * mR2 - 126452 * mR1);
38
- const s1g = sub2 * (284517 * mG0 - 94839 * mG2);
39
- const s2g = sub2 * (838422 * mG2 + 769860 * mG1 + 731718 * mG0);
40
- const s3g = sub2 * (632260 * mG2 - 126452 * mG1);
41
- const s1b = sub2 * (284517 * mB0 - 94839 * mB2);
42
- const s2b = sub2 * (838422 * mB2 + 769860 * mB1 + 731718 * mB0);
43
- const s3b = sub2 * (632260 * mB2 - 126452 * mB1);
44
- const r0s = s1r / s3r;
45
- const r0i = (s2r * l) / s3r;
46
- const r1s = s1r / (s3r + 126452);
47
- const r1i = ((s2r - 769860) * l) / (s3r + 126452);
48
- const g0s = s1g / s3g;
49
- const g0i = (s2g * l) / s3g;
50
- const g1s = s1g / (s3g + 126452);
51
- const g1i = ((s2g - 769860) * l) / (s3g + 126452);
52
- const b0s = s1b / s3b;
53
- const b0i = (s2b * l) / s3b;
54
- const b1s = s1b / (s3b + 126452);
55
- const b1i = ((s2b - 769860) * l) / (s3b + 126452);
56
- return [r0s, r0i, r1s, r1i, g0s, g0i, g1s, g1i, b0s, b0i, b1s, b1i];
57
- }
58
- function calcMaxChromaHsluv(h, r0s, r0i, r1s, r1i, g0s, g0i, g1s, g1i, b0s, b0i, b1s, b1i) {
59
- const hueRad = (h / 180) * Math.PI;
60
- const r0 = distanceFromOriginAngle(r0s, r0i, hueRad);
61
- const r1 = distanceFromOriginAngle(r1s, r1i, hueRad);
62
- const g0 = distanceFromOriginAngle(g0s, g0i, hueRad);
63
- const g1 = distanceFromOriginAngle(g1s, g1i, hueRad);
64
- const b0 = distanceFromOriginAngle(b0s, b0i, hueRad);
65
- const b1 = distanceFromOriginAngle(b1s, b1i, hueRad);
66
- return Math.min(r0, r1, g0, g1, b0, b1);
67
- }
68
- export const Direct = {
69
- cmyk2rgb([c, m, y, k]) {
70
- const r = (1 - c) * (1 - k);
71
- const g = (1 - m) * (1 - k);
72
- const b = (1 - y) * (1 - k);
73
- return [r, g, b];
74
- },
75
- hsl2hsv([h, s, l]) {
76
- const v = l < 0.5 ? l * (1 + s) : l + s - l * s;
77
- const m = l + l - v;
78
- const sv = v !== 0 ? (v - m) / v : 0;
79
- return [h, sv, v];
80
- },
81
- hsv2hsl([h, s, v]) {
82
- const l = ((2 - s) * v) / 2;
83
- if (l === 0) {
84
- return [h, 0, l];
85
- }
86
- else if (l === 1) {
87
- return [h, 0, l];
88
- }
89
- else if (l < 0.5) {
90
- return [h, (s * v) / (l * 2), l];
91
- }
92
- else {
93
- return [h, (s * v) / (2 - l * 2), l];
94
- }
95
- },
96
- hsl2rgb([h, s, l]) {
97
- const a = s * Math.min(l, 1 - l);
98
- const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
99
- return [f(0), f(8), f(4)];
100
- },
101
- lab2lch([l, a, b]) {
102
- const h = (Math.atan2(b, a) * 180) / Math.PI;
103
- if (h > 0) {
104
- return [l, Math.sqrt(a * a + b * b), h];
105
- }
106
- else {
107
- return [l, Math.sqrt(a * a + b * b), h + 360];
108
- }
109
- },
110
- lab2xyz([l, a, b], [rx, ry, rz]) {
111
- const fy = (l + 16) / 116;
112
- const fx = a / 500 + fy;
113
- const fz = fy - b / 200;
114
- const x = rx * (fx ** 3 > epsilon ? fx ** 3 : (116 * fx - 16) / kappa);
115
- const y = ry * (l > kappa * epsilon ? ((l + 16) / 116) ** 3 : l / kappa);
116
- const z = rz * (fz ** 3 > epsilon ? fz ** 3 : (116 * fz - 16) / kappa);
117
- return [x * 100, y * 100, z * 100];
118
- },
119
- lch2lab([l, c, h]) {
120
- const hrad = (h * Math.PI) / 180;
121
- return [l, c * Math.cos(hrad), c * Math.sin(hrad)];
122
- },
123
- luv2xyz([l, u, v], [rx, ry, rz]) {
124
- if (l === 0) {
125
- return [0, 0, 0];
126
- }
127
- const u0 = (4 * rx) / (rx + 15 * ry + 3 * rz);
128
- const v0 = (9 * ry) / (rx + 15 * ry + 3 * rz);
129
- const a = (1 / 3) * ((52 * l) / (u + 13 * l * u0) - 1);
130
- const y = l > kappa * epsilon ? ((l + 16) / 116) ** 3 : l / kappa;
131
- const b = -5 * y;
132
- const c = -1 / 3;
133
- const d = y * ((39 * l) / (v + 13 * l * v0) - 5);
134
- const x = (d - b) / (a - c);
135
- const z = x * a + b;
136
- return [x * 100, y * 100, z * 100];
137
- },
138
- rgb2cmyk([r, g, b]) {
139
- const k = 1 - Math.max(r, g, b);
140
- const c = (1 - r - k) / (1 - k);
141
- const m = (1 - g - k) / (1 - k);
142
- const y = (1 - b - k) / (1 - k);
143
- return [c, m, y, k];
144
- },
145
- rgb2hsl([r, g, b]) {
146
- const a = Math.max(r, g, b);
147
- const n = a - Math.min(r, g, b);
148
- const f = 1 - Math.abs(a + a - n - 1);
149
- const h = n === 0 ? 0 : (a === r ? (g - b) / n : a === g ? 2 + (b - r) / n : 4 + (r - g) / n);
150
- return [60 * (h < 0 ? h + 6 : h), f !== 0 ? n / f : 0, (a + a - n) / 2];
151
- },
152
- rgb2xyz([r, g, b]) {
153
- if (r > 0.04045) {
154
- r = Math.pow((r + 0.055) / 1.055, 2.4);
155
- }
156
- else {
157
- r = r / 12.92;
158
- }
159
- if (g > 0.04045) {
160
- g = Math.pow((g + 0.055) / 1.055, 2.4);
161
- }
162
- else {
163
- g = g / 12.92;
164
- }
165
- if (b > 0.04045) {
166
- b = Math.pow((b + 0.055) / 1.055, 2.4);
167
- }
168
- else {
169
- b = b / 12.92;
170
- }
171
- return [
172
- (r * 0.4124564 + g * 0.3575761 + b * 0.1804375) * 100,
173
- (r * 0.2126729 + g * 0.7151522 + b * 0.072175) * 100,
174
- (r * 0.0193339 + g * 0.119192 + b * 0.9503041) * 100
175
- ];
176
- },
177
- xyz2lab([x, y, z], [rx, ry, rz]) {
178
- const f = (t) => t > epsilon ? Math.pow(t, 1 / 3) : (116 * t - 16) / kappa;
179
- const l = 116 * f(y / ry / 100) - 16;
180
- const a = 500 * (f(x / rx / 100) - f(y / ry / 100));
181
- const b = 200 * (f(y / ry / 100) - f(z / rz / 100));
182
- return [l, a, b];
183
- },
184
- xyz2luv([x, y, z], [rx, ry, rz]) {
185
- x /= 100;
186
- y /= 100;
187
- z /= 100;
188
- const yr = y / ry;
189
- const up = (4 * x) / (x + 15 * y + 3 * z);
190
- const vp = (9 * y) / (x + 15 * y + 3 * z);
191
- const upr = (4 * rx) / (rx + 15 * ry + 3 * rz);
192
- const vpr = (9 * ry) / (rx + 15 * ry + 3 * rz);
193
- const l = yr > epsilon ? 116 * Math.pow(yr, 1 / 3) - 16 : kappa * yr;
194
- const u = 13 * l * (up - upr);
195
- const v = 13 * l * (vp - vpr);
196
- return [l, u, v];
197
- },
198
- xyz2rgb([x, y, z]) {
199
- function adj(v) {
200
- if (Math.abs(v) < 0.0031308) {
201
- return 12.92 * v;
202
- }
203
- return 1.055 * Math.pow(v, 0.41666) - 0.055;
204
- }
205
- x /= 100;
206
- y /= 100;
207
- z /= 100;
208
- const r = adj(x * 3.2404542 + y * -1.5371385 + z * -0.4985314);
209
- const g = adj(x * -0.969266 + y * 1.8760108 + z * 0.041556);
210
- const b = adj(x * 0.0556434 + y * -0.2040259 + z * 1.0572252);
211
- return [r, g, b];
212
- },
213
- hsluv2lch: ([h, s, l]) => {
214
- let lchL = 0;
215
- let lchC = 0;
216
- if (l > 99.9999999) {
217
- lchL = 100;
218
- }
219
- else if (l >= 0.00000001) {
220
- lchL = l;
221
- const [r0s, r0i, r1s, r1i, g0s, g0i, g1s, g1i, b0s, b0i, b1s, b1i] = calculateBoundingLines(l);
222
- const max = calcMaxChromaHsluv(h, r0s, r0i, r1s, r1i, g0s, g0i, g1s, g1i, b0s, b0i, b1s, b1i);
223
- lchC = (max / 100) * s;
224
- }
225
- return [lchL, lchC, h];
226
- },
227
- lch2hsluv: ([l, c, h]) => {
228
- let hsluvS = 0;
229
- let hsluvL = 0;
230
- if (l > 99.9999999) {
231
- hsluvL = 100;
232
- }
233
- else if (l >= 0.00000001) {
234
- hsluvL = l;
235
- const [r0s, r0i, r1s, r1i, g0s, g0i, g1s, g1i, b0s, b0i, b1s, b1i] = calculateBoundingLines(l);
236
- const max = calcMaxChromaHsluv(h, r0s, r0i, r1s, r1i, g0s, g0i, g1s, g1i, b0s, b0i, b1s, b1i);
237
- hsluvS = (c / max) * 100;
238
- hsluvL = l;
239
- }
240
- return [h, hsluvS, hsluvL];
241
- }
242
- };
243
- export const Channel = {
244
- ...Direct,
245
- cmyk2hsl: (cmyk) => {
246
- const rgb = Channel.cmyk2rgb(cmyk);
247
- return Channel.rgb2hsl(rgb);
248
- },
249
- cmyk2hsluv: (cmyk, whiteReference) => {
250
- const lch = Channel.cmyk2lch(cmyk, whiteReference);
251
- return Channel.lch2hsluv(lch);
252
- },
253
- cmyk2hsv: (cmyk) => {
254
- const rgb = Channel.cmyk2rgb(cmyk);
255
- return Channel.rgb2hsv(rgb);
256
- },
257
- cmyk2lab: (cmyk, whiteReference) => {
258
- const rgb = Channel.cmyk2rgb(cmyk);
259
- return Channel.rgb2lab(rgb, whiteReference);
260
- },
261
- cmyk2lch: (cmyk, whiteReference) => {
262
- const rgb = Channel.cmyk2rgb(cmyk);
263
- return Channel.rgb2lch(rgb, whiteReference);
264
- },
265
- cmyk2luv: (cmyk, whiteReference) => {
266
- const rgb = Channel.cmyk2rgb(cmyk);
267
- return Channel.rgb2luv(rgb, whiteReference);
268
- },
269
- cmyk2xyz: (cmyk) => {
270
- const rgb = Channel.cmyk2rgb(cmyk);
271
- return Channel.rgb2xyz(rgb);
272
- },
273
- hsl2cmyk: (hsl) => {
274
- const rgb = Channel.hsl2rgb(hsl);
275
- return Channel.rgb2cmyk(rgb);
276
- },
277
- hsl2lab: (hsl, whiteReference) => {
278
- const rgb = Channel.hsl2rgb(hsl);
279
- return Channel.rgb2lab(rgb, whiteReference);
280
- },
281
- hsl2hsluv: (hsl, whiteReference) => {
282
- const lch = Channel.hsl2lch(hsl, whiteReference);
283
- return Channel.lch2hsluv(lch);
284
- },
285
- hsl2lch: (hsl, whiteReference) => {
286
- const rgb = Channel.hsl2rgb(hsl);
287
- return Channel.rgb2lch(rgb, whiteReference);
288
- },
289
- hsl2luv: (hsl, whiteReference) => {
290
- const rgb = Channel.hsl2rgb(hsl);
291
- return Channel.rgb2luv(rgb, whiteReference);
292
- },
293
- hsl2xyz: (hsl) => {
294
- const rgb = Channel.hsl2rgb(hsl);
295
- return Channel.rgb2xyz(rgb);
296
- },
297
- hsluv2cmyk: (hsluv, whiteReference) => {
298
- const lch = Channel.hsluv2lch(hsluv);
299
- return Channel.lch2cmyk(lch, whiteReference);
300
- },
301
- hsluv2hsl: (hsluv, whiteReference) => {
302
- const lch = Channel.hsluv2lch(hsluv);
303
- return Channel.lch2hsl(lch, whiteReference);
304
- },
305
- hsluv2lab: (hsluv) => {
306
- const lch = Channel.hsluv2lch(hsluv);
307
- return Channel.lch2lab(lch);
308
- },
309
- hsluv2luv(hsluv, whiteReference) {
310
- const lch = Channel.hsluv2lch(hsluv);
311
- return Channel.lch2luv(lch, whiteReference);
312
- },
313
- hsluv2hsv(hsluv, whiteReference) {
314
- const lch = Channel.hsluv2lch(hsluv);
315
- return Channel.lch2hsv(lch, whiteReference);
316
- },
317
- hsluv2rgb(hsluv, whiteReference) {
318
- const lch = Channel.hsluv2lch(hsluv);
319
- return Channel.lch2rgb(lch, whiteReference);
320
- },
321
- hsluv2xyz: (hsluv, whiteReference) => {
322
- const lch = Channel.hsluv2lch(hsluv);
323
- return Channel.lch2xyz(lch, whiteReference);
324
- },
325
- hsv2cmyk: (hsv) => {
326
- const hsl = Channel.hsv2hsl(hsv);
327
- return Channel.hsl2cmyk(hsl);
328
- },
329
- hsv2hsluv: (hsv, whiteReference) => {
330
- const hsl = Channel.hsv2hsl(hsv);
331
- return Channel.hsl2hsluv(hsl, whiteReference);
332
- },
333
- hsv2lab: (hsv, whiteReference) => {
334
- const rgb = Channel.hsv2rgb(hsv);
335
- return Channel.rgb2lab(rgb, whiteReference);
336
- },
337
- hsv2lch: (hsv, whiteReference) => {
338
- const rgb = Channel.hsv2rgb(hsv);
339
- return Channel.rgb2lch(rgb, whiteReference);
340
- },
341
- hsv2luv: (hsv, whiteReference) => {
342
- const rgb = Channel.hsv2rgb(hsv);
343
- return Channel.rgb2luv(rgb, whiteReference);
344
- },
345
- hsv2rgb: (hsv) => {
346
- const hsl = Channel.hsv2hsl(hsv);
347
- return Channel.hsl2rgb(hsl);
348
- },
349
- hsv2xyz: (hsv) => {
350
- const hsl = Channel.hsv2hsl(hsv);
351
- return Channel.hsl2xyz(hsl);
352
- },
353
- lab2cmyk: (lab, whiteReference) => {
354
- const rgb = Channel.lab2rgb(lab, whiteReference);
355
- return Channel.rgb2cmyk(rgb);
356
- },
357
- lab2hsl: (lab, whiteReference) => {
358
- const rgb = Channel.lab2rgb(lab, whiteReference);
359
- return Channel.rgb2hsl(rgb);
360
- },
361
- lab2hsluv: (lab) => {
362
- const lch = Channel.lab2lch(lab);
363
- return Channel.lch2hsluv(lch);
364
- },
365
- lab2hsv: (lab, whiteReference) => {
366
- const rgb = Channel.lab2rgb(lab, whiteReference);
367
- return Channel.rgb2hsv(rgb);
368
- },
369
- lab2luv: (lab, whiteReference) => {
370
- const rgb = Channel.lab2rgb(lab, whiteReference);
371
- return Channel.rgb2luv(rgb, whiteReference);
372
- },
373
- lab2rgb: (lab, whiteReference) => {
374
- const xyz = Channel.lab2xyz(lab, whiteReference);
375
- return Channel.xyz2rgb(xyz);
376
- },
377
- lch2cmyk: (lch, whiteReference) => {
378
- const rgb = Channel.lch2rgb(lch, whiteReference);
379
- return Channel.rgb2cmyk(rgb);
380
- },
381
- lch2hsl: (lch, whiteReference) => {
382
- const rgb = Channel.lch2rgb(lch, whiteReference);
383
- return Channel.rgb2hsl(rgb);
384
- },
385
- lch2hsv: (lch, whiteReference) => {
386
- const rgb = Channel.lch2rgb(lch, whiteReference);
387
- return Channel.rgb2hsv(rgb);
388
- },
389
- lch2luv: (lch, whiteReference) => {
390
- const rgb = Channel.lch2rgb(lch, whiteReference);
391
- return Channel.rgb2luv(rgb, whiteReference);
392
- },
393
- lch2rgb: (lch, whiteReference) => {
394
- const xyz = Channel.lch2xyz(lch, whiteReference);
395
- return Channel.xyz2rgb(xyz);
396
- },
397
- lch2xyz: (lch, whiteReference) => {
398
- const lab = Channel.lch2lab(lch);
399
- return Channel.lab2xyz(lab, whiteReference);
400
- },
401
- luv2cmyk: (luv, whiteReference) => {
402
- const rgb = Channel.luv2rgb(luv, whiteReference);
403
- return Channel.rgb2cmyk(rgb);
404
- },
405
- luv2hsl: (luv, whiteReference) => {
406
- const rgb = Channel.luv2rgb(luv, whiteReference);
407
- return Channel.rgb2hsl(rgb);
408
- },
409
- luv2hsluv: (luv, whiteReference) => {
410
- const lch = Channel.luv2lch(luv, whiteReference);
411
- return Channel.lch2hsluv(lch);
412
- },
413
- luv2hsv: (luv, whiteReference) => {
414
- const rgb = Channel.luv2rgb(luv, whiteReference);
415
- return Channel.rgb2hsv(rgb);
416
- },
417
- luv2lab: (luv, whiteReference) => {
418
- const rgb = Channel.luv2rgb(luv, whiteReference);
419
- return Channel.rgb2lab(rgb, whiteReference);
420
- },
421
- luv2lch: (luv, whiteReference) => {
422
- const rgb = Channel.luv2rgb(luv, whiteReference);
423
- return Channel.rgb2lch(rgb, whiteReference);
424
- },
425
- luv2rgb: (luv, whiteReference) => {
426
- const xyz = Channel.luv2xyz(luv, whiteReference);
427
- return Channel.xyz2rgb(xyz);
428
- },
429
- rgb2hsluv: (rgb, whiteReference) => {
430
- const luv = Channel.rgb2luv(rgb, whiteReference);
431
- return Channel.luv2hsluv(luv, whiteReference);
432
- },
433
- rgb2hsv: (rgb) => {
434
- const hsl = Channel.rgb2hsl(rgb);
435
- return Channel.hsl2hsv(hsl);
436
- },
437
- rgb2lab: (rgb, whiteReference) => {
438
- const xyz = Channel.rgb2xyz(rgb);
439
- return Channel.xyz2lab(xyz, whiteReference);
440
- },
441
- rgb2lch: (rgb, whiteReference) => {
442
- const lab = Channel.rgb2lab(rgb, whiteReference);
443
- return Channel.lab2lch(lab);
444
- },
445
- rgb2luv: (rgb, whiteReference) => {
446
- const xyz = Direct.rgb2xyz(rgb);
447
- return Direct.xyz2luv(xyz, whiteReference);
448
- },
449
- xyz2cmyk: (xyz) => {
450
- const rgb = Channel.xyz2rgb(xyz);
451
- return Channel.rgb2cmyk(rgb);
452
- },
453
- xyz2hsl: (xyz) => {
454
- const rgb = Channel.xyz2rgb(xyz);
455
- return Channel.rgb2hsl(rgb);
456
- },
457
- xyz2hsluv: (xyz, whiteReference) => {
458
- const luv = Channel.xyz2luv(xyz, whiteReference);
459
- return Channel.luv2hsluv(luv, whiteReference);
460
- },
461
- xyz2hsv: (xyz) => {
462
- const rgb = Channel.xyz2rgb(xyz);
463
- return Channel.rgb2hsv(rgb);
464
- },
465
- xyz2lch: (xyz, whiteReference) => {
466
- const lab = Channel.xyz2lab(xyz, whiteReference);
467
- return Channel.lab2lch(lab);
468
- }
469
- };
470
- export function cmyk2luv(cmyk, whiteReference = WHITE_REFERENCE) {
471
- return LUV.ofChannels(Channel.cmyk2luv(cmyk.toChannels(), whiteReference));
472
- }
473
- export function cmyk2hsl(cmyk) {
474
- return HSL.ofChannels(Channel.cmyk2hsl(cmyk.toChannels()));
475
- }
476
- export function cmyk2hsluv(cmyk, whiteReference = WHITE_REFERENCE) {
477
- return HSLuv.ofChannels(Channel.cmyk2hsluv(cmyk.toChannels(), whiteReference));
478
- }
479
- export function cmyk2hsv(cmyk) {
480
- return HSV.ofChannels(Channel.cmyk2hsv(cmyk.toChannels()));
481
- }
482
- export function cmyk2lab(cmyk, whiteReference = WHITE_REFERENCE) {
483
- return LAB.ofChannels(Channel.cmyk2lab(cmyk.toChannels(), whiteReference));
484
- }
485
- export function cmyk2lch(cmyk, whiteReference = WHITE_REFERENCE) {
486
- return LCH.ofChannels(Channel.cmyk2lch(cmyk.toChannels(), whiteReference));
487
- }
488
- export function cmyk2rgb(cmyk) {
489
- return RGB.ofChannels(Channel.cmyk2rgb(cmyk.toChannels()));
490
- }
491
- export function cmyk2srgb(cmyk) {
492
- return SRGB.ofChannels(Channel.cmyk2rgb(cmyk.toChannels()));
493
- }
494
- export function cmyk2xyz(cmyk) {
495
- return XYZ.ofChannels(Channel.cmyk2xyz(cmyk.toChannels()));
496
- }
497
- export function hsl2cmyk(hsl) {
498
- return CMYK.ofChannels(Channel.hsl2cmyk(hsl.toChannels()));
499
- }
500
- export function hsl2hsluv(hsl, whiteReference = WHITE_REFERENCE) {
501
- return HSLuv.ofChannels(Channel.hsl2hsluv(hsl.toChannels(), whiteReference));
502
- }
503
- export function hsl2luv(hsl, whiteReference = WHITE_REFERENCE) {
504
- return LUV.ofChannels(Channel.hsl2luv(hsl.toChannels(), whiteReference));
505
- }
506
- export function hsl2hsv(hsl) {
507
- return HSV.ofChannels(Channel.hsl2hsv(hsl.toChannels()));
508
- }
509
- export function hsl2lab(hsl, whiteReference = WHITE_REFERENCE) {
510
- return LAB.ofChannels(Channel.hsl2lab(hsl.toChannels(), whiteReference));
511
- }
512
- export function hsl2lch(hsl, whiteReference = WHITE_REFERENCE) {
513
- return LCH.ofChannels(Channel.hsl2lch(hsl.toChannels(), whiteReference));
514
- }
515
- export function hsl2rgb(hsl) {
516
- return RGB.ofChannels(Channel.hsl2rgb(hsl.toChannels()));
517
- }
518
- export function hsl2srgb(hsl) {
519
- return SRGB.ofChannels(Channel.hsl2rgb(hsl.toChannels()));
520
- }
521
- export function hsl2xyz(hsl) {
522
- return XYZ.ofChannels(Channel.hsl2xyz(hsl.toChannels()));
523
- }
524
- export function hsluv2cmyk(hsluv, whiteReference = WHITE_REFERENCE) {
525
- return CMYK.ofChannels(Channel.hsluv2cmyk(hsluv.toChannels(), whiteReference));
526
- }
527
- export function hsluv2hsl(hsluv, whiteReference = WHITE_REFERENCE) {
528
- return HSL.ofChannels(Channel.hsluv2hsl(hsluv.toChannels(), whiteReference));
529
- }
530
- export function hsluv2luv(hsluv, whiteReference = WHITE_REFERENCE) {
531
- return LUV.ofChannels(Channel.hsluv2luv(hsluv.toChannels(), whiteReference));
532
- }
533
- export function hsluv2hsv(hsluv, whiteReference = WHITE_REFERENCE) {
534
- return HSV.ofChannels(Channel.hsluv2hsv(hsluv.toChannels(), whiteReference));
535
- }
536
- export function hsluv2lab(hsluv) {
537
- return LAB.ofChannels(Channel.hsluv2lab(hsluv.toChannels()));
538
- }
539
- export function hsluv2lch(hsluv) {
540
- return LCH.ofChannels(Channel.hsluv2lch(hsluv.toChannels()));
541
- }
542
- export function hsluv2rgb(hsluv, whiteReference = WHITE_REFERENCE) {
543
- return RGB.ofChannels(Channel.hsluv2rgb(hsluv.toChannels(), whiteReference));
544
- }
545
- export function hsluv2srgb(hsluv, whiteReference = WHITE_REFERENCE) {
546
- return SRGB.ofChannels(Channel.hsluv2rgb(hsluv.toChannels(), whiteReference));
547
- }
548
- export function hsluv2xyz(hsluv, whiteReference = WHITE_REFERENCE) {
549
- return XYZ.ofChannels(Channel.hsluv2xyz(hsluv.toChannels(), whiteReference));
550
- }
551
- export function hsv2cmyk(hsv) {
552
- return CMYK.ofChannels(Channel.hsv2cmyk(hsv.toChannels()));
553
- }
554
- export function hsv2hsl(hsv) {
555
- return HSL.ofChannels(Channel.hsv2hsl(hsv.toChannels()));
556
- }
557
- export function hsv2hsluv(hsv, whiteReference = WHITE_REFERENCE) {
558
- return HSLuv.ofChannels(Channel.hsv2hsluv(hsv.toChannels(), whiteReference));
559
- }
560
- export function hsv2lab(hsv, whiteReference = WHITE_REFERENCE) {
561
- return LAB.ofChannels(Channel.hsv2lab(hsv.toChannels(), whiteReference));
562
- }
563
- export function hsv2lch(hsv, whiteReference = WHITE_REFERENCE) {
564
- return LCH.ofChannels(Channel.hsv2lch(hsv.toChannels(), whiteReference));
565
- }
566
- export function hsv2luv(hsv, whiteReference = WHITE_REFERENCE) {
567
- return LUV.ofChannels(Channel.hsv2luv(hsv.toChannels(), whiteReference));
568
- }
569
- export function hsv2rgb(hsv) {
570
- return RGB.ofChannels(Channel.hsv2rgb(hsv.toChannels()));
571
- }
572
- export function hsv2srgb(hsv) {
573
- return SRGB.ofChannels(Channel.hsv2rgb(hsv.toChannels()));
574
- }
575
- export function hsv2xyz(hsv) {
576
- return XYZ.ofChannels(Channel.hsv2xyz(hsv.toChannels()));
577
- }
578
- export function lab2cmyk(lab, whiteReference = WHITE_REFERENCE) {
579
- return CMYK.ofChannels(Channel.lab2cmyk(lab.toChannels(), whiteReference));
580
- }
581
- export function lab2hsl(lab, whiteReference = WHITE_REFERENCE) {
582
- return HSL.ofChannels(Channel.lab2hsl(lab.toChannels(), whiteReference));
583
- }
584
- export function lab2hsluv(lab) {
585
- return HSLuv.ofChannels(Channel.lab2hsluv(lab.toChannels()));
586
- }
587
- export function lab2hsv(lab, whiteReference = WHITE_REFERENCE) {
588
- return HSV.ofChannels(Channel.lab2hsv(lab.toChannels(), whiteReference));
589
- }
590
- export function lab2lch(lab) {
591
- return LCH.ofChannels(Channel.lab2lch(lab.toChannels()));
592
- }
593
- export function lab2luv(lab, whiteReference = WHITE_REFERENCE) {
594
- return LUV.ofChannels(Channel.lab2luv(lab.toChannels(), whiteReference));
595
- }
596
- export function lab2rgb(lab, whiteReference = WHITE_REFERENCE) {
597
- return RGB.ofChannels(Channel.lab2rgb(lab.toChannels(), whiteReference));
598
- }
599
- export function lab2srgb(lab, whiteReference = WHITE_REFERENCE) {
600
- return SRGB.ofChannels(Channel.lab2rgb(lab.toChannels(), whiteReference));
601
- }
602
- export function lab2xyz(lab, whiteReference = WHITE_REFERENCE) {
603
- return XYZ.ofChannels(Channel.lab2xyz(lab.toChannels(), whiteReference));
604
- }
605
- export function lch2cmyk(lch, whiteReference = WHITE_REFERENCE) {
606
- return CMYK.ofChannels(Channel.lch2cmyk(lch.toChannels(), whiteReference));
607
- }
608
- export function lch2hsl(lch, whiteReference = WHITE_REFERENCE) {
609
- return HSL.ofChannels(Channel.lch2hsl(lch.toChannels(), whiteReference));
610
- }
611
- export function lch2hsluv(lch) {
612
- const c = Channel.lch2hsluv(lch.toChannels());
613
- return HSLuv.ofChannels(c);
614
- }
615
- export function lch2hsv(lch, whiteReference = WHITE_REFERENCE) {
616
- return HSV.ofChannels(Channel.lch2hsv(lch.toChannels(), whiteReference));
617
- }
618
- export function lch2lab(lch) {
619
- return LAB.ofChannels(Channel.lch2lab(lch.toChannels()));
620
- }
621
- export function lch2luv(lch, whiteReference = WHITE_REFERENCE) {
622
- return LUV.ofChannels(Channel.lch2luv(lch.toChannels(), whiteReference));
623
- }
624
- export function lch2rgb(lch, whiteReference = WHITE_REFERENCE) {
625
- return RGB.ofChannels(Channel.lch2rgb(lch.toChannels(), whiteReference));
626
- }
627
- export function lch2srgb(lch, whiteReference = WHITE_REFERENCE) {
628
- return SRGB.ofChannels(Channel.lch2rgb(lch.toChannels(), whiteReference));
629
- }
630
- export function lch2xyz(lch, whiteReference = WHITE_REFERENCE) {
631
- return XYZ.ofChannels(Channel.lch2xyz(lch.toChannels(), whiteReference));
632
- }
633
- export function luv2cmyk(luv, whiteReference = WHITE_REFERENCE) {
634
- return CMYK.ofChannels(Channel.luv2cmyk(luv.toChannels(), whiteReference));
635
- }
636
- export function luv2hsl(luv, whiteReference = WHITE_REFERENCE) {
637
- return HSL.ofChannels(Channel.luv2hsl(luv.toChannels(), whiteReference));
638
- }
639
- export function luv2hsluv(luv, whiteReference = WHITE_REFERENCE) {
640
- return HSLuv.ofChannels(Channel.luv2hsluv(luv.toChannels(), whiteReference));
641
- }
642
- export function luv2hsv(luv, whiteReference = WHITE_REFERENCE) {
643
- return HSV.ofChannels(Channel.luv2hsv(luv.toChannels(), whiteReference));
644
- }
645
- export function luv2lab(luv, whiteReference = WHITE_REFERENCE) {
646
- return LAB.ofChannels(Channel.luv2lab(luv.toChannels(), whiteReference));
647
- }
648
- export function luv2lch(luv, whiteReference = WHITE_REFERENCE) {
649
- return LCH.ofChannels(Channel.luv2lch(luv.toChannels(), whiteReference));
650
- }
651
- export function luv2rgb(luv, whiteReference = WHITE_REFERENCE) {
652
- return RGB.ofChannels(Channel.luv2rgb(luv.toChannels(), whiteReference));
653
- }
654
- export function luv2srgb(luv, whiteReference = WHITE_REFERENCE) {
655
- return SRGB.ofChannels(Channel.luv2rgb(luv.toChannels(), whiteReference));
656
- }
657
- export function luv2xyz(luv, whiteReference = WHITE_REFERENCE) {
658
- return XYZ.ofChannels(Channel.luv2xyz(luv.toChannels(), whiteReference));
659
- }
660
- export function rgb2cmyk(rgb) {
661
- return CMYK.ofChannels(Channel.rgb2cmyk(rgb.toChannels()));
662
- }
663
- export function rgb2hsl(rgb) {
664
- return HSL.ofChannels(Channel.rgb2hsl(rgb.toChannels()));
665
- }
666
- export function rgb2hsluv(rgb, whiteReference = WHITE_REFERENCE) {
667
- return HSLuv.ofChannels(Channel.rgb2hsluv(rgb.toChannels(), whiteReference));
668
- }
669
- export function rgb2hsv(rgb) {
670
- return HSV.ofChannels(Channel.rgb2hsv(rgb.toChannels()));
671
- }
672
- export function rgb2lab(rgb, whiteReference = WHITE_REFERENCE) {
673
- return LAB.ofChannels(Channel.rgb2lab(rgb.toChannels(), whiteReference));
674
- }
675
- export function rgb2lch(rgb, whiteReference = WHITE_REFERENCE) {
676
- return LCH.ofChannels(Channel.rgb2lch(rgb.toChannels(), whiteReference));
677
- }
678
- export function rgb2luv(rgb, whiteReference = WHITE_REFERENCE) {
679
- return LUV.ofChannels(Channel.rgb2luv(rgb.toChannels(), whiteReference));
680
- }
681
- export function rgb2srgb(rgb) {
682
- const srgb = rgb.toChannels();
683
- return SRGB.ofChannels(srgb);
684
- }
685
- export function rgb2xyz(rgb) {
686
- return XYZ.ofChannels(Channel.rgb2xyz(rgb.toChannels()));
687
- }
688
- export function srgb2cmyk(srgb) {
689
- return CMYK.ofChannels(Channel.rgb2cmyk(srgb.toChannels()));
690
- }
691
- export function srgb2hsv(srgb) {
692
- return HSV.ofChannels(Channel.rgb2hsv(srgb.toChannels()));
693
- }
694
- export function srgb2hsl(srgb) {
695
- return HSL.ofChannels(Channel.rgb2hsl(srgb.toChannels()));
696
- }
697
- export function srgb2hsluv(srgb, whiteReference = WHITE_REFERENCE) {
698
- return HSLuv.ofChannels(Channel.rgb2hsluv(srgb.toChannels(), whiteReference));
699
- }
700
- export function srgb2lab(srgb, whiteReference = WHITE_REFERENCE) {
701
- return LAB.ofChannels(Channel.rgb2lab(srgb.toChannels(), whiteReference));
702
- }
703
- export function srgb2lch(srgb, whiteReference = WHITE_REFERENCE) {
704
- return LCH.ofChannels(Channel.rgb2lch(srgb.toChannels(), whiteReference));
705
- }
706
- export function srgb2luv(srgb, whiteReference = WHITE_REFERENCE) {
707
- return LUV.ofChannels(Channel.rgb2luv(srgb.toChannels(), whiteReference));
708
- }
709
- export function srgb2rgb(srgb) {
710
- const rgb = srgb.toChannels();
711
- return RGB.ofChannels(rgb);
712
- }
713
- export function srgb2xyz(srgb) {
714
- return XYZ.ofChannels(Channel.rgb2xyz(srgb.toChannels()));
715
- }
716
- export function xyz2cmyk(xyz) {
717
- return CMYK.ofChannels(Channel.xyz2cmyk(xyz.toChannels()));
718
- }
719
- export function xyz2hsl(xyz) {
720
- return HSL.ofChannels(Channel.xyz2hsl(xyz.toChannels()));
721
- }
722
- export function xyz2hsluv(xyz, whiteReference = WHITE_REFERENCE) {
723
- return HSLuv.ofChannels(Channel.xyz2hsluv(xyz.toChannels(), whiteReference));
724
- }
725
- export function xyz2hsv(xyz) {
726
- return HSV.ofChannels(Channel.xyz2hsv(xyz.toChannels()));
727
- }
728
- export function xyz2lab(xyz, whiteReference = WHITE_REFERENCE) {
729
- return LAB.ofChannels(Channel.xyz2lab(xyz.toChannels(), whiteReference));
730
- }
731
- export function xyz2lch(xyz, whiteReference = WHITE_REFERENCE) {
732
- return LCH.ofChannels(Channel.xyz2lch(xyz.toChannels(), whiteReference));
733
- }
734
- export function xyz2luv(xyz, whiteReference = WHITE_REFERENCE) {
735
- return LUV.ofChannels(Channel.xyz2luv(xyz.toChannels(), whiteReference));
736
- }
737
- export function xyz2rgb(xyz) {
738
- return RGB.ofChannels(Channel.xyz2rgb(xyz.toChannels()));
739
- }
740
- export function xyz2srgb(xyz) {
741
- return SRGB.ofChannels(Channel.xyz2rgb(xyz.toChannels()));
742
- }