discordjs-red 1.0.0

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

Potentially problematic release.


This version of discordjs-red might be problematic. Click here for more details.

package/.eslintrc.yml ADDED
@@ -0,0 +1,238 @@
1
+ env:
2
+ node: true
3
+ extends: 'eslint:recommended'
4
+ parserOptions:
5
+ ecmaVersion: 2021
6
+ sourceType: module
7
+ rules:
8
+ accessor-pairs: error
9
+ array-bracket-newline: error
10
+ array-bracket-spacing:
11
+ - error
12
+ - never
13
+ array-callback-return: error
14
+ array-element-newline: 'off'
15
+ arrow-body-style: error
16
+ arrow-parens: 'off'
17
+ arrow-spacing: 'off'
18
+ block-scoped-var: 'off'
19
+ block-spacing:
20
+ - error
21
+ - always
22
+ brace-style: 'off'
23
+ camelcase: 'off'
24
+ capitalized-comments: 'off'
25
+ class-methods-use-this: error
26
+ comma-dangle: 'off'
27
+ comma-spacing: 'off'
28
+ comma-style:
29
+ - error
30
+ - last
31
+ complexity: error
32
+ computed-property-spacing:
33
+ - error
34
+ - never
35
+ consistent-return: 'off'
36
+ consistent-this: error
37
+ curly: 'off'
38
+ default-case: error
39
+ default-case-last: error
40
+ default-param-last: error
41
+ dot-location:
42
+ - error
43
+ - property
44
+ dot-notation: 'off'
45
+ eol-last: 'off'
46
+ eqeqeq: error
47
+ func-call-spacing: error
48
+ func-name-matching: error
49
+ func-names: 'off'
50
+ func-style:
51
+ - error
52
+ - declaration
53
+ - allowArrowFunctions: true
54
+ function-call-argument-newline:
55
+ - error
56
+ - consistent
57
+ function-paren-newline: 'off'
58
+ generator-star-spacing: error
59
+ grouped-accessor-pairs: error
60
+ guard-for-in: error
61
+ id-denylist: error
62
+ id-length: 'off'
63
+ id-match: error
64
+ implicit-arrow-linebreak: 'off'
65
+ indent: 'off'
66
+ init-declarations: 'off'
67
+ jsx-quotes: error
68
+ key-spacing: 'off'
69
+ keyword-spacing: 'off'
70
+ line-comment-position: 'off'
71
+ lines-between-class-members: error
72
+ max-classes-per-file: error
73
+ max-depth: 'off'
74
+ max-len: 'off'
75
+ max-lines: error
76
+ max-lines-per-function: 'off'
77
+ max-nested-callbacks: error
78
+ max-params: 'off'
79
+ max-statements: 'off'
80
+ max-statements-per-line: 'off'
81
+ new-cap: error
82
+ new-parens: 'off'
83
+ newline-per-chained-call: 'off'
84
+ no-alert: error
85
+ no-array-constructor: error
86
+ no-await-in-loop: error
87
+ no-bitwise: error
88
+ no-caller: error
89
+ no-confusing-arrow: error
90
+ no-console: 'off'
91
+ no-constructor-return: error
92
+ no-continue: 'off'
93
+ no-div-regex: error
94
+ no-duplicate-imports: error
95
+ no-else-return: 'off'
96
+ no-empty-function: error
97
+ no-eq-null: error
98
+ no-eval: error
99
+ no-extend-native: error
100
+ no-extra-bind: error
101
+ no-extra-label: error
102
+ no-extra-parens: 'off'
103
+ no-floating-decimal: error
104
+ no-implicit-coercion: error
105
+ no-implicit-globals: error
106
+ no-implied-eval: error
107
+ no-inline-comments: 'off'
108
+ no-inner-declarations:
109
+ - error
110
+ - functions
111
+ no-invalid-this: error
112
+ no-iterator: error
113
+ no-label-var: error
114
+ no-labels: error
115
+ no-lone-blocks: error
116
+ no-lonely-if: 'off'
117
+ no-loop-func: error
118
+ no-loss-of-precision: error
119
+ no-magic-numbers: 'off'
120
+ no-mixed-operators: error
121
+ no-multi-assign: error
122
+ no-multi-spaces: 'off'
123
+ no-multi-str: error
124
+ no-multiple-empty-lines: error
125
+ no-negated-condition: 'off'
126
+ no-nested-ternary: error
127
+ no-new: error
128
+ no-new-func: error
129
+ no-new-object: error
130
+ no-new-wrappers: error
131
+ #no-nonoctal-decimal-escape: error
132
+ no-octal-escape: error
133
+ no-param-reassign: error
134
+ no-plusplus:
135
+ - error
136
+ - allowForLoopAfterthoughts: true
137
+ no-promise-executor-return: error
138
+ no-proto: error
139
+ no-restricted-exports: error
140
+ no-restricted-globals: error
141
+ no-restricted-imports: error
142
+ no-restricted-properties: error
143
+ no-restricted-syntax: error
144
+ no-return-assign: error
145
+ no-return-await: error
146
+ no-script-url: error
147
+ no-self-compare: error
148
+ no-sequences: error
149
+ no-shadow: 'off'
150
+ no-tabs: error
151
+ no-template-curly-in-string: error
152
+ no-ternary: 'off'
153
+ no-throw-literal: error
154
+ no-undef-init: error
155
+ no-undefined: 'off'
156
+ no-underscore-dangle: error
157
+ no-unmodified-loop-condition: error
158
+ no-unneeded-ternary: error
159
+ no-unreachable-loop: error
160
+ #no-unsafe-optional-chaining: error
161
+ no-unused-expressions: error
162
+ no-use-before-define: error
163
+ no-useless-backreference: error
164
+ no-useless-call: error
165
+ no-useless-computed-key: error
166
+ no-useless-concat: error
167
+ no-useless-constructor: error
168
+ no-useless-rename: error
169
+ no-useless-return: error
170
+ no-var: 'off'
171
+ no-void: error
172
+ no-warning-comments: error
173
+ no-whitespace-before-property: error
174
+ nonblock-statement-body-position: error
175
+ object-curly-newline: error
176
+ object-curly-spacing: 'off'
177
+ object-shorthand: 'off'
178
+ one-var: 'off'
179
+ one-var-declaration-per-line: error
180
+ operator-assignment: error
181
+ operator-linebreak: error
182
+ padded-blocks: 'off'
183
+ padding-line-between-statements: error
184
+ prefer-arrow-callback: 'off'
185
+ prefer-const: 'off'
186
+ prefer-destructuring: 'off'
187
+ prefer-exponentiation-operator: error
188
+ prefer-named-capture-group: error
189
+ prefer-numeric-literals: error
190
+ prefer-object-spread: error
191
+ prefer-promise-reject-errors: error
192
+ prefer-regex-literals: error
193
+ prefer-rest-params: error
194
+ prefer-spread: error
195
+ prefer-template: 'off'
196
+ quote-props: 'off'
197
+ quotes: 'off'
198
+ radix:
199
+ - error
200
+ - as-needed
201
+ require-atomic-updates: error
202
+ require-await: 'off'
203
+ require-unicode-regexp: 'off'
204
+ rest-spread-spacing: error
205
+ semi: 'off'
206
+ semi-spacing:
207
+ - error
208
+ - after: true
209
+ before: false
210
+ semi-style:
211
+ - error
212
+ - last
213
+ sort-imports: error
214
+ sort-keys: 'off'
215
+ sort-vars: error
216
+ space-before-blocks: 'off'
217
+ space-before-function-paren: 'off'
218
+ space-in-parens: 'off'
219
+ space-infix-ops: 'off'
220
+ space-unary-ops: error
221
+ spaced-comment: 'off'
222
+ strict: error
223
+ switch-colon-spacing: error
224
+ symbol-description: error
225
+ template-curly-spacing:
226
+ - error
227
+ - never
228
+ template-tag-spacing: error
229
+ unicode-bom:
230
+ - error
231
+ - never
232
+ vars-on-top: 'off'
233
+ wrap-iife: error
234
+ wrap-regex: error
235
+ yield-star-spacing: error
236
+ yoda:
237
+ - error
238
+ - never
package/README.md ADDED
@@ -0,0 +1,23 @@
1
+ # DJS-Easy-Color
2
+ <div align="center">
3
+ <p>
4
+ <a href="https://nodei.co/npm/discordjs-red/"><img src="https://nodei.co/npm/discordjs-red.png">
5
+ </p>
6
+ <br />
7
+ <p>
8
+ <a href="https://github.com/angouthdev/discordjs-red"><img src="https://badge.fury.io/js/djs-red.svg" /></a>
9
+ <a href="https://deepscan.io/dashboard#view=project&tid=10962&pid=17363&bid=395840"><img src="https://deepscan.io/api/teams/10962/projects/17363/branches/395840/badge/grade.svg" alt="DeepScan grade"></a>
10
+ </p>
11
+ </div>
12
+
13
+ # Description
14
+ Makes getting HEX and RGB values for colors easy with over 130 colors
15
+ [List of colors](https://github.com/angouthdev/discordjs-red/blob/master/test/colors.txt)
16
+ # Example
17
+ ```javascript
18
+ const EasyRed = require("discordjs-red")
19
+
20
+ EasyRed.getColor(TYPE, COLOR) //Returns RGB or HEX value for color
21
+ EasyRed.getRandomColor(TYPE) //Returns random RGB or HEX value
22
+ EasyRed.getRandomGen(TYPE) //Returns randomly generated color with HEX or RGB value
23
+ ```
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "discordjs-red",
3
+ "version": "1.0.0",
4
+ "description": "Get easy colors for djs embeds",
5
+ "main": "./src/main.js",
6
+ "directories": {
7
+ "test": "test"
8
+ },
9
+ "scripts": {
10
+ "getColorTest": "node ./test/tests/getColorTest.js",
11
+ "getRandomColorTest": "node ./test/tests/getRandomColorTest.js",
12
+ "getRandomGenTest": "node ./test/tests/getRandomGenTest.js"
13
+ },
14
+ "repository": {
15
+ "type": "github",
16
+ "url": "https://github.com/angouthdev/discordjs-red/"
17
+ },
18
+ "keywords": [
19
+ "discordjs",
20
+ "discord",
21
+ "djs-easy-color",
22
+ "embeds"
23
+ ],
24
+ "author": "angouthdev",
25
+ "license": "ISC",
26
+ "bugs": {
27
+ "url": "https://github.com/angouthdev/discordjs-red/-/issues"
28
+ },
29
+ "homepage": "https://github.com/angouthdev/discordjs-red/-/blob/main/README.md"
30
+ }
@@ -0,0 +1,14 @@
1
+ const jsonFile = require('../../listofcolors.json')
2
+ /** Get HEX
3
+ * Gets HEX value for color on color list
4
+ * @param {string} color name of color to get value for
5
+ * @returns {string} Color
6
+ * @deprecated use getColor()
7
+ */
8
+ module.exports = (color) => {
9
+ if(color !== undefined) {
10
+ var colorname = color.toLowerCase()
11
+ if (Object.prototype.hasOwnProperty.call(jsonFile, colorname)) return jsonFile[colorname]['HEX'];
12
+ else throw new TypeError(`Color '${colorname}' does not exsist in list`)
13
+ }
14
+ }
@@ -0,0 +1,15 @@
1
+ /* eslint-disable no-plusplus, no-mixed-operators, no-bitwise*/
2
+ const jsonFile = require('../../listofcolors.json')
3
+
4
+ /** Get Random HEX
5
+ * Gets Random HEX value for color on color list
6
+ * @deprecated use getRandomColor()
7
+ */
8
+ module.exports = () => {
9
+ let k = 0;
10
+ let n = 0;
11
+ JSON.stringify(jsonFile, (key, value) => (key && ++n || value));
12
+ n *= Math.random();
13
+ JSON.stringify(jsonFile, (key, value) => (key && --n | 0 || (k = key) || value));
14
+ return jsonFile[k]['HEX']
15
+ }
@@ -0,0 +1,12 @@
1
+ const jsonFile = require('../../listofcolors.json')
2
+ /**
3
+ * Gets RGB value for color on color list
4
+ * @param {string} color name of color to get value for
5
+ * @returns {string} Color
6
+ * @deprecated use getColor()
7
+ */
8
+ module.exports = (color) => {
9
+ var colorname = color.toLowerCase()
10
+ if (Object.prototype.hasOwnProperty.call(jsonFile, colorname)) return jsonFile[colorname]['RGB'];
11
+ else return null;
12
+ }
@@ -0,0 +1,14 @@
1
+ /* eslint-disable no-plusplus, no-mixed-operators, no-bitwise*/
2
+ const jsonFile = require('../../listofcolors.json')
3
+ /** Get Random HEX
4
+ * Gets Random HEX value for color on color list
5
+ * @deprecated use getRandomColor()
6
+ */
7
+ module.exports = () => {
8
+ let k = 0;
9
+ let n = 0;
10
+ JSON.stringify(jsonFile, (key, value) => (key && ++n || value));
11
+ n *= Math.random();
12
+ JSON.stringify(jsonFile, (key, value) => (key && --n | 0 || (k = key) || value));
13
+ return jsonFile[k]['RGB']
14
+ }
@@ -0,0 +1,17 @@
1
+ const jsonFile = require('../listofcolors.json')
2
+ const checkType = require('./utils/CheckType')
3
+
4
+ /** Get Color
5
+ * Get color from list of colors
6
+ * @param {string} type Type of color to get HEX or RGB
7
+ * @param {string} color name of color get from here (https://github.com/Havoc925/DJS-Easy-Color/blob/master/test/colors.txt)
8
+ * @returns {string} Color HEX or RGB
9
+ */
10
+ module.exports = (type, color) => {
11
+ var cType = checkType(type)
12
+ if (cType !== null){
13
+ var colorname = color.toLowerCase()
14
+ if (Object.prototype.hasOwnProperty.call(jsonFile, colorname)) return jsonFile[colorname][cType];
15
+ else return null;
16
+ }
17
+ }
@@ -0,0 +1,20 @@
1
+ /* eslint-disable no-plusplus, no-bitwise, no-mixed-operators */
2
+ const jsonFile = require('../listofcolors.json')
3
+ const checkType = require('./utils/CheckType')
4
+
5
+ /** Get Random Color
6
+ * Get ramdon color from list of colors
7
+ * @param {string} type Type of color to get HEX or RGB
8
+ * @returns {string} Color HEX or RGB
9
+ */
10
+ module.exports = (type) => {
11
+ var cType = checkType(type)
12
+ if (cType !== null){
13
+ let k = 0;
14
+ let n = 0;
15
+ JSON.stringify(jsonFile, (key, value) => (key && ++n || value));
16
+ n *= Math.random();
17
+ JSON.stringify(jsonFile, (key, value) => (key && --n | 0 || (k = key) || value));
18
+ return jsonFile[k][cType]
19
+ }
20
+ }
@@ -0,0 +1,35 @@
1
+ const rgbHex = require('./utils/RGBtoHEX');
2
+ const checkType = require('./utils/CheckType')
3
+ function rValue(minv, maxv) {
4
+ let min = Math.ceil(minv);
5
+ let max = Math.floor(maxv);
6
+ return Math.floor((Math.random() * (max - min)) + min);
7
+ }
8
+
9
+ function getRGB() {
10
+ var R = rValue(0, 255)
11
+ var G = rValue(0, 255)
12
+ var B = rValue(0, 255)
13
+ return [R, G, B]
14
+ }
15
+ /** Random Gen
16
+ * Get randomly generated color
17
+ * @param {string} type HEX or RGB
18
+ * @returns {string} color HEX or RGB
19
+ */
20
+ module.exports = (type) => {
21
+ var cType = checkType(type)
22
+ if (cType !== null) {
23
+ if (cType === "RGB") {
24
+ return getRGB()
25
+ }
26
+ if (cType === "HEX") {
27
+ let [R, G, B] = getRGB()
28
+ return rgbHex(R, G, B)
29
+ }
30
+ if (cType === "ER") {
31
+ let [R, G, B] = getRGB()
32
+ return getER(R, G, B)
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,14 @@
1
+ module.exports = (type) => {
2
+ if (type !== undefined) {
3
+ var ltype = type.toLowerCase()
4
+ if (ltype === "hex") {
5
+ return "HEX"
6
+ } else
7
+ if (ltype === "rgb") {
8
+ return "RGB"
9
+ } else return null
10
+ } else {
11
+ console.log("[EASY_COLOR][RANDOM_COLOR] TYPE not defined");
12
+ return null
13
+ }
14
+ }
@@ -0,0 +1,35 @@
1
+ /* eslint-disable no-mixed-operators, no-param-reassign, no-bitwise, prefer-named-capture-group */
2
+ module.exports = (red, green, blue, alpha) => {
3
+ const isPercent = (red + (alpha || '')).toString().includes('%');
4
+
5
+ if (typeof red === 'string') {
6
+ [red, green, blue, alpha] = red.match(/(0?\.?\d{1,3})%?\b/g).map(component => Number(component));
7
+ } else if (alpha !== undefined) {
8
+ alpha = Number.parseFloat(alpha);
9
+ }
10
+
11
+ if (typeof red !== 'number' ||
12
+ typeof green !== 'number' ||
13
+ typeof blue !== 'number' ||
14
+ red > 255 ||
15
+ green > 255 ||
16
+ blue > 255
17
+ ) {
18
+ throw new TypeError('Expected three numbers below 256');
19
+ }
20
+
21
+ if (typeof alpha === 'number') {
22
+ if (!isPercent && alpha >= 0 && alpha <= 1) {
23
+ alpha = Math.round(255 * alpha);
24
+ } else if (isPercent && alpha >= 0 && alpha <= 100) {
25
+ alpha = Math.round(255 * alpha / 100);
26
+ } else {
27
+ throw new TypeError(`Expected alpha value (${alpha}) as a fraction or percentage`);
28
+ }
29
+
30
+ alpha = (alpha | 1 << 8).toString(16).slice(1);
31
+ } else {
32
+ alpha = '';
33
+ }
34
+ return ((blue | green << 8 | red << 16) | 1 << 24).toString(16).slice(1) + alpha;
35
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+
3
+ "darkred": {
4
+ "HEX": "0x8B0000",
5
+ "RGB": "(139,0,0)"
6
+ },
7
+
8
+ "indianred": {
9
+ "HEX": "0xCD5C5C",
10
+ "RGB": "(205,92,92)"
11
+ },
12
+
13
+ "mediumvioletred": {
14
+ "HEX": "0xC71585",
15
+ "RGB": "(199,21,133)"
16
+ },
17
+ "orangered": {
18
+ "HEX": "0xFF4500",
19
+ "RGB": "(255,69,0)"
20
+ },
21
+ "orchid": {
22
+ "HEX": "0xDA70D6",
23
+ "RGB": "(218,112,214)"
24
+ },
25
+ "palegoldenrod": {
26
+ "HEX": "0xEEE8AA",
27
+ "RGB": "(238,232,170)"
28
+ },
29
+ "palevioletred": {
30
+ "HEX": "0xDB7093",
31
+ "RGB": "(219,112,147)"
32
+ },
33
+ "red": {
34
+ "HEX": "0xFF0000",
35
+ "RGB": "(255,0,0)"
36
+ }
37
+ }
package/src/main.js ADDED
@@ -0,0 +1,8 @@
1
+ exports.getHEX = require('./file/HEX/getHEX')
2
+ exports.getRandomHEX = require('./file/HEX/randomHEX')
3
+ exports.getRGB = require('./file/RGB/getRGB')
4
+ exports.getRandomRGB = require('./file/RGB/randomRGB')
5
+
6
+ exports.getColor = require('./file/getColor')
7
+ exports.getRandomColor = require('./file/getRandomColor')
8
+ exports.getRandomGen = require('./file/getRandomGen')