extra-rand 0.3.2 → 0.3.3

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.
@@ -1,6 +1,5 @@
1
+ import { remap } from 'extra-utils';
1
2
  export function mapToRange(value, oldMin, oldMax, newMin, newMax) {
2
- return (value - oldMin) / (oldMax - oldMin)
3
- * (newMax - newMin)
4
- + newMin;
3
+ return remap(value, [oldMin, oldMax], [newMin, newMax]);
5
4
  }
6
5
  //# sourceMappingURL=map-to-range.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-to-range.js","sourceRoot":"","sources":["../src/map-to-range.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,MAAc,EAAE,MAAc,EAC9B,MAAc,EAAE,MAAc;IAE9B,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;UACpC,CAAC,MAAM,GAAG,MAAM,CAAC;UACjB,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"map-to-range.js","sourceRoot":"","sources":["../src/map-to-range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKnC,MAAM,UAAU,UAAU,CACxB,KAAa,EACb,MAAc,EAAE,MAAc,EAC9B,MAAc,EAAE,MAAc;IAE9B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AACzD,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { IRandomNumberGenerator } from './types.js';
2
- export declare const NativeRandomNumberGenerator: IRandomNumberGenerator;
2
+ export declare const nativeRandomNumberGenerator: IRandomNumberGenerator;
@@ -1,4 +1,4 @@
1
- export const NativeRandomNumberGenerator = {
1
+ export const nativeRandomNumberGenerator = {
2
2
  next: Math.random
3
3
  };
4
4
  //# sourceMappingURL=native-random-number-generator.js.map
@@ -1,10 +1,10 @@
1
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
1
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
2
2
  import { random } from './random.js';
3
3
  export function randomBool(...args) {
4
4
  let generator;
5
5
  let probabilityOfTrue;
6
6
  if (args.length === 1) {
7
- generator = NativeRandomNumberGenerator;
7
+ generator = nativeRandomNumberGenerator;
8
8
  [probabilityOfTrue] = args;
9
9
  }
10
10
  else {
@@ -3,7 +3,7 @@ import { randomByWeightModel } from './random-by-weight-model.js';
3
3
  import { random } from './random.js';
4
4
  import { randomInt } from './random-int.js';
5
5
  import { randomIntInclusive } from './random-int-inclusive.js';
6
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
6
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
7
7
  export var Type;
8
8
  (function (Type) {
9
9
  Type[Type["Float"] = 0] = "Float";
@@ -14,7 +14,7 @@ export function randomByModel(...args) {
14
14
  let generator;
15
15
  let model;
16
16
  if (args.length === 1) {
17
- generator = NativeRandomNumberGenerator;
17
+ generator = nativeRandomNumberGenerator;
18
18
  [model] = args;
19
19
  }
20
20
  else {
@@ -1,10 +1,10 @@
1
1
  import { randomWeighted } from './random-weighted.js';
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
3
3
  export function randomByWeightModel(...args) {
4
4
  let generator;
5
5
  let model;
6
6
  if (args.length === 1) {
7
- generator = NativeRandomNumberGenerator;
7
+ generator = nativeRandomNumberGenerator;
8
8
  [model] = args;
9
9
  }
10
10
  else {
@@ -1,10 +1,10 @@
1
1
  import { mapToIndexByWeight } from './map-to-index-by-weight.js';
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
3
3
  export function randomIndexByWeight(...args) {
4
4
  let generator;
5
5
  let weights;
6
6
  if (args.length === 1) {
7
- generator = NativeRandomNumberGenerator;
7
+ generator = nativeRandomNumberGenerator;
8
8
  [weights] = args;
9
9
  }
10
10
  else {
@@ -1,11 +1,11 @@
1
1
  import { mapToRange } from './map-to-range.js';
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
3
3
  export function randomIntInclusive(...args) {
4
4
  let generator;
5
5
  let min;
6
6
  let max;
7
7
  if (args.length === 2) {
8
- generator = NativeRandomNumberGenerator;
8
+ generator = nativeRandomNumberGenerator;
9
9
  [min, max] = args;
10
10
  }
11
11
  else {
package/lib/random-int.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { mapToRange } from './map-to-range.js';
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
3
3
  export function randomInt(...args) {
4
4
  let generator;
5
5
  let min;
6
6
  let max;
7
7
  if (args.length === 2) {
8
- generator = NativeRandomNumberGenerator;
8
+ generator = nativeRandomNumberGenerator;
9
9
  [min, max] = args;
10
10
  }
11
11
  else {
@@ -1,10 +1,10 @@
1
1
  import { randomIndexByWeight } from './random-index-by-weight.js';
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
3
3
  export function randomWeighted(...args) {
4
4
  let generator;
5
5
  let values;
6
6
  if (args.length === 1) {
7
- generator = NativeRandomNumberGenerator;
7
+ generator = nativeRandomNumberGenerator;
8
8
  [values] = args;
9
9
  }
10
10
  else {
package/lib/random.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { mapToRange } from './map-to-range.js';
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
3
3
  export function random(...args) {
4
4
  let generator;
5
5
  let min;
6
6
  let max;
7
7
  if (args.length === 2) {
8
- generator = NativeRandomNumberGenerator;
8
+ generator = nativeRandomNumberGenerator;
9
9
  [min, max] = args;
10
10
  }
11
11
  else {
package/lib/shuffle.js CHANGED
@@ -1,10 +1,10 @@
1
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js';
1
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js';
2
2
  import { randomInt } from './random-int.js';
3
3
  export function shuffle(...args) {
4
4
  let generator;
5
5
  let arr;
6
6
  if (args.length === 1) {
7
- generator = NativeRandomNumberGenerator;
7
+ generator = nativeRandomNumberGenerator;
8
8
  [arr] = args;
9
9
  }
10
10
  else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extra-rand",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "Yet another random library",
5
5
  "keywords": [
6
6
  "random"
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@blackglory/errors": "^3.0.3",
57
- "extra-utils": "^5.7.0",
57
+ "extra-utils": "^5.10.0",
58
58
  "justypes": "^4.2.1"
59
59
  }
60
60
  }
@@ -1,9 +1,12 @@
1
+ import { remap } from 'extra-utils'
2
+
3
+ /**
4
+ * @deprecated use `remap` of `extra-utils` instead
5
+ */
1
6
  export function mapToRange(
2
7
  value: number
3
8
  , oldMin: number, oldMax: number
4
9
  , newMin: number, newMax: number
5
10
  ): number {
6
- return (value - oldMin) / (oldMax - oldMin)
7
- * (newMax - newMin)
8
- + newMin
11
+ return remap(value, [oldMin, oldMax], [newMin, newMax])
9
12
  }
@@ -1,5 +1,5 @@
1
1
  import { IRandomNumberGenerator } from './types.js'
2
2
 
3
- export const NativeRandomNumberGenerator: IRandomNumberGenerator = {
3
+ export const nativeRandomNumberGenerator: IRandomNumberGenerator = {
4
4
  next: Math.random
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { IRandomNumberGenerator } from './types.js'
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
3
3
  import { random } from './random.js'
4
4
 
5
5
  export function randomBool(probabilityOfTrue: number): boolean
@@ -15,7 +15,7 @@ export function randomBool(...args:
15
15
  let probabilityOfTrue: number
16
16
 
17
17
  if (args.length === 1) {
18
- generator = NativeRandomNumberGenerator
18
+ generator = nativeRandomNumberGenerator
19
19
  ;[probabilityOfTrue] = args
20
20
  } else {
21
21
  [generator, probabilityOfTrue] = args
@@ -5,7 +5,7 @@ import { random } from './random.js'
5
5
  import { randomInt } from './random-int.js'
6
6
  import { randomIntInclusive } from './random-int-inclusive.js'
7
7
  import { IRandomNumberGenerator } from './types.js'
8
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
8
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
9
9
 
10
10
  export enum Type {
11
11
  Float
@@ -39,7 +39,7 @@ export function randomByModel(...args:
39
39
  let model: IRandomModel
40
40
 
41
41
  if (args.length === 1) {
42
- generator = NativeRandomNumberGenerator
42
+ generator = nativeRandomNumberGenerator
43
43
  ;[model] = args
44
44
  } else {
45
45
  [generator, model] = args
@@ -1,7 +1,7 @@
1
1
  import { NonEmptyArray } from 'justypes'
2
2
  import { randomWeighted } from './random-weighted.js'
3
3
  import { IRandomNumberGenerator } from './types.js'
4
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
4
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
5
5
 
6
6
  export type IWeightModel<T> = NonEmptyArray<{
7
7
  weight: number
@@ -21,7 +21,7 @@ export function randomByWeightModel<T>(...args:
21
21
  let model: IWeightModel<T>
22
22
 
23
23
  if (args.length === 1) {
24
- generator = NativeRandomNumberGenerator
24
+ generator = nativeRandomNumberGenerator
25
25
  ;[model] = args
26
26
  } else {
27
27
  [generator, model] = args
@@ -1,7 +1,7 @@
1
1
  import { NonEmptyArray } from 'justypes'
2
2
  import { mapToIndexByWeight } from './map-to-index-by-weight.js'
3
3
  import { IRandomNumberGenerator } from './types.js'
4
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
4
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
5
5
 
6
6
  export function randomIndexByWeight(weights: NonEmptyArray<number>): number
7
7
  export function randomIndexByWeight(
@@ -16,7 +16,7 @@ export function randomIndexByWeight(...args:
16
16
  let weights: NonEmptyArray<number>
17
17
 
18
18
  if (args.length === 1) {
19
- generator = NativeRandomNumberGenerator
19
+ generator = nativeRandomNumberGenerator
20
20
  ;[weights] = args
21
21
  } else {
22
22
  [generator, weights] = args
@@ -1,6 +1,6 @@
1
1
  import { mapToRange } from './map-to-range.js'
2
2
  import { IRandomNumberGenerator } from './types.js'
3
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
3
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
4
4
 
5
5
  export function randomIntInclusive(
6
6
  min: number
@@ -20,7 +20,7 @@ export function randomIntInclusive(...args:
20
20
  let max: number
21
21
 
22
22
  if (args.length === 2) {
23
- generator = NativeRandomNumberGenerator
23
+ generator = nativeRandomNumberGenerator
24
24
  ;[min, max] = args
25
25
  } else {
26
26
  [generator, min, max] = args
package/src/random-int.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { mapToRange } from './map-to-range.js'
2
2
  import { IRandomNumberGenerator } from './types.js'
3
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
3
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
4
4
 
5
5
  export function randomInt(min: number, max: number): number
6
6
  export function randomInt(
@@ -17,7 +17,7 @@ export function randomInt(...args:
17
17
  let max: number
18
18
 
19
19
  if (args.length === 2) {
20
- generator = NativeRandomNumberGenerator
20
+ generator = nativeRandomNumberGenerator
21
21
  ;[min, max] = args
22
22
  } else {
23
23
  [generator, min, max] = args
@@ -1,7 +1,7 @@
1
1
  import { randomIndexByWeight } from './random-index-by-weight.js'
2
2
  import { NonEmptyArray } from 'justypes'
3
3
  import { IRandomNumberGenerator } from './types.js'
4
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
4
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
5
5
 
6
6
  export interface IWeighted {
7
7
  weight: number
@@ -20,7 +20,7 @@ export function randomWeighted<T extends IWeighted>(...args:
20
20
  let values: NonEmptyArray<T>
21
21
 
22
22
  if (args.length === 1) {
23
- generator = NativeRandomNumberGenerator
23
+ generator = nativeRandomNumberGenerator
24
24
  ;[values] = args
25
25
  } else {
26
26
  [generator, values] = args
package/src/random.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { mapToRange } from './map-to-range.js'
2
2
  import { IRandomNumberGenerator } from './types.js'
3
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
3
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
4
4
 
5
5
  export function random(min: number, max: number): number
6
6
  export function random(
@@ -17,7 +17,7 @@ export function random(...args:
17
17
  let max: number
18
18
 
19
19
  if (args.length === 2) {
20
- generator = NativeRandomNumberGenerator
20
+ generator = nativeRandomNumberGenerator
21
21
  ;[min, max] = args
22
22
  } else {
23
23
  [generator, min, max] = args
package/src/shuffle.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { IRandomNumberGenerator } from './types.js'
2
- import { NativeRandomNumberGenerator } from './native-random-number-generator.js'
2
+ import { nativeRandomNumberGenerator } from './native-random-number-generator.js'
3
3
  import { randomInt } from './random-int.js'
4
4
 
5
5
  export function shuffle(arr: unknown[]): void
@@ -12,7 +12,7 @@ export function shuffle(...args:
12
12
  let arr: unknown[]
13
13
 
14
14
  if (args.length === 1) {
15
- generator = NativeRandomNumberGenerator
15
+ generator = nativeRandomNumberGenerator
16
16
  ;[arr] = args
17
17
  } else {
18
18
  [generator, arr] = args