randex 0.6.0 → 0.8.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 +231 -63
- package/lib/basic/set.d.ts +6 -0
- package/lib/basic/set.js +6 -0
- package/lib/basic/type.d.ts +1 -1
- package/lib/basic/type.js +4 -3
- package/lib/custom/email.d.ts +16 -1
- package/lib/custom/email.js +37 -9
- package/lib/custom/filename.d.ts +14 -2
- package/lib/custom/filename.js +34 -9
- package/lib/custom/fullname.d.ts +11 -0
- package/lib/custom/fullname.js +35 -0
- package/lib/custom/index.d.ts +1 -0
- package/lib/custom/index.js +1 -0
- package/lib/custom/name.d.ts +5 -8
- package/lib/custom/name.js +22 -8
- package/lib/custom/username.d.ts +1 -1
- package/lib/custom/username.js +2 -1
- package/lib/test/email.test.js +52 -4
- package/lib/test/filename.test.js +58 -4
- package/lib/test/fullname.test.js +4 -4
- package/lib/test/markdown.test.js +45 -1
- package/lib/test/name.test.js +23 -9
- package/lib/test/random.test.js +10 -4
- package/lib/test/set-util.test.d.ts +1 -0
- package/lib/test/set-util.test.js +28 -0
- package/lib/test/test-util.d.ts +3 -1
- package/lib/test/test-util.js +14 -3
- package/lib/test/username.test.js +16 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,6 +23,11 @@ Functions:
|
|
|
23
23
|
- [randomName](#randomname)
|
|
24
24
|
- [randomFullName](#randomfullname)
|
|
25
25
|
|
|
26
|
+
Deeps:
|
|
27
|
+
|
|
28
|
+
- [Customization](#customization)
|
|
29
|
+
- [Types](#types)
|
|
30
|
+
|
|
26
31
|
## random
|
|
27
32
|
|
|
28
33
|
Basic function for construct random thing.
|
|
@@ -35,6 +40,8 @@ random({
|
|
|
35
40
|
set: "english",
|
|
36
41
|
length: 3,
|
|
37
42
|
});
|
|
43
|
+
// or short:
|
|
44
|
+
random(["english", 3]);
|
|
38
45
|
// EFd
|
|
39
46
|
|
|
40
47
|
// 3 lower english chars
|
|
@@ -42,6 +49,8 @@ random({
|
|
|
42
49
|
set: ["english", "lower"],
|
|
43
50
|
length: 3,
|
|
44
51
|
});
|
|
52
|
+
// or short:
|
|
53
|
+
random([["english", "lower"], 3]);
|
|
45
54
|
// yhl
|
|
46
55
|
|
|
47
56
|
// min 1 and max 3 english chars
|
|
@@ -49,6 +58,8 @@ random({
|
|
|
49
58
|
set: "english",
|
|
50
59
|
length: [1, 3],
|
|
51
60
|
});
|
|
61
|
+
// or short:
|
|
62
|
+
random(["english", [1, 3]]);
|
|
52
63
|
// eR
|
|
53
64
|
|
|
54
65
|
// 3 number chars
|
|
@@ -56,6 +67,8 @@ random({
|
|
|
56
67
|
set: "number",
|
|
57
68
|
length: 3,
|
|
58
69
|
});
|
|
70
|
+
// or short:
|
|
71
|
+
random(["number", 3]);
|
|
59
72
|
// 643
|
|
60
73
|
|
|
61
74
|
// 3 chars from custom range
|
|
@@ -70,6 +83,9 @@ random({
|
|
|
70
83
|
set: ["english", "number"],
|
|
71
84
|
length: 3,
|
|
72
85
|
});
|
|
86
|
+
// or short:
|
|
87
|
+
random([["english", "number"], 3]);
|
|
88
|
+
// x4d
|
|
73
89
|
|
|
74
90
|
// 4 chars: 2 english and 2 english or number
|
|
75
91
|
random(
|
|
@@ -82,6 +98,8 @@ random(
|
|
|
82
98
|
length: 2,
|
|
83
99
|
}
|
|
84
100
|
);
|
|
101
|
+
// or short:
|
|
102
|
+
random(["english", 2], [["english", "number"], 2]);
|
|
85
103
|
// Kb3b
|
|
86
104
|
```
|
|
87
105
|
|
|
@@ -99,27 +117,46 @@ Randoms file name.
|
|
|
99
117
|
```ts
|
|
100
118
|
import { randomFileName } from "randex";
|
|
101
119
|
|
|
120
|
+
// default
|
|
102
121
|
randomFileName({
|
|
103
122
|
extension: "txt",
|
|
104
123
|
});
|
|
105
|
-
|
|
106
124
|
// td1TX31eOB.txt
|
|
107
|
-
```
|
|
108
125
|
|
|
109
|
-
|
|
126
|
+
// defined extension
|
|
127
|
+
randomFileName({
|
|
128
|
+
extension: "txt",
|
|
129
|
+
});
|
|
130
|
+
// or short:
|
|
131
|
+
randomFileName("txt");
|
|
132
|
+
// HkmOjqHC6.txt
|
|
110
133
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
134
|
+
// defined file name length and extension length
|
|
135
|
+
randomFileName({
|
|
136
|
+
fileNameLength: [7, 10],
|
|
137
|
+
extensionLength: 5,
|
|
138
|
+
});
|
|
139
|
+
// or short:
|
|
140
|
+
randomFileName([7, 10], 5);
|
|
141
|
+
// 1SJVkHSBjq.tejuw
|
|
142
|
+
|
|
143
|
+
// defined file name length and extension
|
|
144
|
+
randomFileName({
|
|
145
|
+
fileNameLength: 8,
|
|
146
|
+
extension: "xml",
|
|
147
|
+
});
|
|
148
|
+
// or short:
|
|
149
|
+
randomFileName(8, "xml");
|
|
150
|
+
// JyCsuN5kD.xml
|
|
121
151
|
```
|
|
122
152
|
|
|
153
|
+
Options:
|
|
154
|
+
| Name | Type| Description|
|
|
155
|
+
| ------------------------ | ---- |------------ |
|
|
156
|
+
|fileNameLength|[RandexLength](#randexlength) | Length of file name (not including extension). Default: [3,10]|
|
|
157
|
+
|extensionLength|[RandexLength](#randexlength) | Length of extension (not including file name) chars . Default: [2,5] |
|
|
158
|
+
|extension| `string`| File extension. |
|
|
159
|
+
|
|
123
160
|
## randomUsername
|
|
124
161
|
|
|
125
162
|
Randoms username.
|
|
@@ -127,64 +164,73 @@ Randoms username.
|
|
|
127
164
|
```ts
|
|
128
165
|
import { randomUsername } from "randex";
|
|
129
166
|
|
|
130
|
-
// default
|
|
167
|
+
// default
|
|
131
168
|
randomUsername();
|
|
132
169
|
// icvv81d1j
|
|
133
170
|
|
|
134
171
|
// with length 5 chars
|
|
135
172
|
randomUsername({ length: 5 });
|
|
173
|
+
// or short:
|
|
174
|
+
randomUsername(5);
|
|
136
175
|
// okmle
|
|
137
176
|
|
|
138
177
|
// with 2 min and 5 max chars
|
|
139
178
|
randomName({ length: [2, 5] });
|
|
179
|
+
// or short:
|
|
180
|
+
randomUsername([2, 5]);
|
|
140
181
|
// lkhs
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
Equals to:
|
|
145
|
-
|
|
146
|
-
```ts
|
|
147
|
-
random(
|
|
148
|
-
["english", "l"],
|
|
149
|
-
[
|
|
150
|
-
[["english", "l"], "number"],
|
|
151
|
-
[5, 10],
|
|
152
|
-
]
|
|
153
|
-
);
|
|
154
182
|
```
|
|
155
183
|
|
|
156
184
|
Options:
|
|
157
185
|
| Name | Type| Description|
|
|
158
186
|
| ------------------------ | ---- |------------ |
|
|
159
|
-
|length|[RandexLength](#randexlength) | Length of chars |
|
|
160
|
-
|
|
187
|
+
|length|[RandexLength](#randexlength) | Length of chars. Default: [6,10] |
|
|
161
188
|
|
|
162
189
|
## randomEmail
|
|
163
190
|
|
|
164
|
-
Randoms
|
|
191
|
+
Randoms an email.
|
|
165
192
|
|
|
166
193
|
```ts
|
|
167
194
|
import { randomEmail } from "randex";
|
|
168
195
|
|
|
169
|
-
|
|
196
|
+
// default
|
|
170
197
|
randomEmail();
|
|
171
198
|
// stv4ox27sevt@mqsyin.fil
|
|
172
199
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
200
|
+
// defined prefix length
|
|
201
|
+
randomEmail({
|
|
202
|
+
prefixLength: 8,
|
|
203
|
+
});
|
|
204
|
+
// or shot:
|
|
205
|
+
randomEmail(8);
|
|
206
|
+
// epzn3hbz@vu.xsp
|
|
207
|
+
|
|
208
|
+
// defined prefix, low domain and hight domain length
|
|
209
|
+
randomEmail({
|
|
210
|
+
prefixLength: 8,
|
|
211
|
+
lowDomainLength: 4,
|
|
212
|
+
hightDomainLength: 2,
|
|
213
|
+
});
|
|
214
|
+
// or shot:
|
|
215
|
+
randomEmail(8, 4, 2);
|
|
216
|
+
// 8p0bjoua@fcsa.gr
|
|
176
217
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
"
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
[2, 4],
|
|
185
|
-
]);
|
|
218
|
+
// defined domain
|
|
219
|
+
randomEmail({
|
|
220
|
+
domain: "test.com",
|
|
221
|
+
});
|
|
222
|
+
// or shot:
|
|
223
|
+
randomEmail("test.com");
|
|
224
|
+
// efnmo1r5@test.com
|
|
186
225
|
```
|
|
187
226
|
|
|
227
|
+
Options:
|
|
228
|
+
| Name | Type| Description|
|
|
229
|
+
| ------------------------ | ---- |------------ |
|
|
230
|
+
|prefixLength|[RandexLength](#randexlength) | Length of email prefix (chars before `@`). Default: [6, 10] |
|
|
231
|
+
|hightDomainLength|[RandexLength](#randexlength) | Length of hight domain part (example: test.<b>com</b>). Default: [1,6] |
|
|
232
|
+
|lowDomainLength|[RandexLength](#randexlength) | Length of low domain part (example: <b>test</b>.com). Default: [4,2] |
|
|
233
|
+
|domain| `string`| Defined domain. |
|
|
188
234
|
|
|
189
235
|
## randomName
|
|
190
236
|
|
|
@@ -193,40 +239,40 @@ Randoms a name of the person, city, place, restaurant, ect.
|
|
|
193
239
|
```ts
|
|
194
240
|
import { randomName } from "randex";
|
|
195
241
|
|
|
196
|
-
// default
|
|
242
|
+
// default
|
|
197
243
|
randomName();
|
|
198
244
|
// Ijb
|
|
199
245
|
|
|
200
|
-
// name from french alphabet
|
|
201
|
-
randomName({ alphabet: "french" });
|
|
202
|
-
// Dbïœ
|
|
203
|
-
|
|
204
246
|
// with length 5 chars
|
|
205
247
|
randomName({ length: 5 });
|
|
248
|
+
// or short:
|
|
249
|
+
randomName(5);
|
|
206
250
|
// Okmpj
|
|
207
251
|
|
|
208
252
|
// with 2 min and 5 max chars
|
|
209
253
|
randomName({ length: [2, 5] });
|
|
254
|
+
// or short:
|
|
255
|
+
randomName([2, 5]);
|
|
210
256
|
// Wslg
|
|
211
|
-
```
|
|
212
257
|
|
|
213
|
-
|
|
258
|
+
// name from french alphabet
|
|
259
|
+
randomName({ alphabet: "french" });
|
|
260
|
+
// or short:
|
|
261
|
+
randomName("french");
|
|
262
|
+
// Dbïœ
|
|
214
263
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
[1, 10],
|
|
221
|
-
]
|
|
222
|
-
);
|
|
264
|
+
// name from french alphabet with length
|
|
265
|
+
randomName({ alphabet: "french", length: 10 });
|
|
266
|
+
// or short:
|
|
267
|
+
randomName("french", 10);
|
|
268
|
+
// Rsîrjhjôôw
|
|
223
269
|
```
|
|
224
270
|
|
|
225
271
|
Options:
|
|
226
272
|
| Name | Type| Description|
|
|
227
273
|
| ------------------------ | ---- |------------ |
|
|
228
|
-
|length|[RandexLength](#randexlength) | Length of chars |
|
|
229
|
-
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet |
|
|
274
|
+
|length|[RandexLength](#randexlength) | Length of chars. Default: [2,10] |
|
|
275
|
+
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
230
276
|
|
|
231
277
|
## randomFullName
|
|
232
278
|
|
|
@@ -235,6 +281,7 @@ Randoms a full name of the person.
|
|
|
235
281
|
```ts
|
|
236
282
|
import { randomFullName } from "randex";
|
|
237
283
|
|
|
284
|
+
// default
|
|
238
285
|
randomFullName();
|
|
239
286
|
// Eqaa Bfmotnq
|
|
240
287
|
```
|
|
@@ -242,9 +289,84 @@ randomFullName();
|
|
|
242
289
|
Options:
|
|
243
290
|
| Name | Type| Description|
|
|
244
291
|
| ------------------------ | ---- |------------ |
|
|
245
|
-
|firstLength|[RandexLength](#randexlength) | First name length of chars |
|
|
246
|
-
|secondLength|[RandexLength](#randexlength) | Second name length of chars |
|
|
247
|
-
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet |
|
|
292
|
+
|firstLength|[RandexLength](#randexlength) | First name length of chars. Default: [2, 10] |
|
|
293
|
+
|secondLength|[RandexLength](#randexlength) | Second name length of chars. Default: [2,10] |
|
|
294
|
+
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
295
|
+
|
|
296
|
+
## Customization
|
|
297
|
+
|
|
298
|
+
[random](#random) function is very flexible, there are many custom functions can be created.
|
|
299
|
+
|
|
300
|
+
There are examples how to create custom function for most common cases:
|
|
301
|
+
|
|
302
|
+
<b>randomFileName</b>
|
|
303
|
+
|
|
304
|
+
```ts
|
|
305
|
+
random([["english", "number"], "_.", [5, 10]]) +
|
|
306
|
+
random(["english", "number"]) +
|
|
307
|
+
"." +
|
|
308
|
+
random([
|
|
309
|
+
["english", "l"],
|
|
310
|
+
[2, 5],
|
|
311
|
+
]);
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
<b>randomUsername</b>
|
|
315
|
+
|
|
316
|
+
```ts
|
|
317
|
+
random(
|
|
318
|
+
["english", "l"],
|
|
319
|
+
[
|
|
320
|
+
[["english", "l"], "number"],
|
|
321
|
+
[5, 10],
|
|
322
|
+
]
|
|
323
|
+
);
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
<b>randomEmail</b>
|
|
327
|
+
|
|
328
|
+
```ts
|
|
329
|
+
random(["english", "l"], [[["english", "l"], "number"], 10], ["english", "l"]) +
|
|
330
|
+
"@" +
|
|
331
|
+
random(["english", "l"], [["english", "l"], "-", [0, 5]], ["english", "l"]) +
|
|
332
|
+
"." +
|
|
333
|
+
random([
|
|
334
|
+
["english", "l"],
|
|
335
|
+
[2, 4],
|
|
336
|
+
]);
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
<b>randomName</b>
|
|
340
|
+
|
|
341
|
+
```ts
|
|
342
|
+
random(
|
|
343
|
+
["english", "u"],
|
|
344
|
+
[
|
|
345
|
+
["english", "l"],
|
|
346
|
+
[1, 10],
|
|
347
|
+
]
|
|
348
|
+
);
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
<b>randomFullName</b>
|
|
352
|
+
|
|
353
|
+
```ts
|
|
354
|
+
random(
|
|
355
|
+
["english", "u"],
|
|
356
|
+
[
|
|
357
|
+
["english", "l"],
|
|
358
|
+
[1, 10],
|
|
359
|
+
]
|
|
360
|
+
) +
|
|
361
|
+
" " +
|
|
362
|
+
random(
|
|
363
|
+
["english", "u"],
|
|
364
|
+
[
|
|
365
|
+
["english", "l"],
|
|
366
|
+
[1, 10],
|
|
367
|
+
]
|
|
368
|
+
);
|
|
369
|
+
```
|
|
248
370
|
|
|
249
371
|
## Types
|
|
250
372
|
|
|
@@ -256,6 +378,16 @@ Possible types:
|
|
|
256
378
|
|
|
257
379
|
`[number, number]`: an array of min and max length.
|
|
258
380
|
|
|
381
|
+
Example:
|
|
382
|
+
|
|
383
|
+
```ts
|
|
384
|
+
random({ set: "bit", length: 5 });
|
|
385
|
+
random({ set: "bit", length: [5, 10] });
|
|
386
|
+
// or short:
|
|
387
|
+
random(["bit", 5]);
|
|
388
|
+
random(["bit", [5, 10]]);
|
|
389
|
+
```
|
|
390
|
+
|
|
259
391
|
## RandexSet
|
|
260
392
|
|
|
261
393
|
Possible types:
|
|
@@ -264,20 +396,56 @@ Possible types:
|
|
|
264
396
|
|
|
265
397
|
`[string, string]`: the first item is - [RandexAlphabet](#randexalphabet), the second item is - [RandexCase](#randexcase)
|
|
266
398
|
|
|
399
|
+
Example:
|
|
400
|
+
|
|
401
|
+
```ts
|
|
402
|
+
random({ set: "bit" });
|
|
403
|
+
random({ set: "spanish" });
|
|
404
|
+
random({ set: ["spanish", "lower"] });
|
|
405
|
+
// or short:
|
|
406
|
+
random("bit");
|
|
407
|
+
random("spanish");
|
|
408
|
+
random(["spanish", "l"]);
|
|
409
|
+
```
|
|
410
|
+
|
|
267
411
|
## RandexAlphabet
|
|
268
412
|
|
|
269
413
|
An alphabet of chars
|
|
270
414
|
|
|
271
415
|
`string` values: `english`, `french`, `spanish`, `russian`.
|
|
272
416
|
|
|
417
|
+
Example:
|
|
418
|
+
|
|
419
|
+
```ts
|
|
420
|
+
random({ set: "spanish" });
|
|
421
|
+
// or short:
|
|
422
|
+
random("spanish");
|
|
423
|
+
```
|
|
424
|
+
|
|
273
425
|
## RandexKit
|
|
274
426
|
|
|
275
427
|
A kit of chars
|
|
276
428
|
|
|
277
429
|
`string` values: `hex`, `symbol`, `number`, `binary`.
|
|
278
430
|
|
|
431
|
+
Example:
|
|
432
|
+
|
|
433
|
+
```ts
|
|
434
|
+
random({ set: "hex" });
|
|
435
|
+
// or short:
|
|
436
|
+
random("hex");
|
|
437
|
+
```
|
|
438
|
+
|
|
279
439
|
## RandexCase
|
|
280
440
|
|
|
281
441
|
A case of alphabet
|
|
282
442
|
|
|
283
443
|
`string` values: `upper`, `u`,`lower`, `l`.
|
|
444
|
+
|
|
445
|
+
Example:
|
|
446
|
+
|
|
447
|
+
```ts
|
|
448
|
+
random({ set: ["spanish", "lower"] });
|
|
449
|
+
// or short:
|
|
450
|
+
random(["spanish", "l"]);
|
|
451
|
+
```
|
package/lib/basic/set.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { RandexSet, RandexLength } from "../interfaces";
|
|
2
2
|
export declare class RandexSetUtil {
|
|
3
|
+
static readonly defaultFileNameLength: RandexLength;
|
|
4
|
+
static readonly defaultExtensionLength: RandexLength;
|
|
5
|
+
static readonly fileNameExtraChars = "";
|
|
6
|
+
static readonly defaultEmailPrefixLength: RandexLength;
|
|
7
|
+
static readonly defaultHightDomainEmailLength: RandexLength;
|
|
8
|
+
static readonly defaultLowDomainEmailLength: RandexLength;
|
|
3
9
|
private static toSingleRange;
|
|
4
10
|
private static toAlphabetCase;
|
|
5
11
|
private static toAlphabetRange;
|
package/lib/basic/set.js
CHANGED
|
@@ -94,6 +94,12 @@ var RandexSetUtil = /** @class */ (function () {
|
|
|
94
94
|
}
|
|
95
95
|
return result;
|
|
96
96
|
};
|
|
97
|
+
RandexSetUtil.defaultFileNameLength = [3, 10];
|
|
98
|
+
RandexSetUtil.defaultExtensionLength = [2, 5];
|
|
99
|
+
RandexSetUtil.fileNameExtraChars = ""; //"-_.";
|
|
100
|
+
RandexSetUtil.defaultEmailPrefixLength = [6, 10];
|
|
101
|
+
RandexSetUtil.defaultHightDomainEmailLength = [1, 6];
|
|
102
|
+
RandexSetUtil.defaultLowDomainEmailLength = [2, 4];
|
|
97
103
|
return RandexSetUtil;
|
|
98
104
|
}());
|
|
99
105
|
exports.RandexSetUtil = RandexSetUtil;
|
package/lib/basic/type.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare class RandexTypeParser {
|
|
|
3
3
|
private static inRange;
|
|
4
4
|
private static inLiteral;
|
|
5
5
|
static inCase(value: string): value is RandexCase;
|
|
6
|
-
static inAlphabet(value:
|
|
6
|
+
static inAlphabet(value: any): value is RandexAlphabet;
|
|
7
7
|
static inSet(value: string): value is RandexSingleSet;
|
|
8
8
|
static isLength(value: any): value is RandexLength;
|
|
9
9
|
static isSetSingle(value: any): value is RandexItemSet;
|
package/lib/basic/type.js
CHANGED
|
@@ -13,14 +13,15 @@ var RandexTypeParser = /** @class */ (function () {
|
|
|
13
13
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
14
|
expects[_i - 1] = arguments[_i];
|
|
15
15
|
}
|
|
16
|
-
return !!expects.find(function (x) { return x === value; });
|
|
16
|
+
return typeof value === "string" && !!expects.find(function (x) { return x === value; });
|
|
17
17
|
};
|
|
18
18
|
RandexTypeParser.inCase = function (value) {
|
|
19
19
|
return RandexTypeParser.inLiteral(value, "default", "lower", "upper", "l", "u");
|
|
20
20
|
};
|
|
21
21
|
RandexTypeParser.inAlphabet = function (value) {
|
|
22
|
-
return
|
|
23
|
-
|
|
22
|
+
return (typeof value === "string" &&
|
|
23
|
+
RandexTypeParser.inLiteral(value, "english", "french", "spanish", // "german",
|
|
24
|
+
"russian"));
|
|
24
25
|
};
|
|
25
26
|
RandexTypeParser.inSet = function (value) {
|
|
26
27
|
return RandexTypeParser.inAlphabet(value) || RandexTypeParser.inLiteral(value, "hex", "symbol", "number", "binary");
|
package/lib/custom/email.d.ts
CHANGED
|
@@ -1 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { RandexLength } from "../interfaces";
|
|
2
|
+
interface BasicEmailOptions {
|
|
3
|
+
prefixLength?: RandexLength;
|
|
4
|
+
}
|
|
5
|
+
interface DomainLengthEmailOptions {
|
|
6
|
+
hightDomainLength?: RandexLength;
|
|
7
|
+
lowDomainLength?: RandexLength;
|
|
8
|
+
}
|
|
9
|
+
interface DomainEmailOptions {
|
|
10
|
+
domain?: string;
|
|
11
|
+
}
|
|
12
|
+
export type RandexEmailOptions = BasicEmailOptions & (DomainLengthEmailOptions | DomainEmailOptions);
|
|
13
|
+
export declare function randomEmail(options?: RandexEmailOptions): any;
|
|
14
|
+
export declare function randomEmail(prefixLength: RandexLength, lowDomainLength?: RandexLength, hightDomainLength?: RandexLength): any;
|
|
15
|
+
export declare function randomEmail(domain: string): any;
|
|
16
|
+
export {};
|
package/lib/custom/email.js
CHANGED
|
@@ -2,14 +2,42 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.randomEmail = void 0;
|
|
4
4
|
var basic_1 = require("../basic");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
function randomEmail(p1, p2, p3) {
|
|
8
|
+
var prefixLength = set_1.RandexSetUtil.defaultEmailPrefixLength;
|
|
9
|
+
var hightDomainLength = set_1.RandexSetUtil.defaultHightDomainEmailLength;
|
|
10
|
+
var lowDomainLength = set_1.RandexSetUtil.defaultLowDomainEmailLength;
|
|
11
|
+
var domain = "";
|
|
12
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
13
|
+
prefixLength = p1;
|
|
14
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
15
|
+
lowDomainLength = p2;
|
|
16
|
+
}
|
|
17
|
+
if (type_1.RandexTypeParser.isLength(p3)) {
|
|
18
|
+
hightDomainLength = p3;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else if (typeof p1 === "string") {
|
|
22
|
+
domain = p1;
|
|
23
|
+
}
|
|
24
|
+
else if (typeof p1 === "object") {
|
|
25
|
+
if (p1.prefixLength) {
|
|
26
|
+
prefixLength = p1.prefixLength;
|
|
27
|
+
}
|
|
28
|
+
if (p1.hightDomainLength) {
|
|
29
|
+
hightDomainLength = p1.hightDomainLength;
|
|
30
|
+
}
|
|
31
|
+
if (p1.lowDomainLength) {
|
|
32
|
+
lowDomainLength = p1.lowDomainLength;
|
|
33
|
+
}
|
|
34
|
+
if (p1.domain) {
|
|
35
|
+
domain = p1.domain;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (!domain) {
|
|
39
|
+
domain = (0, basic_1.random)([["english", "l"], lowDomainLength]) + "." + (0, basic_1.random)([["english", "l"], hightDomainLength]);
|
|
40
|
+
}
|
|
41
|
+
return (0, basic_1.random)([[["english", "l"], "number"], prefixLength]) + "@" + domain;
|
|
14
42
|
}
|
|
15
43
|
exports.randomEmail = randomEmail;
|
package/lib/custom/filename.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { RandexLength } from "../interfaces";
|
|
2
|
+
interface BasicFileNameOptions {
|
|
3
|
+
fileNameLength?: RandexLength;
|
|
4
|
+
}
|
|
5
|
+
interface ExtensionLengthFileNameOptions {
|
|
6
|
+
extensionLength?: RandexLength;
|
|
7
|
+
}
|
|
8
|
+
interface ExtensionFileNameOptions {
|
|
2
9
|
extension?: string;
|
|
3
10
|
}
|
|
4
|
-
export
|
|
11
|
+
export type RandexFileNameOptions = BasicFileNameOptions & (ExtensionFileNameOptions | ExtensionLengthFileNameOptions);
|
|
12
|
+
export declare function randomFileName(options?: RandexFileNameOptions): any;
|
|
13
|
+
export declare function randomFileName(fileNameLength: RandexLength, extensionLength?: RandexLength): any;
|
|
14
|
+
export declare function randomFileName(fileNameLength: RandexLength, extension: string): any;
|
|
15
|
+
export declare function randomFileName(extension: string): any;
|
|
16
|
+
export {};
|
package/lib/custom/filename.js
CHANGED
|
@@ -2,16 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.randomFileName = void 0;
|
|
4
4
|
var basic_1 = require("../basic");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
function randomFileName(p1, p2) {
|
|
8
|
+
var fileNameLength = set_1.RandexSetUtil.getLength(1, set_1.RandexSetUtil.defaultFileNameLength, set_1.RandexSetUtil.defaultFileNameLength);
|
|
9
|
+
var extensionLength = set_1.RandexSetUtil.defaultExtensionLength;
|
|
10
|
+
var extension = "";
|
|
11
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
12
|
+
fileNameLength = p1;
|
|
13
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
14
|
+
extensionLength = p2;
|
|
15
|
+
}
|
|
16
|
+
else if (typeof p2 === "string") {
|
|
17
|
+
extension = p2;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if (typeof p1 === "string") {
|
|
21
|
+
extension = p1;
|
|
22
|
+
}
|
|
23
|
+
else if (typeof p1 === "object") {
|
|
24
|
+
if (p1.fileNameLength) {
|
|
25
|
+
fileNameLength = p1.fileNameLength;
|
|
26
|
+
}
|
|
27
|
+
if (p1.extensionLength) {
|
|
28
|
+
extensionLength = p1.extensionLength;
|
|
29
|
+
}
|
|
30
|
+
if (p1.extension) {
|
|
31
|
+
extension = p1.extension;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!extension) {
|
|
35
|
+
extension = (0, basic_1.random)([["english", "l"], extensionLength]);
|
|
36
|
+
}
|
|
37
|
+
return ((0, basic_1.random)([["english", "number"], set_1.RandexSetUtil.fileNameExtraChars, fileNameLength]) +
|
|
8
38
|
(0, basic_1.random)(["english", "number"]) +
|
|
9
39
|
"." +
|
|
10
|
-
(extension
|
|
11
|
-
? extension
|
|
12
|
-
: (0, basic_1.random)([
|
|
13
|
-
["english", "l"],
|
|
14
|
-
[2, 5],
|
|
15
|
-
])));
|
|
40
|
+
(extension ? extension.replace(/^\./, "") : (0, basic_1.random)([["english", "l"], extensionLength])));
|
|
16
41
|
}
|
|
17
42
|
exports.randomFileName = randomFileName;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RandexAlphabet, RandexLength } from "../interfaces";
|
|
2
|
+
export interface RandexFullNameOptions {
|
|
3
|
+
alphabet?: RandexAlphabet;
|
|
4
|
+
firstLength?: RandexLength;
|
|
5
|
+
secondLength?: RandexLength;
|
|
6
|
+
}
|
|
7
|
+
export declare function randomFullName(options?: RandexFullNameOptions): any;
|
|
8
|
+
export declare function randomFullName(length: RandexLength): any;
|
|
9
|
+
export declare function randomFullName(alphabet?: RandexAlphabet): any;
|
|
10
|
+
export declare function randomFullName(alphabet: RandexAlphabet, length: RandexLength): any;
|
|
11
|
+
export declare function randomFullName(alphabet: RandexAlphabet, firstLength: RandexLength, secondLength: RandexLength): any;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randomFullName = void 0;
|
|
4
|
+
var type_1 = require("../basic/type");
|
|
5
|
+
var name_1 = require("./name");
|
|
6
|
+
function randomFullName(p1, p2, p3) {
|
|
7
|
+
var firstLength = 0;
|
|
8
|
+
var secondLength = 0;
|
|
9
|
+
var alphabet = "english";
|
|
10
|
+
if (type_1.RandexTypeParser.isLength(p1)) {
|
|
11
|
+
firstLength = secondLength = p1;
|
|
12
|
+
}
|
|
13
|
+
else if (type_1.RandexTypeParser.inAlphabet(p1)) {
|
|
14
|
+
alphabet = p1;
|
|
15
|
+
if (type_1.RandexTypeParser.isLength(p2)) {
|
|
16
|
+
firstLength = secondLength = p2;
|
|
17
|
+
}
|
|
18
|
+
if (type_1.RandexTypeParser.isLength(p3)) {
|
|
19
|
+
secondLength = p3;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else if (typeof p1 === "object") {
|
|
23
|
+
if (p1.alphabet) {
|
|
24
|
+
alphabet = p1.alphabet;
|
|
25
|
+
}
|
|
26
|
+
if (p1.firstLength) {
|
|
27
|
+
firstLength = p1.firstLength;
|
|
28
|
+
}
|
|
29
|
+
if (p1.secondLength) {
|
|
30
|
+
secondLength = p1.secondLength;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return (0, name_1.randomName)({ length: firstLength, alphabet: alphabet }) + " " + (0, name_1.randomName)({ length: secondLength, alphabet: alphabet });
|
|
34
|
+
}
|
|
35
|
+
exports.randomFullName = randomFullName;
|
package/lib/custom/index.d.ts
CHANGED
package/lib/custom/index.js
CHANGED
package/lib/custom/name.d.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { RandexAlphabet, RandexLength } from "../interfaces";
|
|
2
2
|
export interface RandexNameOptions {
|
|
3
|
-
length?: RandexLength;
|
|
4
|
-
alphabet?: RandexAlphabet;
|
|
5
|
-
}
|
|
6
|
-
export interface RandexFullNameOptions {
|
|
7
|
-
firstLength?: RandexLength;
|
|
8
|
-
secondLength?: RandexLength;
|
|
9
3
|
alphabet?: RandexAlphabet;
|
|
4
|
+
length?: RandexLength;
|
|
10
5
|
}
|
|
11
|
-
export declare function randomName(options?: RandexNameOptions):
|
|
12
|
-
export declare function
|
|
6
|
+
export declare function randomName(options?: RandexNameOptions): any;
|
|
7
|
+
export declare function randomName(length: RandexLength): any;
|
|
8
|
+
export declare function randomName(alphabet?: RandexAlphabet): any;
|
|
9
|
+
export declare function randomName(alphabet: RandexAlphabet, length: RandexLength): any;
|
package/lib/custom/name.js
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.randomName = void 0;
|
|
4
4
|
var basic_1 = require("../basic");
|
|
5
5
|
var set_1 = require("../basic/set");
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
7
|
+
function randomName(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
|
+
}
|
|
8
27
|
var currentLength = set_1.RandexSetUtil.getLength(1, length, [1, 9]);
|
|
9
28
|
return (0, basic_1.random)([alphabet, "u"], [[alphabet, "l"], currentLength]);
|
|
10
29
|
}
|
|
11
30
|
exports.randomName = randomName;
|
|
12
|
-
function randomFullName(options) {
|
|
13
|
-
var _a = options || {}, firstLength = _a.firstLength, secondLength = _a.secondLength, alphabet = _a.alphabet;
|
|
14
|
-
return randomName({ length: firstLength, alphabet: alphabet }) + " " + randomName({ length: secondLength, alphabet: alphabet });
|
|
15
|
-
}
|
|
16
|
-
exports.randomFullName = randomFullName;
|
package/lib/custom/username.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ import { RandexLength } from "../interfaces";
|
|
|
2
2
|
export interface RandexUsernameOptions {
|
|
3
3
|
length?: RandexLength;
|
|
4
4
|
}
|
|
5
|
-
export declare function randomUsername(options?: RandexUsernameOptions): string;
|
|
5
|
+
export declare function randomUsername(options?: RandexUsernameOptions | RandexLength): string;
|
package/lib/custom/username.js
CHANGED
|
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.randomUsername = void 0;
|
|
4
4
|
var basic_1 = require("../basic");
|
|
5
5
|
var set_1 = require("../basic/set");
|
|
6
|
+
var type_1 = require("../basic/type");
|
|
6
7
|
function randomUsername(options) {
|
|
7
|
-
var length = (options ||
|
|
8
|
+
var length = type_1.RandexTypeParser.isLength(options) ? options : options === null || options === void 0 ? void 0 : options.length;
|
|
8
9
|
var currentLength = set_1.RandexSetUtil.getLength(1, length, [6, 10]);
|
|
9
10
|
return (0, basic_1.random)(["english", "l"], [[["english", "l"], "number"], currentLength]);
|
|
10
11
|
}
|
package/lib/test/email.test.js
CHANGED
|
@@ -1,12 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var set_1 = require("../basic/set");
|
|
3
4
|
var email_1 = require("../custom/email");
|
|
4
5
|
var test_util_1 = require("./test-util");
|
|
6
|
+
var r = set_1.RandexSetUtil;
|
|
7
|
+
function splitEmail(email) {
|
|
8
|
+
var _a = email.split("@"), prefix = _a[0], domain = _a[1];
|
|
9
|
+
var _b = domain.split("."), lowDomain = _b[0], hightDomain = _b[1];
|
|
10
|
+
return [prefix, domain, lowDomain, hightDomain];
|
|
11
|
+
}
|
|
12
|
+
function testEmail(options) {
|
|
13
|
+
var email = options.email, _a = options.prefixLength, prefixLength = _a === void 0 ? r.defaultEmailPrefixLength : _a, _b = options.hightDomainLength, hightDomainLength = _b === void 0 ? r.defaultHightDomainEmailLength : _b, _c = options.lowDomainLength, lowDomainLength = _c === void 0 ? r.defaultLowDomainEmailLength : _c, emailDomain = options.domain;
|
|
14
|
+
var _d = splitEmail(email), prefix = _d[0], domain = _d[1], lowDomain = _d[2], hightDomain = _d[3];
|
|
15
|
+
// // last char only english
|
|
16
|
+
test_util_1.TestUtil.testInSet(prefix, [["english", "l"], "number"], prefixLength);
|
|
17
|
+
if (emailDomain) {
|
|
18
|
+
expect(emailDomain).toBe(domain);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
test_util_1.TestUtil.testInSet(lowDomain, ["english"], lowDomainLength);
|
|
22
|
+
test_util_1.TestUtil.testInSet(hightDomain, ["english"], hightDomainLength);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
5
25
|
describe("randomEmail", function () {
|
|
6
26
|
it("simple", function () {
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
}
|
|
27
|
+
test_util_1.TestUtil.loop(function () {
|
|
28
|
+
var email = (0, email_1.randomEmail)();
|
|
29
|
+
testEmail({ email: email });
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
it("options: prefixLength", function () {
|
|
33
|
+
var prefixLength = [10, 15];
|
|
34
|
+
test_util_1.TestUtil.loop(function () {
|
|
35
|
+
var email = (0, email_1.randomEmail)({ prefixLength: prefixLength });
|
|
36
|
+
testEmail({ email: email, prefixLength: prefixLength });
|
|
37
|
+
email = (0, email_1.randomEmail)(prefixLength);
|
|
38
|
+
testEmail({ email: email, prefixLength: prefixLength });
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
it("options: hightDomainLength, lowDomainLength", function () {
|
|
42
|
+
var hightDomainLength = 8;
|
|
43
|
+
var lowDomainLength = 12;
|
|
44
|
+
test_util_1.TestUtil.loop(function () {
|
|
45
|
+
var email = (0, email_1.randomEmail)({ hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength });
|
|
46
|
+
testEmail({ email: email, hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength });
|
|
47
|
+
email = (0, email_1.randomEmail)(r.defaultEmailPrefixLength, lowDomainLength, hightDomainLength);
|
|
48
|
+
testEmail({ email: email, hightDomainLength: hightDomainLength, lowDomainLength: lowDomainLength, prefixLength: r.defaultEmailPrefixLength });
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
it("options: domain", function () {
|
|
52
|
+
var domain = "delta.com";
|
|
53
|
+
test_util_1.TestUtil.loop(function () {
|
|
54
|
+
var email = (0, email_1.randomEmail)({ domain: domain });
|
|
55
|
+
testEmail({ email: email, domain: domain });
|
|
56
|
+
email = (0, email_1.randomEmail)(domain);
|
|
57
|
+
testEmail({ email: email, domain: domain });
|
|
58
|
+
});
|
|
11
59
|
});
|
|
12
60
|
});
|
|
@@ -1,12 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var set_1 = require("../basic/set");
|
|
3
4
|
var filename_1 = require("../custom/filename");
|
|
4
5
|
var test_util_1 = require("./test-util");
|
|
6
|
+
var r = set_1.RandexSetUtil;
|
|
7
|
+
function splitFileName(fullFileName) {
|
|
8
|
+
var matches = fullFileName.match(/\.[a-z]+$/);
|
|
9
|
+
var extension = (matches === null || matches === void 0 ? void 0 : matches[0]) || "";
|
|
10
|
+
var fileName = fullFileName.replace(extension, "");
|
|
11
|
+
extension = extension.replace(/^\./, "");
|
|
12
|
+
return [fileName, extension];
|
|
13
|
+
}
|
|
14
|
+
function testFileName(options) {
|
|
15
|
+
var fullFileName = options.fullFileName, _a = options.fileNameLength, fileNameLength = _a === void 0 ? r.defaultFileNameLength : _a, _b = options.extensionLength, extensionLength = _b === void 0 ? r.defaultExtensionLength : _b, extension = options.extension;
|
|
16
|
+
var _c = splitFileName(fullFileName), fileName = _c[0], fileExtension = _c[1];
|
|
17
|
+
// last char only english
|
|
18
|
+
test_util_1.TestUtil.testInSet(fileName[fileName.length - 1], ["english", "number"], 1);
|
|
19
|
+
test_util_1.TestUtil.testInSetRange(fileName, ["english", "number"], r.fileNameExtraChars, fileNameLength);
|
|
20
|
+
if (extension) {
|
|
21
|
+
expect(extension).toBe(fileExtension);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
test_util_1.TestUtil.testInSet(fileExtension, "english", extensionLength);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
5
27
|
describe("randomFileName", function () {
|
|
6
28
|
it("simple", function () {
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
}
|
|
29
|
+
test_util_1.TestUtil.loop(function () {
|
|
30
|
+
var fullFileName = (0, filename_1.randomFileName)();
|
|
31
|
+
testFileName({ fullFileName: fullFileName });
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
it("params: fileNameLength", function () {
|
|
35
|
+
var fileNameLength = [10, 15];
|
|
36
|
+
test_util_1.TestUtil.loop(function () {
|
|
37
|
+
var fullFileName = (0, filename_1.randomFileName)({ fileNameLength: fileNameLength });
|
|
38
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength });
|
|
39
|
+
fullFileName = (0, filename_1.randomFileName)(fileNameLength);
|
|
40
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength });
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
it("params: extensionLength", function () {
|
|
44
|
+
var extensionLength = [10, 15];
|
|
45
|
+
test_util_1.TestUtil.loop(function () {
|
|
46
|
+
var fullFileName = (0, filename_1.randomFileName)({ extensionLength: extensionLength });
|
|
47
|
+
testFileName({ fullFileName: fullFileName, extensionLength: extensionLength });
|
|
48
|
+
fullFileName = (0, filename_1.randomFileName)(r.defaultFileNameLength, extensionLength);
|
|
49
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: r.defaultFileNameLength, extensionLength: extensionLength });
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
it("params: extension", function () {
|
|
53
|
+
var fileNameLength = [10, 15];
|
|
54
|
+
var extension = "xml";
|
|
55
|
+
test_util_1.TestUtil.loop(function () {
|
|
56
|
+
var fullFileName = (0, filename_1.randomFileName)({ extension: extension });
|
|
57
|
+
testFileName({ fullFileName: fullFileName, extension: extension });
|
|
58
|
+
fullFileName = (0, filename_1.randomFileName)(extension);
|
|
59
|
+
testFileName({ fullFileName: fullFileName, extension: extension });
|
|
60
|
+
fullFileName = (0, filename_1.randomFileName)("." + extension);
|
|
61
|
+
testFileName({ fullFileName: fullFileName, extension: extension });
|
|
62
|
+
fullFileName = (0, filename_1.randomFileName)(fileNameLength, extension);
|
|
63
|
+
testFileName({ fullFileName: fullFileName, fileNameLength: fileNameLength, extension: extension });
|
|
64
|
+
});
|
|
11
65
|
});
|
|
12
66
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
3
|
+
var custom_1 = require("../custom");
|
|
4
4
|
var test_util_1 = require("./test-util");
|
|
5
5
|
describe("randomFullName", function () {
|
|
6
6
|
it("simple", function () {
|
|
7
|
-
|
|
8
|
-
var value = (0,
|
|
7
|
+
test_util_1.TestUtil.loop(function () {
|
|
8
|
+
var value = (0, custom_1.randomFullName)();
|
|
9
9
|
expect(test_util_1.TestUtil.isFullNameValid(value)).toBeTruthy();
|
|
10
|
-
}
|
|
10
|
+
});
|
|
11
11
|
});
|
|
12
12
|
});
|
|
@@ -9,31 +9,47 @@ describe("markdown", function () {
|
|
|
9
9
|
length: 3,
|
|
10
10
|
});
|
|
11
11
|
expect(value.length).toBe(3);
|
|
12
|
+
value = (0, basic_1.random)(["english", 3]);
|
|
13
|
+
expect(value.length).toBe(3);
|
|
14
|
+
//
|
|
12
15
|
value = (0, basic_1.random)({
|
|
13
16
|
set: ["english", "lower"],
|
|
14
17
|
length: 3,
|
|
15
18
|
});
|
|
16
19
|
expect(value.length).toBe(3);
|
|
20
|
+
value = (0, basic_1.random)([["english", "lower"], 3]);
|
|
21
|
+
expect(value.length).toBe(3);
|
|
22
|
+
//
|
|
17
23
|
value = (0, basic_1.random)({
|
|
18
24
|
set: "english",
|
|
19
25
|
length: [1, 3],
|
|
20
26
|
});
|
|
21
27
|
expect(value.length).toBeLessThanOrEqual(3);
|
|
28
|
+
value = (0, basic_1.random)(["english", [1, 3]]);
|
|
29
|
+
expect(value.length).toBeLessThanOrEqual(3);
|
|
30
|
+
//
|
|
22
31
|
value = (0, basic_1.random)({
|
|
23
32
|
set: "number",
|
|
24
33
|
length: 3,
|
|
25
34
|
});
|
|
26
35
|
expect(value.length).toBe(3);
|
|
36
|
+
value = (0, basic_1.random)(["number", 3]);
|
|
37
|
+
expect(value.length).toBe(3);
|
|
38
|
+
//
|
|
27
39
|
value = (0, basic_1.random)({
|
|
28
40
|
range: "abc123",
|
|
29
41
|
length: 3,
|
|
30
42
|
});
|
|
31
43
|
expect(value.length).toBe(3);
|
|
44
|
+
//
|
|
32
45
|
value = (0, basic_1.random)({
|
|
33
46
|
set: ["english", "number"],
|
|
34
47
|
length: 3,
|
|
35
48
|
});
|
|
36
49
|
expect(value.length).toBe(3);
|
|
50
|
+
value = (0, basic_1.random)([["english", "number"], 3]);
|
|
51
|
+
expect(value.length).toBe(3);
|
|
52
|
+
//
|
|
37
53
|
value = (0, basic_1.random)({
|
|
38
54
|
set: "english",
|
|
39
55
|
length: 2,
|
|
@@ -42,11 +58,25 @@ describe("markdown", function () {
|
|
|
42
58
|
length: 2,
|
|
43
59
|
});
|
|
44
60
|
expect(value.length).toBe(4);
|
|
61
|
+
value = (0, basic_1.random)(["english", 2], [["english", "number"], 2]);
|
|
62
|
+
expect(value.length).toBe(4);
|
|
45
63
|
});
|
|
46
64
|
it("randomFileName", function () {
|
|
47
|
-
var value = (0, custom_1.randomFileName)(
|
|
65
|
+
var value = (0, custom_1.randomFileName)();
|
|
66
|
+
value = (0, custom_1.randomFileName)({
|
|
48
67
|
extension: "txt",
|
|
49
68
|
});
|
|
69
|
+
value = (0, custom_1.randomFileName)("txt");
|
|
70
|
+
value = (0, custom_1.randomFileName)({
|
|
71
|
+
fileNameLength: [7, 10],
|
|
72
|
+
extensionLength: 5,
|
|
73
|
+
});
|
|
74
|
+
value = (0, custom_1.randomFileName)([7, 10], 5);
|
|
75
|
+
value = (0, custom_1.randomFileName)({
|
|
76
|
+
fileNameLength: 8,
|
|
77
|
+
extension: "xml",
|
|
78
|
+
});
|
|
79
|
+
value = (0, custom_1.randomFileName)(8, "xml");
|
|
50
80
|
expect(value).toBeTruthy();
|
|
51
81
|
});
|
|
52
82
|
it("randomUsername", function () {
|
|
@@ -55,6 +85,20 @@ describe("markdown", function () {
|
|
|
55
85
|
});
|
|
56
86
|
it("randomEmail", function () {
|
|
57
87
|
var value = (0, custom_1.randomEmail)();
|
|
88
|
+
value = (0, custom_1.randomEmail)({
|
|
89
|
+
prefixLength: 8,
|
|
90
|
+
});
|
|
91
|
+
value = (0, custom_1.randomEmail)(8);
|
|
92
|
+
value = (0, custom_1.randomEmail)({
|
|
93
|
+
prefixLength: 8,
|
|
94
|
+
lowDomainLength: 4,
|
|
95
|
+
hightDomainLength: 2,
|
|
96
|
+
});
|
|
97
|
+
value = (0, custom_1.randomEmail)(8, 4, 2);
|
|
98
|
+
value = (0, custom_1.randomEmail)({
|
|
99
|
+
domain: "test.com",
|
|
100
|
+
});
|
|
101
|
+
value = (0, custom_1.randomEmail)("test.com");
|
|
58
102
|
expect(value).toBeTruthy();
|
|
59
103
|
});
|
|
60
104
|
it("randomName", function () {
|
package/lib/test/name.test.js
CHANGED
|
@@ -4,17 +4,31 @@ var name_1 = require("../custom/name");
|
|
|
4
4
|
var test_util_1 = require("./test-util");
|
|
5
5
|
describe("randomName", function () {
|
|
6
6
|
it("simple", function () {
|
|
7
|
-
|
|
7
|
+
test_util_1.TestUtil.loop(function () {
|
|
8
8
|
var value = (0, name_1.randomName)();
|
|
9
9
|
expect(test_util_1.TestUtil.isNameValid(value)).toBeTruthy();
|
|
10
|
-
}
|
|
10
|
+
});
|
|
11
11
|
});
|
|
12
|
-
it("options", function () {
|
|
13
|
-
var
|
|
14
|
-
expect(
|
|
15
|
-
|
|
16
|
-
expect(
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
it("options: length", function () {
|
|
13
|
+
var value = (0, name_1.randomName)({ length: 5 });
|
|
14
|
+
expect(value.length).toBe(5);
|
|
15
|
+
value = (0, name_1.randomName)(5);
|
|
16
|
+
expect(value.length).toBe(5);
|
|
17
|
+
//
|
|
18
|
+
value = (0, name_1.randomName)({ length: [5, 5] });
|
|
19
|
+
expect(value.length).toBe(5);
|
|
20
|
+
value = (0, name_1.randomName)([5, 5]);
|
|
21
|
+
expect(value.length).toBe(5);
|
|
22
|
+
//
|
|
23
|
+
value = (0, name_1.randomName)({ length: [1, 5] });
|
|
24
|
+
expect(test_util_1.TestUtil.inNumberRange(value.length, [1, 5])).toBeTruthy();
|
|
25
|
+
value = (0, name_1.randomName)([1, 5]);
|
|
26
|
+
expect(test_util_1.TestUtil.inNumberRange(value.length, [1, 5])).toBeTruthy();
|
|
27
|
+
});
|
|
28
|
+
it("options: alphabet", function () {
|
|
29
|
+
var value = (0, name_1.randomName)({ alphabet: "russian", length: 5 });
|
|
30
|
+
expect(value.length).toBe(5);
|
|
31
|
+
value = (0, name_1.randomName)("french", 10);
|
|
32
|
+
expect(value.length).toBe(10);
|
|
19
33
|
});
|
|
20
34
|
});
|
package/lib/test/random.test.js
CHANGED
|
@@ -32,8 +32,14 @@ describe("random", function () {
|
|
|
32
32
|
inSet("english", [1, 3]);
|
|
33
33
|
inSet("english", [0, 1]);
|
|
34
34
|
});
|
|
35
|
+
it("length: alphabet", function () {
|
|
36
|
+
var value = (0, basic_1.random)("english");
|
|
37
|
+
expect(value.length).toBe(1);
|
|
38
|
+
value = (0, basic_1.random)(["english", "l"]);
|
|
39
|
+
expect(value.length).toBe(1);
|
|
40
|
+
});
|
|
35
41
|
it("alphabet: upper", function () {
|
|
36
|
-
|
|
42
|
+
test_util_1.TestUtil.loop(function () {
|
|
37
43
|
var value = (0, basic_1.random)(["english", "u"]);
|
|
38
44
|
expect(test_util_1.TestUtil.isUpperCharValid(value, 1)).toBeTruthy();
|
|
39
45
|
value = (0, basic_1.random)([
|
|
@@ -41,10 +47,10 @@ describe("random", function () {
|
|
|
41
47
|
[1, 3],
|
|
42
48
|
]);
|
|
43
49
|
expect(test_util_1.TestUtil.isUpperCharValid(value, [1, 3])).toBeTruthy();
|
|
44
|
-
}
|
|
50
|
+
});
|
|
45
51
|
});
|
|
46
52
|
it("alphabet: lower", function () {
|
|
47
|
-
|
|
53
|
+
test_util_1.TestUtil.loop(function () {
|
|
48
54
|
var value = (0, basic_1.random)(["english", "l"]);
|
|
49
55
|
expect(test_util_1.TestUtil.isLowerCharValid(value, 1)).toBeTruthy();
|
|
50
56
|
value = (0, basic_1.random)([
|
|
@@ -52,6 +58,6 @@ describe("random", function () {
|
|
|
52
58
|
[1, 3],
|
|
53
59
|
]);
|
|
54
60
|
expect(test_util_1.TestUtil.isLowerCharValid(value, [1, 3])).toBeTruthy();
|
|
55
|
-
}
|
|
61
|
+
});
|
|
56
62
|
});
|
|
57
63
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var set_1 = require("../basic/set");
|
|
4
|
+
var defaultLength = [1, 10];
|
|
5
|
+
function getLength(reservedChars, length, resultLength) {
|
|
6
|
+
var result = set_1.RandexSetUtil.getLength(reservedChars, length, defaultLength);
|
|
7
|
+
if (typeof resultLength === "number") {
|
|
8
|
+
expect(result).toBe(resultLength);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
expect(result).toMatchObject(resultLength);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
describe("RandexSetUtil", function () {
|
|
15
|
+
describe("getLength", function () {
|
|
16
|
+
it("single", function () {
|
|
17
|
+
getLength(0, 2, 2);
|
|
18
|
+
getLength(1, 3, 2);
|
|
19
|
+
getLength(0, undefined, defaultLength);
|
|
20
|
+
getLength(5, 3, defaultLength);
|
|
21
|
+
});
|
|
22
|
+
it("array", function () {
|
|
23
|
+
getLength(0, [1, 2], [1, 2]);
|
|
24
|
+
getLength(1, [2, 3], [1, 2]);
|
|
25
|
+
getLength(3, [1, 5], defaultLength);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
});
|
package/lib/test/test-util.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { RandexLength, RandexSet } from "../interfaces";
|
|
2
2
|
export declare class TestUtil {
|
|
3
3
|
static testIn(value: string, length: RandexLength | undefined, action: () => void): void;
|
|
4
|
+
static loop(action: (index: number) => void): void;
|
|
4
5
|
static testInSet(value: string, set: RandexSet, length?: RandexLength): void;
|
|
6
|
+
static testInSetRange(value: string, set: RandexSet, range: string, length?: RandexLength): void;
|
|
5
7
|
static testInRange(value: string, range: string, length?: RandexLength): void;
|
|
6
8
|
static testInBoth(value: string, set: RandexSet, range: string, length?: RandexLength): void;
|
|
7
9
|
static inRange(value: string, range: string): boolean;
|
|
8
|
-
static inSet(value: string, set: RandexSet): boolean;
|
|
10
|
+
static inSet(value: string, set: RandexSet, range?: string): boolean;
|
|
9
11
|
static inBoth(value: string, set: RandexSet, range: string): boolean;
|
|
10
12
|
static isEmailValid(email: string): RegExpMatchArray | null;
|
|
11
13
|
static isUsernameValid(email: string): RegExpMatchArray | null;
|
package/lib/test/test-util.js
CHANGED
|
@@ -19,12 +19,23 @@ var TestUtil = /** @class */ (function () {
|
|
|
19
19
|
action();
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
+
TestUtil.loop = function (action) {
|
|
23
|
+
for (var i = 0; i < 100; i++) {
|
|
24
|
+
action(i);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
22
27
|
TestUtil.testInSet = function (value, set, length) {
|
|
23
28
|
if (length === void 0) { length = 1; }
|
|
24
29
|
TestUtil.testIn(value, length, function () {
|
|
25
30
|
expect(TestUtil.inSet(value, set)).toBeTruthy();
|
|
26
31
|
});
|
|
27
32
|
};
|
|
33
|
+
TestUtil.testInSetRange = function (value, set, range, length) {
|
|
34
|
+
if (length === void 0) { length = 1; }
|
|
35
|
+
TestUtil.testIn(value, length, function () {
|
|
36
|
+
expect(TestUtil.inSet(value, set, range)).toBeTruthy();
|
|
37
|
+
});
|
|
38
|
+
};
|
|
28
39
|
TestUtil.testInRange = function (value, range, length) {
|
|
29
40
|
if (length === void 0) { length = 1; }
|
|
30
41
|
TestUtil.testIn(value, length, function () {
|
|
@@ -45,9 +56,9 @@ var TestUtil = /** @class */ (function () {
|
|
|
45
56
|
}
|
|
46
57
|
return value.length > 0;
|
|
47
58
|
};
|
|
48
|
-
TestUtil.inSet = function (value, set) {
|
|
49
|
-
var
|
|
50
|
-
return TestUtil.inRange(value,
|
|
59
|
+
TestUtil.inSet = function (value, set, range) {
|
|
60
|
+
var fullRange = set_1.RandexSetUtil.toRange(set) + (range ? range : "");
|
|
61
|
+
return TestUtil.inRange(value, fullRange);
|
|
51
62
|
};
|
|
52
63
|
TestUtil.inBoth = function (value, set, range) {
|
|
53
64
|
var fullRange = set_1.RandexSetUtil.toRange(set) + range;
|
|
@@ -4,17 +4,25 @@ var username_1 = require("../custom/username");
|
|
|
4
4
|
var test_util_1 = require("./test-util");
|
|
5
5
|
describe("randomEmail", function () {
|
|
6
6
|
it("simple", function () {
|
|
7
|
-
|
|
7
|
+
test_util_1.TestUtil.loop(function () {
|
|
8
8
|
var value = (0, username_1.randomUsername)();
|
|
9
9
|
expect(test_util_1.TestUtil.isUsernameValid(value)).toBeTruthy();
|
|
10
|
-
}
|
|
10
|
+
});
|
|
11
11
|
});
|
|
12
12
|
it("options", function () {
|
|
13
|
-
var
|
|
14
|
-
expect(
|
|
15
|
-
|
|
16
|
-
expect(
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
var value = (0, username_1.randomUsername)({ length: 5 });
|
|
14
|
+
expect(value.length).toBe(5);
|
|
15
|
+
value = (0, username_1.randomUsername)(5);
|
|
16
|
+
expect(value.length).toBe(5);
|
|
17
|
+
//
|
|
18
|
+
value = (0, username_1.randomUsername)({ length: [5, 5] });
|
|
19
|
+
expect(value.length).toBe(5);
|
|
20
|
+
value = (0, username_1.randomUsername)([5, 5]);
|
|
21
|
+
expect(value.length).toBe(5);
|
|
22
|
+
//
|
|
23
|
+
value = (0, username_1.randomUsername)({ length: [1, 5] });
|
|
24
|
+
expect(test_util_1.TestUtil.inNumberRange(value.length, [1, 5])).toBeTruthy();
|
|
25
|
+
value = (0, username_1.randomUsername)([1, 5]);
|
|
26
|
+
expect(test_util_1.TestUtil.inNumberRange(value.length, [1, 5])).toBeTruthy();
|
|
19
27
|
});
|
|
20
28
|
});
|