randex 0.28.0 → 0.32.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 +40 -34
- package/lib/custom/index.d.ts +4 -1
- package/lib/custom/index.js +1 -26
- package/lib/custom/number.d.ts +4 -0
- package/lib/custom/number.js +8 -1
- package/lib/custom/random.js +3 -3
- package/lib/interfaces/base.d.ts +3 -3
- package/lib/test/markdown.test.js +1 -1
- package/lib/test/{number-array.test.js → number.many.test.js} +10 -14
- package/lib/test/params.test.js +2 -2
- package/lib/test/random.test.js +1 -1
- package/package.json +1 -1
- /package/lib/test/{number-array.test.d.ts → number.many.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -27,7 +27,10 @@ Strings:
|
|
|
27
27
|
|
|
28
28
|
Numbers:
|
|
29
29
|
- [number](#number)
|
|
30
|
-
|
|
30
|
+
|
|
31
|
+
Many
|
|
32
|
+
- [many](#many)
|
|
33
|
+
|
|
31
34
|
|
|
32
35
|
Generic Type:
|
|
33
36
|
- [array](#array)
|
|
@@ -80,9 +83,9 @@ Randex.random({
|
|
|
80
83
|
Randex.random(["number", 3]);
|
|
81
84
|
// 643
|
|
82
85
|
|
|
83
|
-
// 3 chars from custom range
|
|
86
|
+
// 3 chars from custom char range
|
|
84
87
|
Randex.random({
|
|
85
|
-
|
|
88
|
+
charRange: "abc123",
|
|
86
89
|
length: 3,
|
|
87
90
|
});
|
|
88
91
|
// a21
|
|
@@ -116,8 +119,8 @@ Options:
|
|
|
116
119
|
| Name | Type| Description|
|
|
117
120
|
| ------------------------ | ---- |------------ |
|
|
118
121
|
|set|[RandexSet](#randexset) | Defined chars|
|
|
119
|
-
|
|
|
120
|
-
|length|[
|
|
122
|
+
|charRange|`string`| Range or custom chars |
|
|
123
|
+
|length|[RandexRange](#randexrange) | Length of chars |
|
|
121
124
|
|
|
122
125
|
## word
|
|
123
126
|
|
|
@@ -158,7 +161,7 @@ Randex.word("french", 10);
|
|
|
158
161
|
Options:
|
|
159
162
|
| Name | Type| Description|
|
|
160
163
|
| ------------------------ | ---- |------------ |
|
|
161
|
-
|length|[
|
|
164
|
+
|length|[RandexRange](#randexrange) | Length of chars. Default: [2,10] |
|
|
162
165
|
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
163
166
|
|
|
164
167
|
## sentence
|
|
@@ -172,19 +175,19 @@ import Randex from "randex";
|
|
|
172
175
|
Randex.sentence();
|
|
173
176
|
// Gpgowb te vdancy poluwsd sswl aqxq.
|
|
174
177
|
|
|
175
|
-
// with
|
|
178
|
+
// with 5 words
|
|
176
179
|
Randex.sentence({ wordRange: 5 });
|
|
177
180
|
// or:
|
|
178
181
|
Randex.sentence(5);
|
|
179
182
|
// Xja wyfbhnhtl ptn shemiukme poyyjtr.
|
|
180
183
|
|
|
181
|
-
// with
|
|
184
|
+
// with words range
|
|
182
185
|
Randex.sentence({ wordRange: [3, 6] });
|
|
183
186
|
// or:
|
|
184
187
|
Randex.sentence([3, 6]);
|
|
185
188
|
// Vg nfobxcwg tmhfu hiqonw.
|
|
186
189
|
|
|
187
|
-
//
|
|
190
|
+
// with french alphabet
|
|
188
191
|
Randex.sentence({ alphabet: "french" });
|
|
189
192
|
// or:
|
|
190
193
|
Randex.sentence("french");
|
|
@@ -194,7 +197,7 @@ Randex.sentence("french");
|
|
|
194
197
|
Options:
|
|
195
198
|
| Name | Type| Description|
|
|
196
199
|
| ------------------------ | ---- |------------ |
|
|
197
|
-
|
|
|
200
|
+
|wordRange|[RandexRange](#randexrange) | Range of words. Default: [3,15] |
|
|
198
201
|
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
199
202
|
|
|
200
203
|
## fileName
|
|
@@ -240,8 +243,8 @@ Randex.fileName(8, "xml");
|
|
|
240
243
|
Options:
|
|
241
244
|
| Name | Type| Description|
|
|
242
245
|
| ------------------------ | ---- |------------ |
|
|
243
|
-
|fileNameLength|[
|
|
244
|
-
|extensionLength|[
|
|
246
|
+
|fileNameLength|[RandexRange](#randexrange) | Length of file name (not including extension). Default: [3,10] |
|
|
247
|
+
|extensionLength|[RandexRange](#randexrange) | Length of extension (not including file name) chars. Default: [2,5] |
|
|
245
248
|
|extension| `string`| File extension. |
|
|
246
249
|
|
|
247
250
|
## username
|
|
@@ -271,9 +274,9 @@ Randex.username([2, 5]);
|
|
|
271
274
|
Options:
|
|
272
275
|
| Name | Type| Description|
|
|
273
276
|
| ------------------------ | ---- |------------ |
|
|
274
|
-
|length|[
|
|
277
|
+
|length|[RandexRange](#randexrange) | Length of chars. Default: [6,10] |
|
|
275
278
|
|
|
276
|
-
##
|
|
279
|
+
## email
|
|
277
280
|
|
|
278
281
|
Randoms an email.
|
|
279
282
|
|
|
@@ -314,9 +317,9 @@ randomEmail("test.com");
|
|
|
314
317
|
Options:
|
|
315
318
|
| Name | Type| Description|
|
|
316
319
|
| ------------------------ | ---- |------------ |
|
|
317
|
-
|prefixLength|[
|
|
318
|
-
|hightDomainLength|[
|
|
319
|
-
|lowDomainLength|[
|
|
320
|
+
|prefixLength|[RandexRange](#randexrange) | Length of email prefix (chars before `@`). Default: [6, 10] |
|
|
321
|
+
|hightDomainLength|[RandexRange](#randexrange) | Length of hight domain part (example: test.<b>com</b>). Default: [1,6] |
|
|
322
|
+
|lowDomainLength|[RandexRange](#randexrange) | Length of low domain part (example: <b>test</b>.com). Default: [4,2] |
|
|
320
323
|
|domain| `string`| Defined domain. |
|
|
321
324
|
|
|
322
325
|
## singleName
|
|
@@ -358,10 +361,10 @@ Randex.singleName("french", 10);
|
|
|
358
361
|
Options:
|
|
359
362
|
| Name | Type| Description|
|
|
360
363
|
| ------------------------ | ---- |------------ |
|
|
361
|
-
|length|[
|
|
364
|
+
|length|[RandexRange](#randexrange) | Length of chars. Default: [2,10] |
|
|
362
365
|
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
363
366
|
|
|
364
|
-
##
|
|
367
|
+
## fullName
|
|
365
368
|
|
|
366
369
|
Randoms a full name of the person.
|
|
367
370
|
|
|
@@ -376,8 +379,8 @@ Randex.fullName();
|
|
|
376
379
|
Options:
|
|
377
380
|
| Name | Type| Description|
|
|
378
381
|
| ------------------------ | ---- |------------ |
|
|
379
|
-
|firstLength|[
|
|
380
|
-
|secondLength|[
|
|
382
|
+
|firstLength|[RandexRange](#randexrange) | First name length of chars. Default: [2, 10] |
|
|
383
|
+
|secondLength|[RandexRange](#randexrange) | Second name length of chars. Default: [2,10] |
|
|
381
384
|
|alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
|
|
382
385
|
|
|
383
386
|
|
|
@@ -400,18 +403,21 @@ Options:
|
|
|
400
403
|
| ------------------------ | ---- |------------ |
|
|
401
404
|
|decimals| `number` | Number of decimal digits |
|
|
402
405
|
|
|
403
|
-
##
|
|
406
|
+
## many
|
|
404
407
|
|
|
405
|
-
Generates
|
|
408
|
+
Generates many defined random methods.
|
|
406
409
|
|
|
407
410
|
```ts
|
|
408
411
|
import Randex from "randex";
|
|
409
412
|
|
|
410
|
-
// Generates
|
|
411
|
-
Randex.
|
|
413
|
+
// Generates three words with english alphabet.
|
|
414
|
+
Randex.many(3).word("english");
|
|
415
|
+
|
|
416
|
+
// Generates five sentences with french alphabet.
|
|
417
|
+
Randex.many(5).sentence("french");
|
|
412
418
|
|
|
413
|
-
// Generates an array
|
|
414
|
-
Randex.
|
|
419
|
+
// Generates an array with length from 2 to 4 of random numbers from 3 to 7.
|
|
420
|
+
Randex.many([2, 4]).number([3, 7]);
|
|
415
421
|
```
|
|
416
422
|
|
|
417
423
|
## array
|
|
@@ -514,13 +520,13 @@ Randex.random(
|
|
|
514
520
|
|
|
515
521
|
## Types
|
|
516
522
|
|
|
517
|
-
|
|
523
|
+
### RandexRange
|
|
518
524
|
|
|
519
525
|
Possible types:
|
|
520
526
|
|
|
521
|
-
`number`: strict
|
|
527
|
+
`number`: strict number
|
|
522
528
|
|
|
523
|
-
`[number, number]`: an array of min and max
|
|
529
|
+
`[number, number]`: an array of min and max numbers.
|
|
524
530
|
|
|
525
531
|
Example:
|
|
526
532
|
|
|
@@ -532,7 +538,7 @@ Randex.random(["bit", 5]);
|
|
|
532
538
|
Randex.random(["bit", [5, 10]]);
|
|
533
539
|
```
|
|
534
540
|
|
|
535
|
-
|
|
541
|
+
### RandexSet
|
|
536
542
|
|
|
537
543
|
Possible types:
|
|
538
544
|
|
|
@@ -552,7 +558,7 @@ Randex.random("spanish");
|
|
|
552
558
|
Randex.random(["spanish", "l"]);
|
|
553
559
|
```
|
|
554
560
|
|
|
555
|
-
|
|
561
|
+
### RandexAlphabet
|
|
556
562
|
|
|
557
563
|
An alphabet of chars
|
|
558
564
|
|
|
@@ -566,7 +572,7 @@ Randex.random({ set: "spanish" });
|
|
|
566
572
|
Randex.random("spanish");
|
|
567
573
|
```
|
|
568
574
|
|
|
569
|
-
|
|
575
|
+
### RandexKit
|
|
570
576
|
|
|
571
577
|
A kit of chars
|
|
572
578
|
|
|
@@ -580,7 +586,7 @@ Randex.random({ set: "hex" });
|
|
|
580
586
|
Randex.random("hex");
|
|
581
587
|
```
|
|
582
588
|
|
|
583
|
-
|
|
589
|
+
### RandexCase
|
|
584
590
|
|
|
585
591
|
A case of alphabet
|
|
586
592
|
|
package/lib/custom/index.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export declare class Randex {
|
|
|
19
19
|
static fileName: typeof randexFileName;
|
|
20
20
|
static fullName: typeof randexFullName;
|
|
21
21
|
static singleName: typeof randexSingleName;
|
|
22
|
-
static numberArray(length: RandexRange, count: number): number[];
|
|
23
22
|
static number: typeof randexNumber;
|
|
24
23
|
static username: typeof randexUsername;
|
|
25
24
|
static word: typeof randexWord;
|
|
@@ -37,5 +36,9 @@ export declare class Randex {
|
|
|
37
36
|
(alphabet?: import("../interfaces").RandexAlphabet | undefined): string[];
|
|
38
37
|
(alphabet: import("../interfaces").RandexAlphabet, length: RandexRange): string[];
|
|
39
38
|
};
|
|
39
|
+
number: {
|
|
40
|
+
(length: RandexRange, options?: import("../interfaces").RandomNumberOptions | undefined): number[];
|
|
41
|
+
(from: number, to: number, options?: import("../interfaces").RandomNumberOptions | undefined): number[];
|
|
42
|
+
};
|
|
40
43
|
};
|
|
41
44
|
}
|
package/lib/custom/index.js
CHANGED
|
@@ -43,33 +43,8 @@ var Randex = /** @class */ (function () {
|
|
|
43
43
|
}
|
|
44
44
|
return result;
|
|
45
45
|
};
|
|
46
|
-
Randex.numberArray = function (length, count) {
|
|
47
|
-
var min = 0;
|
|
48
|
-
var max = 0;
|
|
49
|
-
var result = [];
|
|
50
|
-
if (typeof length === "number") {
|
|
51
|
-
max = length;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
min = length[0];
|
|
55
|
-
max = length[1];
|
|
56
|
-
}
|
|
57
|
-
var maxCount = max - min + 1;
|
|
58
|
-
var numberArray = [];
|
|
59
|
-
for (var i = min; i <= max; i++) {
|
|
60
|
-
numberArray.push(i);
|
|
61
|
-
}
|
|
62
|
-
for (var i = 0; i < count && i < maxCount; i++) {
|
|
63
|
-
var arrayCount = numberArray.length - 1;
|
|
64
|
-
var index = Randex.number(arrayCount);
|
|
65
|
-
var value = numberArray[index];
|
|
66
|
-
result.push(value);
|
|
67
|
-
numberArray.splice(index, 1);
|
|
68
|
-
}
|
|
69
|
-
return result;
|
|
70
|
-
};
|
|
71
46
|
Randex.many = function (count) {
|
|
72
|
-
return { word: (0, word_1.randexManyWord)(count), sentence: (0, sentence_1.randexManySentence)(count) };
|
|
47
|
+
return { word: (0, word_1.randexManyWord)(count), sentence: (0, sentence_1.randexManySentence)(count), number: (0, number_1.randexManyNumber)(count) };
|
|
73
48
|
};
|
|
74
49
|
Randex.random = random_1.randexRandom;
|
|
75
50
|
Randex.bool = bool_1.randexBool;
|
package/lib/custom/number.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { RandexRange, RandomNumberOptions } from "../interfaces";
|
|
2
2
|
export declare function randexNumber(length: RandexRange, options?: RandomNumberOptions): number;
|
|
3
3
|
export declare function randexNumber(from: number, to: number, options?: RandomNumberOptions): number;
|
|
4
|
+
export declare function randexManyNumber(count: RandexRange): {
|
|
5
|
+
(length: RandexRange, options?: RandomNumberOptions): number[];
|
|
6
|
+
(from: number, to: number, options?: RandomNumberOptions): number[];
|
|
7
|
+
};
|
package/lib/custom/number.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.randexNumber = void 0;
|
|
3
|
+
exports.randexManyNumber = exports.randexNumber = void 0;
|
|
4
4
|
var set_1 = require("../basic/set");
|
|
5
5
|
function getNumberBase(decimals) {
|
|
6
6
|
return decimals === 1 ? 10 : Math.pow(10, decimals);
|
|
@@ -37,3 +37,10 @@ function randexNumber(p1, p2, p3) {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
exports.randexNumber = randexNumber;
|
|
40
|
+
function randexManyNumber(count) {
|
|
41
|
+
function many(p1, p2, p3) {
|
|
42
|
+
return set_1.RandexSetUtil.many(count, function () { return randexNumber(p1, p2, p3); });
|
|
43
|
+
}
|
|
44
|
+
return many;
|
|
45
|
+
}
|
|
46
|
+
exports.randexManyNumber = randexManyNumber;
|
package/lib/custom/random.js
CHANGED
|
@@ -38,14 +38,14 @@ function toContent(options) {
|
|
|
38
38
|
}
|
|
39
39
|
: {
|
|
40
40
|
set: set,
|
|
41
|
-
|
|
41
|
+
charRange: rangeOrLength,
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
44
|
else if (options.length === 3) {
|
|
45
45
|
var set = options[0], range = options[1], length_1 = options[2];
|
|
46
46
|
return {
|
|
47
47
|
set: set,
|
|
48
|
-
|
|
48
|
+
charRange: range,
|
|
49
49
|
length: length_1,
|
|
50
50
|
};
|
|
51
51
|
}
|
|
@@ -54,7 +54,7 @@ function toContent(options) {
|
|
|
54
54
|
}
|
|
55
55
|
function toRangeOptions(options) {
|
|
56
56
|
var fullRange = "";
|
|
57
|
-
var set = options.set, range = options.
|
|
57
|
+
var set = options.set, range = options.charRange, _a = options.length, length = _a === void 0 ? 1 : _a;
|
|
58
58
|
if (range) {
|
|
59
59
|
fullRange += range;
|
|
60
60
|
}
|
package/lib/interfaces/base.d.ts
CHANGED
|
@@ -7,14 +7,14 @@ export type RandexSet = RandexItemSet | RandexItemSet[];
|
|
|
7
7
|
export type RandexRange = number | [number, number];
|
|
8
8
|
interface RandexItemBasicOptions {
|
|
9
9
|
set?: RandexSet;
|
|
10
|
-
|
|
10
|
+
charRange?: string;
|
|
11
11
|
length?: RandexRange;
|
|
12
12
|
}
|
|
13
13
|
export interface RandexContentSetOptions extends Omit<RandexItemBasicOptions, "set"> {
|
|
14
14
|
set: RandexSet;
|
|
15
15
|
}
|
|
16
|
-
export interface RandexContentRangeOptions extends Omit<RandexItemBasicOptions, "
|
|
17
|
-
|
|
16
|
+
export interface RandexContentRangeOptions extends Omit<RandexItemBasicOptions, "charRange"> {
|
|
17
|
+
charRange: string;
|
|
18
18
|
}
|
|
19
19
|
export type RandexContentArrayOptions = [RandexSet, string | RandexRange] | [RandexSet, string, RandexRange];
|
|
20
20
|
export type RandexContentOptions = RandexContentSetOptions | RandexContentRangeOptions | RandexContentArrayOptions | RandexSet;
|
|
@@ -2,20 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var custom_1 = require("../custom");
|
|
4
4
|
function testNumber(min, max, count) {
|
|
5
|
-
var value = custom_1.Randex.
|
|
5
|
+
var value = custom_1.Randex.many(count).number([min, max]);
|
|
6
6
|
var uniqueResult = [];
|
|
7
|
-
var
|
|
7
|
+
for (var i = 0; i < count; i++) {
|
|
8
8
|
var uniqueValue = value[i];
|
|
9
|
-
expect(uniqueResult.find(function (x) { return x === uniqueValue; })).toBeFalsy();
|
|
10
9
|
expect(value[i]).toBeGreaterThanOrEqual(min);
|
|
11
10
|
expect(value[i]).toBeLessThanOrEqual(max);
|
|
12
11
|
uniqueResult.push(uniqueValue);
|
|
13
|
-
};
|
|
14
|
-
for (var i = 0; i < count; i++) {
|
|
15
|
-
_loop_1(i);
|
|
16
12
|
}
|
|
17
13
|
}
|
|
18
|
-
describe("
|
|
14
|
+
describe("random many number", function () {
|
|
19
15
|
it("param: number", function () {
|
|
20
16
|
testNumber(0, 2, 0);
|
|
21
17
|
testNumber(1, 5, 1);
|
|
@@ -31,23 +27,23 @@ describe("randomNumberArray", function () {
|
|
|
31
27
|
var min = 5;
|
|
32
28
|
var max = 10;
|
|
33
29
|
var count = max - min + 1;
|
|
34
|
-
var value = custom_1.Randex.
|
|
30
|
+
var value = custom_1.Randex.many(count).number([min, max]);
|
|
35
31
|
expect(value.length).toBe(count);
|
|
36
32
|
// max length limit
|
|
37
|
-
value = custom_1.Randex.
|
|
38
|
-
expect(value.length).toBe(count);
|
|
33
|
+
value = custom_1.Randex.many(count + 10).number([min, max]);
|
|
34
|
+
expect(value.length).toBe(count + 10);
|
|
39
35
|
});
|
|
40
36
|
it("range: fill all possible values", function () {
|
|
41
37
|
var min = 5;
|
|
42
38
|
var max = 10;
|
|
43
39
|
var count = max - min + 1;
|
|
44
|
-
var value = custom_1.Randex.
|
|
45
|
-
expect(value.length).toBe(count);
|
|
46
|
-
var
|
|
40
|
+
var value = custom_1.Randex.many(count + 10).number([min, max]);
|
|
41
|
+
expect(value.length).toBe(count + 10);
|
|
42
|
+
var _loop_1 = function (i) {
|
|
47
43
|
expect(value.find(function (x) { return x === i; })).toBeTruthy();
|
|
48
44
|
};
|
|
49
45
|
for (var i = min; i <= max; i++) {
|
|
50
|
-
|
|
46
|
+
_loop_1(i);
|
|
51
47
|
}
|
|
52
48
|
});
|
|
53
49
|
});
|
package/lib/test/params.test.js
CHANGED
|
@@ -36,7 +36,7 @@ describe("random params", function () {
|
|
|
36
36
|
it("array 2 (range)", function () {
|
|
37
37
|
var set = "number";
|
|
38
38
|
var range = "abcdefghijklmnopqrstuvwxyz";
|
|
39
|
-
var result1 = custom_1.Randex.random({ set: set,
|
|
39
|
+
var result1 = custom_1.Randex.random({ set: set, charRange: range });
|
|
40
40
|
var result2 = custom_1.Randex.random([set, range]);
|
|
41
41
|
test_util_1.TestUtil.testInBoth(result1, set, range);
|
|
42
42
|
test_util_1.TestUtil.testInBoth(result2, set, range);
|
|
@@ -53,7 +53,7 @@ describe("random params", function () {
|
|
|
53
53
|
var set = "number";
|
|
54
54
|
var range = "abcdefghijklmnopqrstuvwxyz";
|
|
55
55
|
var length = 3;
|
|
56
|
-
var result1 = custom_1.Randex.random({ set: set,
|
|
56
|
+
var result1 = custom_1.Randex.random({ set: set, charRange: range, length: length });
|
|
57
57
|
var result2 = custom_1.Randex.random([set, range, length]);
|
|
58
58
|
test_util_1.TestUtil.testInBoth(result1, set, range, length);
|
|
59
59
|
test_util_1.TestUtil.testInBoth(result2, set, range, length);
|
package/lib/test/random.test.js
CHANGED
|
@@ -9,7 +9,7 @@ function inSet(set, length) {
|
|
|
9
9
|
}
|
|
10
10
|
function inRange(range, length) {
|
|
11
11
|
if (length === void 0) { length = 1; }
|
|
12
|
-
var result = custom_1.Randex.random({
|
|
12
|
+
var result = custom_1.Randex.random({ charRange: range, length: length });
|
|
13
13
|
test_util_1.TestUtil.testInRange(result, range, length);
|
|
14
14
|
}
|
|
15
15
|
describe("random", function () {
|
package/package.json
CHANGED
|
File without changes
|