lib0 0.2.107 → 0.2.109

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 (84) hide show
  1. package/bin/0serve.js +9 -1
  2. package/coverage/tmp/coverage-32991-1750516864118-0.json +1 -0
  3. package/diff/patience.d.ts +16 -0
  4. package/diff/patience.d.ts.map +1 -0
  5. package/diff/patience.js +226 -0
  6. package/diff/patience.test.d.ts +4 -0
  7. package/diff/patience.test.d.ts.map +1 -0
  8. package/dist/aes-gcm.cjs +3 -3
  9. package/dist/{broadcastchannel-b12b5283.cjs → broadcastchannel-3f71755b.cjs} +2 -2
  10. package/dist/{broadcastchannel-b12b5283.cjs.map → broadcastchannel-3f71755b.cjs.map} +1 -1
  11. package/dist/broadcastchannel.cjs +8 -8
  12. package/dist/{buffer-c775e94f.cjs → buffer-c040e625.cjs} +5 -5
  13. package/dist/{buffer-c775e94f.cjs.map → buffer-c040e625.cjs.map} +1 -1
  14. package/dist/buffer.cjs +7 -7
  15. package/dist/cache.cjs +2 -2
  16. package/dist/component.cjs +4 -4
  17. package/dist/{decoding-a2e1942e.cjs → decoding-7b1393a8.cjs} +3 -3
  18. package/dist/{decoding-a2e1942e.cjs.map → decoding-7b1393a8.cjs.map} +1 -1
  19. package/dist/decoding.cjs +3 -3
  20. package/dist/diff/patience.d.ts +16 -0
  21. package/dist/diff/patience.d.ts.map +1 -0
  22. package/dist/diff/patience.test.d.ts +4 -0
  23. package/dist/diff/patience.test.d.ts.map +1 -0
  24. package/dist/{diff-6c8c103c.cjs → diff-117a5b30.cjs} +2 -2
  25. package/dist/{diff-6c8c103c.cjs.map → diff-117a5b30.cjs.map} +1 -1
  26. package/dist/diff.cjs +3 -3
  27. package/dist/{encoding-cbd8e85d.cjs → encoding-364fc682.cjs} +2 -2
  28. package/dist/{encoding-cbd8e85d.cjs.map → encoding-364fc682.cjs.map} +1 -1
  29. package/dist/encoding.cjs +2 -2
  30. package/dist/{environment-a22d11e0.cjs → environment-f28f4004.cjs} +3 -3
  31. package/dist/{environment-a22d11e0.cjs.map → environment-f28f4004.cjs.map} +1 -1
  32. package/dist/environment.cjs +4 -4
  33. package/dist/{function-a29189eb.cjs → function-e09c7eb7.cjs} +2 -2
  34. package/dist/{function-a29189eb.cjs.map → function-e09c7eb7.cjs.map} +1 -1
  35. package/dist/function.cjs +2 -2
  36. package/dist/index.cjs +10 -10
  37. package/dist/indexeddbV2.cjs +1 -1
  38. package/dist/jwt.cjs +7 -7
  39. package/dist/list.cjs +2 -2
  40. package/dist/logging.cjs +4 -4
  41. package/dist/logging.common.cjs +4 -4
  42. package/dist/logging.node.cjs +4 -4
  43. package/dist/{object-315a738b.cjs → object-0dc73acd.cjs} +10 -1
  44. package/dist/object-0dc73acd.cjs.map +1 -0
  45. package/dist/object.cjs +2 -1
  46. package/dist/object.cjs.map +1 -1
  47. package/dist/object.d.ts +16 -5
  48. package/dist/object.d.ts.map +1 -1
  49. package/dist/object.test.d.ts.map +1 -1
  50. package/dist/patience.cjs +236 -0
  51. package/dist/patience.cjs.map +1 -0
  52. package/dist/performance.node.cjs +2 -2
  53. package/dist/pledge.cjs +1 -1
  54. package/dist/{prng-44216e7f.cjs → prng-57f83f83.cjs} +3 -3
  55. package/dist/{prng-44216e7f.cjs.map → prng-57f83f83.cjs.map} +1 -1
  56. package/dist/prng.cjs +8 -8
  57. package/dist/rabin-gf2-polynomial.cjs +7 -7
  58. package/dist/rabin-uncached.cjs +7 -7
  59. package/dist/rabin.cjs +7 -7
  60. package/dist/{string-3cd7a2db.cjs → string-42009272.cjs} +34 -2
  61. package/dist/string-42009272.cjs.map +1 -0
  62. package/dist/string.cjs +3 -1
  63. package/dist/string.cjs.map +1 -1
  64. package/dist/string.d.ts +2 -0
  65. package/dist/string.d.ts.map +1 -1
  66. package/dist/string.test.d.ts +5 -4
  67. package/dist/string.test.d.ts.map +1 -1
  68. package/dist/testing.cjs +9 -9
  69. package/dist/url.cjs +1 -1
  70. package/object.d.ts +16 -5
  71. package/object.d.ts.map +1 -1
  72. package/object.js +7 -0
  73. package/object.test.d.ts.map +1 -1
  74. package/package.json +7 -1
  75. package/string.d.ts +2 -0
  76. package/string.d.ts.map +1 -1
  77. package/string.js +28 -0
  78. package/string.test.d.ts +5 -4
  79. package/string.test.d.ts.map +1 -1
  80. package/test.html +1 -0
  81. package/test.js +2 -0
  82. package/coverage/tmp/coverage-18706-1746450396473-0.json +0 -1
  83. package/dist/object-315a738b.cjs.map +0 -1
  84. package/dist/string-3cd7a2db.cjs.map +0 -1
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var node_perf_hooks = require('node:perf_hooks');
6
- var _function = require('./function-a29189eb.cjs');
6
+ var _function = require('./function-e09c7eb7.cjs');
7
7
  var time = require('./time-bc2081b9.cjs');
8
8
  require('./array-f0f52786.cjs');
9
9
  require('./set-a0a3ea69.cjs');
10
- require('./object-315a738b.cjs');
10
+ require('./object-0dc73acd.cjs');
11
11
  require('./traits.cjs');
12
12
  require('./metric.cjs');
13
13
  require('./math-08e068f9.cjs');
package/dist/pledge.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var queue = require('./queue.cjs');
6
- var object = require('./object-315a738b.cjs');
6
+ var object = require('./object-0dc73acd.cjs');
7
7
 
8
8
  /**
9
9
  * @experimental Use of this module is not encouraged!
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var binary = require('./binary-ac8e39e2.cjs');
4
- var string = require('./string-3cd7a2db.cjs');
4
+ var string = require('./string-42009272.cjs');
5
5
  var math = require('./math-08e068f9.cjs');
6
- var buffer = require('./buffer-c775e94f.cjs');
6
+ var buffer = require('./buffer-c040e625.cjs');
7
7
 
8
8
  /**
9
9
  * @module prng
@@ -384,4 +384,4 @@ exports.uint8Array = uint8Array;
384
384
  exports.utf16Rune = utf16Rune;
385
385
  exports.utf16String = utf16String;
386
386
  exports.word = word;
387
- //# sourceMappingURL=prng-44216e7f.cjs.map
387
+ //# sourceMappingURL=prng-57f83f83.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"prng-44216e7f.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 */\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/* c8 ignore start */\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/* c8 ignore stop */\n"],"names":["binary.BITS32","math.floor","math.abs","fromCharCode","fromCodePoint","buffer.createUint8ArrayFromLen","binary.BITS8"],"mappings":"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"}
1
+ {"version":3,"file":"prng-57f83f83.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 */\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/* c8 ignore start */\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/* c8 ignore stop */\n"],"names":["binary.BITS32","math.floor","math.abs","fromCharCode","fromCodePoint","buffer.createUint8ArrayFromLen","binary.BITS8"],"mappings":"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"}
package/dist/prng.cjs CHANGED
@@ -3,22 +3,22 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('./binary-ac8e39e2.cjs');
6
- require('./string-3cd7a2db.cjs');
6
+ require('./string-42009272.cjs');
7
7
  require('./math-08e068f9.cjs');
8
- var prng = require('./prng-44216e7f.cjs');
9
- require('./buffer-c775e94f.cjs');
8
+ var prng = require('./prng-57f83f83.cjs');
9
+ require('./buffer-c040e625.cjs');
10
10
  require('./array-f0f52786.cjs');
11
11
  require('./set-a0a3ea69.cjs');
12
- require('./environment-a22d11e0.cjs');
12
+ require('./environment-f28f4004.cjs');
13
13
  require('./map-0dabcc55.cjs');
14
14
  require('./conditions-f5c0c102.cjs');
15
15
  require('./storage.cjs');
16
- require('./function-a29189eb.cjs');
17
- require('./object-315a738b.cjs');
16
+ require('./function-e09c7eb7.cjs');
17
+ require('./object-0dc73acd.cjs');
18
18
  require('./traits.cjs');
19
- require('./encoding-cbd8e85d.cjs');
19
+ require('./encoding-364fc682.cjs');
20
20
  require('./number-466d8922.cjs');
21
- require('./decoding-a2e1942e.cjs');
21
+ require('./decoding-7b1393a8.cjs');
22
22
  require('./error-8582d695.cjs');
23
23
 
24
24
 
@@ -5,20 +5,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var math = require('./math-08e068f9.cjs');
6
6
  var webcrypto = require('lib0/webcrypto');
7
7
  var array = require('./array-f0f52786.cjs');
8
- var buffer = require('./buffer-c775e94f.cjs');
8
+ var buffer = require('./buffer-c040e625.cjs');
9
9
  require('./set-a0a3ea69.cjs');
10
- require('./string-3cd7a2db.cjs');
11
- require('./environment-a22d11e0.cjs');
10
+ require('./string-42009272.cjs');
11
+ require('./environment-f28f4004.cjs');
12
12
  require('./map-0dabcc55.cjs');
13
13
  require('./conditions-f5c0c102.cjs');
14
14
  require('./storage.cjs');
15
- require('./function-a29189eb.cjs');
16
- require('./object-315a738b.cjs');
15
+ require('./function-e09c7eb7.cjs');
16
+ require('./object-0dc73acd.cjs');
17
17
  require('./traits.cjs');
18
- require('./encoding-cbd8e85d.cjs');
18
+ require('./encoding-364fc682.cjs');
19
19
  require('./number-466d8922.cjs');
20
20
  require('./binary-ac8e39e2.cjs');
21
- require('./decoding-a2e1942e.cjs');
21
+ require('./decoding-7b1393a8.cjs');
22
22
  require('./error-8582d695.cjs');
23
23
 
24
24
  function _interopNamespace(e) {
@@ -3,21 +3,21 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var math = require('./math-08e068f9.cjs');
6
- var buffer = require('./buffer-c775e94f.cjs');
7
- require('./string-3cd7a2db.cjs');
6
+ var buffer = require('./buffer-c040e625.cjs');
7
+ require('./string-42009272.cjs');
8
8
  require('./array-f0f52786.cjs');
9
9
  require('./set-a0a3ea69.cjs');
10
- require('./environment-a22d11e0.cjs');
10
+ require('./environment-f28f4004.cjs');
11
11
  require('./map-0dabcc55.cjs');
12
12
  require('./conditions-f5c0c102.cjs');
13
13
  require('./storage.cjs');
14
- require('./function-a29189eb.cjs');
15
- require('./object-315a738b.cjs');
14
+ require('./function-e09c7eb7.cjs');
15
+ require('./object-0dc73acd.cjs');
16
16
  require('./traits.cjs');
17
- require('./encoding-cbd8e85d.cjs');
17
+ require('./encoding-364fc682.cjs');
18
18
  require('./number-466d8922.cjs');
19
19
  require('./binary-ac8e39e2.cjs');
20
- require('./decoding-a2e1942e.cjs');
20
+ require('./decoding-7b1393a8.cjs');
21
21
  require('./error-8582d695.cjs');
22
22
 
23
23
  /**
package/dist/rabin.cjs CHANGED
@@ -2,22 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var buffer = require('./buffer-c775e94f.cjs');
5
+ var buffer = require('./buffer-c040e625.cjs');
6
6
  var map = require('./map-0dabcc55.cjs');
7
- require('./string-3cd7a2db.cjs');
7
+ require('./string-42009272.cjs');
8
8
  require('./array-f0f52786.cjs');
9
9
  require('./set-a0a3ea69.cjs');
10
- require('./environment-a22d11e0.cjs');
10
+ require('./environment-f28f4004.cjs');
11
11
  require('./conditions-f5c0c102.cjs');
12
12
  require('./storage.cjs');
13
- require('./function-a29189eb.cjs');
14
- require('./object-315a738b.cjs');
13
+ require('./function-e09c7eb7.cjs');
14
+ require('./object-0dc73acd.cjs');
15
15
  require('./traits.cjs');
16
16
  require('./math-08e068f9.cjs');
17
- require('./encoding-cbd8e85d.cjs');
17
+ require('./encoding-364fc682.cjs');
18
18
  require('./number-466d8922.cjs');
19
19
  require('./binary-ac8e39e2.cjs');
20
- require('./decoding-a2e1942e.cjs');
20
+ require('./decoding-7b1393a8.cjs');
21
21
  require('./error-8582d695.cjs');
22
22
 
23
23
  /**
@@ -138,6 +138,34 @@ const splice = (str, index, remove, insert = '') => str.slice(0, index) + insert
138
138
  */
139
139
  const repeat = (source, n) => array.unfold(n, () => source).join('');
140
140
 
141
+ /**
142
+ * Escape HTML characters &,<,>,'," to their respective HTML entities &amp;,&lt;,&gt;,&#39;,&quot;
143
+ *
144
+ * @param {string} str
145
+ */
146
+ const escapeHTML = str =>
147
+ str.replace(/[&<>'"]/g, r => /** @type {string} */ ({
148
+ '&': '&amp;',
149
+ '<': '&lt;',
150
+ '>': '&gt;',
151
+ "'": '&#39;',
152
+ '"': '&quot;'
153
+ }[r]));
154
+
155
+ /**
156
+ * Reverse of `escapeHTML`
157
+ *
158
+ * @param {string} str
159
+ */
160
+ const unescapeHTML = str =>
161
+ str.replace(/&amp;|&lt;|&gt;|&#39;|&quot;/g, r => /** @type {string} */ ({
162
+ '&amp;': '&',
163
+ '&lt;': '<',
164
+ '&gt;': '>',
165
+ '&#39;': "'",
166
+ '&quot;': '"'
167
+ }[r]));
168
+
141
169
  var string = /*#__PURE__*/Object.freeze({
142
170
  __proto__: null,
143
171
  fromCharCode: fromCharCode,
@@ -155,7 +183,9 @@ var string = /*#__PURE__*/Object.freeze({
155
183
  _decodeUtf8Native: _decodeUtf8Native,
156
184
  decodeUtf8: decodeUtf8,
157
185
  splice: splice,
158
- repeat: repeat
186
+ repeat: repeat,
187
+ escapeHTML: escapeHTML,
188
+ unescapeHTML: unescapeHTML
159
189
  });
160
190
 
161
191
  exports.MAX_UTF16_CHARACTER = MAX_UTF16_CHARACTER;
@@ -165,6 +195,7 @@ exports._encodeUtf8Native = _encodeUtf8Native;
165
195
  exports._encodeUtf8Polyfill = _encodeUtf8Polyfill;
166
196
  exports.decodeUtf8 = decodeUtf8;
167
197
  exports.encodeUtf8 = encodeUtf8;
198
+ exports.escapeHTML = escapeHTML;
168
199
  exports.fromCamelCase = fromCamelCase;
169
200
  exports.fromCharCode = fromCharCode;
170
201
  exports.fromCodePoint = fromCodePoint;
@@ -172,6 +203,7 @@ exports.repeat = repeat;
172
203
  exports.splice = splice;
173
204
  exports.string = string;
174
205
  exports.trimLeft = trimLeft;
206
+ exports.unescapeHTML = unescapeHTML;
175
207
  exports.utf8ByteLength = utf8ByteLength;
176
208
  exports.utf8TextEncoder = utf8TextEncoder;
177
- //# sourceMappingURL=string-3cd7a2db.cjs.map
209
+ //# sourceMappingURL=string-42009272.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-42009272.cjs","sources":["../string.js"],"sourcesContent":["import * as array from './array.js'\n\n/**\n * Utility module to work with strings.\n *\n * @module string\n */\n\nexport const fromCharCode = String.fromCharCode\nexport const fromCodePoint = String.fromCodePoint\n\n/**\n * The largest utf16 character.\n * Corresponds to Uint8Array([255, 255]) or charcodeof(2x2^8)\n */\nexport const MAX_UTF16_CHARACTER = fromCharCode(65535)\n\n/**\n * @param {string} s\n * @return {string}\n */\nconst toLowerCase = s => s.toLowerCase()\n\nconst trimLeftRegex = /^\\s*/g\n\n/**\n * @param {string} s\n * @return {string}\n */\nexport const trimLeft = s => s.replace(trimLeftRegex, '')\n\nconst fromCamelCaseRegex = /([A-Z])/g\n\n/**\n * @param {string} s\n * @param {string} separator\n * @return {string}\n */\nexport const fromCamelCase = (s, separator) => trimLeft(s.replace(fromCamelCaseRegex, match => `${separator}${toLowerCase(match)}`))\n\n/**\n * Compute the utf8ByteLength\n * @param {string} str\n * @return {number}\n */\nexport const utf8ByteLength = str => unescape(encodeURIComponent(str)).length\n\n/**\n * @param {string} str\n * @return {Uint8Array}\n */\nexport const _encodeUtf8Polyfill = str => {\n const encodedString = unescape(encodeURIComponent(str))\n const len = encodedString.length\n const buf = new Uint8Array(len)\n for (let i = 0; i < len; i++) {\n buf[i] = /** @type {number} */ (encodedString.codePointAt(i))\n }\n return buf\n}\n\n/* c8 ignore next */\nexport const utf8TextEncoder = /** @type {TextEncoder} */ (typeof TextEncoder !== 'undefined' ? new TextEncoder() : null)\n\n/**\n * @param {string} str\n * @return {Uint8Array}\n */\nexport const _encodeUtf8Native = str => utf8TextEncoder.encode(str)\n\n/**\n * @param {string} str\n * @return {Uint8Array}\n */\n/* c8 ignore next */\nexport const encodeUtf8 = utf8TextEncoder ? _encodeUtf8Native : _encodeUtf8Polyfill\n\n/**\n * @param {Uint8Array} buf\n * @return {string}\n */\nexport const _decodeUtf8Polyfill = buf => {\n let remainingLen = buf.length\n let encodedString = ''\n let bufPos = 0\n while (remainingLen > 0) {\n const nextLen = remainingLen < 10000 ? remainingLen : 10000\n const bytes = buf.subarray(bufPos, bufPos + nextLen)\n bufPos += nextLen\n // Starting with ES5.1 we can supply a generic array-like object as arguments\n encodedString += String.fromCodePoint.apply(null, /** @type {any} */ (bytes))\n remainingLen -= nextLen\n }\n return decodeURIComponent(escape(encodedString))\n}\n\n/* c8 ignore next */\nexport let utf8TextDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf-8', { fatal: true, ignoreBOM: true })\n\n/* c8 ignore start */\nif (utf8TextDecoder && utf8TextDecoder.decode(new Uint8Array()).length === 1) {\n // Safari doesn't handle BOM correctly.\n // This fixes a bug in Safari 13.0.5 where it produces a BOM the first time it is called.\n // utf8TextDecoder.decode(new Uint8Array()).length === 1 on the first call and\n // utf8TextDecoder.decode(new Uint8Array()).length === 1 on the second call\n // Another issue is that from then on no BOM chars are recognized anymore\n /* c8 ignore next */\n utf8TextDecoder = null\n}\n/* c8 ignore stop */\n\n/**\n * @param {Uint8Array} buf\n * @return {string}\n */\nexport const _decodeUtf8Native = buf => /** @type {TextDecoder} */ (utf8TextDecoder).decode(buf)\n\n/**\n * @param {Uint8Array} buf\n * @return {string}\n */\n/* c8 ignore next */\nexport const decodeUtf8 = utf8TextDecoder ? _decodeUtf8Native : _decodeUtf8Polyfill\n\n/**\n * @param {string} str The initial string\n * @param {number} index Starting position\n * @param {number} remove Number of characters to remove\n * @param {string} insert New content to insert\n */\nexport const splice = (str, index, remove, insert = '') => str.slice(0, index) + insert + str.slice(index + remove)\n\n/**\n * @param {string} source\n * @param {number} n\n */\nexport const repeat = (source, n) => array.unfold(n, () => source).join('')\n\n/**\n * Escape HTML characters &,<,>,',\" to their respective HTML entities &amp;,&lt;,&gt;,&#39;,&quot;\n *\n * @param {string} str\n */\nexport const escapeHTML = str =>\n str.replace(/[&<>'\"]/g, r => /** @type {string} */ ({\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n \"'\": '&#39;',\n '\"': '&quot;'\n }[r]))\n\n/**\n * Reverse of `escapeHTML`\n *\n * @param {string} str\n */\nexport const unescapeHTML = str =>\n str.replace(/&amp;|&lt;|&gt;|&#39;|&quot;/g, r => /** @type {string} */ ({\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&#39;': \"'\",\n '&quot;': '\"'\n }[r]))\n"],"names":["utf8TextDecoder","array.unfold"],"mappings":"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"}
package/dist/string.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('./array-f0f52786.cjs');
6
- var string = require('./string-3cd7a2db.cjs');
6
+ var string = require('./string-42009272.cjs');
7
7
  require('./set-a0a3ea69.cjs');
8
8
 
9
9
 
@@ -15,12 +15,14 @@ exports._encodeUtf8Native = string._encodeUtf8Native;
15
15
  exports._encodeUtf8Polyfill = string._encodeUtf8Polyfill;
16
16
  exports.decodeUtf8 = string.decodeUtf8;
17
17
  exports.encodeUtf8 = string.encodeUtf8;
18
+ exports.escapeHTML = string.escapeHTML;
18
19
  exports.fromCamelCase = string.fromCamelCase;
19
20
  exports.fromCharCode = string.fromCharCode;
20
21
  exports.fromCodePoint = string.fromCodePoint;
21
22
  exports.repeat = string.repeat;
22
23
  exports.splice = string.splice;
23
24
  exports.trimLeft = string.trimLeft;
25
+ exports.unescapeHTML = string.unescapeHTML;
24
26
  exports.utf8ByteLength = string.utf8ByteLength;
25
27
  Object.defineProperty(exports, 'utf8TextDecoder', {
26
28
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"string.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"string.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/string.d.ts CHANGED
@@ -23,4 +23,6 @@ export function _decodeUtf8Native(buf: Uint8Array): string;
23
23
  export function decodeUtf8(buf: Uint8Array): string;
24
24
  export function splice(str: string, index: number, remove: number, insert?: string): string;
25
25
  export function repeat(source: string, n: number): string;
26
+ export function escapeHTML(str: string): string;
27
+ export function unescapeHTML(str: string): string;
26
28
  //# sourceMappingURL=string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAEjD;;;GAGG;AACH,yCAAsD;AAc/C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,0CAAyH;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAkB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAlCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAoCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG;AAM5G,+BAHI,MAAM,KACN,MAAM,UAE0D"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAEjD;;;GAGG;AACH,yCAAsD;AAc/C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,0CAAyH;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAkB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAlCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAoCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG;AAM5G,+BAHI,MAAM,KACN,MAAM,UAE0D;AAOpE,gCAFI,MAAM,UAST;AAOD,kCAFI,MAAM,UAST"}
@@ -1,8 +1,9 @@
1
- export function testUtilities(tc: t.TestCase): void;
2
- export function testLowercaseTransformation(tc: t.TestCase): void;
1
+ export function testUtilities(_tc: t.TestCase): void;
2
+ export function testLowercaseTransformation(_tc: t.TestCase): void;
3
3
  export function testRepeatStringUtf8Encoding(tc: t.TestCase): void;
4
4
  export function testRepeatStringUtf8Decoding(tc: t.TestCase): void;
5
- export function testBomEncodingDecoding(tc: t.TestCase): void;
6
- export function testSplice(tc: t.TestCase): void;
5
+ export function testBomEncodingDecoding(_tc: t.TestCase): void;
6
+ export function testSplice(_tc: t.TestCase): void;
7
+ export function testHtmlEscape(_tc: t.TestCase): void;
7
8
  import * as t from './testing.js';
8
9
  //# sourceMappingURL=string.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.test.d.ts","sourceRoot":"","sources":["../string.test.js"],"names":[],"mappings":"AAOO,kCAFI,EAAE,QAAQ,QAMpB;AAKM,gDAFI,EAAE,QAAQ,QAOpB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,4CAFI,EAAE,QAAQ,QAYpB;AAKM,+BAFI,EAAE,QAAQ,QAMpB;mBA3EkB,cAAc"}
1
+ {"version":3,"file":"string.test.d.ts","sourceRoot":"","sources":["../string.test.js"],"names":[],"mappings":"AAOO,mCAFI,EAAE,QAAQ,QAMpB;AAKM,iDAFI,EAAE,QAAQ,QAOpB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,6CAFI,EAAE,QAAQ,QAYpB;AAKM,gCAFI,EAAE,QAAQ,QAMpB;AAKM,oCAFI,EAAE,QAAQ,QAYpB;mBA1FkB,cAAc"}
package/dist/testing.cjs CHANGED
@@ -3,27 +3,27 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var log = require('lib0/logging');
6
- var diff = require('./diff-6c8c103c.cjs');
7
- var object = require('./object-315a738b.cjs');
8
- var string = require('./string-3cd7a2db.cjs');
6
+ var diff = require('./diff-117a5b30.cjs');
7
+ var object = require('./object-0dc73acd.cjs');
8
+ var string = require('./string-42009272.cjs');
9
9
  var math = require('./math-08e068f9.cjs');
10
10
  var random = require('./random.cjs');
11
- var prng = require('./prng-44216e7f.cjs');
11
+ var prng = require('./prng-57f83f83.cjs');
12
12
  var statistics = require('./statistics-c2316dca.cjs');
13
13
  var array = require('./array-f0f52786.cjs');
14
- var environment = require('./environment-a22d11e0.cjs');
14
+ var environment = require('./environment-f28f4004.cjs');
15
15
  var json = require('./json-092190a1.cjs');
16
16
  var time = require('./time-bc2081b9.cjs');
17
17
  var promise = require('./promise-7d13a97c.cjs');
18
18
  var performance = require('lib0/performance');
19
19
  var traits = require('./traits.cjs');
20
- require('./function-a29189eb.cjs');
20
+ require('./function-e09c7eb7.cjs');
21
21
  require('./binary-ac8e39e2.cjs');
22
22
  require('lib0/webcrypto');
23
- require('./buffer-c775e94f.cjs');
24
- require('./encoding-cbd8e85d.cjs');
23
+ require('./buffer-c040e625.cjs');
24
+ require('./encoding-364fc682.cjs');
25
25
  require('./number-466d8922.cjs');
26
- require('./decoding-a2e1942e.cjs');
26
+ require('./decoding-7b1393a8.cjs');
27
27
  require('./error-8582d695.cjs');
28
28
  require('./set-a0a3ea69.cjs');
29
29
  require('./map-0dabcc55.cjs');
package/dist/url.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var object = require('./object-315a738b.cjs');
5
+ var object = require('./object-0dc73acd.cjs');
6
6
 
7
7
  /**
8
8
  * Utility module to work with urls.
package/object.d.ts CHANGED
@@ -6,8 +6,8 @@ export function create(): {
6
6
  */
7
7
  export const assign: {
8
8
  <T extends {}, U>(target: T, source: U): T & U;
9
- <T_1 extends {}, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
10
- <T_2 extends {}, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
9
+ <T_1 extends {}, U_1, V_1>(target: T_1, source1: U_1, source2: V_1): T_1 & U_1 & V_1;
10
+ <T_2 extends {}, U_2, V_2, W>(target: T_2, source1: U_2, source2: V_2, source3: W): T_2 & U_2 & V_2 & W;
11
11
  (target: object, ...sources: any[]): any;
12
12
  };
13
13
  /**
@@ -17,9 +17,20 @@ export const keys: {
17
17
  (o: object): string[];
18
18
  (o: {}): string[];
19
19
  };
20
- export function forEach<V>(obj: {
21
- [k: string]: V;
22
- }, f: (arg0: V, arg1: string) => any): void;
20
+ /**
21
+ * @template V
22
+ * @param {{[key:string]: V}} obj
23
+ * @return {Array<V>}
24
+ */
25
+ export const values: {
26
+ <T>(o: {
27
+ [s: string]: T;
28
+ } | ArrayLike<T>): T[];
29
+ (o: {}): any[];
30
+ };
31
+ export function forEach<V_1>(obj: {
32
+ [k: string]: V_1;
33
+ }, f: (arg0: V_1, arg1: string) => any): void;
23
34
  export function map<R>(obj: {
24
35
  [x: string]: any;
25
36
  }, f: (arg0: any, arg1: string) => R): R[];
package/object.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.js"],"names":[],"mappings":"AASO;QAFY,MAAM,GAAC,GAAG;EAEkB;AAE/C;;GAEG;AACH;;;;;EAAmC;AAEnC;;GAEG;AACH;;;EAA+B;AAOxB;;sBAFe,MAAM,KAAE,GAAG,QAMhC;AAUM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,aAS7B;AAOM;QAHW,MAAM,GAAC,GAAG;IAChB,MAAM,CAE2B;AAMtC;QAHW,MAAM,GAAC,GAAG;IAChB,MAAM,CAEyB;AAOpC;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,KAAE,OAAO,GAC3B,OAAO,CASlB;AAKM,6BAFI,MAAM,GAAC,IAAI,GAAC,SAAS,WAQ/B;AAOM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,KAAE,OAAO,GAC3B,OAAO,CASlB;AASM,iCAJI,GAAG,OACH,MAAM,GAAC,MAAM,GACZ,OAAO,CAEoE;AAOhF;QAJW,MAAM,GAAC,GAAG;;QACV,MAAM,GAAC,GAAG;IAChB,OAAO,CAEwI;AAE3J;;;GAGG;AACH;;;;;;EAAmC;AAU5B,iEAQN"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.js"],"names":[],"mappings":"AASO;QAFY,MAAM,GAAC,GAAG;EAEkB;AAE/C;;GAEG;AACH;;;;;EAAmC;AAEnC;;GAEG;AACH;;;EAA+B;AAE/B;;;;GAIG;AACH;;;;;EAAmC;AAO5B;;wBAFe,MAAM,KAAE,GAAG,QAMhC;AAUM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,aAS7B;AAOM;QAHW,MAAM,GAAC,GAAG;IAChB,MAAM,CAE2B;AAMtC;QAHW,MAAM,GAAC,GAAG;IAChB,MAAM,CAEyB;AAOpC;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,KAAE,OAAO,GAC3B,OAAO,CASlB;AAKM,6BAFI,MAAM,GAAC,IAAI,GAAC,SAAS,WAQ/B;AAOM;QAJW,MAAM,GAAC,GAAG;aACR,GAAG,QAAC,MAAM,KAAE,OAAO,GAC3B,OAAO,CASlB;AASM,iCAJI,GAAG,OACH,MAAM,GAAC,MAAM,GACZ,OAAO,CAEoE;AAOhF;QAJW,MAAM,GAAC,GAAG;;QACV,MAAM,GAAC,GAAG;IAChB,OAAO,CAEwI;AAE3J;;;GAGG;AACH;;;;;;EAAmC;AAU5B,iEAQN"}
package/object.js CHANGED
@@ -19,6 +19,13 @@ export const assign = Object.assign
19
19
  */
20
20
  export const keys = Object.keys
21
21
 
22
+ /**
23
+ * @template V
24
+ * @param {{[key:string]: V}} obj
25
+ * @return {Array<V>}
26
+ */
27
+ export const values = Object.values
28
+
22
29
  /**
23
30
  * @template V
24
31
  * @param {{[k:string]:V}} obj
@@ -1 +1 @@
1
- {"version":3,"file":"object.test.d.ts","sourceRoot":"","sources":["object.test.js"],"names":[],"mappings":"AAOO,gCAFI,EAAE,QAAQ,QAiCpB;AAKM,gCAFI,EAAE,QAAQ,QAuBpB;mBAhEkB,cAAc"}
1
+ {"version":3,"file":"object.test.d.ts","sourceRoot":"","sources":["object.test.js"],"names":[],"mappings":"AAOO,gCAFI,EAAE,QAAQ,QA2CpB;AAKM,gCAFI,EAAE,QAAQ,QAuBpB;mBA1EkB,cAAc"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib0",
3
- "version": "0.2.107",
3
+ "version": "0.2.109",
4
4
  "description": "",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -135,6 +135,12 @@
135
135
  "import": "./decoding.js",
136
136
  "require": "./dist/decoding.cjs"
137
137
  },
138
+ "./diff/patience": {
139
+ "types": "./diff/patience.d.ts",
140
+ "module": "./diff/patience.js",
141
+ "import": "./diff/patience.js",
142
+ "require": "./dist/patience.cjs"
143
+ },
138
144
  "./diff.js": "./diff.js",
139
145
  "./dist/diff.cjs": "./dist/diff.cjs",
140
146
  "./diff": {
package/string.d.ts CHANGED
@@ -23,4 +23,6 @@ export function _decodeUtf8Native(buf: Uint8Array): string;
23
23
  export function decodeUtf8(buf: Uint8Array): string;
24
24
  export function splice(str: string, index: number, remove: number, insert?: string): string;
25
25
  export function repeat(source: string, n: number): string;
26
+ export function escapeHTML(str: string): string;
27
+ export function unescapeHTML(str: string): string;
26
28
  //# sourceMappingURL=string.d.ts.map
package/string.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAEjD;;;GAGG;AACH,yCAAsD;AAc/C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,0CAAyH;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAkB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAlCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAoCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG;AAM5G,+BAHI,MAAM,KACN,MAAM,UAE0D"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,0DAA+C;AAC/C,gEAAiD;AAEjD;;;GAGG;AACH,yCAAsD;AAc/C,4BAHI,MAAM,GACL,MAAM,CAEuC;AASlD,iCAJI,MAAM,aACN,MAAM,GACL,MAAM,CAEkH;AAO7H,oCAHI,MAAM,GACL,MAAM,CAE2D;AAMtE,yCAHI,MAAM,GACL,UAAU,CAUrB;AAGD,0CAAyH;AAMlH,uCAHI,MAAM,GACL,UAAU,CAE6C;AAjB5D,gCAHI,MAAM,GACL,UAAU,CAUrB;AAsBM,yCAHI,UAAU,GACT,MAAM,CAejB;AAGD,+CAAmI;AAkB5H,uCAHI,UAAU,GACT,MAAM,CAE8E;AAlCzF,gCAHI,UAAU,GACT,MAAM,CAejB;AAoCM,4BALI,MAAM,SACN,MAAM,UACN,MAAM,WACN,MAAM,UAEkG;AAM5G,+BAHI,MAAM,KACN,MAAM,UAE0D;AAOpE,gCAFI,MAAM,UAST;AAOD,kCAFI,MAAM,UAST"}
package/string.js CHANGED
@@ -135,3 +135,31 @@ export const splice = (str, index, remove, insert = '') => str.slice(0, index) +
135
135
  * @param {number} n
136
136
  */
137
137
  export const repeat = (source, n) => array.unfold(n, () => source).join('')
138
+
139
+ /**
140
+ * Escape HTML characters &,<,>,'," to their respective HTML entities &amp;,&lt;,&gt;,&#39;,&quot;
141
+ *
142
+ * @param {string} str
143
+ */
144
+ export const escapeHTML = str =>
145
+ str.replace(/[&<>'"]/g, r => /** @type {string} */ ({
146
+ '&': '&amp;',
147
+ '<': '&lt;',
148
+ '>': '&gt;',
149
+ "'": '&#39;',
150
+ '"': '&quot;'
151
+ }[r]))
152
+
153
+ /**
154
+ * Reverse of `escapeHTML`
155
+ *
156
+ * @param {string} str
157
+ */
158
+ export const unescapeHTML = str =>
159
+ str.replace(/&amp;|&lt;|&gt;|&#39;|&quot;/g, r => /** @type {string} */ ({
160
+ '&amp;': '&',
161
+ '&lt;': '<',
162
+ '&gt;': '>',
163
+ '&#39;': "'",
164
+ '&quot;': '"'
165
+ }[r]))
package/string.test.d.ts CHANGED
@@ -1,8 +1,9 @@
1
- export function testUtilities(tc: t.TestCase): void;
2
- export function testLowercaseTransformation(tc: t.TestCase): void;
1
+ export function testUtilities(_tc: t.TestCase): void;
2
+ export function testLowercaseTransformation(_tc: t.TestCase): void;
3
3
  export function testRepeatStringUtf8Encoding(tc: t.TestCase): void;
4
4
  export function testRepeatStringUtf8Decoding(tc: t.TestCase): void;
5
- export function testBomEncodingDecoding(tc: t.TestCase): void;
6
- export function testSplice(tc: t.TestCase): void;
5
+ export function testBomEncodingDecoding(_tc: t.TestCase): void;
6
+ export function testSplice(_tc: t.TestCase): void;
7
+ export function testHtmlEscape(_tc: t.TestCase): void;
7
8
  import * as t from './testing.js';
8
9
  //# sourceMappingURL=string.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.test.d.ts","sourceRoot":"","sources":["string.test.js"],"names":[],"mappings":"AAOO,kCAFI,EAAE,QAAQ,QAMpB;AAKM,gDAFI,EAAE,QAAQ,QAOpB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,4CAFI,EAAE,QAAQ,QAYpB;AAKM,+BAFI,EAAE,QAAQ,QAMpB;mBA3EkB,cAAc"}
1
+ {"version":3,"file":"string.test.d.ts","sourceRoot":"","sources":["string.test.js"],"names":[],"mappings":"AAOO,mCAFI,EAAE,QAAQ,QAMpB;AAKM,iDAFI,EAAE,QAAQ,QAOpB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,iDAFI,EAAE,QAAQ,QAapB;AAKM,6CAFI,EAAE,QAAQ,QAYpB;AAKM,gCAFI,EAAE,QAAQ,QAMpB;AAKM,oCAFI,EAAE,QAAQ,QAYpB;mBA1FkB,cAAc"}
package/test.html CHANGED
@@ -38,6 +38,7 @@
38
38
  "lib0/decoding.js": "./decoding.js",
39
39
  "lib0/dist/decoding.cjs": "./dist/decoding.cjs",
40
40
  "lib0/decoding": "./decoding.js",
41
+ "lib0/diff/patience": "./diff/patience.js",
41
42
  "lib0/diff.js": "./diff.js",
42
43
  "lib0/dist/diff.cjs": "./dist/diff.cjs",
43
44
  "lib0/diff": "./diff.js",
package/test.js CHANGED
@@ -8,6 +8,7 @@ import * as logging from './logging.test.js'
8
8
  import * as string from './string.test.js'
9
9
  import * as encoding from './encoding.test.js'
10
10
  import * as diff from './diff.test.js'
11
+ import * as patienceDiff from './diff/patience.test.js'
11
12
  import * as testing from './testing.test.js'
12
13
  import * as indexeddb from './indexeddb.test.js'
13
14
  import * as indexeddbV2 from './indexeddbV2.test.js'
@@ -56,6 +57,7 @@ runTests({
56
57
  string,
57
58
  encoding,
58
59
  diff,
60
+ patienceDiff,
59
61
  testing,
60
62
  indexeddb,
61
63
  indexeddbV2,