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 CHANGED
@@ -27,7 +27,10 @@ Strings:
27
27
 
28
28
  Numbers:
29
29
  - [number](#number)
30
- - [numberArray](#numberarray)
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
- range: "abc123",
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
- |range|`string`| Range or custom chars |
120
- |length|[RandexLength](#randexlength) | Length of chars |
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|[RandexLength](#randexlength) | Length of chars. Default: [2,10] |
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 length 5 chars
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 word range
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
- // name from french alphabet
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
- |length|[RandexLength](#randexlength) | Length of chars. Default: [2,10] |
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|[RandexLength](#randexlength) | Length of file name (not including extension). Default: [3,10] |
244
- |extensionLength|[RandexLength](#randexlength) | Length of extension (not including file name) chars. Default: [2,5] |
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|[RandexLength](#randexlength) | Length of chars. Default: [6,10] |
277
+ |length|[RandexRange](#randexrange) | Length of chars. Default: [6,10] |
275
278
 
276
- ## randomEmail
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|[RandexLength](#randexlength) | Length of email prefix (chars before `@`). Default: [6, 10] |
318
- |hightDomainLength|[RandexLength](#randexlength) | Length of hight domain part (example: test.<b>com</b>). Default: [1,6] |
319
- |lowDomainLength|[RandexLength](#randexlength) | Length of low domain part (example: <b>test</b>.com). Default: [4,2] |
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|[RandexLength](#randexlength) | Length of chars. Default: [2,10] |
364
+ |length|[RandexRange](#randexrange) | Length of chars. Default: [2,10] |
362
365
  |alphabet|[RandexAlphabet](#randexalphabet) | Defined alphabet. Default: `english` |
363
366
 
364
- ## randomFullName
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|[RandexLength](#randexlength) | First name length of chars. Default: [2, 10] |
380
- |secondLength|[RandexLength](#randexlength) | Second name length of chars. Default: [2,10] |
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
- ## numberArray
406
+ ## many
404
407
 
405
- Generates random array with values from a range.
408
+ Generates many defined random methods.
406
409
 
407
410
  ```ts
408
411
  import Randex from "randex";
409
412
 
410
- // Generates an array (with length equals 2) with unique numbers from a range: [0, 3].
411
- Randex.numberArray(3, 2);
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 (with length equals 3) with unique numbers from a range: [3, 7].
414
- Randex.numberArray([3, 7], 3);
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
- ## RandexLength
523
+ ### RandexRange
518
524
 
519
525
  Possible types:
520
526
 
521
- `number`: strict length
527
+ `number`: strict number
522
528
 
523
- `[number, number]`: an array of min and max length.
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
- ## RandexSet
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
- ## RandexAlphabet
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
- ## RandexKit
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
- ## RandexCase
589
+ ### RandexCase
584
590
 
585
591
  A case of alphabet
586
592
 
@@ -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
  }
@@ -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;
@@ -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
+ };
@@ -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;
@@ -38,14 +38,14 @@ function toContent(options) {
38
38
  }
39
39
  : {
40
40
  set: set,
41
- range: rangeOrLength,
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
- range: range,
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.range, _a = options.length, length = _a === void 0 ? 1 : _a;
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
  }
@@ -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
- range?: string;
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, "range"> {
17
- range: string;
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;
@@ -36,7 +36,7 @@ describe("markdown", function () {
36
36
  expect(value.length).toBe(3);
37
37
  //
38
38
  value = custom_1.Randex.random({
39
- range: "abc123",
39
+ charRange: "abc123",
40
40
  length: 3,
41
41
  });
42
42
  expect(value.length).toBe(3);
@@ -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.numberArray([min, max], count);
5
+ var value = custom_1.Randex.many(count).number([min, max]);
6
6
  var uniqueResult = [];
7
- var _loop_1 = function (i) {
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("randomNumberArray", function () {
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.numberArray([min, max], count);
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.numberArray([min, max], count + 10);
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.numberArray([min, max], count);
45
- expect(value.length).toBe(count);
46
- var _loop_2 = function (i) {
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
- _loop_2(i);
46
+ _loop_1(i);
51
47
  }
52
48
  });
53
49
  });
@@ -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, range: range });
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, range: range, length: length });
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);
@@ -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({ range: range, length: length });
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "randex",
3
- "version": "0.28.0",
3
+ "version": "0.32.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",