@jeniex/utils 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.cjs +51 -2
- package/browser/index.d.ts +15 -1
- package/browser/index.js +50 -3
- package/node/index.cjs +49 -0
- package/node/index.d.ts +15 -1
- package/node/index.js +48 -1
- package/package.json +1 -1
package/browser/index.cjs
CHANGED
|
@@ -78,6 +78,53 @@ async function sleep(milliSeconds) {
|
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Adds leading zeros to a number.
|
|
83
|
+
*
|
|
84
|
+
* @category String
|
|
85
|
+
*/
|
|
86
|
+
function padZeros(number, length) {
|
|
87
|
+
if (Math.abs(number).toString().length > length) {
|
|
88
|
+
throw new Error('Provided length can not be less than the digits of the number.');
|
|
89
|
+
}
|
|
90
|
+
if (number < 0) {
|
|
91
|
+
throw new Error('Provided number must be greater than zero.');
|
|
92
|
+
}
|
|
93
|
+
const padded = '0'.repeat(length - 1) + number;
|
|
94
|
+
if (number < 10) {
|
|
95
|
+
return padded;
|
|
96
|
+
}
|
|
97
|
+
return padded.slice(-length);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const lowercaseWords = new Set([
|
|
101
|
+
'a', 'an', 'the',
|
|
102
|
+
'and', 'but', 'for', 'nor', 'or', 'so', 'yet',
|
|
103
|
+
'about', 'across', 'after', 'along', 'among', 'around', 'as', 'at', 'before', 'between', 'by', 'during', 'in', 'into', 'of', 'on', 'over', 'since', 'through', 'throughout', 'to', 'under', 'with', 'within',
|
|
104
|
+
'away', 'back', 'down', 'far', 'off', 'on', 'out', 'up',
|
|
105
|
+
'he', 'her', 'him', 'his', 'it', 'its', 'me', 'my', 'our', 'she', 'their', 'them', 'they', 'us', 'we', 'you', 'your',
|
|
106
|
+
]);
|
|
107
|
+
function capitalizeWord(word) {
|
|
108
|
+
return word[0].toUpperCase() + word.slice(1).toLowerCase();
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* capitalizes a word or a sentence.
|
|
112
|
+
*
|
|
113
|
+
* @category String
|
|
114
|
+
*/
|
|
115
|
+
function capitalize(sentence) {
|
|
116
|
+
if (sentence.includes(' ')) {
|
|
117
|
+
return sentence.split(' ').map((word, index) => {
|
|
118
|
+
const lowercaseWord = word.toLowerCase();
|
|
119
|
+
if (index > 0 && lowercaseWords.has(lowercaseWord)) {
|
|
120
|
+
return lowercaseWord;
|
|
121
|
+
}
|
|
122
|
+
return capitalizeWord(word);
|
|
123
|
+
}).join(' ');
|
|
124
|
+
}
|
|
125
|
+
return capitalizeWord(sentence);
|
|
126
|
+
}
|
|
127
|
+
|
|
81
128
|
let infoObject;
|
|
82
129
|
if (typeof GM !== 'undefined') {
|
|
83
130
|
infoObject = GM.info;
|
|
@@ -197,14 +244,14 @@ const fishX = {
|
|
|
197
244
|
function $(selectors, parent) {
|
|
198
245
|
const element = (parent ?? document).querySelector(join(selectors));
|
|
199
246
|
if (element === null) {
|
|
200
|
-
throw new Error(`
|
|
247
|
+
throw new Error(`Could not find the element with the selector ${selectors}`);
|
|
201
248
|
}
|
|
202
249
|
return element;
|
|
203
250
|
}
|
|
204
251
|
function $$(selectors, parent) {
|
|
205
252
|
const elements = (parent ?? document).querySelectorAll(join(selectors));
|
|
206
253
|
if (elements.length === 0) {
|
|
207
|
-
throw new Error(`
|
|
254
|
+
throw new Error(`Could not find any element with the selector ${selectors}`);
|
|
208
255
|
}
|
|
209
256
|
return elements;
|
|
210
257
|
}
|
|
@@ -374,6 +421,7 @@ exports.$$ = $$;
|
|
|
374
421
|
exports.addStyle = addStyle;
|
|
375
422
|
exports.alert = alert;
|
|
376
423
|
exports.asserted = asserted;
|
|
424
|
+
exports.capitalize = capitalize;
|
|
377
425
|
exports.confirm = confirm;
|
|
378
426
|
exports.fish = fish;
|
|
379
427
|
exports.fishResponse = fishResponse;
|
|
@@ -394,6 +442,7 @@ exports.isTruthy = isTruthy;
|
|
|
394
442
|
exports.join = join;
|
|
395
443
|
exports.logId = logId;
|
|
396
444
|
exports.noop = noop;
|
|
445
|
+
exports.padZeros = padZeros;
|
|
397
446
|
exports.pageLoad = pageLoad;
|
|
398
447
|
exports.prompt = prompt;
|
|
399
448
|
exports.remove = remove;
|
package/browser/index.d.ts
CHANGED
|
@@ -35,6 +35,20 @@ declare function isFunction<T extends Function>(object: unknown): object is T;
|
|
|
35
35
|
*/
|
|
36
36
|
declare function sleep(milliSeconds: number): Promise<void>;
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Adds leading zeros to a number.
|
|
40
|
+
*
|
|
41
|
+
* @category String
|
|
42
|
+
*/
|
|
43
|
+
declare function padZeros(number: number, length: number): string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* capitalizes a word or a sentence.
|
|
47
|
+
*
|
|
48
|
+
* @category String
|
|
49
|
+
*/
|
|
50
|
+
declare function capitalize(sentence: string): string;
|
|
51
|
+
|
|
38
52
|
type Nullable<T> = T | null | undefined;
|
|
39
53
|
type Fn<T = void, U = any> = (param?: U) => T;
|
|
40
54
|
type Prettify<T> = {
|
|
@@ -132,4 +146,4 @@ type Options = Record<string, FlagValue>;
|
|
|
132
146
|
|
|
133
147
|
declare function getOptions(flags: Flag[]): Promise<Options>;
|
|
134
148
|
|
|
135
|
-
export { $, $$, Flag, Fn, Nullable, Prettify, addStyle, alert, asserted, confirm, fish, fishResponse, fishX, fishXResponse, getOptions, getSearchParam, imageLoad, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, logId, noop, pageLoad, prompt, remove, scriptName, setSearchParam, sleep, tabURL, toString };
|
|
149
|
+
export { $, $$, Flag, Fn, Nullable, Prettify, addStyle, alert, asserted, capitalize, confirm, fish, fishResponse, fishX, fishXResponse, getOptions, getSearchParam, imageLoad, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, logId, noop, padZeros, pageLoad, prompt, remove, scriptName, setSearchParam, sleep, tabURL, toString };
|
package/browser/index.js
CHANGED
|
@@ -76,6 +76,53 @@ async function sleep(milliSeconds) {
|
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Adds leading zeros to a number.
|
|
81
|
+
*
|
|
82
|
+
* @category String
|
|
83
|
+
*/
|
|
84
|
+
function padZeros(number, length) {
|
|
85
|
+
if (Math.abs(number).toString().length > length) {
|
|
86
|
+
throw new Error('Provided length can not be less than the digits of the number.');
|
|
87
|
+
}
|
|
88
|
+
if (number < 0) {
|
|
89
|
+
throw new Error('Provided number must be greater than zero.');
|
|
90
|
+
}
|
|
91
|
+
const padded = '0'.repeat(length - 1) + number;
|
|
92
|
+
if (number < 10) {
|
|
93
|
+
return padded;
|
|
94
|
+
}
|
|
95
|
+
return padded.slice(-length);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const lowercaseWords = new Set([
|
|
99
|
+
'a', 'an', 'the',
|
|
100
|
+
'and', 'but', 'for', 'nor', 'or', 'so', 'yet',
|
|
101
|
+
'about', 'across', 'after', 'along', 'among', 'around', 'as', 'at', 'before', 'between', 'by', 'during', 'in', 'into', 'of', 'on', 'over', 'since', 'through', 'throughout', 'to', 'under', 'with', 'within',
|
|
102
|
+
'away', 'back', 'down', 'far', 'off', 'on', 'out', 'up',
|
|
103
|
+
'he', 'her', 'him', 'his', 'it', 'its', 'me', 'my', 'our', 'she', 'their', 'them', 'they', 'us', 'we', 'you', 'your',
|
|
104
|
+
]);
|
|
105
|
+
function capitalizeWord(word) {
|
|
106
|
+
return word[0].toUpperCase() + word.slice(1).toLowerCase();
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* capitalizes a word or a sentence.
|
|
110
|
+
*
|
|
111
|
+
* @category String
|
|
112
|
+
*/
|
|
113
|
+
function capitalize(sentence) {
|
|
114
|
+
if (sentence.includes(' ')) {
|
|
115
|
+
return sentence.split(' ').map((word, index) => {
|
|
116
|
+
const lowercaseWord = word.toLowerCase();
|
|
117
|
+
if (index > 0 && lowercaseWords.has(lowercaseWord)) {
|
|
118
|
+
return lowercaseWord;
|
|
119
|
+
}
|
|
120
|
+
return capitalizeWord(word);
|
|
121
|
+
}).join(' ');
|
|
122
|
+
}
|
|
123
|
+
return capitalizeWord(sentence);
|
|
124
|
+
}
|
|
125
|
+
|
|
79
126
|
let infoObject;
|
|
80
127
|
if (typeof GM !== 'undefined') {
|
|
81
128
|
infoObject = GM.info;
|
|
@@ -195,14 +242,14 @@ const fishX = {
|
|
|
195
242
|
function $(selectors, parent) {
|
|
196
243
|
const element = (parent ?? document).querySelector(join(selectors));
|
|
197
244
|
if (element === null) {
|
|
198
|
-
throw new Error(`
|
|
245
|
+
throw new Error(`Could not find the element with the selector ${selectors}`);
|
|
199
246
|
}
|
|
200
247
|
return element;
|
|
201
248
|
}
|
|
202
249
|
function $$(selectors, parent) {
|
|
203
250
|
const elements = (parent ?? document).querySelectorAll(join(selectors));
|
|
204
251
|
if (elements.length === 0) {
|
|
205
|
-
throw new Error(`
|
|
252
|
+
throw new Error(`Could not find any element with the selector ${selectors}`);
|
|
206
253
|
}
|
|
207
254
|
return elements;
|
|
208
255
|
}
|
|
@@ -367,4 +414,4 @@ async function getOptions(flags) {
|
|
|
367
414
|
return options;
|
|
368
415
|
}
|
|
369
416
|
|
|
370
|
-
export { $, $$, addStyle, alert, asserted, confirm, fish, fishResponse, fishX, fishXResponse, getOptions, getSearchParam, imageLoad, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, logId, noop, pageLoad, prompt, remove, scriptName, setSearchParam, sleep, tabURL, toString };
|
|
417
|
+
export { $, $$, addStyle, alert, asserted, capitalize, confirm, fish, fishResponse, fishX, fishXResponse, getOptions, getSearchParam, imageLoad, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, logId, noop, padZeros, pageLoad, prompt, remove, scriptName, setSearchParam, sleep, tabURL, toString };
|
package/node/index.cjs
CHANGED
|
@@ -82,6 +82,53 @@ async function sleep(milliSeconds) {
|
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Adds leading zeros to a number.
|
|
87
|
+
*
|
|
88
|
+
* @category String
|
|
89
|
+
*/
|
|
90
|
+
function padZeros(number, length) {
|
|
91
|
+
if (Math.abs(number).toString().length > length) {
|
|
92
|
+
throw new Error('Provided length can not be less than the digits of the number.');
|
|
93
|
+
}
|
|
94
|
+
if (number < 0) {
|
|
95
|
+
throw new Error('Provided number must be greater than zero.');
|
|
96
|
+
}
|
|
97
|
+
const padded = '0'.repeat(length - 1) + number;
|
|
98
|
+
if (number < 10) {
|
|
99
|
+
return padded;
|
|
100
|
+
}
|
|
101
|
+
return padded.slice(-length);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const lowercaseWords = new Set([
|
|
105
|
+
'a', 'an', 'the',
|
|
106
|
+
'and', 'but', 'for', 'nor', 'or', 'so', 'yet',
|
|
107
|
+
'about', 'across', 'after', 'along', 'among', 'around', 'as', 'at', 'before', 'between', 'by', 'during', 'in', 'into', 'of', 'on', 'over', 'since', 'through', 'throughout', 'to', 'under', 'with', 'within',
|
|
108
|
+
'away', 'back', 'down', 'far', 'off', 'on', 'out', 'up',
|
|
109
|
+
'he', 'her', 'him', 'his', 'it', 'its', 'me', 'my', 'our', 'she', 'their', 'them', 'they', 'us', 'we', 'you', 'your',
|
|
110
|
+
]);
|
|
111
|
+
function capitalizeWord(word) {
|
|
112
|
+
return word[0].toUpperCase() + word.slice(1).toLowerCase();
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* capitalizes a word or a sentence.
|
|
116
|
+
*
|
|
117
|
+
* @category String
|
|
118
|
+
*/
|
|
119
|
+
function capitalize(sentence) {
|
|
120
|
+
if (sentence.includes(' ')) {
|
|
121
|
+
return sentence.split(' ').map((word, index) => {
|
|
122
|
+
const lowercaseWord = word.toLowerCase();
|
|
123
|
+
if (index > 0 && lowercaseWords.has(lowercaseWord)) {
|
|
124
|
+
return lowercaseWord;
|
|
125
|
+
}
|
|
126
|
+
return capitalizeWord(word);
|
|
127
|
+
}).join(' ');
|
|
128
|
+
}
|
|
129
|
+
return capitalizeWord(sentence);
|
|
130
|
+
}
|
|
131
|
+
|
|
85
132
|
/**
|
|
86
133
|
* Lists the files that are present in the provided folder path.
|
|
87
134
|
* @throws an error if the provided folder path does not exist.
|
|
@@ -193,6 +240,7 @@ async function readJSON(filePath, withComments = false) {
|
|
|
193
240
|
}
|
|
194
241
|
|
|
195
242
|
exports.asserted = asserted;
|
|
243
|
+
exports.capitalize = capitalize;
|
|
196
244
|
exports.isBoolean = isBoolean;
|
|
197
245
|
exports.isFalsy = isFalsy;
|
|
198
246
|
exports.isFunction = isFunction;
|
|
@@ -207,6 +255,7 @@ exports.listFiles = listFiles;
|
|
|
207
255
|
exports.listFolders = listFolders;
|
|
208
256
|
exports.listFoldersSync = listFoldersSync;
|
|
209
257
|
exports.noop = noop;
|
|
258
|
+
exports.padZeros = padZeros;
|
|
210
259
|
exports.readJSON = readJSON;
|
|
211
260
|
exports.remove = remove;
|
|
212
261
|
exports.removeFiles = removeFiles;
|
package/node/index.d.ts
CHANGED
|
@@ -35,6 +35,20 @@ declare function isFunction<T extends Function>(object: unknown): object is T;
|
|
|
35
35
|
*/
|
|
36
36
|
declare function sleep(milliSeconds: number): Promise<void>;
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Adds leading zeros to a number.
|
|
40
|
+
*
|
|
41
|
+
* @category String
|
|
42
|
+
*/
|
|
43
|
+
declare function padZeros(number: number, length: number): string;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* capitalizes a word or a sentence.
|
|
47
|
+
*
|
|
48
|
+
* @category String
|
|
49
|
+
*/
|
|
50
|
+
declare function capitalize(sentence: string): string;
|
|
51
|
+
|
|
38
52
|
type Nullable<T> = T | null | undefined;
|
|
39
53
|
type Fn<T = void, U = any> = (param?: U) => T;
|
|
40
54
|
type Prettify<T> = {
|
|
@@ -95,4 +109,4 @@ declare function removeFiles({ folderPath, filter }: RemoveFilesOpt): Promise<vo
|
|
|
95
109
|
|
|
96
110
|
declare function readJSON<T = object>(filePath: string, withComments?: boolean): Promise<T>;
|
|
97
111
|
|
|
98
|
-
export { Fn, Nullable, Prettify, asserted, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, listFiles, listFolders, listFoldersSync, noop, readJSON, remove, removeFiles, sleep, toString };
|
|
112
|
+
export { Fn, Nullable, Prettify, asserted, capitalize, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, listFiles, listFolders, listFoldersSync, noop, padZeros, readJSON, remove, removeFiles, sleep, toString };
|
package/node/index.js
CHANGED
|
@@ -80,6 +80,53 @@ async function sleep(milliSeconds) {
|
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Adds leading zeros to a number.
|
|
85
|
+
*
|
|
86
|
+
* @category String
|
|
87
|
+
*/
|
|
88
|
+
function padZeros(number, length) {
|
|
89
|
+
if (Math.abs(number).toString().length > length) {
|
|
90
|
+
throw new Error('Provided length can not be less than the digits of the number.');
|
|
91
|
+
}
|
|
92
|
+
if (number < 0) {
|
|
93
|
+
throw new Error('Provided number must be greater than zero.');
|
|
94
|
+
}
|
|
95
|
+
const padded = '0'.repeat(length - 1) + number;
|
|
96
|
+
if (number < 10) {
|
|
97
|
+
return padded;
|
|
98
|
+
}
|
|
99
|
+
return padded.slice(-length);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const lowercaseWords = new Set([
|
|
103
|
+
'a', 'an', 'the',
|
|
104
|
+
'and', 'but', 'for', 'nor', 'or', 'so', 'yet',
|
|
105
|
+
'about', 'across', 'after', 'along', 'among', 'around', 'as', 'at', 'before', 'between', 'by', 'during', 'in', 'into', 'of', 'on', 'over', 'since', 'through', 'throughout', 'to', 'under', 'with', 'within',
|
|
106
|
+
'away', 'back', 'down', 'far', 'off', 'on', 'out', 'up',
|
|
107
|
+
'he', 'her', 'him', 'his', 'it', 'its', 'me', 'my', 'our', 'she', 'their', 'them', 'they', 'us', 'we', 'you', 'your',
|
|
108
|
+
]);
|
|
109
|
+
function capitalizeWord(word) {
|
|
110
|
+
return word[0].toUpperCase() + word.slice(1).toLowerCase();
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* capitalizes a word or a sentence.
|
|
114
|
+
*
|
|
115
|
+
* @category String
|
|
116
|
+
*/
|
|
117
|
+
function capitalize(sentence) {
|
|
118
|
+
if (sentence.includes(' ')) {
|
|
119
|
+
return sentence.split(' ').map((word, index) => {
|
|
120
|
+
const lowercaseWord = word.toLowerCase();
|
|
121
|
+
if (index > 0 && lowercaseWords.has(lowercaseWord)) {
|
|
122
|
+
return lowercaseWord;
|
|
123
|
+
}
|
|
124
|
+
return capitalizeWord(word);
|
|
125
|
+
}).join(' ');
|
|
126
|
+
}
|
|
127
|
+
return capitalizeWord(sentence);
|
|
128
|
+
}
|
|
129
|
+
|
|
83
130
|
/**
|
|
84
131
|
* Lists the files that are present in the provided folder path.
|
|
85
132
|
* @throws an error if the provided folder path does not exist.
|
|
@@ -190,4 +237,4 @@ async function readJSON(filePath, withComments = false) {
|
|
|
190
237
|
return JSON.parse(stringJSON);
|
|
191
238
|
}
|
|
192
239
|
|
|
193
|
-
export { asserted, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, listFiles, listFolders, listFoldersSync, noop, readJSON, remove, removeFiles, sleep, toString };
|
|
240
|
+
export { asserted, capitalize, isBoolean, isFalsy, isFunction, isNotNullish, isNullish, isNumber, isObject, isString, isTruthy, join, listFiles, listFolders, listFoldersSync, noop, padZeros, readJSON, remove, removeFiles, sleep, toString };
|