lib0 0.2.51 → 0.2.53
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/.github/workflows/node.js.yml +1 -1
- package/README.md +22 -20
- package/decoding.d.ts +2 -0
- package/decoding.d.ts.map +1 -1
- package/decoding.js +39 -14
- package/dist/{broadcastchannel-1e999014.cjs → broadcastchannel-a5969a44.cjs} +2 -2
- package/dist/{broadcastchannel-1e999014.cjs.map → broadcastchannel-a5969a44.cjs.map} +1 -1
- package/dist/broadcastchannel.cjs +6 -3
- package/dist/broadcastchannel.cjs.map +1 -1
- package/dist/{buffer-c98f67d5.cjs → buffer-9c449d1d.cjs} +93 -29
- package/dist/buffer-9c449d1d.cjs.map +1 -0
- package/dist/buffer.cjs +5 -2
- package/dist/buffer.cjs.map +1 -1
- package/dist/cache.cjs +3 -0
- package/dist/cache.cjs.map +1 -1
- package/dist/component.cjs +2 -2
- package/dist/decoding.cjs +8 -3
- package/dist/decoding.cjs.map +1 -1
- package/dist/decoding.d.ts +2 -0
- package/dist/decoding.d.ts.map +1 -1
- package/dist/{diff-2593547b.cjs → diff-642271b1.cjs} +2 -2
- package/dist/{diff-2593547b.cjs.map → diff-642271b1.cjs.map} +1 -1
- package/dist/diff.cjs +2 -2
- package/dist/encoding.cjs +8 -2
- package/dist/encoding.cjs.map +1 -1
- package/dist/encoding.d.ts +3 -0
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.test.d.ts +6 -1
- package/dist/encoding.test.d.ts.map +1 -1
- package/dist/{environment-60b83194.cjs → environment-3c81ab2f.cjs} +36 -13
- package/dist/environment-3c81ab2f.cjs.map +1 -0
- package/dist/environment.cjs +5 -1
- package/dist/environment.cjs.map +1 -1
- package/dist/environment.d.ts +1 -0
- package/dist/environment.d.ts.map +1 -1
- package/dist/{function-e4045b1d.cjs → function-3410854f.cjs} +14 -2
- package/dist/{function-e4045b1d.cjs.map → function-3410854f.cjs.map} +1 -1
- package/dist/function.cjs +2 -1
- package/dist/function.cjs.map +1 -1
- package/dist/function.d.ts +1 -0
- package/dist/function.d.ts.map +1 -1
- package/dist/index.cjs +7 -7
- package/dist/list.cjs +52 -1
- package/dist/list.cjs.map +1 -1
- package/dist/list.d.ts +5 -0
- package/dist/list.d.ts.map +1 -1
- package/dist/list.test.d.ts.map +1 -1
- package/dist/{logging-0a4d8595.cjs → logging-a2dc7e43.cjs} +131 -34
- package/dist/logging-a2dc7e43.cjs.map +1 -0
- package/dist/logging.cjs +3 -3
- package/dist/logging.d.ts.map +1 -1
- package/dist/number.test.d.ts +1 -0
- package/dist/number.test.d.ts.map +1 -1
- package/dist/{prng-bbec83e2.cjs → prng-c71ea8ea.cjs} +2 -2
- package/dist/{prng-bbec83e2.cjs.map → prng-c71ea8ea.cjs.map} +1 -1
- package/dist/prng.cjs +6 -3
- package/dist/prng.cjs.map +1 -1
- package/dist/testing.cjs +9 -9
- package/dist/testing.cjs.map +1 -1
- package/encoding.d.ts +3 -0
- package/encoding.d.ts.map +1 -1
- package/encoding.js +46 -14
- package/encoding.test.d.ts +6 -1
- package/encoding.test.d.ts.map +1 -1
- package/environment.d.ts +1 -0
- package/environment.d.ts.map +1 -1
- package/environment.js +32 -11
- package/function.d.ts +1 -0
- package/function.d.ts.map +1 -1
- package/function.js +10 -0
- package/list.d.ts +5 -0
- package/list.d.ts.map +1 -1
- package/list.js +46 -1
- package/list.test.d.ts.map +1 -1
- package/logging.d.ts.map +1 -1
- package/logging.js +128 -31
- package/number.test.d.ts +1 -0
- package/number.test.d.ts.map +1 -1
- package/package.json +2 -2
- package/testing.js +3 -3
- package/.circleci/config.yml +0 -7
- package/dist/buffer-c98f67d5.cjs.map +0 -1
- package/dist/environment-60b83194.cjs.map +0 -1
- package/dist/logging-0a4d8595.cjs.map +0 -1
- package/dist/test.cjs +0 -7637
- package/dist/test.cjs.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -7664
- package/dist/test.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var environment = require('./environment-
|
|
3
|
+
var environment = require('./environment-3c81ab2f.cjs');
|
|
4
4
|
var symbol = require('./symbol-c5caa724.cjs');
|
|
5
5
|
var pair = require('./pair-ab022bc3.cjs');
|
|
6
6
|
var dom = require('./dom-58958c04.cjs');
|
|
@@ -9,7 +9,7 @@ var map = require('./map-28a001c9.cjs');
|
|
|
9
9
|
var eventloop = require('./eventloop-c60b5658.cjs');
|
|
10
10
|
var math = require('./math-08e068f9.cjs');
|
|
11
11
|
var time = require('./time-e00067da.cjs');
|
|
12
|
-
var _function = require('./function-
|
|
12
|
+
var _function = require('./function-3410854f.cjs');
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Isomorphic logging module with support for colors!
|
|
@@ -59,7 +59,7 @@ const _nodeStyleMap = {
|
|
|
59
59
|
* @param {Array<string|Symbol|Object|number>} args
|
|
60
60
|
* @return {Array<string|object|number>}
|
|
61
61
|
*/
|
|
62
|
-
const computeBrowserLoggingArgs = args => {
|
|
62
|
+
const computeBrowserLoggingArgs = (args) => {
|
|
63
63
|
const strBuilder = [];
|
|
64
64
|
const styles = [];
|
|
65
65
|
const currentStyle = map.create();
|
|
@@ -106,11 +106,54 @@ const computeBrowserLoggingArgs = args => {
|
|
|
106
106
|
return logArgs
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
+
/* istanbul ignore next */
|
|
110
|
+
/**
|
|
111
|
+
* @param {Array<string|Symbol|Object|number>} args
|
|
112
|
+
* @return {Array<string|object|number>}
|
|
113
|
+
*/
|
|
114
|
+
const computeNoColorLoggingArgs = args => {
|
|
115
|
+
const strBuilder = [];
|
|
116
|
+
const logArgs = [];
|
|
117
|
+
|
|
118
|
+
// try with formatting until we find something unsupported
|
|
119
|
+
let i = 0;
|
|
120
|
+
|
|
121
|
+
for (; i < args.length; i++) {
|
|
122
|
+
const arg = args[i];
|
|
123
|
+
// @ts-ignore
|
|
124
|
+
const style = _nodeStyleMap[arg];
|
|
125
|
+
if (style === undefined) {
|
|
126
|
+
if (arg.constructor === String || arg.constructor === Number) {
|
|
127
|
+
strBuilder.push(arg);
|
|
128
|
+
} else {
|
|
129
|
+
break
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (i > 0) {
|
|
134
|
+
logArgs.push(strBuilder.join(''));
|
|
135
|
+
}
|
|
136
|
+
// append the rest
|
|
137
|
+
for (; i < args.length; i++) {
|
|
138
|
+
const arg = args[i];
|
|
139
|
+
/* istanbul ignore else */
|
|
140
|
+
if (!(arg instanceof Symbol)) {
|
|
141
|
+
if (arg.constructor === Object) {
|
|
142
|
+
logArgs.push(JSON.stringify(arg));
|
|
143
|
+
} else {
|
|
144
|
+
logArgs.push(arg);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return logArgs
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
/* istanbul ignore next */
|
|
109
152
|
/**
|
|
110
153
|
* @param {Array<string|Symbol|Object|number>} args
|
|
111
154
|
* @return {Array<string|object|number>}
|
|
112
155
|
*/
|
|
113
|
-
const computeNodeLoggingArgs = args => {
|
|
156
|
+
const computeNodeLoggingArgs = (args) => {
|
|
114
157
|
const strBuilder = [];
|
|
115
158
|
const logArgs = [];
|
|
116
159
|
|
|
@@ -148,7 +191,9 @@ const computeNodeLoggingArgs = args => {
|
|
|
148
191
|
};
|
|
149
192
|
|
|
150
193
|
/* istanbul ignore next */
|
|
151
|
-
const computeLoggingArgs = environment.
|
|
194
|
+
const computeLoggingArgs = environment.supportsColor
|
|
195
|
+
? (environment.isNode ? computeNodeLoggingArgs : computeBrowserLoggingArgs)
|
|
196
|
+
: computeNoColorLoggingArgs;
|
|
152
197
|
|
|
153
198
|
/**
|
|
154
199
|
* @param {Array<string|Symbol|Object|number>} args
|
|
@@ -156,7 +201,7 @@ const computeLoggingArgs = environment.isNode ? computeNodeLoggingArgs : compute
|
|
|
156
201
|
const print = (...args) => {
|
|
157
202
|
console.log(...computeLoggingArgs(args));
|
|
158
203
|
/* istanbul ignore next */
|
|
159
|
-
vconsoles.forEach(vc => vc.print(args));
|
|
204
|
+
vconsoles.forEach((vc) => vc.print(args));
|
|
160
205
|
};
|
|
161
206
|
|
|
162
207
|
/* istanbul ignore next */
|
|
@@ -166,16 +211,16 @@ const print = (...args) => {
|
|
|
166
211
|
const warn = (...args) => {
|
|
167
212
|
console.warn(...computeLoggingArgs(args));
|
|
168
213
|
args.unshift(ORANGE);
|
|
169
|
-
vconsoles.forEach(vc => vc.print(args));
|
|
214
|
+
vconsoles.forEach((vc) => vc.print(args));
|
|
170
215
|
};
|
|
171
216
|
|
|
172
217
|
/* istanbul ignore next */
|
|
173
218
|
/**
|
|
174
219
|
* @param {Error} err
|
|
175
220
|
*/
|
|
176
|
-
const printError = err => {
|
|
221
|
+
const printError = (err) => {
|
|
177
222
|
console.error(err);
|
|
178
|
-
vconsoles.forEach(vc => vc.printError(err));
|
|
223
|
+
vconsoles.forEach((vc) => vc.printError(err));
|
|
179
224
|
};
|
|
180
225
|
|
|
181
226
|
/* istanbul ignore next */
|
|
@@ -185,10 +230,13 @@ const printError = err => {
|
|
|
185
230
|
*/
|
|
186
231
|
const printImg = (url, height) => {
|
|
187
232
|
if (environment.isBrowser) {
|
|
188
|
-
console.log(
|
|
233
|
+
console.log(
|
|
234
|
+
'%c ',
|
|
235
|
+
`font-size: ${height}px; background-size: contain; background-repeat: no-repeat; background-image: url(${url})`
|
|
236
|
+
);
|
|
189
237
|
// console.log('%c ', `font-size: ${height}x; background: url(${url}) no-repeat;`)
|
|
190
238
|
}
|
|
191
|
-
vconsoles.forEach(vc => vc.printImg(url, height));
|
|
239
|
+
vconsoles.forEach((vc) => vc.printImg(url, height));
|
|
192
240
|
};
|
|
193
241
|
|
|
194
242
|
/* istanbul ignore next */
|
|
@@ -196,7 +244,8 @@ const printImg = (url, height) => {
|
|
|
196
244
|
* @param {string} base64
|
|
197
245
|
* @param {number} height
|
|
198
246
|
*/
|
|
199
|
-
const printImgBase64 = (base64, height) =>
|
|
247
|
+
const printImgBase64 = (base64, height) =>
|
|
248
|
+
printImg(`data:image/gif;base64,${base64}`, height);
|
|
200
249
|
|
|
201
250
|
/**
|
|
202
251
|
* @param {Array<string|Symbol|Object|number>} args
|
|
@@ -204,7 +253,7 @@ const printImgBase64 = (base64, height) => printImg(`data:image/gif;base64,${bas
|
|
|
204
253
|
const group = (...args) => {
|
|
205
254
|
console.group(...computeLoggingArgs(args));
|
|
206
255
|
/* istanbul ignore next */
|
|
207
|
-
vconsoles.forEach(vc => vc.group(args));
|
|
256
|
+
vconsoles.forEach((vc) => vc.group(args));
|
|
208
257
|
};
|
|
209
258
|
|
|
210
259
|
/**
|
|
@@ -213,28 +262,29 @@ const group = (...args) => {
|
|
|
213
262
|
const groupCollapsed = (...args) => {
|
|
214
263
|
console.groupCollapsed(...computeLoggingArgs(args));
|
|
215
264
|
/* istanbul ignore next */
|
|
216
|
-
vconsoles.forEach(vc => vc.groupCollapsed(args));
|
|
265
|
+
vconsoles.forEach((vc) => vc.groupCollapsed(args));
|
|
217
266
|
};
|
|
218
267
|
|
|
219
268
|
const groupEnd = () => {
|
|
220
269
|
console.groupEnd();
|
|
221
270
|
/* istanbul ignore next */
|
|
222
|
-
vconsoles.forEach(vc => vc.groupEnd());
|
|
271
|
+
vconsoles.forEach((vc) => vc.groupEnd());
|
|
223
272
|
};
|
|
224
273
|
|
|
225
274
|
/* istanbul ignore next */
|
|
226
275
|
/**
|
|
227
276
|
* @param {function():Node} createNode
|
|
228
277
|
*/
|
|
229
|
-
const printDom = createNode =>
|
|
230
|
-
vconsoles.forEach(vc => vc.printDom(createNode()));
|
|
278
|
+
const printDom = (createNode) =>
|
|
279
|
+
vconsoles.forEach((vc) => vc.printDom(createNode()));
|
|
231
280
|
|
|
232
281
|
/* istanbul ignore next */
|
|
233
282
|
/**
|
|
234
283
|
* @param {HTMLCanvasElement} canvas
|
|
235
284
|
* @param {number} height
|
|
236
285
|
*/
|
|
237
|
-
const printCanvas = (canvas, height) =>
|
|
286
|
+
const printCanvas = (canvas, height) =>
|
|
287
|
+
printImg(canvas.toDataURL(), height);
|
|
238
288
|
|
|
239
289
|
const vconsoles = new Set();
|
|
240
290
|
|
|
@@ -243,7 +293,7 @@ const vconsoles = new Set();
|
|
|
243
293
|
* @param {Array<string|Symbol|Object|number>} args
|
|
244
294
|
* @return {Array<Element>}
|
|
245
295
|
*/
|
|
246
|
-
const _computeLineSpans = args => {
|
|
296
|
+
const _computeLineSpans = (args) => {
|
|
247
297
|
const spans = [];
|
|
248
298
|
const currentStyle = new Map();
|
|
249
299
|
// try with formatting until we find something unsupported
|
|
@@ -257,7 +307,9 @@ const _computeLineSpans = args => {
|
|
|
257
307
|
} else {
|
|
258
308
|
if (arg.constructor === String || arg.constructor === Number) {
|
|
259
309
|
// @ts-ignore
|
|
260
|
-
const span = dom.element('span', [
|
|
310
|
+
const span = dom.element('span', [
|
|
311
|
+
pair.create('style', dom.mapToStyleString(currentStyle))
|
|
312
|
+
], [dom.text(arg.toString())]);
|
|
261
313
|
if (span.innerHTML === '') {
|
|
262
314
|
span.innerHTML = ' ';
|
|
263
315
|
}
|
|
@@ -274,13 +326,16 @@ const _computeLineSpans = args => {
|
|
|
274
326
|
if (content.constructor !== String && content.constructor !== Number) {
|
|
275
327
|
content = ' ' + json.stringify(content) + ' ';
|
|
276
328
|
}
|
|
277
|
-
spans.push(
|
|
329
|
+
spans.push(
|
|
330
|
+
dom.element('span', [], [dom.text(/** @type {string} */ (content))])
|
|
331
|
+
);
|
|
278
332
|
}
|
|
279
333
|
}
|
|
280
334
|
return spans
|
|
281
335
|
};
|
|
282
336
|
|
|
283
|
-
const lineStyle =
|
|
337
|
+
const lineStyle =
|
|
338
|
+
'font-family:monospace;border-bottom:1px solid #e2e2e2;padding:2px;';
|
|
284
339
|
|
|
285
340
|
/* istanbul ignore next */
|
|
286
341
|
class VConsole {
|
|
@@ -303,16 +358,33 @@ class VConsole {
|
|
|
303
358
|
*/
|
|
304
359
|
group (args, collapsed = false) {
|
|
305
360
|
eventloop.enqueue(() => {
|
|
306
|
-
const triangleDown = dom.element('span', [
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
361
|
+
const triangleDown = dom.element('span', [
|
|
362
|
+
pair.create('hidden', collapsed),
|
|
363
|
+
pair.create('style', 'color:grey;font-size:120%;')
|
|
364
|
+
], [dom.text('▼')]);
|
|
365
|
+
const triangleRight = dom.element('span', [
|
|
366
|
+
pair.create('hidden', !collapsed),
|
|
367
|
+
pair.create('style', 'color:grey;font-size:125%;')
|
|
368
|
+
], [dom.text('▶')]);
|
|
369
|
+
const content = dom.element(
|
|
370
|
+
'div',
|
|
371
|
+
[pair.create(
|
|
372
|
+
'style',
|
|
373
|
+
`${lineStyle};padding-left:${this.depth * 10}px`
|
|
374
|
+
)],
|
|
375
|
+
[triangleDown, triangleRight, dom.text(' ')].concat(
|
|
376
|
+
_computeLineSpans(args)
|
|
377
|
+
)
|
|
378
|
+
);
|
|
379
|
+
const nextContainer = dom.element('div', [
|
|
380
|
+
pair.create('hidden', collapsed)
|
|
381
|
+
]);
|
|
310
382
|
const nextLine = dom.element('div', [], [content, nextContainer]);
|
|
311
383
|
dom.append(this.ccontainer, [nextLine]);
|
|
312
384
|
this.ccontainer = nextContainer;
|
|
313
385
|
this.depth++;
|
|
314
386
|
// when header is clicked, collapse/uncollapse container
|
|
315
|
-
dom.addEventListener(content, 'click',
|
|
387
|
+
dom.addEventListener(content, 'click', (_event) => {
|
|
316
388
|
nextContainer.toggleAttribute('hidden');
|
|
317
389
|
triangleDown.toggleAttribute('hidden');
|
|
318
390
|
triangleRight.toggleAttribute('hidden');
|
|
@@ -342,7 +414,14 @@ class VConsole {
|
|
|
342
414
|
*/
|
|
343
415
|
print (args) {
|
|
344
416
|
eventloop.enqueue(() => {
|
|
345
|
-
dom.append(this.ccontainer, [
|
|
417
|
+
dom.append(this.ccontainer, [
|
|
418
|
+
dom.element('div', [
|
|
419
|
+
pair.create(
|
|
420
|
+
'style',
|
|
421
|
+
`${lineStyle};padding-left:${this.depth * 10}px`
|
|
422
|
+
)
|
|
423
|
+
], _computeLineSpans(args))
|
|
424
|
+
]);
|
|
346
425
|
});
|
|
347
426
|
}
|
|
348
427
|
|
|
@@ -359,7 +438,12 @@ class VConsole {
|
|
|
359
438
|
*/
|
|
360
439
|
printImg (url, height) {
|
|
361
440
|
eventloop.enqueue(() => {
|
|
362
|
-
dom.append(this.ccontainer, [
|
|
441
|
+
dom.append(this.ccontainer, [
|
|
442
|
+
dom.element('img', [
|
|
443
|
+
pair.create('src', url),
|
|
444
|
+
pair.create('height', `${math.round(height * 1.5)}px`)
|
|
445
|
+
])
|
|
446
|
+
]);
|
|
363
447
|
});
|
|
364
448
|
}
|
|
365
449
|
|
|
@@ -383,7 +467,7 @@ class VConsole {
|
|
|
383
467
|
/**
|
|
384
468
|
* @param {Element} dom
|
|
385
469
|
*/
|
|
386
|
-
const createVConsole = dom => new VConsole(dom);
|
|
470
|
+
const createVConsole = (dom) => new VConsole(dom);
|
|
387
471
|
|
|
388
472
|
const loggingColors = [GREEN, PURPLE, ORANGE, BLUE];
|
|
389
473
|
let nextColor = 0;
|
|
@@ -393,10 +477,12 @@ let lastLoggingTime = time.getUnixTime();
|
|
|
393
477
|
* @param {string} moduleName
|
|
394
478
|
* @return {function(...any):void}
|
|
395
479
|
*/
|
|
396
|
-
const createModuleLogger = moduleName => {
|
|
480
|
+
const createModuleLogger = (moduleName) => {
|
|
397
481
|
const color = loggingColors[nextColor];
|
|
398
482
|
const debugRegexVar = environment.getVariable('log');
|
|
399
|
-
const doLogging = debugRegexVar !== null &&
|
|
483
|
+
const doLogging = debugRegexVar !== null &&
|
|
484
|
+
(debugRegexVar === '*' || debugRegexVar === 'true' ||
|
|
485
|
+
new RegExp(debugRegexVar, 'gi').test(moduleName));
|
|
400
486
|
nextColor = (nextColor + 1) % loggingColors.length;
|
|
401
487
|
moduleName += ': ';
|
|
402
488
|
|
|
@@ -404,7 +490,18 @@ const createModuleLogger = moduleName => {
|
|
|
404
490
|
const timeNow = time.getUnixTime();
|
|
405
491
|
const timeDiff = timeNow - lastLoggingTime;
|
|
406
492
|
lastLoggingTime = timeNow;
|
|
407
|
-
print(
|
|
493
|
+
print(
|
|
494
|
+
color,
|
|
495
|
+
moduleName,
|
|
496
|
+
UNCOLOR,
|
|
497
|
+
...args.map((arg) =>
|
|
498
|
+
(typeof arg === 'string' || typeof arg === 'symbol')
|
|
499
|
+
? arg
|
|
500
|
+
: JSON.stringify(arg)
|
|
501
|
+
),
|
|
502
|
+
color,
|
|
503
|
+
' +' + timeDiff + 'ms'
|
|
504
|
+
);
|
|
408
505
|
}
|
|
409
506
|
};
|
|
410
507
|
|
|
@@ -459,4 +556,4 @@ exports.printImg = printImg;
|
|
|
459
556
|
exports.printImgBase64 = printImgBase64;
|
|
460
557
|
exports.vconsoles = vconsoles;
|
|
461
558
|
exports.warn = warn;
|
|
462
|
-
//# sourceMappingURL=logging-
|
|
559
|
+
//# sourceMappingURL=logging-a2dc7e43.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging-a2dc7e43.cjs","sources":["../logging.js"],"sourcesContent":["/**\n * Isomorphic logging module with support for colors!\n *\n * @module logging\n */\n\nimport * as env from './environment.js'\nimport * as symbol from './symbol.js'\nimport * as pair from './pair.js'\nimport * as dom from './dom.js'\nimport * as json from './json.js'\nimport * as map from './map.js'\nimport * as eventloop from './eventloop.js'\nimport * as math from './math.js'\nimport * as time from './time.js'\nimport * as func from './function.js'\n\nexport const BOLD = symbol.create()\nexport const UNBOLD = symbol.create()\nexport const BLUE = symbol.create()\nexport const GREY = symbol.create()\nexport const GREEN = symbol.create()\nexport const RED = symbol.create()\nexport const PURPLE = symbol.create()\nexport const ORANGE = symbol.create()\nexport const UNCOLOR = symbol.create()\n\n/**\n * @type {Object<Symbol,pair.Pair<string,string>>}\n */\nconst _browserStyleMap = {\n [BOLD]: pair.create('font-weight', 'bold'),\n [UNBOLD]: pair.create('font-weight', 'normal'),\n [BLUE]: pair.create('color', 'blue'),\n [GREEN]: pair.create('color', 'green'),\n [GREY]: pair.create('color', 'grey'),\n [RED]: pair.create('color', 'red'),\n [PURPLE]: pair.create('color', 'purple'),\n [ORANGE]: pair.create('color', 'orange'), // not well supported in chrome when debugging node with inspector - TODO: deprecate\n [UNCOLOR]: pair.create('color', 'black')\n}\n\nconst _nodeStyleMap = {\n [BOLD]: '\\u001b[1m',\n [UNBOLD]: '\\u001b[2m',\n [BLUE]: '\\x1b[34m',\n [GREEN]: '\\x1b[32m',\n [GREY]: '\\u001b[37m',\n [RED]: '\\x1b[31m',\n [PURPLE]: '\\x1b[35m',\n [ORANGE]: '\\x1b[38;5;208m',\n [UNCOLOR]: '\\x1b[0m'\n}\n\n/* istanbul ignore next */\n/**\n * @param {Array<string|Symbol|Object|number>} args\n * @return {Array<string|object|number>}\n */\nconst computeBrowserLoggingArgs = (args) => {\n const strBuilder = []\n const styles = []\n const currentStyle = map.create()\n /**\n * @type {Array<string|Object|number>}\n */\n let logArgs = []\n // try with formatting until we find something unsupported\n let i = 0\n\n for (; i < args.length; i++) {\n const arg = args[i]\n // @ts-ignore\n const style = _browserStyleMap[arg]\n if (style !== undefined) {\n currentStyle.set(style.left, style.right)\n } else {\n if (arg.constructor === String || arg.constructor === Number) {\n const style = dom.mapToStyleString(currentStyle)\n if (i > 0 || style.length > 0) {\n strBuilder.push('%c' + arg)\n styles.push(style)\n } else {\n strBuilder.push(arg)\n }\n } else {\n break\n }\n }\n }\n\n if (i > 0) {\n // create logArgs with what we have so far\n logArgs = styles\n logArgs.unshift(strBuilder.join(''))\n }\n // append the rest\n for (; i < args.length; i++) {\n const arg = args[i]\n if (!(arg instanceof Symbol)) {\n logArgs.push(arg)\n }\n }\n return logArgs\n}\n\n/* istanbul ignore next */\n/**\n * @param {Array<string|Symbol|Object|number>} args\n * @return {Array<string|object|number>}\n */\nconst computeNoColorLoggingArgs = args => {\n const strBuilder = []\n const logArgs = []\n\n // try with formatting until we find something unsupported\n let i = 0\n\n for (; i < args.length; i++) {\n const arg = args[i]\n // @ts-ignore\n const style = _nodeStyleMap[arg]\n if (style === undefined) {\n if (arg.constructor === String || arg.constructor === Number) {\n strBuilder.push(arg)\n } else {\n break\n }\n }\n }\n if (i > 0) {\n logArgs.push(strBuilder.join(''))\n }\n // append the rest\n for (; i < args.length; i++) {\n const arg = args[i]\n /* istanbul ignore else */\n if (!(arg instanceof Symbol)) {\n if (arg.constructor === Object) {\n logArgs.push(JSON.stringify(arg))\n } else {\n logArgs.push(arg)\n }\n }\n }\n return logArgs\n}\n\n/* istanbul ignore next */\n/**\n * @param {Array<string|Symbol|Object|number>} args\n * @return {Array<string|object|number>}\n */\nconst computeNodeLoggingArgs = (args) => {\n const strBuilder = []\n const logArgs = []\n\n // try with formatting until we find something unsupported\n let i = 0\n\n for (; i < args.length; i++) {\n const arg = args[i]\n // @ts-ignore\n const style = _nodeStyleMap[arg]\n if (style !== undefined) {\n strBuilder.push(style)\n } else {\n if (arg.constructor === String || arg.constructor === Number) {\n strBuilder.push(arg)\n } else {\n break\n }\n }\n }\n if (i > 0) {\n // create logArgs with what we have so far\n strBuilder.push('\\x1b[0m')\n logArgs.push(strBuilder.join(''))\n }\n // append the rest\n for (; i < args.length; i++) {\n const arg = args[i]\n /* istanbul ignore else */\n if (!(arg instanceof Symbol)) {\n logArgs.push(arg)\n }\n }\n return logArgs\n}\n\n/* istanbul ignore next */\nconst computeLoggingArgs = env.supportsColor\n ? (env.isNode ? computeNodeLoggingArgs : computeBrowserLoggingArgs)\n : computeNoColorLoggingArgs\n\n/**\n * @param {Array<string|Symbol|Object|number>} args\n */\nexport const print = (...args) => {\n console.log(...computeLoggingArgs(args))\n /* istanbul ignore next */\n vconsoles.forEach((vc) => vc.print(args))\n}\n\n/* istanbul ignore next */\n/**\n * @param {Array<string|Symbol|Object|number>} args\n */\nexport const warn = (...args) => {\n console.warn(...computeLoggingArgs(args))\n args.unshift(ORANGE)\n vconsoles.forEach((vc) => vc.print(args))\n}\n\n/* istanbul ignore next */\n/**\n * @param {Error} err\n */\nexport const printError = (err) => {\n console.error(err)\n vconsoles.forEach((vc) => vc.printError(err))\n}\n\n/* istanbul ignore next */\n/**\n * @param {string} url image location\n * @param {number} height height of the image in pixel\n */\nexport const printImg = (url, height) => {\n if (env.isBrowser) {\n console.log(\n '%c ',\n `font-size: ${height}px; background-size: contain; background-repeat: no-repeat; background-image: url(${url})`\n )\n // console.log('%c ', `font-size: ${height}x; background: url(${url}) no-repeat;`)\n }\n vconsoles.forEach((vc) => vc.printImg(url, height))\n}\n\n/* istanbul ignore next */\n/**\n * @param {string} base64\n * @param {number} height\n */\nexport const printImgBase64 = (base64, height) =>\n printImg(`data:image/gif;base64,${base64}`, height)\n\n/**\n * @param {Array<string|Symbol|Object|number>} args\n */\nexport const group = (...args) => {\n console.group(...computeLoggingArgs(args))\n /* istanbul ignore next */\n vconsoles.forEach((vc) => vc.group(args))\n}\n\n/**\n * @param {Array<string|Symbol|Object|number>} args\n */\nexport const groupCollapsed = (...args) => {\n console.groupCollapsed(...computeLoggingArgs(args))\n /* istanbul ignore next */\n vconsoles.forEach((vc) => vc.groupCollapsed(args))\n}\n\nexport const groupEnd = () => {\n console.groupEnd()\n /* istanbul ignore next */\n vconsoles.forEach((vc) => vc.groupEnd())\n}\n\n/* istanbul ignore next */\n/**\n * @param {function():Node} createNode\n */\nexport const printDom = (createNode) =>\n vconsoles.forEach((vc) => vc.printDom(createNode()))\n\n/* istanbul ignore next */\n/**\n * @param {HTMLCanvasElement} canvas\n * @param {number} height\n */\nexport const printCanvas = (canvas, height) =>\n printImg(canvas.toDataURL(), height)\n\nexport const vconsoles = new Set()\n\n/* istanbul ignore next */\n/**\n * @param {Array<string|Symbol|Object|number>} args\n * @return {Array<Element>}\n */\nconst _computeLineSpans = (args) => {\n const spans = []\n const currentStyle = new Map()\n // try with formatting until we find something unsupported\n let i = 0\n for (; i < args.length; i++) {\n const arg = args[i]\n // @ts-ignore\n const style = _browserStyleMap[arg]\n if (style !== undefined) {\n currentStyle.set(style.left, style.right)\n } else {\n if (arg.constructor === String || arg.constructor === Number) {\n // @ts-ignore\n const span = dom.element('span', [\n pair.create('style', dom.mapToStyleString(currentStyle))\n ], [dom.text(arg.toString())])\n if (span.innerHTML === '') {\n span.innerHTML = ' '\n }\n spans.push(span)\n } else {\n break\n }\n }\n }\n // append the rest\n for (; i < args.length; i++) {\n let content = args[i]\n if (!(content instanceof Symbol)) {\n if (content.constructor !== String && content.constructor !== Number) {\n content = ' ' + json.stringify(content) + ' '\n }\n spans.push(\n dom.element('span', [], [dom.text(/** @type {string} */ (content))])\n )\n }\n }\n return spans\n}\n\nconst lineStyle =\n 'font-family:monospace;border-bottom:1px solid #e2e2e2;padding:2px;'\n\n/* istanbul ignore next */\nexport class VConsole {\n /**\n * @param {Element} dom\n */\n constructor (dom) {\n this.dom = dom\n /**\n * @type {Element}\n */\n this.ccontainer = this.dom\n this.depth = 0\n vconsoles.add(this)\n }\n\n /**\n * @param {Array<string|Symbol|Object|number>} args\n * @param {boolean} collapsed\n */\n group (args, collapsed = false) {\n eventloop.enqueue(() => {\n const triangleDown = dom.element('span', [\n pair.create('hidden', collapsed),\n pair.create('style', 'color:grey;font-size:120%;')\n ], [dom.text('▼')])\n const triangleRight = dom.element('span', [\n pair.create('hidden', !collapsed),\n pair.create('style', 'color:grey;font-size:125%;')\n ], [dom.text('▶')])\n const content = dom.element(\n 'div',\n [pair.create(\n 'style',\n `${lineStyle};padding-left:${this.depth * 10}px`\n )],\n [triangleDown, triangleRight, dom.text(' ')].concat(\n _computeLineSpans(args)\n )\n )\n const nextContainer = dom.element('div', [\n pair.create('hidden', collapsed)\n ])\n const nextLine = dom.element('div', [], [content, nextContainer])\n dom.append(this.ccontainer, [nextLine])\n this.ccontainer = nextContainer\n this.depth++\n // when header is clicked, collapse/uncollapse container\n dom.addEventListener(content, 'click', (_event) => {\n nextContainer.toggleAttribute('hidden')\n triangleDown.toggleAttribute('hidden')\n triangleRight.toggleAttribute('hidden')\n })\n })\n }\n\n /**\n * @param {Array<string|Symbol|Object|number>} args\n */\n groupCollapsed (args) {\n this.group(args, true)\n }\n\n groupEnd () {\n eventloop.enqueue(() => {\n if (this.depth > 0) {\n this.depth--\n // @ts-ignore\n this.ccontainer = this.ccontainer.parentElement.parentElement\n }\n })\n }\n\n /**\n * @param {Array<string|Symbol|Object|number>} args\n */\n print (args) {\n eventloop.enqueue(() => {\n dom.append(this.ccontainer, [\n dom.element('div', [\n pair.create(\n 'style',\n `${lineStyle};padding-left:${this.depth * 10}px`\n )\n ], _computeLineSpans(args))\n ])\n })\n }\n\n /**\n * @param {Error} err\n */\n printError (err) {\n this.print([RED, BOLD, err.toString()])\n }\n\n /**\n * @param {string} url\n * @param {number} height\n */\n printImg (url, height) {\n eventloop.enqueue(() => {\n dom.append(this.ccontainer, [\n dom.element('img', [\n pair.create('src', url),\n pair.create('height', `${math.round(height * 1.5)}px`)\n ])\n ])\n })\n }\n\n /**\n * @param {Node} node\n */\n printDom (node) {\n eventloop.enqueue(() => {\n dom.append(this.ccontainer, [node])\n })\n }\n\n destroy () {\n eventloop.enqueue(() => {\n vconsoles.delete(this)\n })\n }\n}\n\n/* istanbul ignore next */\n/**\n * @param {Element} dom\n */\nexport const createVConsole = (dom) => new VConsole(dom)\n\nconst loggingColors = [GREEN, PURPLE, ORANGE, BLUE]\nlet nextColor = 0\nlet lastLoggingTime = time.getUnixTime()\n\n/**\n * @param {string} moduleName\n * @return {function(...any):void}\n */\nexport const createModuleLogger = (moduleName) => {\n const color = loggingColors[nextColor]\n const debugRegexVar = env.getVariable('log')\n const doLogging = debugRegexVar !== null &&\n (debugRegexVar === '*' || debugRegexVar === 'true' ||\n new RegExp(debugRegexVar, 'gi').test(moduleName))\n nextColor = (nextColor + 1) % loggingColors.length\n moduleName += ': '\n\n return !doLogging ? func.nop : (...args) => {\n const timeNow = time.getUnixTime()\n const timeDiff = timeNow - lastLoggingTime\n lastLoggingTime = timeNow\n print(\n color,\n moduleName,\n UNCOLOR,\n ...args.map((arg) =>\n (typeof arg === 'string' || typeof arg === 'symbol')\n ? arg\n : JSON.stringify(arg)\n ),\n color,\n ' +' + timeDiff + 'ms'\n )\n }\n}\n"],"names":["symbol.create","pair.create","map.create","dom.mapToStyleString","env.supportsColor","env.isNode","env.isBrowser","dom.element","dom.text","json.stringify","eventloop.enqueue","dom.append","dom.addEventListener","math.round","time.getUnixTime","env.getVariable","func.nop"],"mappings":"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"}
|
package/dist/logging.cjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./environment-
|
|
5
|
+
require('./environment-3c81ab2f.cjs');
|
|
6
6
|
require('./symbol-c5caa724.cjs');
|
|
7
7
|
require('./pair-ab022bc3.cjs');
|
|
8
8
|
require('./dom-58958c04.cjs');
|
|
@@ -11,8 +11,8 @@ require('./map-28a001c9.cjs');
|
|
|
11
11
|
require('./eventloop-c60b5658.cjs');
|
|
12
12
|
require('./math-08e068f9.cjs');
|
|
13
13
|
require('./time-e00067da.cjs');
|
|
14
|
-
require('./function-
|
|
15
|
-
var logging = require('./logging-
|
|
14
|
+
require('./function-3410854f.cjs');
|
|
15
|
+
var logging = require('./logging-a2dc7e43.cjs');
|
|
16
16
|
require('./string-ad04f734.cjs');
|
|
17
17
|
require('./conditions-fb475c70.cjs');
|
|
18
18
|
require('./storage.cjs');
|
package/dist/logging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../logging.js"],"names":[],"mappings":"AAiBA,0BAAmC;AACnC,4BAAqC;AACrC,0BAAmC;AACnC,0BAAmC;AACnC,2BAAoC;AACpC,yBAAkC;AAClC,4BAAqC;AACrC,4BAAqC;AACrC,6BAAsC;
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../logging.js"],"names":[],"mappings":"AAiBA,0BAAmC;AACnC,4BAAqC;AACrC,0BAAmC;AACnC,0BAAmC;AACnC,2BAAoC;AACpC,yBAAkC;AAClC,4BAAqC;AACrC,4BAAqC;AACrC,6BAAsC;AA6K/B,+BAFI,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,QAM5C;AAMM,8BAFI,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,QAM5C;AAMM,gCAFI,KAAK,QAKf;AAOM,8BAHI,MAAM,UACN,MAAM,QAWhB;AAOM,uCAHI,MAAM,UACN,MAAM,QAGoC;AAK9C,+BAFI,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,QAM5C;AAKM,wCAFI,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,QAM5C;AAEM,iCAIN;AAMM,2CAFe,IAAI,QAG4B;AAO/C,oCAHI,iBAAiB,UACjB,MAAM,QAGqB;AAEtC,iCAAkC;AAoDlC;IACE;;OAEG;IACH,iBAFW,OAAO,EAUjB;IAPC,aAAc;IACd;;OAEG;IACH,YAFU,OAAO,CAES;IAC1B,cAAc;IAIhB;;;OAGG;IACH,YAHW,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,cAClC,OAAO,QAoCjB;IAED;;OAEG;IACH,qBAFW,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,QAI5C;IAED,iBAQC;IAED;;OAEG;IACH,YAFW,MAAM,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC,QAa5C;IAED;;OAEG;IACH,gBAFW,KAAK,QAIf;IAED;;;OAGG;IACH,cAHW,MAAM,UACN,MAAM,QAWhB;IAED;;OAEG;IACH,eAFW,IAAI,QAMd;IAED,gBAIC;CACF;AAMM,oCAFI,OAAO,YAEsC;AAUjD,+CAHI,MAAM,aACO,GAAG,OAAE,IAAI,CA4BhC"}
|
package/dist/number.test.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.test.d.ts","sourceRoot":"","sources":["../number.test.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"number.test.d.ts","sourceRoot":"","sources":["../number.test.js"],"names":[],"mappings":"AAQO,+BAFI,EAAE,QAAQ,QAcpB;AAOM,wCAFI,EAAE,QAAQ,QA6DpB"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var binary = require('./binary-ac8e39e2.cjs');
|
|
4
4
|
var string = require('./string-ad04f734.cjs');
|
|
5
5
|
var math = require('./math-08e068f9.cjs');
|
|
6
|
-
var encoding = require('./buffer-
|
|
6
|
+
var encoding = require('./buffer-9c449d1d.cjs');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @module prng
|
|
@@ -383,4 +383,4 @@ exports.uint8Array = uint8Array;
|
|
|
383
383
|
exports.utf16Rune = utf16Rune;
|
|
384
384
|
exports.utf16String = utf16String;
|
|
385
385
|
exports.word = word;
|
|
386
|
-
//# sourceMappingURL=prng-
|
|
386
|
+
//# sourceMappingURL=prng-c71ea8ea.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prng-bbec83e2.cjs","sources":["../prng/Xorshift32.js","../prng/Xoroshiro128plus.js","../prng.js"],"sourcesContent":["/**\n * @module prng\n */\n\nimport * as binary from '../binary.js'\n\n/**\n * Xorshift32 is a very simple but elegang PRNG with a period of `2^32-1`.\n */\nexport class Xorshift32 {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n /**\n * @type {number}\n */\n this._state = seed\n }\n\n /**\n * Generate a random signed integer.\n *\n * @return {Number} A 32 bit signed integer.\n */\n next () {\n let x = this._state\n x ^= x << 13\n x ^= x >> 17\n x ^= x << 5\n this._state = x\n return (x >>> 0) / (binary.BITS32 + 1)\n }\n}\n","/**\n * @module prng\n */\n\nimport { Xorshift32 } from './Xorshift32.js'\nimport * as binary from '../binary.js'\n\n/**\n * This is a variant of xoroshiro128plus - the fastest full-period generator passing BigCrush without systematic failures.\n *\n * This implementation follows the idea of the original xoroshiro128plus implementation,\n * but is optimized for the JavaScript runtime. I.e.\n * * The operations are performed on 32bit integers (the original implementation works with 64bit values).\n * * The initial 128bit state is computed based on a 32bit seed and Xorshift32.\n * * This implementation returns two 32bit values based on the 64bit value that is computed by xoroshiro128plus.\n * Caution: The last addition step works slightly different than in the original implementation - the add carry of the\n * first 32bit addition is not carried over to the last 32bit.\n *\n * [Reference implementation](http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c)\n */\nexport class Xoroshiro128plus {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n // This is a variant of Xoroshiro128plus to fill the initial state\n const xorshift32 = new Xorshift32(seed)\n this.state = new Uint32Array(4)\n for (let i = 0; i < 4; i++) {\n this.state[i] = xorshift32.next() * binary.BITS32\n }\n this._fresh = true\n }\n\n /**\n * @return {number} Float/Double in [0,1)\n */\n next () {\n const state = this.state\n if (this._fresh) {\n this._fresh = false\n return ((state[0] + state[2]) >>> 0) / (binary.BITS32 + 1)\n } else {\n this._fresh = true\n const s0 = state[0]\n const s1 = state[1]\n const s2 = state[2] ^ s0\n const s3 = state[3] ^ s1\n // function js_rotl (x, k) {\n // k = k - 32\n // const x1 = x[0]\n // const x2 = x[1]\n // x[0] = x2 << k | x1 >>> (32 - k)\n // x[1] = x1 << k | x2 >>> (32 - k)\n // }\n // rotl(s0, 55) // k = 23 = 55 - 32; j = 9 = 32 - 23\n state[0] = (s1 << 23 | s0 >>> 9) ^ s2 ^ (s2 << 14 | s3 >>> 18)\n state[1] = (s0 << 23 | s1 >>> 9) ^ s3 ^ (s3 << 14)\n // rol(s1, 36) // k = 4 = 36 - 32; j = 23 = 32 - 9\n state[2] = s3 << 4 | s2 >>> 28\n state[3] = s2 << 4 | s3 >>> 28\n return (((state[1] + state[3]) >>> 0) / (binary.BITS32 + 1))\n }\n }\n}\n\n/*\n// Reference implementation\n// Source: http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c\n// By David Blackman and Sebastiano Vigna\n// Who published the reference implementation under Public Domain (CC0)\n\n#include <stdint.h>\n#include <stdio.h>\n\nuint64_t s[2];\n\nstatic inline uint64_t rotl(const uint64_t x, int k) {\n return (x << k) | (x >> (64 - k));\n}\n\nuint64_t next(void) {\n const uint64_t s0 = s[0];\n uint64_t s1 = s[1];\n s1 ^= s0;\n s[0] = rotl(s0, 55) ^ s1 ^ (s1 << 14); // a, b\n s[1] = rotl(s1, 36); // c\n return (s[0] + s[1]) & 0xFFFFFFFF;\n}\n\nint main(void)\n{\n int i;\n s[0] = 1111 | (1337ul << 32);\n s[1] = 1234 | (9999ul << 32);\n\n printf(\"1000 outputs of genrand_int31()\\n\");\n for (i=0; i<100; i++) {\n printf(\"%10lu \", i);\n printf(\"%10lu \", next());\n printf(\"- %10lu \", s[0] >> 32);\n printf(\"%10lu \", (s[0] << 32) >> 32);\n printf(\"%10lu \", s[1] >> 32);\n printf(\"%10lu \", (s[1] << 32) >> 32);\n printf(\"\\n\");\n // if (i%5==4) printf(\"\\n\");\n }\n return 0;\n}\n*/\n","/**\n * Fast Pseudo Random Number Generators.\n *\n * Given a seed a PRNG generates a sequence of numbers that cannot be reasonably predicted.\n * Two PRNGs must generate the same random sequence of numbers if given the same seed.\n *\n * @module prng\n */\n\nimport * as binary from './binary.js'\nimport { fromCharCode, fromCodePoint } from './string.js'\nimport * as math from './math.js'\nimport { Xoroshiro128plus } from './prng/Xoroshiro128plus.js'\nimport * as buffer from './buffer.js'\n\n/**\n * Description of the function\n * @callback generatorNext\n * @return {number} A random float in the cange of [0,1)\n */\n\n/**\n * A random type generator.\n *\n * @typedef {Object} PRNG\n * @property {generatorNext} next Generate new number\n */\n\nexport const DefaultPRNG = Xoroshiro128plus\n\n/**\n * Create a Xoroshiro128plus Pseudo-Random-Number-Generator.\n * This is the fastest full-period generator passing BigCrush without systematic failures.\n * But there are more PRNGs available in ./PRNG/.\n *\n * @param {number} seed A positive 32bit integer. Do not use negative numbers.\n * @return {PRNG}\n */\nexport const create = seed => new DefaultPRNG(seed)\n\n/**\n * Generates a single random bool.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Boolean} A random boolean\n */\nexport const bool = gen => (gen.next() >= 0.5)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int53 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint53 = (gen, min, max) => math.abs(int53(gen, min, max))\n\n/**\n * Generates a random integer with 32 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int32 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint32 = (gen, min, max) => int32(gen, min, max) >>> 0\n\n/**\n * @deprecated\n * Optimized version of prng.int32. It has the same precision as prng.int32, but should be preferred when\n * openaring on smaller ranges.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive). The max inclusive number is `binary.BITS31-1`\n * @return {Number} A random integer on [min, max]\n */\nexport const int31 = (gen, min, max) => int32(gen, min, max)\n\n/**\n * Generates a random real on [0, 1) with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Number} A random real number on [0, 1).\n */\nexport const real53 = gen => gen.next() // (((gen.next() >>> 5) * binary.BIT26) + (gen.next() >>> 6)) / MAX_SAFE_INTEGER\n\n/**\n * Generates a random character from char code 32 - 126. I.e. Characters, Numbers, special characters, and Space:\n *\n * @param {PRNG} gen A random number generator.\n * @return {string}\n *\n * (Space)!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~\n */\nexport const char = gen => fromCharCode(int31(gen, 32, 126))\n\n/**\n * @param {PRNG} gen\n * @return {string} A single letter (a-z)\n */\nexport const letter = gen => fromCharCode(int31(gen, 97, 122))\n\n/**\n * @param {PRNG} gen\n * @param {number} [minLen=0]\n * @param {number} [maxLen=20]\n * @return {string} A random word (0-20 characters) without spaces consisting of letters (a-z)\n */\nexport const word = (gen, minLen = 0, maxLen = 20) => {\n const len = int31(gen, minLen, maxLen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += letter(gen)\n }\n return str\n}\n\n/**\n * TODO: this function produces invalid runes. Does not cover all of utf16!!\n *\n * @param {PRNG} gen\n * @return {string}\n */\nexport const utf16Rune = gen => {\n const codepoint = int31(gen, 0, 256)\n return fromCodePoint(codepoint)\n}\n\n/**\n * @param {PRNG} gen\n * @param {number} [maxlen = 20]\n */\nexport const utf16String = (gen, maxlen = 20) => {\n const len = int31(gen, 0, maxlen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += utf16Rune(gen)\n }\n return str\n}\n\n/**\n * Returns one element of a given array.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Array<T>} array Non empty Array of possible values.\n * @return {T} One of the values of the supplied Array.\n * @template T\n */\nexport const oneOf = (gen, array) => array[int31(gen, 0, array.length - 1)]\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint8Array}\n */\nexport const uint8Array = (gen, len) => {\n const buf = buffer.createUint8ArrayFromLen(len)\n for (let i = 0; i < buf.length; i++) {\n buf[i] = int32(gen, 0, binary.BITS8)\n }\n return buf\n}\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint16Array}\n */\nexport const uint16Array = (gen, len) => new Uint16Array(uint8Array(gen, len * 2).buffer)\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint32Array}\n */\nexport const uint32Array = (gen, len) => new Uint32Array(uint8Array(gen, len * 4).buffer)\n"],"names":["binary.BITS32","math.floor","math.abs","fromCharCode","fromCodePoint","buffer.createUint8ArrayFromLen","binary.BITS8"],"mappings":";;;;;;;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACO,MAAM,UAAU,CAAC;AACxB;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;AACpB;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAI;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,OAAM;AACvB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAE;AAChB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAE;AAChB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC;AACf,IAAI,IAAI,CAAC,MAAM,GAAG,EAAC;AACnB,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAKA,aAAa,GAAG,CAAC,CAAC;AAC1C,GAAG;AACH;;AClCA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,gBAAgB,CAAC;AAC9B;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;AACpB;AACA,IAAI,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAC;AAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,EAAC;AACnC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,GAAGA,cAAa;AACvD,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,KAAI;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAK;AAC5B,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AACrB,MAAM,IAAI,CAAC,MAAM,GAAG,MAAK;AACzB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAKA,aAAa,GAAG,CAAC,CAAC;AAChE,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,MAAM,GAAG,KAAI;AACxB,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAC;AACzB,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,EAAC;AACzB,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAE;AAC9B,MAAM,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAC;AACpE,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC;AACxD;AACA,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,GAAE;AACpC,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,GAAE;AACpC,MAAM,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAKA,aAAa,GAAG,CAAC,CAAC,CAAC;AAClE,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,iBAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,IAAI,IAAI,IAAI,WAAW,CAAC,IAAI,EAAC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAKC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAKC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAKD,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,GAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAG,GAAG,IAAIE,mBAAY,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAC;AAC5D;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,GAAG,IAAIA,mBAAY,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,KAAK;AACtD,EAAE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC;AACxC,EAAE,IAAI,GAAG,GAAG,GAAE;AACd,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAChC,IAAI,GAAG,IAAI,MAAM,CAAC,GAAG,EAAC;AACtB,GAAG;AACH,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,SAAS,GAAG,GAAG,IAAI;AAChC,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAC;AACtC,EAAE,OAAOC,oBAAa,CAAC,SAAS,CAAC;AACjC,EAAC;AACD;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK;AACjD,EAAE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAC;AACnC,EAAE,IAAI,GAAG,GAAG,GAAE;AACd,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAChC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAC;AACzB,GAAG;AACH,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK;AACxC,EAAE,MAAM,GAAG,GAAGC,gCAA8B,CAAC,GAAG,EAAC;AACjD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAEC,YAAY,EAAC;AACxC,GAAG;AACH,EAAE,OAAO,GAAG;AACZ,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,EAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"prng-c71ea8ea.cjs","sources":["../prng/Xorshift32.js","../prng/Xoroshiro128plus.js","../prng.js"],"sourcesContent":["/**\n * @module prng\n */\n\nimport * as binary from '../binary.js'\n\n/**\n * Xorshift32 is a very simple but elegang PRNG with a period of `2^32-1`.\n */\nexport class Xorshift32 {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n /**\n * @type {number}\n */\n this._state = seed\n }\n\n /**\n * Generate a random signed integer.\n *\n * @return {Number} A 32 bit signed integer.\n */\n next () {\n let x = this._state\n x ^= x << 13\n x ^= x >> 17\n x ^= x << 5\n this._state = x\n return (x >>> 0) / (binary.BITS32 + 1)\n }\n}\n","/**\n * @module prng\n */\n\nimport { Xorshift32 } from './Xorshift32.js'\nimport * as binary from '../binary.js'\n\n/**\n * This is a variant of xoroshiro128plus - the fastest full-period generator passing BigCrush without systematic failures.\n *\n * This implementation follows the idea of the original xoroshiro128plus implementation,\n * but is optimized for the JavaScript runtime. I.e.\n * * The operations are performed on 32bit integers (the original implementation works with 64bit values).\n * * The initial 128bit state is computed based on a 32bit seed and Xorshift32.\n * * This implementation returns two 32bit values based on the 64bit value that is computed by xoroshiro128plus.\n * Caution: The last addition step works slightly different than in the original implementation - the add carry of the\n * first 32bit addition is not carried over to the last 32bit.\n *\n * [Reference implementation](http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c)\n */\nexport class Xoroshiro128plus {\n /**\n * @param {number} seed Unsigned 32 bit number\n */\n constructor (seed) {\n this.seed = seed\n // This is a variant of Xoroshiro128plus to fill the initial state\n const xorshift32 = new Xorshift32(seed)\n this.state = new Uint32Array(4)\n for (let i = 0; i < 4; i++) {\n this.state[i] = xorshift32.next() * binary.BITS32\n }\n this._fresh = true\n }\n\n /**\n * @return {number} Float/Double in [0,1)\n */\n next () {\n const state = this.state\n if (this._fresh) {\n this._fresh = false\n return ((state[0] + state[2]) >>> 0) / (binary.BITS32 + 1)\n } else {\n this._fresh = true\n const s0 = state[0]\n const s1 = state[1]\n const s2 = state[2] ^ s0\n const s3 = state[3] ^ s1\n // function js_rotl (x, k) {\n // k = k - 32\n // const x1 = x[0]\n // const x2 = x[1]\n // x[0] = x2 << k | x1 >>> (32 - k)\n // x[1] = x1 << k | x2 >>> (32 - k)\n // }\n // rotl(s0, 55) // k = 23 = 55 - 32; j = 9 = 32 - 23\n state[0] = (s1 << 23 | s0 >>> 9) ^ s2 ^ (s2 << 14 | s3 >>> 18)\n state[1] = (s0 << 23 | s1 >>> 9) ^ s3 ^ (s3 << 14)\n // rol(s1, 36) // k = 4 = 36 - 32; j = 23 = 32 - 9\n state[2] = s3 << 4 | s2 >>> 28\n state[3] = s2 << 4 | s3 >>> 28\n return (((state[1] + state[3]) >>> 0) / (binary.BITS32 + 1))\n }\n }\n}\n\n/*\n// Reference implementation\n// Source: http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c\n// By David Blackman and Sebastiano Vigna\n// Who published the reference implementation under Public Domain (CC0)\n\n#include <stdint.h>\n#include <stdio.h>\n\nuint64_t s[2];\n\nstatic inline uint64_t rotl(const uint64_t x, int k) {\n return (x << k) | (x >> (64 - k));\n}\n\nuint64_t next(void) {\n const uint64_t s0 = s[0];\n uint64_t s1 = s[1];\n s1 ^= s0;\n s[0] = rotl(s0, 55) ^ s1 ^ (s1 << 14); // a, b\n s[1] = rotl(s1, 36); // c\n return (s[0] + s[1]) & 0xFFFFFFFF;\n}\n\nint main(void)\n{\n int i;\n s[0] = 1111 | (1337ul << 32);\n s[1] = 1234 | (9999ul << 32);\n\n printf(\"1000 outputs of genrand_int31()\\n\");\n for (i=0; i<100; i++) {\n printf(\"%10lu \", i);\n printf(\"%10lu \", next());\n printf(\"- %10lu \", s[0] >> 32);\n printf(\"%10lu \", (s[0] << 32) >> 32);\n printf(\"%10lu \", s[1] >> 32);\n printf(\"%10lu \", (s[1] << 32) >> 32);\n printf(\"\\n\");\n // if (i%5==4) printf(\"\\n\");\n }\n return 0;\n}\n*/\n","/**\n * Fast Pseudo Random Number Generators.\n *\n * Given a seed a PRNG generates a sequence of numbers that cannot be reasonably predicted.\n * Two PRNGs must generate the same random sequence of numbers if given the same seed.\n *\n * @module prng\n */\n\nimport * as binary from './binary.js'\nimport { fromCharCode, fromCodePoint } from './string.js'\nimport * as math from './math.js'\nimport { Xoroshiro128plus } from './prng/Xoroshiro128plus.js'\nimport * as buffer from './buffer.js'\n\n/**\n * Description of the function\n * @callback generatorNext\n * @return {number} A random float in the cange of [0,1)\n */\n\n/**\n * A random type generator.\n *\n * @typedef {Object} PRNG\n * @property {generatorNext} next Generate new number\n */\n\nexport const DefaultPRNG = Xoroshiro128plus\n\n/**\n * Create a Xoroshiro128plus Pseudo-Random-Number-Generator.\n * This is the fastest full-period generator passing BigCrush without systematic failures.\n * But there are more PRNGs available in ./PRNG/.\n *\n * @param {number} seed A positive 32bit integer. Do not use negative numbers.\n * @return {PRNG}\n */\nexport const create = seed => new DefaultPRNG(seed)\n\n/**\n * Generates a single random bool.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Boolean} A random boolean\n */\nexport const bool = gen => (gen.next() >= 0.5)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int53 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint53 = (gen, min, max) => math.abs(int53(gen, min, max))\n\n/**\n * Generates a random integer with 32 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const int32 = (gen, min, max) => math.floor(gen.next() * (max + 1 - min) + min)\n\n/**\n * Generates a random integer with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive).\n * @return {Number} A random integer on [min, max]\n */\nexport const uint32 = (gen, min, max) => int32(gen, min, max) >>> 0\n\n/**\n * @deprecated\n * Optimized version of prng.int32. It has the same precision as prng.int32, but should be preferred when\n * openaring on smaller ranges.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Number} min The lower bound of the allowed return values (inclusive).\n * @param {Number} max The upper bound of the allowed return values (inclusive). The max inclusive number is `binary.BITS31-1`\n * @return {Number} A random integer on [min, max]\n */\nexport const int31 = (gen, min, max) => int32(gen, min, max)\n\n/**\n * Generates a random real on [0, 1) with 53 bit resolution.\n *\n * @param {PRNG} gen A random number generator.\n * @return {Number} A random real number on [0, 1).\n */\nexport const real53 = gen => gen.next() // (((gen.next() >>> 5) * binary.BIT26) + (gen.next() >>> 6)) / MAX_SAFE_INTEGER\n\n/**\n * Generates a random character from char code 32 - 126. I.e. Characters, Numbers, special characters, and Space:\n *\n * @param {PRNG} gen A random number generator.\n * @return {string}\n *\n * (Space)!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~\n */\nexport const char = gen => fromCharCode(int31(gen, 32, 126))\n\n/**\n * @param {PRNG} gen\n * @return {string} A single letter (a-z)\n */\nexport const letter = gen => fromCharCode(int31(gen, 97, 122))\n\n/**\n * @param {PRNG} gen\n * @param {number} [minLen=0]\n * @param {number} [maxLen=20]\n * @return {string} A random word (0-20 characters) without spaces consisting of letters (a-z)\n */\nexport const word = (gen, minLen = 0, maxLen = 20) => {\n const len = int31(gen, minLen, maxLen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += letter(gen)\n }\n return str\n}\n\n/**\n * TODO: this function produces invalid runes. Does not cover all of utf16!!\n *\n * @param {PRNG} gen\n * @return {string}\n */\nexport const utf16Rune = gen => {\n const codepoint = int31(gen, 0, 256)\n return fromCodePoint(codepoint)\n}\n\n/**\n * @param {PRNG} gen\n * @param {number} [maxlen = 20]\n */\nexport const utf16String = (gen, maxlen = 20) => {\n const len = int31(gen, 0, maxlen)\n let str = ''\n for (let i = 0; i < len; i++) {\n str += utf16Rune(gen)\n }\n return str\n}\n\n/**\n * Returns one element of a given array.\n *\n * @param {PRNG} gen A random number generator.\n * @param {Array<T>} array Non empty Array of possible values.\n * @return {T} One of the values of the supplied Array.\n * @template T\n */\nexport const oneOf = (gen, array) => array[int31(gen, 0, array.length - 1)]\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint8Array}\n */\nexport const uint8Array = (gen, len) => {\n const buf = buffer.createUint8ArrayFromLen(len)\n for (let i = 0; i < buf.length; i++) {\n buf[i] = int32(gen, 0, binary.BITS8)\n }\n return buf\n}\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint16Array}\n */\nexport const uint16Array = (gen, len) => new Uint16Array(uint8Array(gen, len * 2).buffer)\n\n/**\n * @param {PRNG} gen\n * @param {number} len\n * @return {Uint32Array}\n */\nexport const uint32Array = (gen, len) => new Uint32Array(uint8Array(gen, len * 4).buffer)\n"],"names":["binary.BITS32","math.floor","math.abs","fromCharCode","fromCodePoint","buffer.createUint8ArrayFromLen","binary.BITS8"],"mappings":"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"}
|
package/dist/prng.cjs
CHANGED
|
@@ -5,12 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
require('./binary-ac8e39e2.cjs');
|
|
6
6
|
require('./string-ad04f734.cjs');
|
|
7
7
|
require('./math-08e068f9.cjs');
|
|
8
|
-
var prng = require('./prng-
|
|
9
|
-
require('./buffer-
|
|
10
|
-
require('./environment-
|
|
8
|
+
var prng = require('./prng-c71ea8ea.cjs');
|
|
9
|
+
require('./buffer-9c449d1d.cjs');
|
|
10
|
+
require('./environment-3c81ab2f.cjs');
|
|
11
11
|
require('./map-28a001c9.cjs');
|
|
12
12
|
require('./conditions-fb475c70.cjs');
|
|
13
13
|
require('./storage.cjs');
|
|
14
|
+
require('./function-3410854f.cjs');
|
|
15
|
+
require('./array-acefe0f2.cjs');
|
|
16
|
+
require('./object-dcdd6eed.cjs');
|
|
14
17
|
require('./number-e62129bc.cjs');
|
|
15
18
|
|
|
16
19
|
|
package/dist/prng.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prng.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prng.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/testing.cjs
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var logging = require('./logging-
|
|
6
|
-
var diff = require('./diff-
|
|
5
|
+
var logging = require('./logging-a2dc7e43.cjs');
|
|
6
|
+
var diff = require('./diff-642271b1.cjs');
|
|
7
7
|
var object = require('./object-dcdd6eed.cjs');
|
|
8
8
|
var string = require('./string-ad04f734.cjs');
|
|
9
9
|
var math = require('./math-08e068f9.cjs');
|
|
10
10
|
var random = require('./random.cjs');
|
|
11
|
-
var prng = require('./prng-
|
|
11
|
+
var prng = require('./prng-c71ea8ea.cjs');
|
|
12
12
|
var statistics = require('./statistics-c2316dca.cjs');
|
|
13
13
|
var array = require('./array-acefe0f2.cjs');
|
|
14
|
-
var environment = require('./environment-
|
|
14
|
+
var environment = require('./environment-3c81ab2f.cjs');
|
|
15
15
|
var json = require('./json-092190a1.cjs');
|
|
16
16
|
var time = require('./time-e00067da.cjs');
|
|
17
17
|
var promise = require('./promise-1a9fe712.cjs');
|
|
@@ -21,9 +21,9 @@ require('./pair-ab022bc3.cjs');
|
|
|
21
21
|
require('./dom-58958c04.cjs');
|
|
22
22
|
require('./map-28a001c9.cjs');
|
|
23
23
|
require('./eventloop-c60b5658.cjs');
|
|
24
|
-
require('./function-
|
|
24
|
+
require('./function-3410854f.cjs');
|
|
25
25
|
require('./binary-ac8e39e2.cjs');
|
|
26
|
-
require('./buffer-
|
|
26
|
+
require('./buffer-9c449d1d.cjs');
|
|
27
27
|
require('./number-e62129bc.cjs');
|
|
28
28
|
require('./conditions-fb475c70.cjs');
|
|
29
29
|
require('./storage.cjs');
|
|
@@ -34,8 +34,8 @@ require('./metric.cjs');
|
|
|
34
34
|
*
|
|
35
35
|
* ```js
|
|
36
36
|
* // test.js template for creating a test executable
|
|
37
|
-
* import { runTests } from 'lib0/testing
|
|
38
|
-
* import * as log from 'lib0/logging
|
|
37
|
+
* import { runTests } from 'lib0/testing'
|
|
38
|
+
* import * as log from 'lib0/logging'
|
|
39
39
|
* import * as mod1 from './mod1.test.js'
|
|
40
40
|
* import * as mod2 from './mod2.test.js'
|
|
41
41
|
|
|
@@ -199,7 +199,7 @@ const run = async (moduleName, name, f, i, numberOfTests) => {
|
|
|
199
199
|
times.sort((a, b) => a - b);
|
|
200
200
|
/* istanbul ignore next */
|
|
201
201
|
const againMessage = environment.isBrowser
|
|
202
|
-
? ` - ${window.location.
|
|
202
|
+
? ` - ${window.location.host + window.location.pathname}?filter=\\[${i + 1}/${tc._seed === null ? '' : `&seed=${tc._seed}`}`
|
|
203
203
|
: `\nrepeat: npm run test -- --filter "\\[${i + 1}/" ${tc._seed === null ? '' : `--seed ${tc._seed}`}`;
|
|
204
204
|
const timeInfo = (repeat && err === null)
|
|
205
205
|
? ` - ${times.length} repetitions in ${time.humanizeDuration(duration)} (best: ${time.humanizeDuration(times[0])}, worst: ${time.humanizeDuration(array.last(times))}, median: ${time.humanizeDuration(statistics.median(times))}, average: ${time.humanizeDuration(statistics.average(times))})`
|