fsevents 1.0.9 → 1.0.10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

@@ -1,594 +0,0 @@
1
- /* MIT license */
2
- var cssKeywords = require('./css-keywords');
3
-
4
- // NOTE: conversions should only return primitive values (i.e. arrays, or
5
- // values that give correct `typeof` results).
6
- // do not use box values types (i.e. Number(), String(), etc.)
7
-
8
- var reverseKeywords = {};
9
- for (var key in cssKeywords) {
10
- if (cssKeywords.hasOwnProperty(key)) {
11
- reverseKeywords[cssKeywords[key].join()] = key;
12
- }
13
- }
14
-
15
- var convert = module.exports = {
16
- rgb: {},
17
- hsl: {},
18
- hsv: {},
19
- hwb: {},
20
- cmyk: {},
21
- xyz: {},
22
- lab: {},
23
- lch: {},
24
- hex: {},
25
- keyword: {},
26
- ansi16: {},
27
- ansi256: {}
28
- };
29
-
30
- convert.rgb.hsl = function (rgb) {
31
- var r = rgb[0] / 255;
32
- var g = rgb[1] / 255;
33
- var b = rgb[2] / 255;
34
- var min = Math.min(r, g, b);
35
- var max = Math.max(r, g, b);
36
- var delta = max - min;
37
- var h;
38
- var s;
39
- var l;
40
-
41
- if (max === min) {
42
- h = 0;
43
- } else if (r === max) {
44
- h = (g - b) / delta;
45
- } else if (g === max) {
46
- h = 2 + (b - r) / delta;
47
- } else if (b === max) {
48
- h = 4 + (r - g) / delta;
49
- }
50
-
51
- h = Math.min(h * 60, 360);
52
-
53
- if (h < 0) {
54
- h += 360;
55
- }
56
-
57
- l = (min + max) / 2;
58
-
59
- if (max === min) {
60
- s = 0;
61
- } else if (l <= 0.5) {
62
- s = delta / (max + min);
63
- } else {
64
- s = delta / (2 - max - min);
65
- }
66
-
67
- return [h, s * 100, l * 100];
68
- };
69
-
70
- convert.rgb.hsv = function (rgb) {
71
- var r = rgb[0];
72
- var g = rgb[1];
73
- var b = rgb[2];
74
- var min = Math.min(r, g, b);
75
- var max = Math.max(r, g, b);
76
- var delta = max - min;
77
- var h;
78
- var s;
79
- var v;
80
-
81
- if (max === 0) {
82
- s = 0;
83
- } else {
84
- s = (delta / max * 1000) / 10;
85
- }
86
-
87
- if (max === min) {
88
- h = 0;
89
- } else if (r === max) {
90
- h = (g - b) / delta;
91
- } else if (g === max) {
92
- h = 2 + (b - r) / delta;
93
- } else if (b === max) {
94
- h = 4 + (r - g) / delta;
95
- }
96
-
97
- h = Math.min(h * 60, 360);
98
-
99
- if (h < 0) {
100
- h += 360;
101
- }
102
-
103
- v = ((max / 255) * 1000) / 10;
104
-
105
- return [h, s, v];
106
- };
107
-
108
- convert.rgb.hwb = function (rgb) {
109
- var r = rgb[0];
110
- var g = rgb[1];
111
- var b = rgb[2];
112
- var h = convert.rgb.hsl(rgb)[0];
113
- var w = 1 / 255 * Math.min(r, Math.min(g, b));
114
-
115
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
116
-
117
- return [h, w * 100, b * 100];
118
- };
119
-
120
- convert.rgb.cmyk = function (rgb) {
121
- var r = rgb[0] / 255;
122
- var g = rgb[1] / 255;
123
- var b = rgb[2] / 255;
124
- var c;
125
- var m;
126
- var y;
127
- var k;
128
-
129
- k = Math.min(1 - r, 1 - g, 1 - b);
130
- c = (1 - r - k) / (1 - k) || 0;
131
- m = (1 - g - k) / (1 - k) || 0;
132
- y = (1 - b - k) / (1 - k) || 0;
133
-
134
- return [c * 100, m * 100, y * 100, k * 100];
135
- };
136
-
137
- convert.rgb.keyword = function (rgb) {
138
- return reverseKeywords[rgb.join()];
139
- };
140
-
141
- convert.keyword.rgb = function (keyword) {
142
- return cssKeywords[keyword];
143
- };
144
-
145
- convert.rgb.xyz = function (rgb) {
146
- var r = rgb[0] / 255;
147
- var g = rgb[1] / 255;
148
- var b = rgb[2] / 255;
149
-
150
- // assume sRGB
151
- r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);
152
- g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);
153
- b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);
154
-
155
- var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);
156
- var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);
157
- var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);
158
-
159
- return [x * 100, y * 100, z * 100];
160
- };
161
-
162
- convert.rgb.lab = function (rgb) {
163
- var xyz = convert.rgb.xyz(rgb);
164
- var x = xyz[0];
165
- var y = xyz[1];
166
- var z = xyz[2];
167
- var l;
168
- var a;
169
- var b;
170
-
171
- x /= 95.047;
172
- y /= 100;
173
- z /= 108.883;
174
-
175
- x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
176
- y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
177
- z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);
178
-
179
- l = (116 * y) - 16;
180
- a = 500 * (x - y);
181
- b = 200 * (y - z);
182
-
183
- return [l, a, b];
184
- };
185
-
186
- convert.hsl.rgb = function (hsl) {
187
- var h = hsl[0] / 360;
188
- var s = hsl[1] / 100;
189
- var l = hsl[2] / 100;
190
- var t1;
191
- var t2;
192
- var t3;
193
- var rgb;
194
- var val;
195
-
196
- if (s === 0) {
197
- val = l * 255;
198
- return [val, val, val];
199
- }
200
-
201
- if (l < 0.5) {
202
- t2 = l * (1 + s);
203
- } else {
204
- t2 = l + s - l * s;
205
- }
206
-
207
- t1 = 2 * l - t2;
208
-
209
- rgb = [0, 0, 0];
210
- for (var i = 0; i < 3; i++) {
211
- t3 = h + 1 / 3 * -(i - 1);
212
- if (t3 < 0) {
213
- t3++;
214
- }
215
- if (t3 > 1) {
216
- t3--;
217
- }
218
-
219
- if (6 * t3 < 1) {
220
- val = t1 + (t2 - t1) * 6 * t3;
221
- } else if (2 * t3 < 1) {
222
- val = t2;
223
- } else if (3 * t3 < 2) {
224
- val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
225
- } else {
226
- val = t1;
227
- }
228
-
229
- rgb[i] = val * 255;
230
- }
231
-
232
- return rgb;
233
- };
234
-
235
- convert.hsl.hsv = function (hsl) {
236
- var h = hsl[0];
237
- var s = hsl[1] / 100;
238
- var l = hsl[2] / 100;
239
- var sv;
240
- var v;
241
-
242
- if (l === 0) {
243
- // no need to do calc on black
244
- // also avoids divide by 0 error
245
- return [0, 0, 0];
246
- }
247
-
248
- l *= 2;
249
- s *= (l <= 1) ? l : 2 - l;
250
- v = (l + s) / 2;
251
- sv = (2 * s) / (l + s);
252
-
253
- return [h, sv * 100, v * 100];
254
- };
255
-
256
- convert.hsv.rgb = function (hsv) {
257
- var h = hsv[0] / 60;
258
- var s = hsv[1] / 100;
259
- var v = hsv[2] / 100;
260
- var hi = Math.floor(h) % 6;
261
-
262
- var f = h - Math.floor(h);
263
- var p = 255 * v * (1 - s);
264
- var q = 255 * v * (1 - (s * f));
265
- var t = 255 * v * (1 - (s * (1 - f)));
266
- v *= 255;
267
-
268
- switch (hi) {
269
- case 0:
270
- return [v, t, p];
271
- case 1:
272
- return [q, v, p];
273
- case 2:
274
- return [p, v, t];
275
- case 3:
276
- return [p, q, v];
277
- case 4:
278
- return [t, p, v];
279
- case 5:
280
- return [v, p, q];
281
- }
282
- };
283
-
284
- convert.hsv.hsl = function (hsv) {
285
- var h = hsv[0];
286
- var s = hsv[1] / 100;
287
- var v = hsv[2] / 100;
288
- var sl;
289
- var l;
290
-
291
- l = (2 - s) * v;
292
- sl = s * v;
293
- sl /= (l <= 1) ? l : 2 - l;
294
- sl = sl || 0;
295
- l /= 2;
296
-
297
- return [h, sl * 100, l * 100];
298
- };
299
-
300
- // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
301
- convert.hwb.rgb = function (hwb) {
302
- var h = hwb[0] / 360;
303
- var wh = hwb[1] / 100;
304
- var bl = hwb[2] / 100;
305
- var ratio = wh + bl;
306
- var i;
307
- var v;
308
- var f;
309
- var n;
310
-
311
- // wh + bl cant be > 1
312
- if (ratio > 1) {
313
- wh /= ratio;
314
- bl /= ratio;
315
- }
316
-
317
- i = Math.floor(6 * h);
318
- v = 1 - bl;
319
- f = 6 * h - i;
320
-
321
- if ((i & 0x01) !== 0) {
322
- f = 1 - f;
323
- }
324
-
325
- n = wh + f * (v - wh); // linear interpolation
326
-
327
- var r;
328
- var g;
329
- var b;
330
- switch (i) {
331
- default:
332
- case 6:
333
- case 0: r = v; g = n; b = wh; break;
334
- case 1: r = n; g = v; b = wh; break;
335
- case 2: r = wh; g = v; b = n; break;
336
- case 3: r = wh; g = n; b = v; break;
337
- case 4: r = n; g = wh; b = v; break;
338
- case 5: r = v; g = wh; b = n; break;
339
- }
340
-
341
- return [r * 255, g * 255, b * 255];
342
- };
343
-
344
- convert.cmyk.rgb = function (cmyk) {
345
- var c = cmyk[0] / 100;
346
- var m = cmyk[1] / 100;
347
- var y = cmyk[2] / 100;
348
- var k = cmyk[3] / 100;
349
- var r;
350
- var g;
351
- var b;
352
-
353
- r = 1 - Math.min(1, c * (1 - k) + k);
354
- g = 1 - Math.min(1, m * (1 - k) + k);
355
- b = 1 - Math.min(1, y * (1 - k) + k);
356
-
357
- return [r * 255, g * 255, b * 255];
358
- };
359
-
360
- convert.xyz.rgb = function (xyz) {
361
- var x = xyz[0] / 100;
362
- var y = xyz[1] / 100;
363
- var z = xyz[2] / 100;
364
- var r;
365
- var g;
366
- var b;
367
-
368
- r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);
369
- g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);
370
- b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);
371
-
372
- // assume sRGB
373
- r = r > 0.0031308
374
- ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)
375
- : r *= 12.92;
376
-
377
- g = g > 0.0031308
378
- ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)
379
- : g *= 12.92;
380
-
381
- b = b > 0.0031308
382
- ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)
383
- : b *= 12.92;
384
-
385
- r = Math.min(Math.max(0, r), 1);
386
- g = Math.min(Math.max(0, g), 1);
387
- b = Math.min(Math.max(0, b), 1);
388
-
389
- return [r * 255, g * 255, b * 255];
390
- };
391
-
392
- convert.xyz.lab = function (xyz) {
393
- var x = xyz[0];
394
- var y = xyz[1];
395
- var z = xyz[2];
396
- var l;
397
- var a;
398
- var b;
399
-
400
- x /= 95.047;
401
- y /= 100;
402
- z /= 108.883;
403
-
404
- x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);
405
- y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);
406
- z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);
407
-
408
- l = (116 * y) - 16;
409
- a = 500 * (x - y);
410
- b = 200 * (y - z);
411
-
412
- return [l, a, b];
413
- };
414
-
415
- convert.lab.xyz = function (lab) {
416
- var l = lab[0];
417
- var a = lab[1];
418
- var b = lab[2];
419
- var x;
420
- var y;
421
- var z;
422
- var y2;
423
-
424
- if (l <= 8) {
425
- y = (l * 100) / 903.3;
426
- y2 = (7.787 * (y / 100)) + (16 / 116);
427
- } else {
428
- y = 100 * Math.pow((l + 16) / 116, 3);
429
- y2 = Math.pow(y / 100, 1 / 3);
430
- }
431
-
432
- x = x / 95.047 <= 0.008856
433
- ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787
434
- : 95.047 * Math.pow((a / 500) + y2, 3);
435
- z = z / 108.883 <= 0.008859
436
- ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787
437
- : 108.883 * Math.pow(y2 - (b / 200), 3);
438
-
439
- return [x, y, z];
440
- };
441
-
442
- convert.lab.lch = function (lab) {
443
- var l = lab[0];
444
- var a = lab[1];
445
- var b = lab[2];
446
- var hr;
447
- var h;
448
- var c;
449
-
450
- hr = Math.atan2(b, a);
451
- h = hr * 360 / 2 / Math.PI;
452
-
453
- if (h < 0) {
454
- h += 360;
455
- }
456
-
457
- c = Math.sqrt(a * a + b * b);
458
-
459
- return [l, c, h];
460
- };
461
-
462
- convert.lch.lab = function (lch) {
463
- var l = lch[0];
464
- var c = lch[1];
465
- var h = lch[2];
466
- var a;
467
- var b;
468
- var hr;
469
-
470
- hr = h / 360 * 2 * Math.PI;
471
- a = c * Math.cos(hr);
472
- b = c * Math.sin(hr);
473
-
474
- return [l, a, b];
475
- };
476
-
477
- convert.rgb.ansi16 = function (args) {
478
- var r = args[0];
479
- var g = args[1];
480
- var b = args[2];
481
- var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
482
-
483
- value = Math.round(value / 50);
484
-
485
- if (value === 0) {
486
- return 30;
487
- }
488
-
489
- var ansi = 30
490
- + ((Math.round(b / 255) << 2)
491
- | (Math.round(g / 255) << 1)
492
- | Math.round(r / 255));
493
-
494
- if (value === 2) {
495
- ansi += 60;
496
- }
497
-
498
- return ansi;
499
- };
500
-
501
- convert.hsv.ansi16 = function (args) {
502
- // optimization here; we already know the value and don't need to get
503
- // it converted for us.
504
- return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
505
- };
506
-
507
- convert.rgb.ansi256 = function (args) {
508
- var r = args[0];
509
- var g = args[1];
510
- var b = args[2];
511
-
512
- // we use the extended greyscale palette here, with the exception of
513
- // black and white. normal palette only has 4 greyscale shades.
514
- if (r === g && g === b) {
515
- if (r < 8) {
516
- return 16;
517
- }
518
-
519
- if (r > 248) {
520
- return 231;
521
- }
522
-
523
- return Math.round(((r - 8) / 247) * 24) + 232;
524
- }
525
-
526
- var ansi = 16
527
- + (36 * Math.round(r / 255 * 5))
528
- + (6 * Math.round(g / 255 * 5))
529
- + Math.round(b / 255 * 5);
530
-
531
- return ansi;
532
- };
533
-
534
- convert.ansi16.rgb = function (args) {
535
- var color = args % 10;
536
-
537
- // handle greyscale
538
- if (color === 0 || color === 7) {
539
- if (args > 50) {
540
- color += 3.5;
541
- }
542
-
543
- color = color / 10.5 * 255;
544
-
545
- return [color, color, color];
546
- }
547
-
548
- var mult = (~~(args > 50) + 1) * 0.5;
549
- var r = ((color & 1) * mult) * 255;
550
- var g = (((color >> 1) & 1) * mult) * 255;
551
- var b = (((color >> 2) & 1) * mult) * 255;
552
-
553
- return [r, g, b];
554
- };
555
-
556
- convert.ansi256.rgb = function (args) {
557
- // handle greyscale
558
- if (args >= 232) {
559
- var c = (args - 232) * 10 + 8;
560
- return [c, c, c];
561
- }
562
-
563
- args -= 16;
564
-
565
- var rem;
566
- var r = Math.floor(args / 36) / 5 * 255;
567
- var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
568
- var b = (rem % 6) / 5 * 255;
569
-
570
- return [r, g, b];
571
- };
572
-
573
- convert.rgb.hex = function (args) {
574
- var integer = ((Math.round(args[0]) & 0xFF) << 16)
575
- + ((Math.round(args[1]) & 0xFF) << 8)
576
- + (Math.round(args[2]) & 0xFF);
577
-
578
- var string = integer.toString(16).toUpperCase();
579
- return '000000'.substring(string.length) + string;
580
- };
581
-
582
- convert.hex.rgb = function (args) {
583
- var match = args.toString(16).match(/[a-f0-9]{6}/i);
584
- if (!match) {
585
- return [0, 0, 0];
586
- }
587
-
588
- var integer = parseInt(match[0], 16);
589
- var r = (integer >> 16) & 0xFF;
590
- var g = (integer >> 8) & 0xFF;
591
- var b = integer & 0xFF;
592
-
593
- return [r, g, b];
594
- };