randex 0.25.0 → 0.28.0
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/README.md +80 -45
- package/lib/basic/const.d.ts +3 -0
- package/lib/basic/const.js +5 -0
- package/lib/basic/set.d.ts +10 -8
- package/lib/basic/set.js +14 -1
- package/lib/basic/type.d.ts +2 -2
- package/lib/custom/bool.d.ts +1 -0
- package/lib/custom/bool.js +7 -0
- package/lib/custom/email.d.ts +4 -13
- package/lib/custom/email.js +41 -0
- package/lib/custom/filenameX.d.ts +5 -0
- package/lib/custom/filenameX.js +43 -0
- package/lib/custom/fullnameX.d.ts +6 -0
- package/lib/custom/fullnameX.js +35 -0
- package/lib/custom/index.d.ts +36 -45
- package/lib/custom/index.js +23 -289
- package/lib/custom/number.d.ts +3 -3
- package/lib/custom/number.js +37 -0
- package/lib/custom/random.d.ts +2 -5
- package/lib/custom/random.js +81 -0
- package/lib/custom/sentence.d.ts +11 -0
- package/lib/custom/sentence.js +50 -0
- package/lib/custom/singleName.d.ts +5 -0
- package/lib/custom/singleName.js +30 -0
- package/lib/custom/username.d.ts +2 -4
- package/lib/custom/username.js +10 -0
- package/lib/custom/word.d.ts +11 -5
- package/lib/custom/word.js +35 -0
- package/lib/interfaces/base.d.ts +21 -0
- package/lib/interfaces/email.d.ts +13 -0
- package/lib/{custom → interfaces}/filename.d.ts +3 -3
- package/lib/interfaces/filename.js +2 -0
- package/lib/interfaces/fullname.d.ts +6 -0
- package/lib/interfaces/fullname.js +2 -0
- package/lib/interfaces/index.d.ts +9 -21
- package/lib/interfaces/index.js +23 -0
- package/lib/interfaces/number.d.ts +3 -0
- package/lib/interfaces/number.js +2 -0
- package/lib/interfaces/random.d.ts +5 -0
- package/lib/interfaces/random.js +2 -0
- package/lib/interfaces/sentence.d.ts +5 -0
- package/lib/interfaces/sentence.js +2 -0
- package/lib/interfaces/username.d.ts +4 -0
- package/lib/interfaces/username.js +2 -0
- package/lib/interfaces/word.d.ts +5 -0
- package/lib/interfaces/word.js +2 -0
- package/lib/test/sentence.test.d.ts +1 -0
- package/lib/test/sentence.test.js +33 -0
- package/lib/test/test-util.d.ts +10 -9
- package/lib/test/test-util.js +15 -3
- package/lib/test/word.test.js +16 -1
- package/package.json +1 -1
- package/todo +2 -4
- package/lib/custom/fullname.d.ts +0 -6
- /package/lib/{custom/filename.js → interfaces/base.js} +0 -0
- /package/lib/{custom/fullname.js → interfaces/email.js} +0 -0
package/lib/custom/index.js
CHANGED
|
@@ -1,109 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
3
|
exports.Randex = void 0;
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
var bool_1 = require("./bool");
|
|
5
|
+
var email_1 = require("./email");
|
|
6
|
+
var filenameX_1 = require("./filenameX");
|
|
7
|
+
var fullnameX_1 = require("./fullnameX");
|
|
8
|
+
var number_1 = require("./number");
|
|
9
|
+
var random_1 = require("./random");
|
|
10
|
+
var sentence_1 = require("./sentence");
|
|
11
|
+
var singleName_1 = require("./singleName");
|
|
12
|
+
var username_1 = require("./username");
|
|
13
|
+
var word_1 = require("./word");
|
|
26
14
|
var Randex = /** @class */ (function () {
|
|
27
15
|
function Randex() {
|
|
28
16
|
}
|
|
29
|
-
// base
|
|
30
|
-
Randex.randomString = function (params) {
|
|
31
|
-
var length = params.length, range = params.range;
|
|
32
|
-
var result = "";
|
|
33
|
-
var currentLength = 0;
|
|
34
|
-
if (typeof length === "number") {
|
|
35
|
-
currentLength = length;
|
|
36
|
-
}
|
|
37
|
-
else if (Array.isArray(length)) {
|
|
38
|
-
var min = length[0], max = length[1];
|
|
39
|
-
currentLength = min + set_1.RandexSetUtil.randomNumber(max - min + 1);
|
|
40
|
-
}
|
|
41
|
-
for (var i = 0; i < currentLength; i++) {
|
|
42
|
-
var index = set_1.RandexSetUtil.randomNumber(range.length - 1);
|
|
43
|
-
if (range.length >= index || range.length <= index) {
|
|
44
|
-
result += range[index];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
Randex.toContent = function (options) {
|
|
50
|
-
if (type_1.RandexTypeParser.isSet(options)) {
|
|
51
|
-
return {
|
|
52
|
-
set: options,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
else if (type_1.RandexTypeParser.isPartArray(options)) {
|
|
56
|
-
if (options.length === 2) {
|
|
57
|
-
var set = options[0], rangeOrLength = options[1];
|
|
58
|
-
return type_1.RandexTypeParser.isLength(rangeOrLength)
|
|
59
|
-
? {
|
|
60
|
-
set: set,
|
|
61
|
-
length: rangeOrLength,
|
|
62
|
-
}
|
|
63
|
-
: {
|
|
64
|
-
set: set,
|
|
65
|
-
range: rangeOrLength,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
else if (options.length === 3) {
|
|
69
|
-
var set = options[0], range = options[1], length_1 = options[2];
|
|
70
|
-
return {
|
|
71
|
-
set: set,
|
|
72
|
-
range: range,
|
|
73
|
-
length: length_1,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return options;
|
|
78
|
-
};
|
|
79
|
-
Randex.toRangeOptions = function (options) {
|
|
80
|
-
var fullRange = "";
|
|
81
|
-
var set = options.set, range = options.range, _a = options.length, length = _a === void 0 ? 1 : _a;
|
|
82
|
-
if (range) {
|
|
83
|
-
fullRange += range;
|
|
84
|
-
}
|
|
85
|
-
if (set) {
|
|
86
|
-
fullRange += set_1.RandexSetUtil.toRange(set);
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
range: fullRange,
|
|
90
|
-
length: length,
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
Randex.random = function () {
|
|
94
|
-
var options = [];
|
|
95
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
96
|
-
options[_i] = arguments[_i];
|
|
97
|
-
}
|
|
98
|
-
var result = "";
|
|
99
|
-
for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {
|
|
100
|
-
var option = options_1[_a];
|
|
101
|
-
var content = Randex.toContent(option);
|
|
102
|
-
var p = Randex.toRangeOptions(content);
|
|
103
|
-
result += Randex.randomString(p);
|
|
104
|
-
}
|
|
105
|
-
return result;
|
|
106
|
-
};
|
|
107
17
|
Randex.arrayItem = function (array, defaultValue) {
|
|
108
18
|
if (array === null || array === void 0 ? void 0 : array.length) {
|
|
109
19
|
var arrayCount = array.length - 1;
|
|
@@ -133,155 +43,6 @@ var Randex = /** @class */ (function () {
|
|
|
133
43
|
}
|
|
134
44
|
return result;
|
|
135
45
|
};
|
|
136
|
-
Randex.bool = function () {
|
|
137
|
-
return Math.random() < 0.5;
|
|
138
|
-
};
|
|
139
|
-
Randex.email = function (p1, p2, p3) {
|
|
140
|
-
var prefixLength = set_1.RandexSetUtil.defaultEmailPrefixLength;
|
|
141
|
-
var hightDomainLength = set_1.RandexSetUtil.defaultHightDomainEmailLength;
|
|
142
|
-
var lowDomainLength = set_1.RandexSetUtil.defaultLowDomainEmailLength;
|
|
143
|
-
var domain = "";
|
|
144
|
-
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
145
|
-
prefixLength = p1;
|
|
146
|
-
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
147
|
-
lowDomainLength = p2;
|
|
148
|
-
}
|
|
149
|
-
if (type_1.RandexTypeParser.isLength(p3)) {
|
|
150
|
-
hightDomainLength = p3;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else if (typeof p1 === "string") {
|
|
154
|
-
domain = p1;
|
|
155
|
-
}
|
|
156
|
-
else if (typeof p1 === "object") {
|
|
157
|
-
if (p1.prefixLength) {
|
|
158
|
-
prefixLength = p1.prefixLength;
|
|
159
|
-
}
|
|
160
|
-
if (p1.hightDomainLength) {
|
|
161
|
-
hightDomainLength = p1.hightDomainLength;
|
|
162
|
-
}
|
|
163
|
-
if (p1.lowDomainLength) {
|
|
164
|
-
lowDomainLength = p1.lowDomainLength;
|
|
165
|
-
}
|
|
166
|
-
if (p1.domain) {
|
|
167
|
-
domain = p1.domain;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
if (!domain) {
|
|
171
|
-
domain = Randex.random([["english", "l"], lowDomainLength]) + "." + Randex.random([["english", "l"], hightDomainLength]);
|
|
172
|
-
}
|
|
173
|
-
return Randex.random([[["english", "l"], "number"], prefixLength]) + "@" + domain;
|
|
174
|
-
};
|
|
175
|
-
Randex.fileName = function (p1, p2) {
|
|
176
|
-
var fileNameLength = set_1.RandexSetUtil.defaultFileNameLength;
|
|
177
|
-
var extensionLength = set_1.RandexSetUtil.defaultExtensionLength;
|
|
178
|
-
var extension = "";
|
|
179
|
-
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
180
|
-
fileNameLength = p1;
|
|
181
|
-
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
182
|
-
extensionLength = p2;
|
|
183
|
-
}
|
|
184
|
-
else if (typeof p2 === "string") {
|
|
185
|
-
extension = p2;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
else if (typeof p1 === "string") {
|
|
189
|
-
extension = p1;
|
|
190
|
-
}
|
|
191
|
-
else if (typeof p1 === "object") {
|
|
192
|
-
if (p1.fileNameLength) {
|
|
193
|
-
fileNameLength = p1.fileNameLength;
|
|
194
|
-
}
|
|
195
|
-
if (p1.extensionLength) {
|
|
196
|
-
extensionLength = p1.extensionLength;
|
|
197
|
-
}
|
|
198
|
-
if (p1.extension) {
|
|
199
|
-
extension = p1.extension;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
fileNameLength = set_1.RandexSetUtil.getLength(1, fileNameLength, fileNameLength);
|
|
203
|
-
if (!extension) {
|
|
204
|
-
extension = Randex.random([["english", "l"], extensionLength]);
|
|
205
|
-
}
|
|
206
|
-
return (Randex.random([["english", "number"], set_1.RandexSetUtil.fileNameExtraChars, fileNameLength]) +
|
|
207
|
-
Randex.random(["english", "number"]) +
|
|
208
|
-
"." +
|
|
209
|
-
(extension ? extension.replace(/^\./, "") : Randex.random([["english", "l"], extensionLength])));
|
|
210
|
-
};
|
|
211
|
-
Randex.fullName = function (p1, p2, p3) {
|
|
212
|
-
var firstLength = 0;
|
|
213
|
-
var secondLength = 0;
|
|
214
|
-
var alphabet = "english";
|
|
215
|
-
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
216
|
-
firstLength = secondLength = p1;
|
|
217
|
-
}
|
|
218
|
-
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
219
|
-
alphabet = p1;
|
|
220
|
-
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
221
|
-
firstLength = secondLength = p2;
|
|
222
|
-
}
|
|
223
|
-
if (type_1.RandexTypeParser.isLength(p3)) {
|
|
224
|
-
secondLength = p3;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
else if (typeof p1 === "object") {
|
|
228
|
-
if (p1.alphabet) {
|
|
229
|
-
alphabet = p1.alphabet;
|
|
230
|
-
}
|
|
231
|
-
if (p1.firstLength) {
|
|
232
|
-
firstLength = p1.firstLength;
|
|
233
|
-
}
|
|
234
|
-
if (p1.secondLength) {
|
|
235
|
-
secondLength = p1.secondLength;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return Randex.singleName({ length: firstLength, alphabet: alphabet }) + " " + Randex.singleName({ length: secondLength, alphabet: alphabet });
|
|
239
|
-
};
|
|
240
|
-
Randex.singleName = function (p1, p2) {
|
|
241
|
-
var length = 0;
|
|
242
|
-
var alphabet = "english";
|
|
243
|
-
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
244
|
-
length = p1;
|
|
245
|
-
}
|
|
246
|
-
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
247
|
-
alphabet = p1;
|
|
248
|
-
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
249
|
-
length = p2;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
else if (typeof p1 === "object") {
|
|
253
|
-
if (p1.alphabet) {
|
|
254
|
-
alphabet = p1.alphabet;
|
|
255
|
-
}
|
|
256
|
-
if (p1.length) {
|
|
257
|
-
length = p1.length;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
var currentLength = set_1.RandexSetUtil.getLength(1, length, [1, 9]);
|
|
261
|
-
return Randex.random([alphabet, "u"], [[alphabet, "l"], currentLength]);
|
|
262
|
-
};
|
|
263
|
-
Randex.word = function (p1, p2) {
|
|
264
|
-
var length = [2, 10];
|
|
265
|
-
var alphabet = "english";
|
|
266
|
-
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
267
|
-
length = p1;
|
|
268
|
-
}
|
|
269
|
-
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
270
|
-
alphabet = p1;
|
|
271
|
-
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
272
|
-
length = p2;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
else if (typeof p1 === "object") {
|
|
276
|
-
if (p1.alphabet) {
|
|
277
|
-
alphabet = p1.alphabet;
|
|
278
|
-
}
|
|
279
|
-
if (p1.length) {
|
|
280
|
-
length = p1.length;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
return Randex.random([[alphabet, "l"], length]);
|
|
284
|
-
};
|
|
285
46
|
Randex.numberArray = function (length, count) {
|
|
286
47
|
var min = 0;
|
|
287
48
|
var max = 0;
|
|
@@ -307,46 +68,19 @@ var Randex = /** @class */ (function () {
|
|
|
307
68
|
}
|
|
308
69
|
return result;
|
|
309
70
|
};
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
Randex.
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
Randex.
|
|
322
|
-
|
|
323
|
-
var toV = Randex.getNumberValue(to, decimals);
|
|
324
|
-
var result = set_1.RandexSetUtil.randomNumber(toV - fromV + 1) + fromV;
|
|
325
|
-
if (typeof decimals === "number") {
|
|
326
|
-
result = result / Randex.getNumberBase(decimals);
|
|
327
|
-
}
|
|
328
|
-
return result;
|
|
329
|
-
};
|
|
330
|
-
Randex.number = function (p1, p2, p3) {
|
|
331
|
-
if (typeof p1 === "number" && typeof p2 === "number") {
|
|
332
|
-
return Randex.innerRandomNumber(p1, p2, p3 === null || p3 === void 0 ? void 0 : p3.decimals);
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
var decimals = p2 === null || p2 === void 0 ? void 0 : p2.decimals;
|
|
336
|
-
if (typeof p1 === "number") {
|
|
337
|
-
return Randex.innerRandomNumber(0, p1, decimals);
|
|
338
|
-
}
|
|
339
|
-
else {
|
|
340
|
-
var min = p1[0], max = p1[1];
|
|
341
|
-
return Randex.innerRandomNumber(min, max, decimals);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
};
|
|
345
|
-
Randex.username = function (options) {
|
|
346
|
-
var length = type_1.RandexTypeParser.isLength(options) ? options : options === null || options === void 0 ? void 0 : options.length;
|
|
347
|
-
var currentLength = set_1.RandexSetUtil.getLength(1, length, [6, 10]);
|
|
348
|
-
return Randex.random(["english", "l"], [[["english", "l"], "number"], currentLength]);
|
|
349
|
-
};
|
|
71
|
+
Randex.many = function (count) {
|
|
72
|
+
return { word: (0, word_1.randexManyWord)(count), sentence: (0, sentence_1.randexManySentence)(count) };
|
|
73
|
+
};
|
|
74
|
+
Randex.random = random_1.randexRandom;
|
|
75
|
+
Randex.bool = bool_1.randexBool;
|
|
76
|
+
Randex.email = email_1.randexEmail;
|
|
77
|
+
Randex.fileName = filenameX_1.randexFileName;
|
|
78
|
+
Randex.fullName = fullnameX_1.randexFullName;
|
|
79
|
+
Randex.singleName = singleName_1.randexSingleName;
|
|
80
|
+
Randex.number = number_1.randexNumber;
|
|
81
|
+
Randex.username = username_1.randexUsername;
|
|
82
|
+
Randex.word = word_1.randexWord;
|
|
83
|
+
Randex.sentence = sentence_1.randexSentence;
|
|
350
84
|
return Randex;
|
|
351
85
|
}());
|
|
352
86
|
exports.Randex = Randex;
|
package/lib/custom/number.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { RandexRange, RandomNumberOptions } from "../interfaces";
|
|
2
|
+
export declare function randexNumber(length: RandexRange, options?: RandomNumberOptions): number;
|
|
3
|
+
export declare function randexNumber(from: number, to: number, options?: RandomNumberOptions): number;
|
package/lib/custom/number.js
CHANGED
|
@@ -1,2 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randexNumber = void 0;
|
|
4
|
+
var set_1 = require("../basic/set");
|
|
5
|
+
function getNumberBase(decimals) {
|
|
6
|
+
return decimals === 1 ? 10 : Math.pow(10, decimals);
|
|
7
|
+
}
|
|
8
|
+
function getNumberValue(value, decimals) {
|
|
9
|
+
var result = value;
|
|
10
|
+
if (typeof decimals === "number") {
|
|
11
|
+
result = result * getNumberBase(decimals);
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
function innerRandomNumber(from, to, decimals) {
|
|
16
|
+
var fromV = getNumberValue(from, decimals);
|
|
17
|
+
var toV = getNumberValue(to, decimals);
|
|
18
|
+
var result = set_1.RandexSetUtil.randomRangeNumber(fromV, toV);
|
|
19
|
+
if (typeof decimals === "number") {
|
|
20
|
+
result = result / getNumberBase(decimals);
|
|
21
|
+
}
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
function randexNumber(p1, p2, p3) {
|
|
25
|
+
if (typeof p1 === "number" && typeof p2 === "number") {
|
|
26
|
+
return innerRandomNumber(p1, p2, p3 === null || p3 === void 0 ? void 0 : p3.decimals);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
var decimals = p2 === null || p2 === void 0 ? void 0 : p2.decimals;
|
|
30
|
+
if (typeof p1 === "number") {
|
|
31
|
+
return innerRandomNumber(0, p1, decimals);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
var min = p1[0], max = p1[1];
|
|
35
|
+
return innerRandomNumber(min, max, decimals);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.randexNumber = randexNumber;
|
package/lib/custom/random.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
range: string;
|
|
4
|
-
length: RandexLength;
|
|
5
|
-
}
|
|
1
|
+
import { RandexContentOptions } from "../interfaces";
|
|
2
|
+
export declare function randexRandom(...options: RandexContentOptions[]): string;
|
package/lib/custom/random.js
CHANGED
|
@@ -1,2 +1,83 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randexRandom = void 0;
|
|
4
|
+
var set_1 = require("../basic/set");
|
|
5
|
+
var type_1 = require("../basic/type");
|
|
6
|
+
function randomString(params) {
|
|
7
|
+
var length = params.length, range = params.range;
|
|
8
|
+
var result = "";
|
|
9
|
+
var currentLength = 0;
|
|
10
|
+
if (typeof length === "number") {
|
|
11
|
+
currentLength = length;
|
|
12
|
+
}
|
|
13
|
+
else if (Array.isArray(length)) {
|
|
14
|
+
var min = length[0], max = length[1];
|
|
15
|
+
currentLength = set_1.RandexSetUtil.randomRangeNumber(min, max);
|
|
16
|
+
}
|
|
17
|
+
for (var i = 0; i < currentLength; i++) {
|
|
18
|
+
var index = set_1.RandexSetUtil.randomSingleNumber(range.length - 1);
|
|
19
|
+
if (range.length >= index || range.length <= index) {
|
|
20
|
+
result += range[index];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
function toContent(options) {
|
|
26
|
+
if (type_1.RandexTypeParser.isSet(options)) {
|
|
27
|
+
return {
|
|
28
|
+
set: options,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else if (type_1.RandexTypeParser.isPartArray(options)) {
|
|
32
|
+
if (options.length === 2) {
|
|
33
|
+
var set = options[0], rangeOrLength = options[1];
|
|
34
|
+
return type_1.RandexTypeParser.isLength(rangeOrLength)
|
|
35
|
+
? {
|
|
36
|
+
set: set,
|
|
37
|
+
length: rangeOrLength,
|
|
38
|
+
}
|
|
39
|
+
: {
|
|
40
|
+
set: set,
|
|
41
|
+
range: rangeOrLength,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
else if (options.length === 3) {
|
|
45
|
+
var set = options[0], range = options[1], length_1 = options[2];
|
|
46
|
+
return {
|
|
47
|
+
set: set,
|
|
48
|
+
range: range,
|
|
49
|
+
length: length_1,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return options;
|
|
54
|
+
}
|
|
55
|
+
function toRangeOptions(options) {
|
|
56
|
+
var fullRange = "";
|
|
57
|
+
var set = options.set, range = options.range, _a = options.length, length = _a === void 0 ? 1 : _a;
|
|
58
|
+
if (range) {
|
|
59
|
+
fullRange += range;
|
|
60
|
+
}
|
|
61
|
+
if (set) {
|
|
62
|
+
fullRange += set_1.RandexSetUtil.toRange(set);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
range: fullRange,
|
|
66
|
+
length: length,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function randexRandom() {
|
|
70
|
+
var options = [];
|
|
71
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
72
|
+
options[_i] = arguments[_i];
|
|
73
|
+
}
|
|
74
|
+
var result = "";
|
|
75
|
+
for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {
|
|
76
|
+
var option = options_1[_a];
|
|
77
|
+
var content = toContent(option);
|
|
78
|
+
var p = toRangeOptions(content);
|
|
79
|
+
result += randomString(p);
|
|
80
|
+
}
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
exports.randexRandom = randexRandom;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RandexAlphabet, RandexRange, RandexSentenceOptions } from "../interfaces";
|
|
2
|
+
export declare function randexSentence(options?: RandexSentenceOptions): string;
|
|
3
|
+
export declare function randexSentence(length: RandexRange): string;
|
|
4
|
+
export declare function randexSentence(alphabet?: RandexAlphabet): string;
|
|
5
|
+
export declare function randexSentence(alphabet: RandexAlphabet, length: RandexRange): string;
|
|
6
|
+
export declare function randexManySentence(count: RandexRange): {
|
|
7
|
+
(options?: RandexSentenceOptions): string[];
|
|
8
|
+
(length: RandexRange): string[];
|
|
9
|
+
(alphabet?: RandexAlphabet): string[];
|
|
10
|
+
(alphabet: RandexAlphabet, length: RandexRange): string[];
|
|
11
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randexManySentence = exports.randexSentence = void 0;
|
|
4
|
+
var const_1 = require("../basic/const");
|
|
5
|
+
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
var word_1 = require("./word");
|
|
8
|
+
function randexSentence(p1, p2) {
|
|
9
|
+
var length = const_1.DEFAULT_SENTENCE_RANGE;
|
|
10
|
+
var alphabet = "english";
|
|
11
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
12
|
+
length = p1;
|
|
13
|
+
}
|
|
14
|
+
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
15
|
+
alphabet = p1;
|
|
16
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
17
|
+
length = p2;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if (typeof p1 === "object") {
|
|
21
|
+
var options = p1;
|
|
22
|
+
if (options.alphabet) {
|
|
23
|
+
alphabet = options.alphabet;
|
|
24
|
+
}
|
|
25
|
+
if (options.wordRange) {
|
|
26
|
+
length = options.wordRange;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
var words = (0, word_1.randexManyWord)(length)(alphabet);
|
|
30
|
+
return words
|
|
31
|
+
.map(function (text, index) {
|
|
32
|
+
var wordText = text;
|
|
33
|
+
if (index === 0 && text.length > 0) {
|
|
34
|
+
wordText = text[0].toUpperCase() + text.slice(1);
|
|
35
|
+
}
|
|
36
|
+
if (index + 1 >= words.length) {
|
|
37
|
+
wordText = wordText + ".";
|
|
38
|
+
}
|
|
39
|
+
return wordText;
|
|
40
|
+
})
|
|
41
|
+
.join(" ");
|
|
42
|
+
}
|
|
43
|
+
exports.randexSentence = randexSentence;
|
|
44
|
+
function randexManySentence(count) {
|
|
45
|
+
function many(p1, p2) {
|
|
46
|
+
return set_1.RandexSetUtil.many(count, function () { return randexSentence(p1, p2); });
|
|
47
|
+
}
|
|
48
|
+
return many;
|
|
49
|
+
}
|
|
50
|
+
exports.randexManySentence = randexManySentence;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RandexAlphabet, RandexRange, RandexWordOptions } from "../interfaces";
|
|
2
|
+
export declare function randexSingleName(options?: RandexWordOptions): string;
|
|
3
|
+
export declare function randexSingleName(length: RandexRange): string;
|
|
4
|
+
export declare function randexSingleName(alphabet?: RandexAlphabet): string;
|
|
5
|
+
export declare function randexSingleName(alphabet: RandexAlphabet, length: RandexRange): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randexSingleName = void 0;
|
|
4
|
+
var set_1 = require("../basic/set");
|
|
5
|
+
var type_1 = require("../basic/type");
|
|
6
|
+
var random_1 = require("./random");
|
|
7
|
+
function randexSingleName(p1, p2) {
|
|
8
|
+
var length = 0;
|
|
9
|
+
var alphabet = "english";
|
|
10
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
11
|
+
length = p1;
|
|
12
|
+
}
|
|
13
|
+
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
14
|
+
alphabet = p1;
|
|
15
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
16
|
+
length = p2;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else if (typeof p1 === "object") {
|
|
20
|
+
if (p1.alphabet) {
|
|
21
|
+
alphabet = p1.alphabet;
|
|
22
|
+
}
|
|
23
|
+
if (p1.length) {
|
|
24
|
+
length = p1.length;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
var currentLength = set_1.RandexSetUtil.getLength(1, length, [1, 9]);
|
|
28
|
+
return (0, random_1.randexRandom)([alphabet, "u"], [[alphabet, "l"], currentLength]);
|
|
29
|
+
}
|
|
30
|
+
exports.randexSingleName = randexSingleName;
|
package/lib/custom/username.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
length?: RandexLength;
|
|
4
|
-
}
|
|
1
|
+
import { RandexRange, RandexUsernameOptions } from "../interfaces";
|
|
2
|
+
export declare function randexUsername(options?: RandexUsernameOptions | RandexRange): string;
|
package/lib/custom/username.js
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randexUsername = void 0;
|
|
4
|
+
var set_1 = require("../basic/set");
|
|
5
|
+
var type_1 = require("../basic/type");
|
|
6
|
+
var random_1 = require("./random");
|
|
7
|
+
function randexUsername(options) {
|
|
8
|
+
var length = type_1.RandexTypeParser.isLength(options) ? options : options === null || options === void 0 ? void 0 : options.length;
|
|
9
|
+
var currentLength = set_1.RandexSetUtil.getLength(1, length, [6, 10]);
|
|
10
|
+
return (0, random_1.randexRandom)(["english", "l"], [[["english", "l"], "number"], currentLength]);
|
|
11
|
+
}
|
|
12
|
+
exports.randexUsername = randexUsername;
|
package/lib/custom/word.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { RandexAlphabet,
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { RandexAlphabet, RandexRange, RandexWordOptions } from "../interfaces";
|
|
2
|
+
export declare function randexWord(options?: RandexWordOptions): string;
|
|
3
|
+
export declare function randexWord(length: RandexRange): string;
|
|
4
|
+
export declare function randexWord(alphabet?: RandexAlphabet): string;
|
|
5
|
+
export declare function randexWord(alphabet: RandexAlphabet, length: RandexRange): string;
|
|
6
|
+
export declare function randexManyWord(count: RandexRange): {
|
|
7
|
+
(options?: RandexWordOptions): string[];
|
|
8
|
+
(length: RandexRange): string[];
|
|
9
|
+
(alphabet?: RandexAlphabet): string[];
|
|
10
|
+
(alphabet: RandexAlphabet, length: RandexRange): string[];
|
|
11
|
+
};
|
package/lib/custom/word.js
CHANGED
|
@@ -1,2 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randexManyWord = exports.randexWord = void 0;
|
|
4
|
+
var const_1 = require("../basic/const");
|
|
5
|
+
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
var random_1 = require("./random");
|
|
8
|
+
function randexWord(p1, p2) {
|
|
9
|
+
var length = const_1.DEFAULT_WORD_RANGE;
|
|
10
|
+
var alphabet = "english";
|
|
11
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
12
|
+
length = p1;
|
|
13
|
+
}
|
|
14
|
+
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
15
|
+
alphabet = p1;
|
|
16
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
17
|
+
length = p2;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if (typeof p1 === "object") {
|
|
21
|
+
if (p1.alphabet) {
|
|
22
|
+
alphabet = p1.alphabet;
|
|
23
|
+
}
|
|
24
|
+
if (p1.length) {
|
|
25
|
+
length = p1.length;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return (0, random_1.randexRandom)([[alphabet, "l"], length]);
|
|
29
|
+
}
|
|
30
|
+
exports.randexWord = randexWord;
|
|
31
|
+
function randexManyWord(count) {
|
|
32
|
+
function many(p1, p2) {
|
|
33
|
+
return set_1.RandexSetUtil.many(count, function () { return randexWord(p1, p2); });
|
|
34
|
+
}
|
|
35
|
+
return many;
|
|
36
|
+
}
|
|
37
|
+
exports.randexManyWord = randexManyWord;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type RandexCase = "default" | "lower" | "upper" | "l" | "u";
|
|
2
|
+
export type RandexAlphabet = "english" | "french" | "spanish" | "russian";
|
|
3
|
+
export type RandexSingleSet = RandexAlphabet | "hex" | "symbol" | "number" | "binary";
|
|
4
|
+
export type RandexAlphabetCase = [RandexAlphabet, RandexCase];
|
|
5
|
+
export type RandexItemSet = RandexSingleSet | RandexAlphabetCase;
|
|
6
|
+
export type RandexSet = RandexItemSet | RandexItemSet[];
|
|
7
|
+
export type RandexRange = number | [number, number];
|
|
8
|
+
interface RandexItemBasicOptions {
|
|
9
|
+
set?: RandexSet;
|
|
10
|
+
range?: string;
|
|
11
|
+
length?: RandexRange;
|
|
12
|
+
}
|
|
13
|
+
export interface RandexContentSetOptions extends Omit<RandexItemBasicOptions, "set"> {
|
|
14
|
+
set: RandexSet;
|
|
15
|
+
}
|
|
16
|
+
export interface RandexContentRangeOptions extends Omit<RandexItemBasicOptions, "range"> {
|
|
17
|
+
range: string;
|
|
18
|
+
}
|
|
19
|
+
export type RandexContentArrayOptions = [RandexSet, string | RandexRange] | [RandexSet, string, RandexRange];
|
|
20
|
+
export type RandexContentOptions = RandexContentSetOptions | RandexContentRangeOptions | RandexContentArrayOptions | RandexSet;
|
|
21
|
+
export {};
|