lib0 0.2.46 → 0.2.49

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.
Files changed (71) hide show
  1. package/README.md +1 -0
  2. package/array.d.ts +1 -0
  3. package/array.d.ts.map +1 -1
  4. package/array.js +2 -0
  5. package/array.test.d.ts +1 -0
  6. package/array.test.d.ts.map +1 -1
  7. package/decoding.js +2 -2
  8. package/dist/{array-b2d24238.cjs → array-acefe0f2.cjs} +6 -2
  9. package/dist/{array-b2d24238.cjs.map → array-acefe0f2.cjs.map} +1 -1
  10. package/dist/array.cjs +2 -1
  11. package/dist/array.cjs.map +1 -1
  12. package/dist/array.d.ts +1 -0
  13. package/dist/array.d.ts.map +1 -1
  14. package/dist/array.test.d.ts +1 -0
  15. package/dist/array.test.d.ts.map +1 -1
  16. package/dist/{broadcastchannel-7da37795.cjs → broadcastchannel-1ac6c212.cjs} +2 -2
  17. package/dist/{broadcastchannel-7da37795.cjs.map → broadcastchannel-1ac6c212.cjs.map} +1 -1
  18. package/dist/broadcastchannel.cjs +2 -2
  19. package/dist/{buffer-b0dea3b0.cjs → buffer-c98f67d5.cjs} +4 -4
  20. package/dist/buffer-c98f67d5.cjs.map +1 -0
  21. package/dist/buffer.cjs +1 -1
  22. package/dist/component.cjs +3 -3
  23. package/dist/decoding.cjs +1 -1
  24. package/dist/{diff-233747fa.cjs → diff-2593547b.cjs} +2 -2
  25. package/dist/{diff-233747fa.cjs.map → diff-2593547b.cjs.map} +1 -1
  26. package/dist/diff.cjs +3 -3
  27. package/dist/encoding.cjs +1 -1
  28. package/dist/encoding.test.d.ts +1 -0
  29. package/dist/encoding.test.d.ts.map +1 -1
  30. package/dist/{function-f8acb5f5.cjs → function-e4045b1d.cjs} +2 -2
  31. package/dist/{function-f8acb5f5.cjs.map → function-e4045b1d.cjs.map} +1 -1
  32. package/dist/function.cjs +2 -2
  33. package/dist/index.cjs +10 -10
  34. package/dist/{iterator-fe01d209.cjs → iterator-9fc627c1.cjs} +1 -4
  35. package/dist/iterator-9fc627c1.cjs.map +1 -0
  36. package/dist/iterator.cjs +1 -1
  37. package/dist/iterator.d.ts.map +1 -1
  38. package/dist/{logging-f6d41f58.cjs → logging-0a4d8595.cjs} +2 -2
  39. package/dist/{logging-f6d41f58.cjs.map → logging-0a4d8595.cjs.map} +1 -1
  40. package/dist/logging.cjs +3 -3
  41. package/dist/metric.d.ts.map +1 -1
  42. package/dist/observable.cjs +1 -1
  43. package/dist/{prng-25602bac.cjs → prng-1aa0a1bc.cjs} +2 -2
  44. package/dist/{prng-25602bac.cjs.map → prng-1aa0a1bc.cjs.map} +1 -1
  45. package/dist/prng.cjs +2 -2
  46. package/dist/test.cjs +34 -6
  47. package/dist/test.cjs.map +1 -1
  48. package/dist/test.js +34 -6
  49. package/dist/test.js.map +1 -1
  50. package/dist/testing.cjs +6 -6
  51. package/dist/{tree-92f764b3.cjs → tree-b67c7947.cjs} +9 -2
  52. package/dist/tree-b67c7947.cjs.map +1 -0
  53. package/dist/tree.cjs +1 -1
  54. package/dist/tree.d.ts +13 -5
  55. package/dist/tree.d.ts.map +1 -1
  56. package/dist/{websocket-08bd4c7b.cjs → websocket-57086be8.cjs} +1 -1
  57. package/dist/{websocket-08bd4c7b.cjs.map → websocket-57086be8.cjs.map} +1 -1
  58. package/dist/websocket.cjs +2 -2
  59. package/encoding.js +1 -1
  60. package/encoding.test.d.ts +1 -0
  61. package/encoding.test.d.ts.map +1 -1
  62. package/iterator.d.ts.map +1 -1
  63. package/iterator.js +0 -3
  64. package/metric.d.ts.map +1 -1
  65. package/package.json +1 -1
  66. package/tree.d.ts +13 -5
  67. package/tree.d.ts.map +1 -1
  68. package/tree.js +8 -1
  69. package/dist/buffer-b0dea3b0.cjs.map +0 -1
  70. package/dist/iterator-fe01d209.cjs.map +0 -1
  71. package/dist/tree-92f764b3.cjs.map +0 -1
package/dist/function.cjs CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('./array-b2d24238.cjs');
5
+ require('./array-acefe0f2.cjs');
6
6
  require('./object-dcdd6eed.cjs');
7
- var _function = require('./function-f8acb5f5.cjs');
7
+ var _function = require('./function-e4045b1d.cjs');
8
8
 
9
9
 
10
10
 
package/dist/index.cjs CHANGED
@@ -2,28 +2,28 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var array = require('./array-b2d24238.cjs');
5
+ var array = require('./array-acefe0f2.cjs');
6
6
  var binary = require('./binary-ac8e39e2.cjs');
7
- var broadcastchannel = require('./broadcastchannel-7da37795.cjs');
8
- var encoding = require('./buffer-b0dea3b0.cjs');
7
+ var broadcastchannel = require('./broadcastchannel-1ac6c212.cjs');
8
+ var encoding = require('./buffer-c98f67d5.cjs');
9
9
  var conditions = require('./conditions-fb475c70.cjs');
10
- var diff = require('./diff-233747fa.cjs');
10
+ var diff = require('./diff-2593547b.cjs');
11
11
  var dom = require('./dom-58958c04.cjs');
12
12
  var environment = require('./environment-60b83194.cjs');
13
13
  var error = require('./error-873c9cbf.cjs');
14
14
  var eventloop = require('./eventloop-c60b5658.cjs');
15
- var _function = require('./function-f8acb5f5.cjs');
15
+ var _function = require('./function-e4045b1d.cjs');
16
16
  var indexeddb = require('./indexeddb-5b4b0e13.cjs');
17
- var iterator = require('./iterator-fe01d209.cjs');
17
+ var iterator = require('./iterator-9fc627c1.cjs');
18
18
  var json = require('./json-092190a1.cjs');
19
- var logging = require('./logging-f6d41f58.cjs');
19
+ var logging = require('./logging-0a4d8595.cjs');
20
20
  var map = require('./map-28a001c9.cjs');
21
21
  var math = require('./math-08e068f9.cjs');
22
22
  var mutex = require('./mutex-63f09c81.cjs');
23
23
  var number = require('./number-e62129bc.cjs');
24
24
  var object = require('./object-dcdd6eed.cjs');
25
25
  var pair = require('./pair-ab022bc3.cjs');
26
- var prng = require('./prng-25602bac.cjs');
26
+ var prng = require('./prng-1aa0a1bc.cjs');
27
27
  var promise = require('./promise-1a9fe712.cjs');
28
28
  var set = require('./set-b596ef38.cjs');
29
29
  var sort = require('./sort-b8702761.cjs');
@@ -31,8 +31,8 @@ var statistics = require('./statistics-c2316dca.cjs');
31
31
  var string = require('./string-ad04f734.cjs');
32
32
  var symbol = require('./symbol-c5caa724.cjs');
33
33
  var time = require('./time-e00067da.cjs');
34
- var tree = require('./tree-92f764b3.cjs');
35
- var websocket = require('./websocket-08bd4c7b.cjs');
34
+ var tree = require('./tree-b67c7947.cjs');
35
+ var websocket = require('./websocket-57086be8.cjs');
36
36
  require('./storage.cjs');
37
37
  require('./metric.cjs');
38
38
  require('./observable.cjs');
@@ -13,9 +13,6 @@
13
13
  * @return {IterableIterator<R>}
14
14
  */
15
15
  const mapIterator = (iterator, f) => ({
16
- /**
17
- * @param {function(T):R} f
18
- */
19
16
  [Symbol.iterator] () {
20
17
  return this
21
18
  },
@@ -78,4 +75,4 @@ exports.iterator = iterator;
78
75
  exports.iteratorFilter = iteratorFilter;
79
76
  exports.iteratorMap = iteratorMap;
80
77
  exports.mapIterator = mapIterator;
81
- //# sourceMappingURL=iterator-fe01d209.cjs.map
78
+ //# sourceMappingURL=iterator-9fc627c1.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterator-9fc627c1.cjs","sources":["../iterator.js"],"sourcesContent":["/**\n * Utility module to create and manipulate Iterators.\n *\n * @module iterator\n */\n\n/**\n * @template T,R\n * @param {Iterator<T>} iterator\n * @param {function(T):R} f\n * @return {IterableIterator<R>}\n */\nexport const mapIterator = (iterator, f) => ({\n [Symbol.iterator] () {\n return this\n },\n // @ts-ignore\n next () {\n const r = iterator.next()\n return { value: r.done ? undefined : f(r.value), done: r.done }\n }\n})\n\n/**\n * @template T\n * @param {function():IteratorResult<T>} next\n * @return {IterableIterator<T>}\n */\nexport const createIterator = next => ({\n /**\n * @return {IterableIterator<T>}\n */\n [Symbol.iterator] () {\n return this\n },\n // @ts-ignore\n next\n})\n\n/**\n * @template T\n * @param {Iterator<T>} iterator\n * @param {function(T):boolean} filter\n */\nexport const iteratorFilter = (iterator, filter) => createIterator(() => {\n let res\n do {\n res = iterator.next()\n } while (!res.done && !filter(res.value))\n return res\n})\n\n/**\n * @template T,M\n * @param {Iterator<T>} iterator\n * @param {function(T):M} fmap\n */\nexport const iteratorMap = (iterator, fmap) => createIterator(() => {\n const { done, value } = iterator.next()\n return { done, value: done ? undefined : fmap(value) }\n})\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM;AAC7C,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG;AACvB,IAAI,OAAO,IAAI;AACf,GAAG;AACH;AACA,EAAE,IAAI,CAAC,GAAG;AACV,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAE;AAC7B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACnE,GAAG;AACH,CAAC,EAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAG,IAAI,KAAK;AACvC;AACA;AACA;AACA,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG;AACvB,IAAI,OAAO,IAAI;AACf,GAAG;AACH;AACA,EAAE,IAAI;AACN,CAAC,EAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,cAAc,CAAC,MAAM;AACzE,EAAE,IAAI,IAAG;AACT,EAAE,GAAG;AACL,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAE;AACzB,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3C,EAAE,OAAO,GAAG;AACZ,CAAC,EAAC;AACF;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,cAAc,CAAC,MAAM;AACpE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAE;AACzC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE;AACxD,CAAC;;;;;;;;;;;;;;;;"}
package/dist/iterator.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var iterator = require('./iterator-fe01d209.cjs');
5
+ var iterator = require('./iterator-9fc627c1.cjs');
6
6
 
7
7
 
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"iterator.d.ts","sourceRoot":"","sources":["../iterator.js"],"names":[],"mappings":"AAYO,iHAYL;AAOK,2FASL;AAOK,8FAFgB,OAAO,uBAQ5B;AAOK,gIAGL"}
1
+ {"version":3,"file":"iterator.d.ts","sourceRoot":"","sources":["../iterator.js"],"names":[],"mappings":"AAYO,iHASL;AAOK,2FASL;AAOK,8FAFgB,OAAO,uBAQ5B;AAOK,gIAGL"}
@@ -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-f8acb5f5.cjs');
12
+ var _function = require('./function-e4045b1d.cjs');
13
13
 
14
14
  /**
15
15
  * Isomorphic logging module with support for colors!
@@ -459,4 +459,4 @@ exports.printImg = printImg;
459
459
  exports.printImgBase64 = printImgBase64;
460
460
  exports.vconsoles = vconsoles;
461
461
  exports.warn = warn;
462
- //# sourceMappingURL=logging-f6d41f58.cjs.map
462
+ //# sourceMappingURL=logging-0a4d8595.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging-f6d41f58.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/**\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.isNode ? computeNodeLoggingArgs : computeBrowserLoggingArgs\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('%c ', `font-size: ${height}px; background-size: contain; background-repeat: no-repeat; background-image: url(${url})`)\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) => 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) => 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', [pair.create('style', dom.mapToStyleString(currentStyle))], [dom.text(arg)])\n if (span.innerHTML === '') {\n span.innerHTML = '&nbsp;'\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(dom.element('span', [], [dom.text(/** @type {string} */ (content))]))\n }\n }\n return spans\n}\n\nconst lineStyle = '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', [pair.create('hidden', collapsed), pair.create('style', 'color:grey;font-size:120%;')], [dom.text('▼')])\n const triangleRight = dom.element('span', [pair.create('hidden', !collapsed), pair.create('style', 'color:grey;font-size:125%;')], [dom.text('▶')])\n const content = dom.element('div', [pair.create('style', `${lineStyle};padding-left:${this.depth * 10}px`)], [triangleDown, triangleRight, dom.text(' ')].concat(_computeLineSpans(args)))\n const nextContainer = dom.element('div', [pair.create('hidden', collapsed)])\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, [dom.element('div', [pair.create('style', `${lineStyle};padding-left:${this.depth * 10}px`)], _computeLineSpans(args))])\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, [dom.element('img', [pair.create('src', url), pair.create('height', `${math.round(height * 1.5)}px`)])])\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 && (debugRegexVar === '*' || debugRegexVar === 'true' || 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(color, moduleName, UNCOLOR, ...args.map(arg => (typeof arg === 'string' || typeof arg === 'symbol') ? arg : JSON.stringify(arg)), color, ' +' + timeDiff + 'ms')\n }\n}\n"],"names":["symbol.create","pair.create","map.create","dom.mapToStyleString","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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"}
1
+ {"version":3,"file":"logging-0a4d8595.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/**\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.isNode ? computeNodeLoggingArgs : computeBrowserLoggingArgs\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('%c ', `font-size: ${height}px; background-size: contain; background-repeat: no-repeat; background-image: url(${url})`)\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) => 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) => 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', [pair.create('style', dom.mapToStyleString(currentStyle))], [dom.text(arg)])\n if (span.innerHTML === '') {\n span.innerHTML = '&nbsp;'\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(dom.element('span', [], [dom.text(/** @type {string} */ (content))]))\n }\n }\n return spans\n}\n\nconst lineStyle = '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', [pair.create('hidden', collapsed), pair.create('style', 'color:grey;font-size:120%;')], [dom.text('▼')])\n const triangleRight = dom.element('span', [pair.create('hidden', !collapsed), pair.create('style', 'color:grey;font-size:125%;')], [dom.text('▶')])\n const content = dom.element('div', [pair.create('style', `${lineStyle};padding-left:${this.depth * 10}px`)], [triangleDown, triangleRight, dom.text(' ')].concat(_computeLineSpans(args)))\n const nextContainer = dom.element('div', [pair.create('hidden', collapsed)])\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, [dom.element('div', [pair.create('style', `${lineStyle};padding-left:${this.depth * 10}px`)], _computeLineSpans(args))])\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, [dom.element('img', [pair.create('src', url), pair.create('height', `${math.round(height * 1.5)}px`)])])\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 && (debugRegexVar === '*' || debugRegexVar === 'true' || 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(color, moduleName, UNCOLOR, ...args.map(arg => (typeof arg === 'string' || typeof arg === 'symbol') ? arg : JSON.stringify(arg)), color, ' +' + timeDiff + 'ms')\n }\n}\n"],"names":["symbol.create","pair.create","map.create","dom.mapToStyleString","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
@@ -11,13 +11,13 @@ 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-f8acb5f5.cjs');
15
- var logging = require('./logging-f6d41f58.cjs');
14
+ require('./function-e4045b1d.cjs');
15
+ var logging = require('./logging-0a4d8595.cjs');
16
16
  require('./string-ad04f734.cjs');
17
17
  require('./conditions-fb475c70.cjs');
18
18
  require('./storage.cjs');
19
19
  require('./metric.cjs');
20
- require('./array-b2d24238.cjs');
20
+ require('./array-acefe0f2.cjs');
21
21
  require('./object-dcdd6eed.cjs');
22
22
 
23
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../metric.js"],"names":[],"mappings":"AAQA,0BAAyB;AACzB,0BAAyB;AACzB,sCAAuB;AACvB,oCAAwB;AACxB,iCAAwB;AACxB,8BAAuB;AACvB,2BAAuB;AACvB,wBAAuB;AACvB,wBAAwB;AACxB,sBAAsB;AACtB,uBAAuB;AACvB,yBAAyB;AACzB,0BAAyB;AACzB,6BAAyB;AACzB,wBAAwB;AACxB,yBAAyB;AACzB,0BAA0B;AAC1B,yBAAyB;AACzB,0BAA0B;AAC1B,0BAA0B;AAYnB,0BAJI,MAAM,wCAEL;IAAC,CAAC,EAAC,MAAM,CAAC;IAAA,QAAO,MAAM,CAAA;CAAC,CAkBnC"}
1
+ {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../metric.js"],"names":[],"mappings":"AAQA,0BAAyB;AACzB,0BAAyB;AACzB,sCAAuB;AACvB,oCAAwB;AACxB,iCAAwB;AACxB,8BAAuB;AACvB,2BAAuB;AACvB,wBAAuB;AACvB,wBAAwB;AACxB,sBAAsB;AACtB,uBAAuB;AACvB,yBAAyB;AACzB,0BAAyB;AACzB,6BAAyB;AACzB,wBAAwB;AACxB,yBAAyB;AACzB,0BAA0B;AAC1B,yBAAyB;AACzB,0BAA0B;AAC1B,0BAA0B;AAYnB,0BAJI,MAAM;OAEF,MAAM;YAAQ,MAAM;EAkBlC"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var map = require('./map-28a001c9.cjs');
6
6
  var set = require('./set-b596ef38.cjs');
7
- var array = require('./array-b2d24238.cjs');
7
+ var array = require('./array-acefe0f2.cjs');
8
8
 
9
9
  /**
10
10
  * Observable class prototype.
@@ -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-b0dea3b0.cjs');
6
+ var encoding = require('./buffer-c98f67d5.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-25602bac.cjs.map
386
+ //# sourceMappingURL=prng-1aa0a1bc.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"prng-25602bac.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 32bit integer\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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"}
1
+ {"version":3,"file":"prng-1aa0a1bc.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 32bit integer\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/prng.cjs CHANGED
@@ -5,8 +5,8 @@ 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-25602bac.cjs');
9
- require('./buffer-b0dea3b0.cjs');
8
+ var prng = require('./prng-1aa0a1bc.cjs');
9
+ require('./buffer-c98f67d5.cjs');
10
10
  require('./environment-60b83194.cjs');
11
11
  require('./map-28a001c9.cjs');
12
12
  require('./conditions-fb475c70.cjs');
package/dist/test.cjs CHANGED
@@ -863,6 +863,8 @@ const equalFlat$1 = (a, b) => a.length === b.length && every$1(a, (item, index)
863
863
  */
864
864
  const flatten = arr => arr.reduce((acc, val) => acc.concat(val), []);
865
865
 
866
+ const isArray = Array.isArray;
867
+
866
868
  /**
867
869
  * Utility functions for working with EcmaScript objects.
868
870
  *
@@ -2322,7 +2324,7 @@ const writeAny = (encoder, data) => {
2322
2324
  writeVarString(encoder, data);
2323
2325
  break
2324
2326
  case 'number':
2325
- if (isInteger(data) && data <= BITS31) {
2327
+ if (isInteger(data) && abs(data) <= BITS31) {
2326
2328
  // TYPE 125: INTEGER
2327
2329
  write(encoder, 125);
2328
2330
  writeVarInt(encoder, data);
@@ -2899,7 +2901,7 @@ const readVarUint = decoder => {
2899
2901
  return num >>> 0 // return unsigned number!
2900
2902
  }
2901
2903
  /* istanbul ignore if */
2902
- if (len > 35) {
2904
+ if (len > 53) {
2903
2905
  throw new Error('Integer out of range!')
2904
2906
  }
2905
2907
  }
@@ -2933,7 +2935,7 @@ const readVarInt = decoder => {
2933
2935
  return sign * (num >>> 0)
2934
2936
  }
2935
2937
  /* istanbul ignore if */
2936
- if (len > 41) {
2938
+ if (len > 53) {
2937
2939
  throw new Error('Integer out of range!')
2938
2940
  }
2939
2941
  }
@@ -4279,10 +4281,23 @@ const testflatten = tc => {
4279
4281
  compareArrays(flatten(arr), [1, 2, 3, 4]);
4280
4282
  };
4281
4283
 
4284
+ /**
4285
+ * @param {t.TestCase} tc
4286
+ */
4287
+ const testIsArray = tc => {
4288
+ assert(isArray([]));
4289
+ assert(isArray([1]));
4290
+ assert(isArray(Array.from(new Set([3]))));
4291
+ assert(!isArray(1));
4292
+ assert(!isArray(0));
4293
+ assert(!isArray(''));
4294
+ };
4295
+
4282
4296
  var array = /*#__PURE__*/Object.freeze({
4283
4297
  __proto__: null,
4284
4298
  testAppend: testAppend,
4285
- testflatten: testflatten
4299
+ testflatten: testflatten,
4300
+ testIsArray: testIsArray
4286
4301
  });
4287
4302
 
4288
4303
  const testLogging = () => {
@@ -4565,8 +4580,8 @@ const testStringDecodingPerformance = () => {
4565
4580
  }
4566
4581
  });
4567
4582
  });
4583
+ assert(durationConcatElements < durationConcatElementsNative * 1.3, '1.3x faster. We expect that the native approach is slower. If this fails, our expectantion is not met in your javascript environment. Please report this issue.');
4568
4584
  assert(durationConcatElements < durationSingleElements, 'We expect that the second approach is faster. If this fails, our expectantion is not met in your javascript environment. Please report this issue.');
4569
- assert(durationConcatElements < durationConcatElementsNative * 1.3, 'We expect that the native approach is slower. If this fails, our expectantion is not met in your javascript environment. Please report this issue.');
4570
4585
  };
4571
4586
 
4572
4587
  /**
@@ -5047,6 +5062,18 @@ const testStringDecoder = tc => {
5047
5062
  }
5048
5063
  };
5049
5064
 
5065
+ /**
5066
+ * @param {t.TestCase} tc
5067
+ */
5068
+ const testLargeNumberAnyEncoding = tc => {
5069
+ const encoder = createEncoder();
5070
+ const num = -2.2062063918362897e+50;
5071
+ writeAny(encoder, num);
5072
+ const decoder = createDecoder(toUint8Array(encoder));
5073
+ const readNum = readAny(decoder);
5074
+ assert(readNum === num);
5075
+ };
5076
+
5050
5077
  var encoding = /*#__PURE__*/Object.freeze({
5051
5078
  __proto__: null,
5052
5079
  testGolangBinaryEncodingCompatibility: testGolangBinaryEncodingCompatibility,
@@ -5077,7 +5104,8 @@ var encoding = /*#__PURE__*/Object.freeze({
5077
5104
  testIntDiffRleEncoder: testIntDiffRleEncoder,
5078
5105
  testIntEncoders: testIntEncoders,
5079
5106
  testIntDiffEncoder: testIntDiffEncoder,
5080
- testStringDecoder: testStringDecoder
5107
+ testStringDecoder: testStringDecoder,
5108
+ testLargeNumberAnyEncoding: testLargeNumberAnyEncoding
5081
5109
  });
5082
5110
 
5083
5111
  /**