toosoon-prng 1.0.0 → 1.0.1
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 +175 -0
- package/lib/controllers.d.ts +9 -9
- package/lib/controllers.js +36 -36
- package/lib/prng.d.ts +1 -1
- package/lib/prng.js +4 -6
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/controllers.ts +15 -15
- package/src/prng.ts +5 -9
- package/tsconfig.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# TOOSOON PRNG
|
|
2
|
+
|
|
3
|
+
TOOSOON pseudo-random number generator utility functions & helpers.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Yarn:
|
|
8
|
+
|
|
9
|
+
```properties
|
|
10
|
+
$ yarn add toosoon-prng
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
NPM:
|
|
14
|
+
|
|
15
|
+
```properties
|
|
16
|
+
$ npm install toosoon-prng
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
PRNG:
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import prng from 'toosoon-prng';
|
|
25
|
+
|
|
26
|
+
prng.setSeed('010101');
|
|
27
|
+
console.log(prng.randomFloat('angle', 0, Math.PI)); // Pseudo-random float number in the interval [0, 3.14...]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
PRNG Controllers:
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
import {
|
|
34
|
+
BooleanController,
|
|
35
|
+
SignController,
|
|
36
|
+
FloatController,
|
|
37
|
+
IntController,
|
|
38
|
+
HexColorController,
|
|
39
|
+
ItemController,
|
|
40
|
+
ObjectPropertyController,
|
|
41
|
+
WeightsController,
|
|
42
|
+
BooleanGroupController,
|
|
43
|
+
SignGroupController,
|
|
44
|
+
FloatGroupController,
|
|
45
|
+
IntGroupController,
|
|
46
|
+
HexColorGroupController,
|
|
47
|
+
ItemGroupController,
|
|
48
|
+
ObjectPropertyGroupController,
|
|
49
|
+
WeightsGroupController
|
|
50
|
+
} from 'toosoon-prng';
|
|
51
|
+
|
|
52
|
+
const seed = '010101';
|
|
53
|
+
|
|
54
|
+
const config = {
|
|
55
|
+
// Controllers
|
|
56
|
+
boolean: new BooleanController(`${seed}-boolean`, 0.5),
|
|
57
|
+
sign: new SignController(`${seed}-sign`, 0.5),
|
|
58
|
+
float: new FloatController(`${seed}-float`, 0, 1),
|
|
59
|
+
int: new IntController(`${seed}-int`, 0, 10),
|
|
60
|
+
hex: new HexColorController(`${seed}-hex`),
|
|
61
|
+
item: new ItemController<number>(`${seed}-item`, [0, 0.5, 1]),
|
|
62
|
+
property: new ObjectPropertyController<boolean>(`${seed}-property`, { foo: true, bar: false }),
|
|
63
|
+
value: new WeightsController<string>(`${seed}-value`, [
|
|
64
|
+
{ weight: 0.5, value: 'foo' },
|
|
65
|
+
{ weight: 2, value: 'bar' }
|
|
66
|
+
]),
|
|
67
|
+
// Group Controllers
|
|
68
|
+
groupBoolean: new BooleanGroupController(`${seed}-group-boolean`, 0.5),
|
|
69
|
+
groupSign: new SignGroupController(`${seed}-group-sign`, 0.5),
|
|
70
|
+
groupFloat: new FloatGroupController(`${seed}-group-float`, 0, 1),
|
|
71
|
+
groupInt: new IntGroupController(`${seed}-group-int`, 0, 10),
|
|
72
|
+
groupHex: new HexColorGroupController(`${seed}-group-hex`),
|
|
73
|
+
groupItem: new ItemGroupController<number>(`${seed}-group-item`, [0, 0.5, 1]),
|
|
74
|
+
groupProperty: new ObjectPropertyGroupController<boolean>(`${seed}-group-property`, { foo: true, bar: false }),
|
|
75
|
+
groupValue: new WeightsGroupController<string>(`${seed}-group-value`, [
|
|
76
|
+
{ weight: 0.5, value: 'foo' },
|
|
77
|
+
{ weight: 2, value: 'bar' }
|
|
78
|
+
])
|
|
79
|
+
};
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## PRNG Functions
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
// Set PRNG instance seed
|
|
86
|
+
prng.setSeed(seed: string) => void;
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
// Set PRNG instance method
|
|
91
|
+
prng.setMethod(method: PRNGMethod) => void;
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
// Generate a pseudo-random number in the interval [0, 1] (PRNG equivalent of Math.random)
|
|
96
|
+
prng.random(seed: string) => number;
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
// Generate a pseudo-random boolean (true or false)
|
|
101
|
+
prng.randomBoolean(seed: string, probability?: number) => boolean;
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
// Generate a pseudo-random sign (1 or -1)
|
|
106
|
+
prng.randomSign(seed: string, probability?: number) => number;
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```ts
|
|
110
|
+
// Generate a pseudo-random float number
|
|
111
|
+
prng.randomFloat(seed: string, min?: number, max?: number1, precision?: number) => number;
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
// Generate a pseudo-random integer number
|
|
116
|
+
prng.randomInt(seed: string, min: number, max: number) => void;
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
// Generate a pseudo-random hexadecimal color
|
|
121
|
+
prng.randomHexColor(seed: string) => string;
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
// Pick a pseudo-random item from an array
|
|
126
|
+
prng.randomItem<T>(seed: string, array: T[]) => T | undefined;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
// Pick a pseudo-random property from an object
|
|
131
|
+
prng.randomObjectProperty(seed: string, object: object) => unknown | undefined
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
```ts
|
|
135
|
+
// Return a pseudo-random index from an array of weights
|
|
136
|
+
prng.randomIndex(seed: string, weights?: number[]) => number;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## PRNG Controllers
|
|
140
|
+
|
|
141
|
+
`BooleanController`
|
|
142
|
+
|
|
143
|
+
`SignController`
|
|
144
|
+
|
|
145
|
+
`FloatController`
|
|
146
|
+
|
|
147
|
+
`IntController`
|
|
148
|
+
|
|
149
|
+
`HexColorController`
|
|
150
|
+
|
|
151
|
+
`ItemController`
|
|
152
|
+
|
|
153
|
+
`ObjectPropertyController`
|
|
154
|
+
|
|
155
|
+
`WeightsController`
|
|
156
|
+
|
|
157
|
+
`BooleanGroupController`
|
|
158
|
+
|
|
159
|
+
`SignGroupController`
|
|
160
|
+
|
|
161
|
+
`FloatGroupController`
|
|
162
|
+
|
|
163
|
+
`IntGroupController`
|
|
164
|
+
|
|
165
|
+
`HexColorGroupController`
|
|
166
|
+
|
|
167
|
+
`ItemGroupController`
|
|
168
|
+
|
|
169
|
+
`ObjectPropertyGroupController`
|
|
170
|
+
|
|
171
|
+
`WeightsGroupController`
|
|
172
|
+
|
|
173
|
+
## License
|
|
174
|
+
|
|
175
|
+
MIT License, see [LICENSE](https://github.com/toosoon-dev/toosoon-lsystem/tree/master/LICENSE) for details
|
package/lib/controllers.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { Gui, GuiController } from 'toosoon-gui';
|
|
|
2
2
|
export declare enum PRNGControllerTypes {
|
|
3
3
|
Boolean = "Boolean",
|
|
4
4
|
Sign = "Sign",
|
|
5
|
-
Int = "Int",
|
|
6
5
|
Float = "Float",
|
|
6
|
+
Int = "Int",
|
|
7
7
|
HexColor = "HexColor",
|
|
8
8
|
Item = "Item",
|
|
9
9
|
ObjectProperty = "ObjectProperty",
|
|
@@ -61,7 +61,7 @@ export declare class SignController extends BasePRNGController<number> {
|
|
|
61
61
|
addGUI(gui: Gui): GuiController;
|
|
62
62
|
getValue(): number;
|
|
63
63
|
}
|
|
64
|
-
export declare class
|
|
64
|
+
export declare class FloatController extends BasePRNGController<number> {
|
|
65
65
|
value: number;
|
|
66
66
|
min: number;
|
|
67
67
|
max: number;
|
|
@@ -69,7 +69,7 @@ export declare class IntController extends BasePRNGController<number> {
|
|
|
69
69
|
addGUI(gui: Gui, min: number, max: number, step?: number): GuiController;
|
|
70
70
|
getValue(): number;
|
|
71
71
|
}
|
|
72
|
-
export declare class
|
|
72
|
+
export declare class IntController extends BasePRNGController<number> {
|
|
73
73
|
value: number;
|
|
74
74
|
min: number;
|
|
75
75
|
max: number;
|
|
@@ -121,19 +121,19 @@ export declare class SignGroupController extends BasePRNGGroupController<number>
|
|
|
121
121
|
constructor(seed: string, probability: number);
|
|
122
122
|
createController(index: number): SignController;
|
|
123
123
|
}
|
|
124
|
-
export declare class
|
|
124
|
+
export declare class FloatGroupController extends BasePRNGGroupController<number> {
|
|
125
125
|
min: number;
|
|
126
126
|
max: number;
|
|
127
|
-
controllers:
|
|
127
|
+
controllers: FloatController[];
|
|
128
128
|
constructor(seed: string, min: number, max: number);
|
|
129
|
-
createController(index: number):
|
|
129
|
+
createController(index: number): FloatController;
|
|
130
130
|
}
|
|
131
|
-
export declare class
|
|
131
|
+
export declare class IntGroupController extends BasePRNGGroupController<number> {
|
|
132
132
|
min: number;
|
|
133
133
|
max: number;
|
|
134
|
-
controllers:
|
|
134
|
+
controllers: IntController[];
|
|
135
135
|
constructor(seed: string, min: number, max: number);
|
|
136
|
-
createController(index: number):
|
|
136
|
+
createController(index: number): IntController;
|
|
137
137
|
}
|
|
138
138
|
export declare class HexColorGroupController extends BasePRNGGroupController<string> {
|
|
139
139
|
controllers: HexColorController[];
|
package/lib/controllers.js
CHANGED
|
@@ -18,14 +18,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.WeightsGroupController = exports.ObjectPropertyGroupController = exports.ItemGroupController = exports.HexColorGroupController = exports.
|
|
21
|
+
exports.WeightsGroupController = exports.ObjectPropertyGroupController = exports.ItemGroupController = exports.HexColorGroupController = exports.IntGroupController = exports.FloatGroupController = exports.SignGroupController = exports.BooleanGroupController = exports.WeightsController = exports.ObjectPropertyController = exports.ItemController = exports.HexColorController = exports.IntController = exports.FloatController = exports.SignController = exports.BooleanController = exports.PRNGControllerTypes = void 0;
|
|
22
22
|
var prng_1 = __importDefault(require("./prng"));
|
|
23
23
|
var PRNGControllerTypes;
|
|
24
24
|
(function (PRNGControllerTypes) {
|
|
25
25
|
PRNGControllerTypes["Boolean"] = "Boolean";
|
|
26
26
|
PRNGControllerTypes["Sign"] = "Sign";
|
|
27
|
-
PRNGControllerTypes["Int"] = "Int";
|
|
28
27
|
PRNGControllerTypes["Float"] = "Float";
|
|
28
|
+
PRNGControllerTypes["Int"] = "Int";
|
|
29
29
|
PRNGControllerTypes["HexColor"] = "HexColor";
|
|
30
30
|
PRNGControllerTypes["Item"] = "Item";
|
|
31
31
|
PRNGControllerTypes["ObjectProperty"] = "ObjectProperty";
|
|
@@ -124,56 +124,56 @@ var SignController = /** @class */ (function (_super) {
|
|
|
124
124
|
return SignController;
|
|
125
125
|
}(BasePRNGController));
|
|
126
126
|
exports.SignController = SignController;
|
|
127
|
-
var
|
|
128
|
-
__extends(
|
|
129
|
-
function
|
|
127
|
+
var FloatController = /** @class */ (function (_super) {
|
|
128
|
+
__extends(FloatController, _super);
|
|
129
|
+
function FloatController(seed, min, max) {
|
|
130
130
|
if (min === void 0) { min = 0; }
|
|
131
131
|
if (max === void 0) { max = 1; }
|
|
132
132
|
var _this = _super.call(this, seed) || this;
|
|
133
133
|
_this.min = min;
|
|
134
134
|
_this.max = max;
|
|
135
|
-
_this.value =
|
|
135
|
+
_this.value = _this.getValue();
|
|
136
136
|
return _this;
|
|
137
137
|
}
|
|
138
|
-
|
|
139
|
-
if (step === void 0) { step =
|
|
138
|
+
FloatController.prototype.addGUI = function (gui, min, max, step) {
|
|
139
|
+
if (step === void 0) { step = 0.01; }
|
|
140
140
|
this.gui = gui.add(this, 'value', min, max, step).name(this.seed);
|
|
141
141
|
return this.gui;
|
|
142
142
|
};
|
|
143
|
-
|
|
143
|
+
FloatController.prototype.getValue = function () {
|
|
144
144
|
var _a;
|
|
145
|
-
this.value = prng_1.default.
|
|
145
|
+
this.value = prng_1.default.randomFloat(this.seed, this.min, this.max);
|
|
146
146
|
(_a = this.gui) === null || _a === void 0 ? void 0 : _a.updateDisplay();
|
|
147
147
|
return this.value;
|
|
148
148
|
};
|
|
149
|
-
return
|
|
149
|
+
return FloatController;
|
|
150
150
|
}(BasePRNGController));
|
|
151
|
-
exports.
|
|
152
|
-
var
|
|
153
|
-
__extends(
|
|
154
|
-
function
|
|
151
|
+
exports.FloatController = FloatController;
|
|
152
|
+
var IntController = /** @class */ (function (_super) {
|
|
153
|
+
__extends(IntController, _super);
|
|
154
|
+
function IntController(seed, min, max) {
|
|
155
155
|
if (min === void 0) { min = 0; }
|
|
156
156
|
if (max === void 0) { max = 1; }
|
|
157
157
|
var _this = _super.call(this, seed) || this;
|
|
158
158
|
_this.min = min;
|
|
159
159
|
_this.max = max;
|
|
160
|
-
_this.value = _this.
|
|
160
|
+
_this.value = prng_1.default.randomInt(_this.seed, min, max);
|
|
161
161
|
return _this;
|
|
162
162
|
}
|
|
163
|
-
|
|
164
|
-
if (step === void 0) { step =
|
|
163
|
+
IntController.prototype.addGUI = function (gui, min, max, step) {
|
|
164
|
+
if (step === void 0) { step = 1; }
|
|
165
165
|
this.gui = gui.add(this, 'value', min, max, step).name(this.seed);
|
|
166
166
|
return this.gui;
|
|
167
167
|
};
|
|
168
|
-
|
|
168
|
+
IntController.prototype.getValue = function () {
|
|
169
169
|
var _a;
|
|
170
|
-
this.value = prng_1.default.
|
|
170
|
+
this.value = prng_1.default.randomInt(this.seed, this.min, this.max);
|
|
171
171
|
(_a = this.gui) === null || _a === void 0 ? void 0 : _a.updateDisplay();
|
|
172
172
|
return this.value;
|
|
173
173
|
};
|
|
174
|
-
return
|
|
174
|
+
return IntController;
|
|
175
175
|
}(BasePRNGController));
|
|
176
|
-
exports.
|
|
176
|
+
exports.IntController = IntController;
|
|
177
177
|
var HexColorController = /** @class */ (function (_super) {
|
|
178
178
|
__extends(HexColorController, _super);
|
|
179
179
|
function HexColorController(seed) {
|
|
@@ -292,36 +292,36 @@ var SignGroupController = /** @class */ (function (_super) {
|
|
|
292
292
|
return SignGroupController;
|
|
293
293
|
}(BasePRNGGroupController));
|
|
294
294
|
exports.SignGroupController = SignGroupController;
|
|
295
|
-
var
|
|
296
|
-
__extends(
|
|
297
|
-
function
|
|
295
|
+
var FloatGroupController = /** @class */ (function (_super) {
|
|
296
|
+
__extends(FloatGroupController, _super);
|
|
297
|
+
function FloatGroupController(seed, min, max) {
|
|
298
298
|
var _this = _super.call(this, seed) || this;
|
|
299
299
|
_this.controllers = [];
|
|
300
300
|
_this.min = min;
|
|
301
301
|
_this.max = max;
|
|
302
302
|
return _this;
|
|
303
303
|
}
|
|
304
|
-
|
|
305
|
-
return new
|
|
304
|
+
FloatGroupController.prototype.createController = function (index) {
|
|
305
|
+
return new FloatController("".concat(this.seed, "-").concat(index), this.min, this.max);
|
|
306
306
|
};
|
|
307
|
-
return
|
|
307
|
+
return FloatGroupController;
|
|
308
308
|
}(BasePRNGGroupController));
|
|
309
|
-
exports.
|
|
310
|
-
var
|
|
311
|
-
__extends(
|
|
312
|
-
function
|
|
309
|
+
exports.FloatGroupController = FloatGroupController;
|
|
310
|
+
var IntGroupController = /** @class */ (function (_super) {
|
|
311
|
+
__extends(IntGroupController, _super);
|
|
312
|
+
function IntGroupController(seed, min, max) {
|
|
313
313
|
var _this = _super.call(this, seed) || this;
|
|
314
314
|
_this.controllers = [];
|
|
315
315
|
_this.min = min;
|
|
316
316
|
_this.max = max;
|
|
317
317
|
return _this;
|
|
318
318
|
}
|
|
319
|
-
|
|
320
|
-
return new
|
|
319
|
+
IntGroupController.prototype.createController = function (index) {
|
|
320
|
+
return new IntController("".concat(this.seed, "-").concat(index), this.min, this.max);
|
|
321
321
|
};
|
|
322
|
-
return
|
|
322
|
+
return IntGroupController;
|
|
323
323
|
}(BasePRNGGroupController));
|
|
324
|
-
exports.
|
|
324
|
+
exports.IntGroupController = IntGroupController;
|
|
325
325
|
var HexColorGroupController = /** @class */ (function (_super) {
|
|
326
326
|
__extends(HexColorGroupController, _super);
|
|
327
327
|
function HexColorGroupController() {
|
package/lib/prng.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ declare class PRNG {
|
|
|
17
17
|
random(seed: string): number;
|
|
18
18
|
randomBoolean(seed: string, probability?: number): boolean;
|
|
19
19
|
randomSign(seed: string, probability?: number): number;
|
|
20
|
-
randomInt(seed: string, min: number, max: number): number;
|
|
21
20
|
randomFloat(seed: string, min?: number, max?: number, precision?: number): number;
|
|
21
|
+
randomInt(seed: string, min: number, max: number): number;
|
|
22
22
|
randomHexColor(seed: string): string;
|
|
23
23
|
randomItem<T = unknown>(seed: string, array?: T[]): T | undefined;
|
|
24
24
|
randomObjectProperty(seed: string, object: object): unknown | undefined;
|
package/lib/prng.js
CHANGED
|
@@ -28,9 +28,7 @@ var PRNG = /** @class */ (function () {
|
|
|
28
28
|
if (this.seed === seed)
|
|
29
29
|
return;
|
|
30
30
|
this.seed = seed;
|
|
31
|
-
this.controllers.forEach(function (controller) {
|
|
32
|
-
controller.getValue();
|
|
33
|
-
});
|
|
31
|
+
this.controllers.forEach(function (controller) { return controller.getValue(); });
|
|
34
32
|
};
|
|
35
33
|
PRNG.prototype.setMethod = function (method) {
|
|
36
34
|
this.method = method;
|
|
@@ -56,15 +54,15 @@ var PRNG = /** @class */ (function () {
|
|
|
56
54
|
if (probability === void 0) { probability = 0.5; }
|
|
57
55
|
return this.randomBoolean(seed, probability) ? 1 : -1;
|
|
58
56
|
};
|
|
59
|
-
PRNG.prototype.randomInt = function (seed, min, max) {
|
|
60
|
-
return Math.floor(this.random(seed) * (max - min + 1) + min);
|
|
61
|
-
};
|
|
62
57
|
PRNG.prototype.randomFloat = function (seed, min, max, precision) {
|
|
63
58
|
if (min === void 0) { min = 0; }
|
|
64
59
|
if (max === void 0) { max = 1; }
|
|
65
60
|
if (precision === void 0) { precision = 2; }
|
|
66
61
|
return parseFloat(Math.min(min + this.random(seed) * (max - min), max).toFixed(precision));
|
|
67
62
|
};
|
|
63
|
+
PRNG.prototype.randomInt = function (seed, min, max) {
|
|
64
|
+
return Math.floor(this.random(seed) * (max - min + 1) + min);
|
|
65
|
+
};
|
|
68
66
|
PRNG.prototype.randomHexColor = function (seed) {
|
|
69
67
|
return '#' + ('00000' + ((this.random(seed) * (1 << 24)) | 0).toString(16)).slice(-6);
|
|
70
68
|
};
|
package/lib/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/toosoon-gui/lib/wrapper.d.ts","../node_modules/toosoon-gui/lib/types.d.ts","../node_modules/toosoon-gui/lib/controllers/controller.d.ts","../node_modules/toosoon-gui/lib/controllers/angle-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/color-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/coords-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/file-controller.d.ts","../node_modules/toosoon-gui/lib/gui.d.ts","../node_modules/toosoon-gui/lib/controllers/boolean-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/function-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/number-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/option-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/string-controller.d.ts","../node_modules/toosoon-gui/lib/index.d.ts","../src/utils.ts","../src/prng.ts","../src/controllers.ts","../src/index.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"bb0dc65300311f02c71ab5da7aeffe84364bfb53e727bcd29a20d0b3ae2a0ed4","2afcc0377d7c03c9146b153947520ad46967062ff0118dd512e88560f5c48c4b","c15c72246f26117c4e232ede5d394b80c6c983fb73a3d92ede4da3cf5dd44564","6339a44514a06c5e8f726cf27fc7fb2bf0e2ce5fe0de5545e4d412ba54c209f9","52800b74e97d62cd27f91a19ace28ca7ed32084fc5de80b015c8b62aabb4de99","2eba4de3285ccf1518aa5d87c683e4c4da38a837f69e112710fb107c58e86b9f","7b1267119c9c7c148ee973f8affd943c49f7ec2f5573f83cee25139492b533cd","1361b028bda65af72410feed749981eb80ced6439adf892ead6383fd779aa36e","027d78906c03890d8473731baca3acad76095aa2e68af1c6fcd32ded61d9a430","5eb3db8ef1b8f4eb5b16facea0a1cc3d9c22d6513de77a29c6630233c7ccf888","448bf4331abf7995b2ab5c4a449800e35fc3dbcfb522ed752d84564fd7d17374","3147a65dfdc1827b3a1b3899c5b316e8cc10eeb66f5c26c758bb24b2c962983a","845075e15760edf65e31220cbfc67b0bd436be0cd169181aa524dcf8987ff09e","db6c19a31bb62dc80afd34dd6c773f2385db59abf6608c3f293fedf78bcb1de3",{"version":"50b0ac11d8ac3c1ffc3d96b2047de1f23a71a34ef45278dab9db9663ac34ba43","signature":"a33086c14ef04ee690a02c14ed96e979a244182c9c16c01f8e341d56c4bb25e1"},{"version":"c6f49bdb387c6c2333634665eda6d3327d7686244ec7583c081a73bea7b9a0c4","signature":"6782882e169cf1f29876468ad7f713f0da1d97ca1eba37618cd17e4816018996"},{"version":"0e94293698e9e274ecf63336eb24a518735acd867439527f78719ac868d89f08","signature":"2dbc3e7cfdcb7cecea8a9320e37ba4327fa2e5782de4df7851b9c9af6833fe0a"},{"version":"73f9aba3dfd4486bbdf9d6b0647b0ca095c6dfd796c5c94dab541c4f51ee8f75","signature":"76e672d8e983a8a8853647e4b1d5d26eef55db7836923e81f8669be3b9a4b006"}],"root":[[79,82]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":1},"fileIdsList":[[67,72],[66,72],[66,67,68,69,70,71],[65,66,67,69,71,72,73,74,75,76,77],[65,67,72],[66,67,72],[78,80],[79,80,81],[79,81],[78],[81]],"referencedMap":[[68,1],[73,1],[69,1],[67,2],[70,1],[71,1],[74,1],[75,1],[76,1],[77,1],[72,3],[78,4],[66,5],[65,6],[81,7],[82,8],[80,9]],"exportedModulesMap":[[68,1],[73,1],[69,1],[67,2],[70,1],[71,1],[74,1],[75,1],[76,1],[77,1],[72,3],[78,4],[66,5],[65,6],[81,10],[82,8],[80,11]],"semanticDiagnosticsPerFile":[68,73,69,67,70,71,74,75,76,77,72,78,66,65,63,64,12,14,13,2,15,16,17,18,19,20,21,22,3,4,23,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,59,10,1,11,62,61,60,81,82,80,79]},"version":"5.3.3"}
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/typescript/lib/lib.es2023.d.ts","../node_modules/typescript/lib/lib.esnext.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/typescript/lib/lib.es2023.array.d.ts","../node_modules/typescript/lib/lib.es2023.collection.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/toosoon-gui/lib/wrapper.d.ts","../node_modules/toosoon-gui/lib/types.d.ts","../node_modules/toosoon-gui/lib/controllers/controller.d.ts","../node_modules/toosoon-gui/lib/controllers/angle-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/color-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/coords-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/file-controller.d.ts","../node_modules/toosoon-gui/lib/gui.d.ts","../node_modules/toosoon-gui/lib/controllers/boolean-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/function-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/number-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/option-controller.d.ts","../node_modules/toosoon-gui/lib/controllers/string-controller.d.ts","../node_modules/toosoon-gui/lib/index.d.ts","../src/utils.ts","../src/prng.ts","../src/controllers.ts","../src/index.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"bb0dc65300311f02c71ab5da7aeffe84364bfb53e727bcd29a20d0b3ae2a0ed4","2afcc0377d7c03c9146b153947520ad46967062ff0118dd512e88560f5c48c4b","c15c72246f26117c4e232ede5d394b80c6c983fb73a3d92ede4da3cf5dd44564","6339a44514a06c5e8f726cf27fc7fb2bf0e2ce5fe0de5545e4d412ba54c209f9","52800b74e97d62cd27f91a19ace28ca7ed32084fc5de80b015c8b62aabb4de99","2eba4de3285ccf1518aa5d87c683e4c4da38a837f69e112710fb107c58e86b9f","7b1267119c9c7c148ee973f8affd943c49f7ec2f5573f83cee25139492b533cd","1361b028bda65af72410feed749981eb80ced6439adf892ead6383fd779aa36e","027d78906c03890d8473731baca3acad76095aa2e68af1c6fcd32ded61d9a430","5eb3db8ef1b8f4eb5b16facea0a1cc3d9c22d6513de77a29c6630233c7ccf888","448bf4331abf7995b2ab5c4a449800e35fc3dbcfb522ed752d84564fd7d17374","3147a65dfdc1827b3a1b3899c5b316e8cc10eeb66f5c26c758bb24b2c962983a","845075e15760edf65e31220cbfc67b0bd436be0cd169181aa524dcf8987ff09e","db6c19a31bb62dc80afd34dd6c773f2385db59abf6608c3f293fedf78bcb1de3",{"version":"50b0ac11d8ac3c1ffc3d96b2047de1f23a71a34ef45278dab9db9663ac34ba43","signature":"a33086c14ef04ee690a02c14ed96e979a244182c9c16c01f8e341d56c4bb25e1"},{"version":"0650759ff8ac62a2cda3144808232debab75642d5abfcc43d6fb669e2e0c9a8d","signature":"f172dda59fe99dae26b48d0c5842827a7c1d80e6dd431ea64876848181ef4bba"},{"version":"edc5c3a31bc570bdebbd2138e3b1a909209b7ff1985d094e3704cd3eed154cee","signature":"34f3de3c34a7a0559f69ce84f1ba425f0d3c7b2461b449dcc3b885d8230fa7b8"},{"version":"73f9aba3dfd4486bbdf9d6b0647b0ca095c6dfd796c5c94dab541c4f51ee8f75","signature":"76e672d8e983a8a8853647e4b1d5d26eef55db7836923e81f8669be3b9a4b006"}],"root":[[79,82]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":1},"fileIdsList":[[67,72],[66,72],[66,67,68,69,70,71],[65,66,67,69,71,72,73,74,75,76,77],[65,67,72],[66,67,72],[78,80],[79,80,81],[79,81],[78],[81]],"referencedMap":[[68,1],[73,1],[69,1],[67,2],[70,1],[71,1],[74,1],[75,1],[76,1],[77,1],[72,3],[78,4],[66,5],[65,6],[81,7],[82,8],[80,9]],"exportedModulesMap":[[68,1],[73,1],[69,1],[67,2],[70,1],[71,1],[74,1],[75,1],[76,1],[77,1],[72,3],[78,4],[66,5],[65,6],[81,10],[82,8],[80,11]],"semanticDiagnosticsPerFile":[68,73,69,67,70,71,74,75,76,77,72,78,66,65,63,64,12,14,13,2,15,16,17,18,19,20,21,22,3,4,23,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,59,10,1,11,62,61,60,81,82,80,79]},"version":"5.3.3"}
|
package/package.json
CHANGED
package/src/controllers.ts
CHANGED
|
@@ -5,8 +5,8 @@ import prng from './prng';
|
|
|
5
5
|
export enum PRNGControllerTypes {
|
|
6
6
|
Boolean = 'Boolean',
|
|
7
7
|
Sign = 'Sign',
|
|
8
|
-
Int = 'Int',
|
|
9
8
|
Float = 'Float',
|
|
9
|
+
Int = 'Int',
|
|
10
10
|
HexColor = 'HexColor',
|
|
11
11
|
Item = 'Item',
|
|
12
12
|
ObjectProperty = 'ObjectProperty',
|
|
@@ -144,7 +144,7 @@ export class SignController extends BasePRNGController<number> {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
export class
|
|
147
|
+
export class FloatController extends BasePRNGController<number> {
|
|
148
148
|
value: number;
|
|
149
149
|
min: number;
|
|
150
150
|
max: number;
|
|
@@ -154,22 +154,22 @@ export class IntController extends BasePRNGController<number> {
|
|
|
154
154
|
|
|
155
155
|
this.min = min;
|
|
156
156
|
this.max = max;
|
|
157
|
-
this.value =
|
|
157
|
+
this.value = this.getValue();
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
addGUI(gui: Gui, min: number, max: number, step =
|
|
160
|
+
addGUI(gui: Gui, min: number, max: number, step: number = 0.01) {
|
|
161
161
|
this.gui = gui.add(this, 'value', min, max, step).name(this.seed);
|
|
162
162
|
return this.gui;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
getValue() {
|
|
166
|
-
this.value = prng.
|
|
166
|
+
this.value = prng.randomFloat(this.seed, this.min, this.max);
|
|
167
167
|
this.gui?.updateDisplay();
|
|
168
168
|
return this.value;
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
export class
|
|
172
|
+
export class IntController extends BasePRNGController<number> {
|
|
173
173
|
value: number;
|
|
174
174
|
min: number;
|
|
175
175
|
max: number;
|
|
@@ -179,16 +179,16 @@ export class FloatController extends BasePRNGController<number> {
|
|
|
179
179
|
|
|
180
180
|
this.min = min;
|
|
181
181
|
this.max = max;
|
|
182
|
-
this.value = this.
|
|
182
|
+
this.value = prng.randomInt(this.seed, min, max);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
addGUI(gui: Gui, min: number, max: number, step
|
|
185
|
+
addGUI(gui: Gui, min: number, max: number, step = 1) {
|
|
186
186
|
this.gui = gui.add(this, 'value', min, max, step).name(this.seed);
|
|
187
187
|
return this.gui;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
getValue() {
|
|
191
|
-
this.value = prng.
|
|
191
|
+
this.value = prng.randomInt(this.seed, this.min, this.max);
|
|
192
192
|
this.gui?.updateDisplay();
|
|
193
193
|
return this.value;
|
|
194
194
|
}
|
|
@@ -328,10 +328,10 @@ export class SignGroupController extends BasePRNGGroupController<number> {
|
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
|
|
331
|
-
export class
|
|
331
|
+
export class FloatGroupController extends BasePRNGGroupController<number> {
|
|
332
332
|
min: number;
|
|
333
333
|
max: number;
|
|
334
|
-
controllers:
|
|
334
|
+
controllers: FloatController[] = [];
|
|
335
335
|
|
|
336
336
|
constructor(seed: string, min: number, max: number) {
|
|
337
337
|
super(seed);
|
|
@@ -341,14 +341,14 @@ export class IntGroupController extends BasePRNGGroupController<number> {
|
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
createController(index: number) {
|
|
344
|
-
return new
|
|
344
|
+
return new FloatController(`${this.seed}-${index}`, this.min, this.max);
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
|
|
348
|
-
export class
|
|
348
|
+
export class IntGroupController extends BasePRNGGroupController<number> {
|
|
349
349
|
min: number;
|
|
350
350
|
max: number;
|
|
351
|
-
controllers:
|
|
351
|
+
controllers: IntController[] = [];
|
|
352
352
|
|
|
353
353
|
constructor(seed: string, min: number, max: number) {
|
|
354
354
|
super(seed);
|
|
@@ -358,7 +358,7 @@ export class FloatGroupController extends BasePRNGGroupController<number> {
|
|
|
358
358
|
}
|
|
359
359
|
|
|
360
360
|
createController(index: number) {
|
|
361
|
-
return new
|
|
361
|
+
return new IntController(`${this.seed}-${index}`, this.min, this.max);
|
|
362
362
|
}
|
|
363
363
|
}
|
|
364
364
|
|
package/src/prng.ts
CHANGED
|
@@ -28,12 +28,8 @@ class PRNG {
|
|
|
28
28
|
|
|
29
29
|
public setSeed(seed: string) {
|
|
30
30
|
if (this.seed === seed) return;
|
|
31
|
-
|
|
32
31
|
this.seed = seed;
|
|
33
|
-
|
|
34
|
-
this.controllers.forEach((controller) => {
|
|
35
|
-
controller.getValue();
|
|
36
|
-
});
|
|
32
|
+
this.controllers.forEach((controller) => controller.getValue());
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
public setMethod(method: PRNGMethod) {
|
|
@@ -62,14 +58,14 @@ class PRNG {
|
|
|
62
58
|
return this.randomBoolean(seed, probability) ? 1 : -1;
|
|
63
59
|
}
|
|
64
60
|
|
|
65
|
-
public randomInt(seed: string, min: number, max: number) {
|
|
66
|
-
return Math.floor(this.random(seed) * (max - min + 1) + min);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
61
|
public randomFloat(seed: string, min: number = 0, max: number = 1, precision: number = 2): number {
|
|
70
62
|
return parseFloat(Math.min(min + this.random(seed) * (max - min), max).toFixed(precision));
|
|
71
63
|
}
|
|
72
64
|
|
|
65
|
+
public randomInt(seed: string, min: number, max: number) {
|
|
66
|
+
return Math.floor(this.random(seed) * (max - min + 1) + min);
|
|
67
|
+
}
|
|
68
|
+
|
|
73
69
|
public randomHexColor(seed: string): string {
|
|
74
70
|
return '#' + ('00000' + ((this.random(seed) * (1 << 24)) | 0).toString(16)).slice(-6);
|
|
75
71
|
}
|
package/tsconfig.json
CHANGED