@magda/arbitraries 3.0.1 → 3.0.2-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +416 -3326
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -11,6 +11,9 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
11
11
  return require.apply(this, arguments);
12
12
  throw Error('Dynamic require of "' + x + '" is not supported');
13
13
  });
14
+ var __esm = (fn, res) => function __init() {
15
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
16
+ };
14
17
  var __commonJS = (cb, mod) => function __require2() {
15
18
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
19
  };
@@ -31,9 +34,22 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
34
  mod
32
35
  ));
33
36
 
37
+ // ../cjs-shim.js
38
+ import { createRequire } from "module";
39
+ import path from "path";
40
+ import url from "url";
41
+ var init_cjs_shim = __esm({
42
+ "../cjs-shim.js"() {
43
+ globalThis.require = createRequire(import.meta.url);
44
+ globalThis.__filename = url.fileURLToPath(import.meta.url);
45
+ globalThis.__dirname = path.dirname(__filename);
46
+ }
47
+ });
48
+
34
49
  // ../../node_modules/lodash/lodash.js
35
50
  var require_lodash = __commonJS({
36
51
  "../../node_modules/lodash/lodash.js"(exports, module) {
52
+ init_cjs_shim();
37
53
  (function() {
38
54
  var undefined2;
39
55
  var VERSION = "4.17.21";
@@ -1361,11 +1377,11 @@ var require_lodash = __commonJS({
1361
1377
  return isFunction(object[key]);
1362
1378
  });
1363
1379
  }
1364
- function baseGet(object, path) {
1365
- path = castPath(path, object);
1366
- var index = 0, length = path.length;
1380
+ function baseGet(object, path2) {
1381
+ path2 = castPath(path2, object);
1382
+ var index = 0, length = path2.length;
1367
1383
  while (object != null && index < length) {
1368
- object = object[toKey(path[index++])];
1384
+ object = object[toKey(path2[index++])];
1369
1385
  }
1370
1386
  return index && index == length ? object : undefined2;
1371
1387
  }
@@ -1429,10 +1445,10 @@ var require_lodash = __commonJS({
1429
1445
  });
1430
1446
  return accumulator;
1431
1447
  }
1432
- function baseInvoke(object, path, args) {
1433
- path = castPath(path, object);
1434
- object = parent(object, path);
1435
- var func = object == null ? object : object[toKey(last(path))];
1448
+ function baseInvoke(object, path2, args) {
1449
+ path2 = castPath(path2, object);
1450
+ object = parent(object, path2);
1451
+ var func = object == null ? object : object[toKey(last(path2))];
1436
1452
  return func == null ? undefined2 : apply(func, object, args);
1437
1453
  }
1438
1454
  function baseIsArguments(value) {
@@ -1588,13 +1604,13 @@ var require_lodash = __commonJS({
1588
1604
  return object === source || baseIsMatch(object, source, matchData);
1589
1605
  };
1590
1606
  }
1591
- function baseMatchesProperty(path, srcValue) {
1592
- if (isKey(path) && isStrictComparable(srcValue)) {
1593
- return matchesStrictComparable(toKey(path), srcValue);
1607
+ function baseMatchesProperty(path2, srcValue) {
1608
+ if (isKey(path2) && isStrictComparable(srcValue)) {
1609
+ return matchesStrictComparable(toKey(path2), srcValue);
1594
1610
  }
1595
1611
  return function(object) {
1596
- var objValue = get(object, path);
1597
- return objValue === undefined2 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
1612
+ var objValue = get(object, path2);
1613
+ return objValue === undefined2 && objValue === srcValue ? hasIn(object, path2) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
1598
1614
  };
1599
1615
  }
1600
1616
  function baseMerge(object, source, srcIndex, customizer, stack) {
@@ -1691,23 +1707,23 @@ var require_lodash = __commonJS({
1691
1707
  });
1692
1708
  }
1693
1709
  function basePick(object, paths) {
1694
- return basePickBy(object, paths, function(value, path) {
1695
- return hasIn(object, path);
1710
+ return basePickBy(object, paths, function(value, path2) {
1711
+ return hasIn(object, path2);
1696
1712
  });
1697
1713
  }
1698
1714
  function basePickBy(object, paths, predicate) {
1699
1715
  var index = -1, length = paths.length, result2 = {};
1700
1716
  while (++index < length) {
1701
- var path = paths[index], value = baseGet(object, path);
1702
- if (predicate(value, path)) {
1703
- baseSet(result2, castPath(path, object), value);
1717
+ var path2 = paths[index], value = baseGet(object, path2);
1718
+ if (predicate(value, path2)) {
1719
+ baseSet(result2, castPath(path2, object), value);
1704
1720
  }
1705
1721
  }
1706
1722
  return result2;
1707
1723
  }
1708
- function basePropertyDeep(path) {
1724
+ function basePropertyDeep(path2) {
1709
1725
  return function(object) {
1710
- return baseGet(object, path);
1726
+ return baseGet(object, path2);
1711
1727
  };
1712
1728
  }
1713
1729
  function basePullAll(array, values2, iteratee2, comparator) {
@@ -1781,14 +1797,14 @@ var require_lodash = __commonJS({
1781
1797
  var array = values(collection);
1782
1798
  return shuffleSelf(array, baseClamp(n, 0, array.length));
1783
1799
  }
1784
- function baseSet(object, path, value, customizer) {
1800
+ function baseSet(object, path2, value, customizer) {
1785
1801
  if (!isObject(object)) {
1786
1802
  return object;
1787
1803
  }
1788
- path = castPath(path, object);
1789
- var index = -1, length = path.length, lastIndex = length - 1, nested = object;
1804
+ path2 = castPath(path2, object);
1805
+ var index = -1, length = path2.length, lastIndex = length - 1, nested = object;
1790
1806
  while (nested != null && ++index < length) {
1791
- var key = toKey(path[index]), newValue = value;
1807
+ var key = toKey(path2[index]), newValue = value;
1792
1808
  if (key === "__proto__" || key === "constructor" || key === "prototype") {
1793
1809
  return object;
1794
1810
  }
@@ -1796,7 +1812,7 @@ var require_lodash = __commonJS({
1796
1812
  var objValue = nested[key];
1797
1813
  newValue = customizer ? customizer(objValue, key, nested) : undefined2;
1798
1814
  if (newValue === undefined2) {
1799
- newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
1815
+ newValue = isObject(objValue) ? objValue : isIndex(path2[index + 1]) ? [] : {};
1800
1816
  }
1801
1817
  }
1802
1818
  assignValue(nested, key, newValue);
@@ -1962,13 +1978,13 @@ var require_lodash = __commonJS({
1962
1978
  }
1963
1979
  return result2;
1964
1980
  }
1965
- function baseUnset(object, path) {
1966
- path = castPath(path, object);
1967
- object = parent(object, path);
1968
- return object == null || delete object[toKey(last(path))];
1981
+ function baseUnset(object, path2) {
1982
+ path2 = castPath(path2, object);
1983
+ object = parent(object, path2);
1984
+ return object == null || delete object[toKey(last(path2))];
1969
1985
  }
1970
- function baseUpdate(object, path, updater, customizer) {
1971
- return baseSet(object, path, updater(baseGet(object, path)), customizer);
1986
+ function baseUpdate(object, path2, updater, customizer) {
1987
+ return baseSet(object, path2, updater(baseGet(object, path2)), customizer);
1972
1988
  }
1973
1989
  function baseWhile(array, predicate, isDrop, fromRight) {
1974
1990
  var length = array.length, index = fromRight ? length : -1;
@@ -2851,11 +2867,11 @@ var require_lodash = __commonJS({
2851
2867
  var match = source.match(reWrapDetails);
2852
2868
  return match ? match[1].split(reSplitDetails) : [];
2853
2869
  }
2854
- function hasPath(object, path, hasFunc) {
2855
- path = castPath(path, object);
2856
- var index = -1, length = path.length, result2 = false;
2870
+ function hasPath(object, path2, hasFunc) {
2871
+ path2 = castPath(path2, object);
2872
+ var index = -1, length = path2.length, result2 = false;
2857
2873
  while (++index < length) {
2858
- var key = toKey(path[index]);
2874
+ var key = toKey(path2[index]);
2859
2875
  if (!(result2 = object != null && hasFunc(object, key))) {
2860
2876
  break;
2861
2877
  }
@@ -3057,8 +3073,8 @@ var require_lodash = __commonJS({
3057
3073
  return apply(func, this, otherArgs);
3058
3074
  };
3059
3075
  }
3060
- function parent(object, path) {
3061
- return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
3076
+ function parent(object, path2) {
3077
+ return path2.length < 2 ? object : baseGet(object, baseSlice(path2, 0, -1));
3062
3078
  }
3063
3079
  function reorder(array, indexes) {
3064
3080
  var arrLength = array.length, length = nativeMin(indexes.length, arrLength), oldArray = copyArray(array);
@@ -3693,10 +3709,10 @@ var require_lodash = __commonJS({
3693
3709
  }
3694
3710
  return isString(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
3695
3711
  }
3696
- var invokeMap = baseRest(function(collection, path, args) {
3697
- var index = -1, isFunc = typeof path == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : [];
3712
+ var invokeMap = baseRest(function(collection, path2, args) {
3713
+ var index = -1, isFunc = typeof path2 == "function", result2 = isArrayLike(collection) ? Array2(collection.length) : [];
3698
3714
  baseEach(collection, function(value) {
3699
- result2[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
3715
+ result2[++index] = isFunc ? apply(path2, value, args) : baseInvoke(value, path2, args);
3700
3716
  });
3701
3717
  return result2;
3702
3718
  });
@@ -4348,15 +4364,15 @@ var require_lodash = __commonJS({
4348
4364
  function functionsIn(object) {
4349
4365
  return object == null ? [] : baseFunctions(object, keysIn(object));
4350
4366
  }
4351
- function get(object, path, defaultValue) {
4352
- var result2 = object == null ? undefined2 : baseGet(object, path);
4367
+ function get(object, path2, defaultValue) {
4368
+ var result2 = object == null ? undefined2 : baseGet(object, path2);
4353
4369
  return result2 === undefined2 ? defaultValue : result2;
4354
4370
  }
4355
- function has(object, path) {
4356
- return object != null && hasPath(object, path, baseHas);
4371
+ function has(object, path2) {
4372
+ return object != null && hasPath(object, path2, baseHas);
4357
4373
  }
4358
- function hasIn(object, path) {
4359
- return object != null && hasPath(object, path, baseHasIn);
4374
+ function hasIn(object, path2) {
4375
+ return object != null && hasPath(object, path2, baseHasIn);
4360
4376
  }
4361
4377
  var invert = createInverter(function(result2, value, key) {
4362
4378
  if (value != null && typeof value.toString != "function") {
@@ -4409,10 +4425,10 @@ var require_lodash = __commonJS({
4409
4425
  return result2;
4410
4426
  }
4411
4427
  var isDeep = false;
4412
- paths = arrayMap(paths, function(path) {
4413
- path = castPath(path, object);
4414
- isDeep || (isDeep = path.length > 1);
4415
- return path;
4428
+ paths = arrayMap(paths, function(path2) {
4429
+ path2 = castPath(path2, object);
4430
+ isDeep || (isDeep = path2.length > 1);
4431
+ return path2;
4416
4432
  });
4417
4433
  copyObject(object, getAllKeysIn(object), result2);
4418
4434
  if (isDeep) {
@@ -4438,19 +4454,19 @@ var require_lodash = __commonJS({
4438
4454
  return [prop];
4439
4455
  });
4440
4456
  predicate = getIteratee(predicate);
4441
- return basePickBy(object, props, function(value, path) {
4442
- return predicate(value, path[0]);
4457
+ return basePickBy(object, props, function(value, path2) {
4458
+ return predicate(value, path2[0]);
4443
4459
  });
4444
4460
  }
4445
- function result(object, path, defaultValue) {
4446
- path = castPath(path, object);
4447
- var index = -1, length = path.length;
4461
+ function result(object, path2, defaultValue) {
4462
+ path2 = castPath(path2, object);
4463
+ var index = -1, length = path2.length;
4448
4464
  if (!length) {
4449
4465
  length = 1;
4450
4466
  object = undefined2;
4451
4467
  }
4452
4468
  while (++index < length) {
4453
- var value = object == null ? undefined2 : object[toKey(path[index])];
4469
+ var value = object == null ? undefined2 : object[toKey(path2[index])];
4454
4470
  if (value === undefined2) {
4455
4471
  index = length;
4456
4472
  value = defaultValue;
@@ -4459,12 +4475,12 @@ var require_lodash = __commonJS({
4459
4475
  }
4460
4476
  return object;
4461
4477
  }
4462
- function set(object, path, value) {
4463
- return object == null ? object : baseSet(object, path, value);
4478
+ function set(object, path2, value) {
4479
+ return object == null ? object : baseSet(object, path2, value);
4464
4480
  }
4465
- function setWith(object, path, value, customizer) {
4481
+ function setWith(object, path2, value, customizer) {
4466
4482
  customizer = typeof customizer == "function" ? customizer : undefined2;
4467
- return object == null ? object : baseSet(object, path, value, customizer);
4483
+ return object == null ? object : baseSet(object, path2, value, customizer);
4468
4484
  }
4469
4485
  var toPairs = createToPairs(keys);
4470
4486
  var toPairsIn = createToPairs(keysIn);
@@ -4486,15 +4502,15 @@ var require_lodash = __commonJS({
4486
4502
  });
4487
4503
  return accumulator;
4488
4504
  }
4489
- function unset(object, path) {
4490
- return object == null ? true : baseUnset(object, path);
4505
+ function unset(object, path2) {
4506
+ return object == null ? true : baseUnset(object, path2);
4491
4507
  }
4492
- function update(object, path, updater) {
4493
- return object == null ? object : baseUpdate(object, path, castFunction(updater));
4508
+ function update(object, path2, updater) {
4509
+ return object == null ? object : baseUpdate(object, path2, castFunction(updater));
4494
4510
  }
4495
- function updateWith(object, path, updater, customizer) {
4511
+ function updateWith(object, path2, updater, customizer) {
4496
4512
  customizer = typeof customizer == "function" ? customizer : undefined2;
4497
- return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
4513
+ return object == null ? object : baseUpdate(object, path2, castFunction(updater), customizer);
4498
4514
  }
4499
4515
  function values(object) {
4500
4516
  return object == null ? [] : baseValues(object, keys(object));
@@ -4875,17 +4891,17 @@ var require_lodash = __commonJS({
4875
4891
  function matches(source) {
4876
4892
  return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
4877
4893
  }
4878
- function matchesProperty(path, srcValue) {
4879
- return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
4894
+ function matchesProperty(path2, srcValue) {
4895
+ return baseMatchesProperty(path2, baseClone(srcValue, CLONE_DEEP_FLAG));
4880
4896
  }
4881
- var method = baseRest(function(path, args) {
4897
+ var method = baseRest(function(path2, args) {
4882
4898
  return function(object) {
4883
- return baseInvoke(object, path, args);
4899
+ return baseInvoke(object, path2, args);
4884
4900
  };
4885
4901
  });
4886
4902
  var methodOf = baseRest(function(object, args) {
4887
- return function(path) {
4888
- return baseInvoke(object, path, args);
4903
+ return function(path2) {
4904
+ return baseInvoke(object, path2, args);
4889
4905
  };
4890
4906
  });
4891
4907
  function mixin(object, source, options) {
@@ -4932,12 +4948,12 @@ var require_lodash = __commonJS({
4932
4948
  var over = createOver(arrayMap);
4933
4949
  var overEvery = createOver(arrayEvery);
4934
4950
  var overSome = createOver(arraySome);
4935
- function property(path) {
4936
- return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
4951
+ function property(path2) {
4952
+ return isKey(path2) ? baseProperty(toKey(path2)) : basePropertyDeep(path2);
4937
4953
  }
4938
4954
  function propertyOf(object) {
4939
- return function(path) {
4940
- return object == null ? undefined2 : baseGet(object, path);
4955
+ return function(path2) {
4956
+ return object == null ? undefined2 : baseGet(object, path2);
4941
4957
  };
4942
4958
  }
4943
4959
  var range = createRange();
@@ -5333,3146 +5349,181 @@ var require_lodash = __commonJS({
5333
5349
  source[methodName] = func;
5334
5350
  }
5335
5351
  });
5336
- return source;
5337
- }(), { "chain": false });
5338
- lodash.VERSION = VERSION;
5339
- arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
5340
- lodash[methodName].placeholder = lodash;
5341
- });
5342
- arrayEach(["drop", "take"], function(methodName, index) {
5343
- LazyWrapper.prototype[methodName] = function(n) {
5344
- n = n === undefined2 ? 1 : nativeMax(toInteger(n), 0);
5345
- var result2 = this.__filtered__ && !index ? new LazyWrapper(this) : this.clone();
5346
- if (result2.__filtered__) {
5347
- result2.__takeCount__ = nativeMin(n, result2.__takeCount__);
5348
- } else {
5349
- result2.__views__.push({
5350
- "size": nativeMin(n, MAX_ARRAY_LENGTH),
5351
- "type": methodName + (result2.__dir__ < 0 ? "Right" : "")
5352
- });
5353
- }
5354
- return result2;
5355
- };
5356
- LazyWrapper.prototype[methodName + "Right"] = function(n) {
5357
- return this.reverse()[methodName](n).reverse();
5358
- };
5359
- });
5360
- arrayEach(["filter", "map", "takeWhile"], function(methodName, index) {
5361
- var type = index + 1, isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;
5362
- LazyWrapper.prototype[methodName] = function(iteratee2) {
5363
- var result2 = this.clone();
5364
- result2.__iteratees__.push({
5365
- "iteratee": getIteratee(iteratee2, 3),
5366
- "type": type
5367
- });
5368
- result2.__filtered__ = result2.__filtered__ || isFilter;
5369
- return result2;
5370
- };
5371
- });
5372
- arrayEach(["head", "last"], function(methodName, index) {
5373
- var takeName = "take" + (index ? "Right" : "");
5374
- LazyWrapper.prototype[methodName] = function() {
5375
- return this[takeName](1).value()[0];
5376
- };
5377
- });
5378
- arrayEach(["initial", "tail"], function(methodName, index) {
5379
- var dropName = "drop" + (index ? "" : "Right");
5380
- LazyWrapper.prototype[methodName] = function() {
5381
- return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
5382
- };
5383
- });
5384
- LazyWrapper.prototype.compact = function() {
5385
- return this.filter(identity);
5386
- };
5387
- LazyWrapper.prototype.find = function(predicate) {
5388
- return this.filter(predicate).head();
5389
- };
5390
- LazyWrapper.prototype.findLast = function(predicate) {
5391
- return this.reverse().find(predicate);
5392
- };
5393
- LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {
5394
- if (typeof path == "function") {
5395
- return new LazyWrapper(this);
5396
- }
5397
- return this.map(function(value) {
5398
- return baseInvoke(value, path, args);
5399
- });
5400
- });
5401
- LazyWrapper.prototype.reject = function(predicate) {
5402
- return this.filter(negate(getIteratee(predicate)));
5403
- };
5404
- LazyWrapper.prototype.slice = function(start, end) {
5405
- start = toInteger(start);
5406
- var result2 = this;
5407
- if (result2.__filtered__ && (start > 0 || end < 0)) {
5408
- return new LazyWrapper(result2);
5409
- }
5410
- if (start < 0) {
5411
- result2 = result2.takeRight(-start);
5412
- } else if (start) {
5413
- result2 = result2.drop(start);
5414
- }
5415
- if (end !== undefined2) {
5416
- end = toInteger(end);
5417
- result2 = end < 0 ? result2.dropRight(-end) : result2.take(end - start);
5418
- }
5419
- return result2;
5420
- };
5421
- LazyWrapper.prototype.takeRightWhile = function(predicate) {
5422
- return this.reverse().takeWhile(predicate).reverse();
5423
- };
5424
- LazyWrapper.prototype.toArray = function() {
5425
- return this.take(MAX_ARRAY_LENGTH);
5426
- };
5427
- baseForOwn(LazyWrapper.prototype, function(func, methodName) {
5428
- var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName);
5429
- if (!lodashFunc) {
5430
- return;
5431
- }
5432
- lodash.prototype[methodName] = function() {
5433
- var value = this.__wrapped__, args = isTaker ? [1] : arguments, isLazy = value instanceof LazyWrapper, iteratee2 = args[0], useLazy = isLazy || isArray(value);
5434
- var interceptor = function(value2) {
5435
- var result3 = lodashFunc.apply(lodash, arrayPush([value2], args));
5436
- return isTaker && chainAll ? result3[0] : result3;
5437
- };
5438
- if (useLazy && checkIteratee && typeof iteratee2 == "function" && iteratee2.length != 1) {
5439
- isLazy = useLazy = false;
5440
- }
5441
- var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid;
5442
- if (!retUnwrapped && useLazy) {
5443
- value = onlyLazy ? value : new LazyWrapper(this);
5444
- var result2 = func.apply(value, args);
5445
- result2.__actions__.push({ "func": thru, "args": [interceptor], "thisArg": undefined2 });
5446
- return new LodashWrapper(result2, chainAll);
5447
- }
5448
- if (isUnwrapped && onlyLazy) {
5449
- return func.apply(this, args);
5450
- }
5451
- result2 = this.thru(interceptor);
5452
- return isUnwrapped ? isTaker ? result2.value()[0] : result2.value() : result2;
5453
- };
5454
- });
5455
- arrayEach(["pop", "push", "shift", "sort", "splice", "unshift"], function(methodName) {
5456
- var func = arrayProto[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName);
5457
- lodash.prototype[methodName] = function() {
5458
- var args = arguments;
5459
- if (retUnwrapped && !this.__chain__) {
5460
- var value = this.value();
5461
- return func.apply(isArray(value) ? value : [], args);
5462
- }
5463
- return this[chainName](function(value2) {
5464
- return func.apply(isArray(value2) ? value2 : [], args);
5465
- });
5466
- };
5467
- });
5468
- baseForOwn(LazyWrapper.prototype, function(func, methodName) {
5469
- var lodashFunc = lodash[methodName];
5470
- if (lodashFunc) {
5471
- var key = lodashFunc.name + "";
5472
- if (!hasOwnProperty.call(realNames, key)) {
5473
- realNames[key] = [];
5474
- }
5475
- realNames[key].push({ "name": methodName, "func": lodashFunc });
5476
- }
5477
- });
5478
- realNames[createHybrid(undefined2, WRAP_BIND_KEY_FLAG).name] = [{
5479
- "name": "wrapper",
5480
- "func": undefined2
5481
- }];
5482
- LazyWrapper.prototype.clone = lazyClone;
5483
- LazyWrapper.prototype.reverse = lazyReverse;
5484
- LazyWrapper.prototype.value = lazyValue;
5485
- lodash.prototype.at = wrapperAt;
5486
- lodash.prototype.chain = wrapperChain;
5487
- lodash.prototype.commit = wrapperCommit;
5488
- lodash.prototype.next = wrapperNext;
5489
- lodash.prototype.plant = wrapperPlant;
5490
- lodash.prototype.reverse = wrapperReverse;
5491
- lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
5492
- lodash.prototype.first = lodash.prototype.head;
5493
- if (symIterator) {
5494
- lodash.prototype[symIterator] = wrapperToIterator;
5495
- }
5496
- return lodash;
5497
- };
5498
- var _2 = runInContext();
5499
- if (typeof define == "function" && typeof define.amd == "object" && define.amd) {
5500
- root._ = _2;
5501
- define(function() {
5502
- return _2;
5503
- });
5504
- } else if (freeModule) {
5505
- (freeModule.exports = _2)._ = _2;
5506
- freeExports._ = _2;
5507
- } else {
5508
- root._ = _2;
5509
- }
5510
- }).call(exports);
5511
- }
5512
- });
5513
-
5514
- // ../../node_modules/lazy-seq/index.js
5515
- var require_lazy_seq = __commonJS({
5516
- "../../node_modules/lazy-seq/index.js"(exports, module) {
5517
- "use strict";
5518
- var assert = __require("assert");
5519
- var nil = {};
5520
- nil.isNil = true;
5521
- nil.toString = function() {
5522
- return "nil";
5523
- };
5524
- nil.length = function() {
5525
- return 0;
5526
- };
5527
- nil.toArray = function nilToArray() {
5528
- return [];
5529
- };
5530
- nil.fold = function nilFold(x) {
5531
- return x;
5532
- };
5533
- nil.head = function nilHead() {
5534
- throw new Error("nil.head");
5535
- };
5536
- nil.tail = function nilTail() {
5537
- return nil;
5538
- };
5539
- nil.nth = function nilNth(n) {
5540
- assert(typeof n === "number");
5541
- throw new Error("Can't get " + n + "th value of the nil");
5542
- };
5543
- nil.take = function(n) {
5544
- assert(typeof n === "number");
5545
- return nil;
5546
- };
5547
- nil.drop = function(n) {
5548
- assert(typeof n === "number");
5549
- return nil;
5550
- };
5551
- nil.map = function(f) {
5552
- assert(typeof f === "function");
5553
- return nil;
5554
- };
5555
- nil.append = function(seq) {
5556
- if (typeof seq === "function") {
5557
- seq = seq();
5558
- }
5559
- if (Array.isArray(seq)) {
5560
- return fromArray(seq);
5561
- } else {
5562
- return seq;
5563
- }
5564
- };
5565
- nil.filter = function() {
5566
- return nil;
5567
- };
5568
- nil.every = function() {
5569
- return true;
5570
- };
5571
- nil.some = function() {
5572
- return false;
5573
- };
5574
- nil.contains = function() {
5575
- return false;
5576
- };
5577
- nil.containsNot = function() {
5578
- return true;
5579
- };
5580
- function Cons(head, tail) {
5581
- this.headValue = head;
5582
- this.tailValue = tail;
5583
- }
5584
- Cons.prototype.isNil = false;
5585
- Cons.prototype.toString = function() {
5586
- return "Cons(" + this.headValue + ", " + this.tailValue + ")";
5587
- };
5588
- Cons.prototype.length = function() {
5589
- return 1 + this.tail().length();
5590
- };
5591
- Cons.prototype.toArray = function() {
5592
- var ptr = this;
5593
- var acc = [];
5594
- while (ptr !== nil) {
5595
- acc.push(ptr.headValue);
5596
- ptr = ptr.tail();
5597
- }
5598
- return acc;
5599
- };
5600
- Cons.prototype.fold = function consFold(x, f) {
5601
- var self2 = this;
5602
- return f(this.headValue, function() {
5603
- return self2.tail().fold(x, f);
5604
- });
5605
- };
5606
- Cons.prototype.head = function consHead() {
5607
- return this.headValue;
5608
- };
5609
- Cons.prototype.tail = function consTail() {
5610
- return this.tailValue;
5611
- };
5612
- function lazyConsForce() {
5613
- var val = this.tailFn();
5614
- this.tailValue = Array.isArray(val) ? fromArray(val) : val;
5615
- delete this.tail;
5616
- delete this.force;
5617
- return this;
5618
- }
5619
- function lazyConsTail() {
5620
- this.force();
5621
- return this.tailValue;
5622
- }
5623
- function delay(head, tail) {
5624
- assert(typeof tail === "function");
5625
- head.tailFn = tail;
5626
- head.tail = lazyConsTail;
5627
- head.force = lazyConsForce;
5628
- return head;
5629
- }
5630
- function cons(head, tail) {
5631
- if (typeof tail === "function") {
5632
- return delay(new Cons(head), tail);
5633
- } else if (Array.isArray(tail)) {
5634
- return delay(cons(head), function() {
5635
- return fromArray(tail);
5636
- });
5637
- } else {
5638
- return new Cons(head, tail);
5639
- }
5640
- }
5641
- Cons.prototype.nth = function consNth(n) {
5642
- assert(typeof n === "number");
5643
- return n === 0 ? this.headValue : this.tail().nth(n - 1);
5644
- };
5645
- Cons.prototype.take = function consTake(n) {
5646
- assert(typeof n === "number");
5647
- var that = this;
5648
- return n === 0 ? nil : cons(this.headValue, function() {
5649
- return that.tail().take(n - 1);
5650
- });
5651
- };
5652
- Cons.prototype.drop = function consDrop(n) {
5653
- assert(typeof n === "number");
5654
- return n === 0 ? this : this.tail().drop(n - 1);
5655
- };
5656
- Cons.prototype.map = function consMap(f) {
5657
- assert(typeof f === "function");
5658
- var that = this;
5659
- return cons(f(that.headValue), function() {
5660
- return that.tail().map(f);
5661
- });
5662
- };
5663
- Cons.prototype.append = function consAppend(seq) {
5664
- if (seq === nil || Array.isArray(seq) && seq.length === 0) {
5665
- return this;
5666
- }
5667
- var that = this;
5668
- return cons(that.headValue, function() {
5669
- return that.tail().append(seq);
5670
- });
5671
- };
5672
- Cons.prototype.filter = function consFilter(p) {
5673
- assert(typeof p === "function");
5674
- var that = this;
5675
- if (p(that.headValue)) {
5676
- return cons(that.headValue, function() {
5677
- return that.tail().filter(p);
5678
- });
5679
- } else {
5680
- return that.tail().filter(p);
5681
- }
5682
- };
5683
- Cons.prototype.every = function consEvery(p) {
5684
- p = p || function(x) {
5685
- return x;
5686
- };
5687
- assert(typeof p === "function");
5688
- var that = this;
5689
- var pHead = p(that.headValue);
5690
- if (!pHead) {
5691
- return pHead;
5692
- } else {
5693
- return that.tail().every(p);
5694
- }
5695
- };
5696
- Cons.prototype.some = function consSome(p) {
5697
- p = p || function(x) {
5698
- return x;
5699
- };
5700
- assert(typeof p === "function");
5701
- var that = this;
5702
- var pHead = p(that.headValue);
5703
- if (pHead) {
5704
- return pHead;
5705
- } else {
5706
- return that.tail().some(p);
5707
- }
5708
- };
5709
- Cons.prototype.contains = function consContains(x) {
5710
- var that = this;
5711
- if (x === that.headValue) {
5712
- return true;
5713
- } else {
5714
- return that.tail().contains(x);
5715
- }
5716
- };
5717
- Cons.prototype.containsNot = function consContainsNot(x) {
5718
- var that = this;
5719
- if (x === that.headValue) {
5720
- return false;
5721
- } else {
5722
- return that.tail().containsNot(x);
5723
- }
5724
- };
5725
- function fromArrayIter(arr, n) {
5726
- if (n < arr.length) {
5727
- return cons(arr[n], function() {
5728
- return fromArrayIter(arr, n + 1);
5729
- });
5730
- } else {
5731
- return nil;
5732
- }
5733
- }
5734
- function fromArray(arr) {
5735
- assert(Array.isArray(arr));
5736
- return fromArrayIter(arr, 0);
5737
- }
5738
- function singleton(x) {
5739
- return fromArray([x]);
5740
- }
5741
- function append() {
5742
- var acc = nil;
5743
- for (var i = 0; i < arguments.length; i++) {
5744
- acc = acc.append(arguments[i]);
5745
- }
5746
- return acc;
5747
- }
5748
- function iterate(x, f) {
5749
- return cons(x, function() {
5750
- return iterate(f(x), f);
5751
- });
5752
- }
5753
- function listFold(list, z, f, n) {
5754
- if (n < list.length) {
5755
- return f(list[n], function() {
5756
- return listFold(list, z, f, n + 1);
5757
- });
5758
- } else {
5759
- return z;
5760
- }
5761
- }
5762
- function fold(list, z, f) {
5763
- if (Array.isArray(list)) {
5764
- return listFold(list, z, f, 0);
5765
- } else {
5766
- return list.fold(z, f);
5767
- }
5768
- }
5769
- module.exports = {
5770
- nil,
5771
- cons,
5772
- append,
5773
- fromArray,
5774
- singleton,
5775
- iterate,
5776
- fold
5777
- };
5778
- }
5779
- });
5780
-
5781
- // ../../node_modules/jsverify/lib/arbitraryAssert.js
5782
- var require_arbitraryAssert = __commonJS({
5783
- "../../node_modules/jsverify/lib/arbitraryAssert.js"(exports, module) {
5784
- "use strict";
5785
- var assert = __require("assert");
5786
- function arbitraryAssert(arb) {
5787
- assert(arb !== void 0 && arb !== null && typeof arb === "object", "arb should be an object");
5788
- assert(
5789
- typeof arb.generator === "function" && typeof arb.generator.map === "function",
5790
- "arb.generator should be a function"
5791
- );
5792
- assert(
5793
- typeof arb.shrink === "function" && typeof arb.shrink.smap === "function",
5794
- "arb.shrink should be a function"
5795
- );
5796
- assert(typeof arb.show === "function", "arb.show should be a function");
5797
- assert(typeof arb.smap === "function", "arb.smap should be a function");
5798
- }
5799
- module.exports = arbitraryAssert;
5800
- }
5801
- });
5802
-
5803
- // ../../node_modules/jsverify/lib/utils.js
5804
- var require_utils = __commonJS({
5805
- "../../node_modules/jsverify/lib/utils.js"(exports, module) {
5806
- "use strict";
5807
- var isArray = Array.isArray;
5808
- function isObject(o) {
5809
- return new Object(o) === o;
5810
- }
5811
- function isNaN2(n) {
5812
- return typeof n === "number" && n !== n;
5813
- }
5814
- function sort(arr) {
5815
- var res = arr.slice();
5816
- res.sort();
5817
- return res;
5818
- }
5819
- function isEqual(a, b) {
5820
- var i;
5821
- if (isNaN2(a) && isNaN2(b)) {
5822
- return true;
5823
- }
5824
- if (a === b) {
5825
- return true;
5826
- } else if (isArray(a) && isArray(b) && a.length === b.length) {
5827
- for (i = 0; i < a.length; i++) {
5828
- if (!isEqual(a[i], b[i])) {
5829
- return false;
5830
- }
5831
- }
5832
- return true;
5833
- } else if (isObject(a) && isObject(b) && !isArray(a) && !isArray(b)) {
5834
- var akeys = Object.keys(a);
5835
- var bkeys = Object.keys(b);
5836
- if (!isEqual(sort(akeys), sort(bkeys))) {
5837
- return false;
5838
- }
5839
- for (i = 0; i < akeys.length; i++) {
5840
- if (!isEqual(a[akeys[i]], b[akeys[i]])) {
5841
- return false;
5842
- }
5843
- }
5844
- return true;
5845
- }
5846
- return false;
5847
- }
5848
- function isApproxEqual(x, y, opts) {
5849
- opts = opts || {};
5850
- var fnEqual = opts.fnEqual !== false;
5851
- var depth = opts.depth || 5;
5852
- var state = [];
5853
- function loop(a, b, n) {
5854
- if (isNaN2(a) && isNaN2(b)) {
5855
- return true;
5856
- }
5857
- if (a === b) {
5858
- return true;
5859
- }
5860
- if (n >= depth) {
5861
- return true;
5862
- }
5863
- var i;
5864
- for (i = 0; i < state.length; i++) {
5865
- if (state[i][0] === a && state[i][1] === b) {
5866
- return true;
5867
- }
5868
- }
5869
- state.push([a, b]);
5870
- if (typeof a === "function" && typeof b === "function") {
5871
- return fnEqual;
5872
- }
5873
- if (isArray(a) && isArray(b) && a.length === b.length) {
5874
- for (i = 0; i < a.length; i++) {
5875
- if (!loop(a[i], b[i], n + 1)) {
5876
- return false;
5877
- }
5878
- }
5879
- return true;
5880
- } else if (isObject(a) && isObject(b) && !isArray(a) && !isArray(b)) {
5881
- var akeys = Object.keys(a);
5882
- var bkeys = Object.keys(b);
5883
- if (!loop(sort(akeys), sort(bkeys), n + 1)) {
5884
- return false;
5885
- }
5886
- for (i = 0; i < akeys.length; i++) {
5887
- if (!loop(a[akeys[i]], b[akeys[i]], n + 1)) {
5888
- return false;
5889
- }
5890
- }
5891
- return true;
5892
- }
5893
- return false;
5894
- }
5895
- return loop(x, y, 0);
5896
- }
5897
- function identity(x) {
5898
- return x;
5899
- }
5900
- function pluck(arr, key) {
5901
- return arr.map(function(e) {
5902
- return e[key];
5903
- });
5904
- }
5905
- function force(arb) {
5906
- return typeof arb === "function" ? arb() : arb;
5907
- }
5908
- function merge() {
5909
- var res = {};
5910
- for (var i = 0; i < arguments.length; i++) {
5911
- var arg = arguments[i];
5912
- var keys = Object.keys(arg);
5913
- for (var j = 0; j < keys.length; j++) {
5914
- var key = keys[j];
5915
- res[key] = arg[key];
5916
- }
5917
- }
5918
- return res;
5919
- }
5920
- function div2(x) {
5921
- return Math.floor(x / 2);
5922
- }
5923
- function log2(x) {
5924
- return Math.log(x) / Math.log(2);
5925
- }
5926
- function ilog2(x) {
5927
- return x <= 0 ? 0 : Math.floor(log2(x));
5928
- }
5929
- function curriedN(n) {
5930
- var n1 = n - 1;
5931
- return function curriedNInstance(result, args) {
5932
- if (args.length === n) {
5933
- return result(args[n1]);
5934
- } else {
5935
- return result;
5936
- }
5937
- };
5938
- }
5939
- var curried22 = curriedN(2);
5940
- var curried3 = curriedN(3);
5941
- function charArrayToString(arr) {
5942
- return arr.join("");
5943
- }
5944
- function stringToCharArray(str) {
5945
- return str.split("");
5946
- }
5947
- function pairArrayToDict(arrayOfPairs) {
5948
- var res = {};
5949
- arrayOfPairs.forEach(function(p) {
5950
- res[p[0]] = p[1];
5951
- });
5952
- return res;
5953
- }
5954
- function dictToPairArray(m) {
5955
- var res = [];
5956
- Object.keys(m).forEach(function(k) {
5957
- res.push([k, m[k]]);
5958
- });
5959
- return res;
5960
- }
5961
- function partition(arr, pred) {
5962
- var truthy = [];
5963
- var falsy = [];
5964
- for (var i = 0; i < arr.length; i++) {
5965
- var x = arr[i];
5966
- if (pred(x)) {
5967
- truthy.push(x);
5968
- } else {
5969
- falsy.push(x);
5970
- }
5971
- }
5972
- return [truthy, falsy];
5973
- }
5974
- module.exports = {
5975
- isArray,
5976
- isObject,
5977
- isEqual,
5978
- isApproxEqual,
5979
- identity,
5980
- pluck,
5981
- force,
5982
- merge,
5983
- div2,
5984
- ilog2,
5985
- curried2: curried22,
5986
- curried3,
5987
- charArrayToString,
5988
- stringToCharArray,
5989
- pairArrayToDict,
5990
- dictToPairArray,
5991
- partition
5992
- };
5993
- }
5994
- });
5995
-
5996
- // ../../node_modules/jsverify/lib/show.js
5997
- var require_show = __commonJS({
5998
- "../../node_modules/jsverify/lib/show.js"(exports, module) {
5999
- "use strict";
6000
- var utils = require_utils();
6001
- function showDef(obj) {
6002
- return JSON.stringify(obj);
6003
- }
6004
- function showPair(showA, showB) {
6005
- var result = function(p) {
6006
- return "(" + showA(p[0]) + ", " + showB(p[1]) + ")";
6007
- };
6008
- return utils.curried3(result, arguments);
6009
- }
6010
- function showEither(showA, showB) {
6011
- function showLeft(value) {
6012
- return "Left(" + showA(value) + ")";
6013
- }
6014
- function showRight(value) {
6015
- return "Right(" + showB(value) + ")";
6016
- }
6017
- var result = function(e) {
6018
- return e.either(showLeft, showRight);
6019
- };
6020
- return utils.curried3(result, arguments);
6021
- }
6022
- function showTuple(shows) {
6023
- var result = function(objs) {
6024
- var strs = [];
6025
- for (var i = 0; i < shows.length; i++) {
6026
- strs.push(shows[i](objs[i]));
6027
- }
6028
- return strs.join("; ");
6029
- };
6030
- return utils.curried2(result, arguments);
6031
- }
6032
- function showSum(shows) {
6033
- var result = function(sum) {
6034
- return sum.fold(function(idx, n, value) {
6035
- return "Sum(" + idx + "/" + n + ": " + shows[idx](value) + ")";
6036
- });
6037
- };
6038
- return utils.curried2(result, arguments);
6039
- }
6040
- function showArray(show) {
6041
- var result = function(arr) {
6042
- return "[" + arr.map(show).join(", ") + "]";
6043
- };
6044
- return utils.curried2(result, arguments);
6045
- }
6046
- module.exports = {
6047
- def: showDef,
6048
- pair: showPair,
6049
- either: showEither,
6050
- tuple: showTuple,
6051
- sum: showSum,
6052
- array: showArray
6053
- };
6054
- }
6055
- });
6056
-
6057
- // ../../node_modules/jsverify/lib/arbitraryBless.js
6058
- var require_arbitraryBless = __commonJS({
6059
- "../../node_modules/jsverify/lib/arbitraryBless.js"(exports, module) {
6060
- "use strict";
6061
- var show = require_show();
6062
- function arbitraryProtoSMap(f, g, newShow) {
6063
- var arb = this;
6064
- return arbitraryBless({
6065
- generator: arb.generator.map(f),
6066
- shrink: arb.shrink.smap(f, g),
6067
- show: newShow || show.def
6068
- });
6069
- }
6070
- function arbitraryBless(arb) {
6071
- arb.smap = arbitraryProtoSMap;
6072
- return arb;
6073
- }
6074
- module.exports = arbitraryBless;
6075
- }
6076
- });
6077
-
6078
- // ../../node_modules/jsverify/lib/either.js
6079
- var require_either = __commonJS({
6080
- "../../node_modules/jsverify/lib/either.js"(exports, module) {
6081
- "use strict";
6082
- var assert = __require("assert");
6083
- function Left(value) {
6084
- this.value = value;
6085
- }
6086
- function Right(value) {
6087
- this.value = value;
6088
- }
6089
- function left(value) {
6090
- return new Left(value);
6091
- }
6092
- function right(value) {
6093
- return new Right(value);
6094
- }
6095
- Left.prototype.either = function lefteither(l) {
6096
- return l(this.value);
6097
- };
6098
- Right.prototype.either = function righteither(l, r) {
6099
- return r(this.value);
6100
- };
6101
- Left.prototype.isEqual = function leftIsEqual(other) {
6102
- assert(other instanceof Left || other instanceof Right, "isEqual: `other` parameter should be either");
6103
- return other instanceof Left && this.value === other.value;
6104
- };
6105
- Right.prototype.isEqual = function rightIsEqual(other) {
6106
- assert(other instanceof Left || other instanceof Right, "isEqual: `other` parameter should be either");
6107
- return other instanceof Right && this.value === other.value;
6108
- };
6109
- Left.prototype.bimap = function leftBimap(f) {
6110
- return new Left(f(this.value));
6111
- };
6112
- Right.prototype.bimap = function rightBimap(f, g) {
6113
- return new Right(g(this.value));
6114
- };
6115
- Left.prototype.first = function leftFirst(f) {
6116
- return new Left(f(this.value));
6117
- };
6118
- Right.prototype.first = function rightFirst() {
6119
- return this;
6120
- };
6121
- Left.prototype.second = function leftSecond() {
6122
- return this;
6123
- };
6124
- Right.prototype.second = function rightSecond(g) {
6125
- return new Right(g(this.value));
6126
- };
6127
- module.exports = {
6128
- left,
6129
- right
6130
- };
6131
- }
6132
- });
6133
-
6134
- // ../../node_modules/rc4/rc4.js
6135
- var require_rc4 = __commonJS({
6136
- "../../node_modules/rc4/rc4.js"(exports, module) {
6137
- "use strict";
6138
- function isInteger(n) {
6139
- return parseInt(n, 10) === n;
6140
- }
6141
- function createRC4(N) {
6142
- function identityPermutation() {
6143
- var s = new Array(N);
6144
- for (var i = 0; i < N; i++) {
6145
- s[i] = i;
6146
- }
6147
- return s;
6148
- }
6149
- function seed(key) {
6150
- if (key === void 0) {
6151
- key = new Array(N);
6152
- for (var k = 0; k < N; k++) {
6153
- key[k] = Math.floor(Math.random() * N);
6154
- }
6155
- } else if (typeof key === "string") {
6156
- key = "" + key;
6157
- key = key.split("").map(function(c) {
6158
- return c.charCodeAt(0) % N;
6159
- });
6160
- } else if (Array.isArray(key)) {
6161
- if (!key.every(function(v) {
6162
- return typeof v === "number" && v === (v | 0);
6163
- })) {
6164
- throw new TypeError("invalid seed key specified: not array of integers");
6165
- }
6166
- } else {
6167
- throw new TypeError("invalid seed key specified");
6168
- }
6169
- var keylen = key.length;
6170
- var s = identityPermutation();
6171
- var j = 0;
6172
- for (var i = 0; i < N; i++) {
6173
- j = (j + s[i] + key[i % keylen]) % N;
6174
- var tmp = s[i];
6175
- s[i] = s[j];
6176
- s[j] = tmp;
6177
- }
6178
- return s;
6179
- }
6180
- function RC42(key) {
6181
- this.s = seed(key);
6182
- this.i = 0;
6183
- this.j = 0;
6184
- }
6185
- RC42.prototype.randomNative = function() {
6186
- this.i = (this.i + 1) % N;
6187
- this.j = (this.j + this.s[this.i]) % N;
6188
- var tmp = this.s[this.i];
6189
- this.s[this.i] = this.s[this.j];
6190
- this.s[this.j] = tmp;
6191
- var k = this.s[(this.s[this.i] + this.s[this.j]) % N];
6192
- return k;
6193
- };
6194
- RC42.prototype.randomUInt32 = function() {
6195
- var a = this.randomByte();
6196
- var b = this.randomByte();
6197
- var c = this.randomByte();
6198
- var d = this.randomByte();
6199
- return ((a * 256 + b) * 256 + c) * 256 + d;
6200
- };
6201
- RC42.prototype.randomFloat = function() {
6202
- return this.randomUInt32() / 4294967296;
6203
- };
6204
- RC42.prototype.random = function() {
6205
- var a;
6206
- var b;
6207
- if (arguments.length === 1) {
6208
- a = 0;
6209
- b = arguments[0];
6210
- } else if (arguments.length === 2) {
6211
- a = arguments[0];
6212
- b = arguments[1];
6213
- } else {
6214
- throw new TypeError("random takes one or two integer arguments");
6215
- }
6216
- if (!isInteger(a) || !isInteger(b)) {
6217
- throw new TypeError("random takes one or two integer arguments");
6218
- }
6219
- return a + this.randomUInt32() % (b - a + 1);
6220
- };
6221
- RC42.prototype.currentState = function() {
6222
- return {
6223
- i: this.i,
6224
- j: this.j,
6225
- s: this.s.slice()
6226
- // copy
6227
- };
6228
- };
6229
- RC42.prototype.setState = function(state) {
6230
- var s = state.s;
6231
- var i = state.i;
6232
- var j = state.j;
6233
- if (!(i === (i | 0) && 0 <= i && i < N)) {
6234
- throw new Error("state.i should be integer [0, " + (N - 1) + "]");
6235
- }
6236
- if (!(j === (j | 0) && 0 <= j && j < N)) {
6237
- throw new Error("state.j should be integer [0, " + (N - 1) + "]");
6238
- }
6239
- if (!Array.isArray(s) || s.length !== N) {
6240
- throw new Error("state should be array of length " + N);
6241
- }
6242
- for (var k = 0; k < N; k++) {
6243
- if (s.indexOf(k) === -1) {
6244
- throw new Error("state should be permutation of 0.." + (N - 1) + ": " + k + " is missing");
6245
- }
6246
- }
6247
- this.i = i;
6248
- this.j = j;
6249
- this.s = s.slice();
6250
- };
6251
- return RC42;
6252
- }
6253
- var RC4 = createRC4(256);
6254
- RC4.prototype.randomByte = RC4.prototype.randomNative;
6255
- var RC4small = createRC4(16);
6256
- RC4small.prototype.randomByte = function() {
6257
- var a = this.randomNative();
6258
- var b = this.randomNative();
6259
- return a * 16 + b;
6260
- };
6261
- var ordA = "a".charCodeAt(0);
6262
- var ord0 = "0".charCodeAt(0);
6263
- function toHex(n) {
6264
- return n < 10 ? String.fromCharCode(ord0 + n) : String.fromCharCode(ordA + n - 10);
6265
- }
6266
- function fromHex(c) {
6267
- return parseInt(c, 16);
6268
- }
6269
- RC4small.prototype.currentStateString = function() {
6270
- var state = this.currentState();
6271
- var i = toHex(state.i);
6272
- var j = toHex(state.j);
6273
- var res = i + j + state.s.map(toHex).join("");
6274
- return res;
6275
- };
6276
- RC4small.prototype.setStateString = function(stateString) {
6277
- if (!stateString.match(/^[0-9a-f]{18}$/)) {
6278
- throw new TypeError("RC4small stateString should be 18 hex character string");
6279
- }
6280
- var i = fromHex(stateString[0]);
6281
- var j = fromHex(stateString[1]);
6282
- var s = stateString.split("").slice(2).map(fromHex);
6283
- this.setState({
6284
- i,
6285
- j,
6286
- s
6287
- });
6288
- };
6289
- RC4.RC4small = RC4small;
6290
- module.exports = RC4;
6291
- }
6292
- });
6293
-
6294
- // ../../node_modules/jsverify/lib/random.js
6295
- var require_random = __commonJS({
6296
- "../../node_modules/jsverify/lib/random.js"(exports, module) {
6297
- "use strict";
6298
- var rc4 = new (require_rc4()).RC4small();
6299
- function randomInteger(min, max) {
6300
- return rc4.random(min, max);
6301
- }
6302
- function randomNumber(min, max) {
6303
- return rc4.randomFloat() * (max - min) + min;
6304
- }
6305
- randomInteger.integer = randomInteger;
6306
- randomInteger.number = randomNumber;
6307
- randomInteger.currentStateString = rc4.currentStateString.bind(rc4);
6308
- randomInteger.setStateString = rc4.setStateString.bind(rc4);
6309
- module.exports = randomInteger;
6310
- }
6311
- });
6312
-
6313
- // ../../node_modules/jsverify/lib/sum.js
6314
- var require_sum = __commonJS({
6315
- "../../node_modules/jsverify/lib/sum.js"(exports, module) {
6316
- "use strict";
6317
- var assert = __require("assert");
6318
- function Addend(idx, len, value) {
6319
- assert(len > 0, "Addend: 0 < len");
6320
- assert(idx >= 0 && idx < len, "Addend: 0 <= idx < len");
6321
- this.idx = idx;
6322
- this.len = len;
6323
- this.value = value;
6324
- }
6325
- function addend(idx, len, value) {
6326
- return new Addend(idx, len, value);
6327
- }
6328
- Addend.prototype.fold = function(f) {
6329
- return f(this.idx, this.len, this.value);
6330
- };
6331
- module.exports = {
6332
- addend
6333
- };
6334
- }
6335
- });
6336
-
6337
- // ../../node_modules/jsverify/lib/generator.js
6338
- var require_generator = __commonJS({
6339
- "../../node_modules/jsverify/lib/generator.js"(exports, module) {
6340
- "use strict";
6341
- var assert = __require("assert");
6342
- var either = require_either();
6343
- var random = require_random();
6344
- var sum = require_sum();
6345
- var utils = require_utils();
6346
- function generatorProtoMap(f) {
6347
- var generator = this;
6348
- generatorAssert(generator);
6349
- return generatorBless(function(size) {
6350
- return f(generator(size));
6351
- });
6352
- }
6353
- function generatorProtoFlatMap(f) {
6354
- var generator = this;
6355
- generatorAssert(generator);
6356
- return generatorBless(function(size) {
6357
- return f(generator(size))(size);
6358
- });
6359
- }
6360
- function generatorAssert(generator) {
6361
- assert(typeof generator === "function", "generator should be a function");
6362
- assert(generator.map === generatorProtoMap, "generator.map should be a function");
6363
- assert(generator.flatmap === generatorProtoFlatMap, "generator.flatmap should be a function");
6364
- assert(generator.flatMap === generatorProtoFlatMap, "generator.flatMap should be a function");
6365
- }
6366
- function generatorBless(generator) {
6367
- generator.map = generatorProtoMap;
6368
- generator.flatmap = generatorProtoFlatMap;
6369
- generator.flatMap = generatorProtoFlatMap;
6370
- return generator;
6371
- }
6372
- function generateConstant(x) {
6373
- return generatorBless(function() {
6374
- return x;
6375
- });
6376
- }
6377
- function generatorCombine() {
6378
- var generators = Array.prototype.slice.call(arguments, 0, -1);
6379
- var f = arguments[arguments.length - 1];
6380
- return generatorBless(function(size) {
6381
- var values = generators.map(function(gen) {
6382
- return gen(size);
6383
- });
6384
- return f.apply(void 0, values);
6385
- });
6386
- }
6387
- function generateOneof(generators) {
6388
- generators.forEach(function(gen) {
6389
- assert(typeof gen === "function");
6390
- });
6391
- var result = generatorBless(function(size) {
6392
- var idx = random(0, generators.length - 1);
6393
- var gen = generators[idx];
6394
- return gen(size);
6395
- });
6396
- return utils.curried2(result, arguments);
6397
- }
6398
- function logsize(size) {
6399
- return Math.max(Math.round(Math.log(size + 1) / Math.log(2), 0));
6400
- }
6401
- function generatorRecursive(genZ, genS) {
6402
- return generatorBless(function(size) {
6403
- function rec(n, sizep) {
6404
- if (n <= 0 || random(0, 3) === 0) {
6405
- return genZ(sizep);
6406
- } else {
6407
- return genS(generatorBless(function(sizeq) {
6408
- return rec(n - 1, sizeq);
6409
- }))(sizep);
6410
- }
6411
- }
6412
- return rec(logsize(size), size);
6413
- });
6414
- }
6415
- function generatePair(genA, genB) {
6416
- var result = generatorBless(function(size) {
6417
- return [genA(size), genB(size)];
6418
- });
6419
- return utils.curried3(result, arguments);
6420
- }
6421
- function generateEither(genA, genB) {
6422
- var result = generatorBless(function(size) {
6423
- var n = random(0, 1);
6424
- switch (n) {
6425
- case 0:
6426
- return either.left(genA(size));
6427
- case 1:
6428
- return either.right(genB(size));
6429
- }
6430
- });
6431
- return utils.curried3(result, arguments);
6432
- }
6433
- var generateUnit = generatorBless(function() {
6434
- return [];
6435
- });
6436
- function generateTuple(gens) {
6437
- var len = gens.length;
6438
- var result = generatorBless(function(size) {
6439
- var r = [];
6440
- for (var i = 0; i < len; i++) {
6441
- r[i] = gens[i](size);
6442
- }
6443
- return r;
6444
- });
6445
- return utils.curried2(result, arguments);
6446
- }
6447
- function generateSum(gens) {
6448
- var len = gens.length;
6449
- var result = generatorBless(function(size) {
6450
- var idx = random(0, len - 1);
6451
- return sum.addend(idx, len, gens[idx](size));
6452
- });
6453
- return utils.curried2(result, arguments);
6454
- }
6455
- function generateArray(gen) {
6456
- var result = generatorBless(function(size) {
6457
- var arrsize = random(0, logsize(size));
6458
- var arr = new Array(arrsize);
6459
- for (var i = 0; i < arrsize; i++) {
6460
- arr[i] = gen(size);
6461
- }
6462
- return arr;
6463
- });
6464
- return utils.curried2(result, arguments);
6465
- }
6466
- function generateNEArray(gen) {
6467
- var result = generatorBless(function(size) {
6468
- var arrsize = random(1, Math.max(logsize(size), 1));
6469
- var arr = new Array(arrsize);
6470
- for (var i = 0; i < arrsize; i++) {
6471
- arr[i] = gen(size);
6472
- }
6473
- return arr;
6474
- });
6475
- return utils.curried2(result, arguments);
6476
- }
6477
- module.exports = {
6478
- pair: generatePair,
6479
- either: generateEither,
6480
- unit: generateUnit,
6481
- tuple: generateTuple,
6482
- sum: generateSum,
6483
- array: generateArray,
6484
- nearray: generateNEArray,
6485
- oneof: generateOneof,
6486
- constant: generateConstant,
6487
- bless: generatorBless,
6488
- combine: generatorCombine,
6489
- recursive: generatorRecursive
6490
- };
6491
- }
6492
- });
6493
-
6494
- // ../../node_modules/jsverify/lib/shrink.js
6495
- var require_shrink = __commonJS({
6496
- "../../node_modules/jsverify/lib/shrink.js"(exports, module) {
6497
- "use strict";
6498
- var assert = __require("assert");
6499
- var either = require_either();
6500
- var lazyseq2 = require_lazy_seq();
6501
- var sum = require_sum();
6502
- var utils = require_utils();
6503
- function shrinkProtoIsoMap(f, g) {
6504
- var shrink = this;
6505
- return shrinkBless(function(value) {
6506
- return shrink(g(value)).map(f);
6507
- });
6508
- }
6509
- function shrinkBless(shrink) {
6510
- shrink.smap = shrinkProtoIsoMap;
6511
- return shrink;
6512
- }
6513
- var shrinkNoop = shrinkBless(function shrinkNoop2() {
6514
- return [];
6515
- });
6516
- function shrinkPair(shrinkA, shrinkB) {
6517
- var result = shrinkBless(function(pair) {
6518
- assert(pair.length === 2, "shrinkPair: pair should be an Array of length 2");
6519
- var a = pair[0];
6520
- var b = pair[1];
6521
- var shrinkedA = shrinkA(a);
6522
- var shrinkedB = shrinkB(b);
6523
- var pairA = shrinkedA.map(function(ap) {
6524
- return [ap, b];
6525
- });
6526
- if (Array.isArray(pairA)) {
6527
- pairA = lazyseq2.fromArray(pairA);
6528
- }
6529
- return pairA.append(function() {
6530
- var pairB = shrinkedB.map(function(bp) {
6531
- return [a, bp];
6532
- });
6533
- return pairB;
6534
- });
6535
- });
6536
- return utils.curried3(result, arguments);
6537
- }
6538
- function shrinkEither(shrinkA, shrinkB) {
6539
- function shrinkLeft(value) {
6540
- return shrinkA(value).map(either.left);
6541
- }
6542
- function shrinkRight(value) {
6543
- return shrinkB(value).map(either.right);
6544
- }
6545
- var result = shrinkBless(function(e) {
6546
- return e.either(shrinkLeft, shrinkRight);
6547
- });
6548
- return utils.curried3(result, arguments);
6549
- }
6550
- function fromLinkedList(ll) {
6551
- assert(ll.length === 1 || ll.length === 2, "linked list must be either [] or [x, linkedlist]");
6552
- if (ll.length === 1) {
6553
- return [ll[0]];
6554
- } else {
6555
- return [ll[0]].concat(fromLinkedList(ll[1]));
6556
- }
6557
- }
6558
- function toLinkedList(arr) {
6559
- assert(Array.isArray(arr) && arr.length > 0, "toLinkedList expects non-empty array");
6560
- if (arr.length === 1) {
6561
- return [arr[0]];
6562
- } else {
6563
- return [arr[0], toLinkedList(arr.slice(1))];
6564
- }
6565
- }
6566
- function toSingleton(x) {
6567
- return [x];
6568
- }
6569
- function fromSingleton(a) {
6570
- return a[0];
6571
- }
6572
- function flattenShrink(shrinksLL) {
6573
- if (shrinksLL.length === 1) {
6574
- return shrinksLL[0].smap(toSingleton, fromSingleton);
6575
- } else {
6576
- var head = shrinksLL[0];
6577
- var tail = shrinksLL[1];
6578
- return shrinkPair(head, flattenShrink(tail));
6579
- }
6580
- }
6581
- function shrinkTuple(shrinks) {
6582
- assert(shrinks.length > 0, "shrinkTuple needs > 0 values");
6583
- var shrinksLL = toLinkedList(shrinks);
6584
- var shrink = flattenShrink(shrinksLL);
6585
- var result = shrinkBless(function(tuple) {
6586
- assert(tuple.length === shrinks.length, "shrinkTuple: not-matching params");
6587
- var ll = toLinkedList(tuple);
6588
- return shrink(ll).map(fromLinkedList);
6589
- });
6590
- return utils.curried2(result, arguments);
6591
- }
6592
- function shrinkSum(shrinks) {
6593
- assert(shrinks.length > 0, "shrinkTuple needs > 0 values");
6594
- var result = shrinkBless(function(s) {
6595
- return s.fold(function(idx, len, value) {
6596
- assert(len === shrinks.length, "shrinkSum: not-matching params");
6597
- return shrinks[idx](value).map(function(shrinked) {
6598
- return sum.addend(idx, len, shrinked);
6599
- });
6600
- });
6601
- });
6602
- return utils.curried2(result, arguments);
6603
- }
6604
- function shrinkArrayWithMinimumSize2(size) {
6605
- function shrinkArrayImpl(shrink) {
6606
- var result = shrinkBless(function(arr) {
6607
- assert(Array.isArray(arr), "shrinkArrayImpl() expects array, got: " + arr);
6608
- if (arr.length <= size) {
6609
- return lazyseq2.nil;
6610
- } else {
6611
- var x = arr[0];
6612
- var xs = arr.slice(1);
6613
- return lazyseq2.cons(xs, lazyseq2.nil).append(shrink(x).map(function(xp) {
6614
- return [xp].concat(xs);
6615
- })).append(shrinkArrayImpl(shrink, xs).map(function(xsp) {
6616
- return [x].concat(xsp);
6617
- }));
6618
- }
6619
- });
6620
- return utils.curried2(result, arguments);
6621
- }
6622
- return shrinkArrayImpl;
6623
- }
6624
- var shrinkArray = shrinkArrayWithMinimumSize2(0);
6625
- var shrinkNEArray = shrinkArrayWithMinimumSize2(1);
6626
- module.exports = {
6627
- noop: shrinkNoop,
6628
- pair: shrinkPair,
6629
- either: shrinkEither,
6630
- tuple: shrinkTuple,
6631
- sum: shrinkSum,
6632
- array: shrinkArray,
6633
- nearray: shrinkNEArray,
6634
- bless: shrinkBless
6635
- };
6636
- }
6637
- });
6638
-
6639
- // ../../node_modules/jsverify/lib/array.js
6640
- var require_array = __commonJS({
6641
- "../../node_modules/jsverify/lib/array.js"(exports, module) {
6642
- "use strict";
6643
- var arbitraryAssert = require_arbitraryAssert();
6644
- var arbitraryBless = require_arbitraryBless();
6645
- var generator = require_generator();
6646
- var show = require_show();
6647
- var shrink = require_shrink();
6648
- var utils = require_utils();
6649
- function makeArray(flavour) {
6650
- return function arrayImpl(arb) {
6651
- arb = utils.force(arb);
6652
- arbitraryAssert(arb);
6653
- return arbitraryBless({
6654
- generator: generator[flavour](arb.generator),
6655
- shrink: shrink[flavour](arb.shrink),
6656
- show: show.array(arb.show)
6657
- });
6658
- };
6659
- }
6660
- var array = makeArray("array");
6661
- var nearray = makeArray("nearray");
6662
- module.exports = {
6663
- array,
6664
- nearray
6665
- };
6666
- }
6667
- });
6668
-
6669
- // ../../node_modules/jsverify/lib/pair.js
6670
- var require_pair = __commonJS({
6671
- "../../node_modules/jsverify/lib/pair.js"(exports, module) {
6672
- "use strict";
6673
- var arbitraryAssert = require_arbitraryAssert();
6674
- var arbitraryBless = require_arbitraryBless();
6675
- var generator = require_generator();
6676
- var show = require_show();
6677
- var shrink = require_shrink();
6678
- var utils = require_utils();
6679
- function pair(a, b) {
6680
- a = utils.force(a);
6681
- b = utils.force(b);
6682
- arbitraryAssert(a);
6683
- arbitraryAssert(b);
6684
- return arbitraryBless({
6685
- generator: generator.pair(a.generator, b.generator),
6686
- shrink: shrink.pair(a.shrink, b.shrink),
6687
- show: show.pair(a.show, b.show)
6688
- });
6689
- }
6690
- module.exports = {
6691
- pair
6692
- };
6693
- }
6694
- });
6695
-
6696
- // ../../node_modules/jsverify/lib/primitive.js
6697
- var require_primitive = __commonJS({
6698
- "../../node_modules/jsverify/lib/primitive.js"(exports, module) {
6699
- "use strict";
6700
- var arbitraryBless = require_arbitraryBless();
6701
- var assert = __require("assert");
6702
- var generator = require_generator();
6703
- var random = require_random();
6704
- var show = require_show();
6705
- var shrink = require_shrink();
6706
- var utils = require_utils();
6707
- function extendWithDefault(arb) {
6708
- var def = arb();
6709
- arb.generator = def.generator;
6710
- arb.shrink = def.shrink;
6711
- arb.show = def.show;
6712
- arb.smap = def.smap;
6713
- }
6714
- function numeric(impl) {
6715
- return function(minsize, maxsize) {
6716
- if (arguments.length === 2) {
6717
- var arb = arbitraryBless(impl(maxsize - minsize));
6718
- var to = function to2(x) {
6719
- return Math.abs(x) + minsize;
6720
- };
6721
- var from = function from2(x) {
6722
- return x - minsize;
6723
- };
6724
- return arb.smap(to, from);
6725
- } else if (arguments.length === 1) {
6726
- return arbitraryBless(impl(
6727
- minsize
6728
- /* as maxsize */
6729
- ));
6730
- } else {
6731
- return arbitraryBless(impl());
6732
- }
6733
- };
6734
- }
6735
- var integer = numeric(function integer2(maxsize) {
6736
- return {
6737
- generator: generator.bless(function(size) {
6738
- size = maxsize === void 0 ? size : maxsize;
6739
- return random(-size, size);
6740
- }),
6741
- shrink: shrink.bless(function(i) {
6742
- assert(typeof i === "number", "integer.shrink have to be a number");
6743
- i = Math.abs(i);
6744
- if (i === 0) {
6745
- return [];
6746
- } else {
6747
- var arr = [0];
6748
- var j = utils.div2(i);
6749
- var k = Math.max(j, 1);
6750
- while (j < i) {
6751
- arr.push(j);
6752
- arr.push(-j);
6753
- k = Math.max(utils.div2(k), 1);
6754
- j += k;
6755
- }
6756
- return arr;
6757
- }
6758
- }),
6759
- show: show.def
6760
- };
6761
- });
6762
- extendWithDefault(integer);
6763
- function nat(maxsize) {
6764
- return arbitraryBless({
6765
- generator: generator.bless(function(size) {
6766
- size = maxsize === void 0 ? size : maxsize;
6767
- return random(0, size);
6768
- }),
6769
- shrink: shrink.bless(function(i) {
6770
- assert(typeof i === "number", "nat.shrink have to be a number");
6771
- var arr = [];
6772
- var j = utils.div2(i);
6773
- var k = Math.max(j, 1);
6774
- while (j < i) {
6775
- arr.push(j);
6776
- k = Math.max(utils.div2(k), 1);
6777
- j += k;
6778
- }
6779
- return arr;
6780
- }),
6781
- show: show.def
6782
- });
6783
- }
6784
- extendWithDefault(nat);
6785
- var number = numeric(function number2(maxsize) {
6786
- return {
6787
- generator: generator.bless(function(size) {
6788
- size = maxsize === void 0 ? size : maxsize;
6789
- return random.number(-size, size);
6790
- }),
6791
- shrink: shrink.bless(function(x) {
6792
- assert(typeof x === "number", "number.shrink have to be a number");
6793
- if (Math.abs(x) > 1e-6) {
6794
- return [0, x / 2, -x / 2];
6795
- } else {
6796
- return [];
6797
- }
6798
- }),
6799
- show: show.def
6800
- };
6801
- });
6802
- extendWithDefault(number);
6803
- var uint8 = nat(255);
6804
- var uint16 = nat(65535);
6805
- var uint32 = nat(4294967295);
6806
- var int8 = integer(-128, 127);
6807
- var int16 = integer(-32768, 32767);
6808
- var int32 = integer(-2147483648, 2147483647);
6809
- var bool = arbitraryBless({
6810
- generator: generator.bless(function() {
6811
- var i = random(0, 1);
6812
- return i === 1;
6813
- }),
6814
- shrink: shrink.bless(function(b) {
6815
- assert(b === true || b === false, "bool.shrink excepts true or false");
6816
- return b === true ? [false] : [];
6817
- }),
6818
- show: show.def
6819
- });
6820
- var datetimeConst = 1416499879495;
6821
- function datetime(from, to) {
6822
- var toDate;
6823
- var fromDate;
6824
- var arb;
6825
- if (arguments.length === 2) {
6826
- toDate = function toDateFn(x) {
6827
- return new Date(x);
6828
- };
6829
- fromDate = function fromDateFn(x) {
6830
- return x.getTime();
6831
- };
6832
- from = fromDate(from);
6833
- to = fromDate(to);
6834
- arb = number(from, to);
6835
- return arb.smap(toDate, fromDate);
6836
- } else {
6837
- toDate = function toDateFn(x) {
6838
- return new Date(x * 768e6 + datetimeConst);
6839
- };
6840
- arb = number;
6841
- return arbitraryBless({
6842
- generator: arb.generator.map(toDate),
6843
- shrink: shrink.noop,
6844
- show: show.def
6845
- });
6846
- }
6847
- }
6848
- extendWithDefault(datetime);
6849
- function elements(args) {
6850
- assert(args.length !== 0, "elements: at least one parameter expected");
6851
- return arbitraryBless({
6852
- generator: generator.bless(function() {
6853
- var i = random(0, args.length - 1);
6854
- return args[i];
6855
- }),
6856
- shrink: shrink.bless(function(x) {
6857
- var idx = args.indexOf(x);
6858
- if (idx <= 0) {
6859
- return [];
6860
- } else {
6861
- return args.slice(0, idx);
6862
- }
6863
- }),
6864
- show: show.def
6865
- });
6866
- }
6867
- var falsy = elements([false, null, void 0, "", 0, NaN]);
6868
- falsy.show = function(v) {
6869
- if (v !== v) {
6870
- return "falsy: NaN";
6871
- } else if (v === "") {
6872
- return "falsy: empty string";
6873
- } else if (v === void 0) {
6874
- return "falsy: undefined";
6875
- } else {
6876
- return "falsy: " + v;
6877
- }
6878
- };
6879
- function constant(x) {
6880
- return arbitraryBless({
6881
- generator: generator.constant(x),
6882
- shrink: shrink.noop,
6883
- show: show.def
6884
- });
6885
- }
6886
- module.exports = {
6887
- integer,
6888
- nat,
6889
- int8,
6890
- int16,
6891
- int32,
6892
- uint8,
6893
- uint16,
6894
- uint32,
6895
- number,
6896
- elements,
6897
- bool,
6898
- falsy,
6899
- constant,
6900
- datetime
6901
- };
6902
- }
6903
- });
6904
-
6905
- // ../../node_modules/jsverify/lib/string.js
6906
- var require_string = __commonJS({
6907
- "../../node_modules/jsverify/lib/string.js"(exports, module) {
6908
- "use strict";
6909
- var array = require_array();
6910
- var primitive = require_primitive();
6911
- var utils = require_utils();
6912
- function fromCode2(code) {
6913
- return String.fromCharCode(code);
6914
- }
6915
- function toCode2(c) {
6916
- return c.charCodeAt(0);
6917
- }
6918
- var char = primitive.nat(255).smap(fromCode2, toCode2);
6919
- var asciichar = primitive.integer(32, 126).smap(fromCode2, toCode2);
6920
- var string = array.array(char).smap(utils.charArrayToString, utils.stringToCharArray);
6921
- var nestring = array.nearray(char).smap(utils.charArrayToString, utils.stringToCharArray);
6922
- var asciistring = array.array(asciichar).smap(utils.charArrayToString, utils.stringToCharArray);
6923
- var asciinestring = array.nearray(asciichar).smap(utils.charArrayToString, utils.stringToCharArray);
6924
- module.exports = {
6925
- char,
6926
- asciichar,
6927
- string,
6928
- nestring,
6929
- asciistring,
6930
- asciinestring
6931
- };
6932
- }
6933
- });
6934
-
6935
- // ../../node_modules/jsverify/lib/dict.js
6936
- var require_dict = __commonJS({
6937
- "../../node_modules/jsverify/lib/dict.js"(exports, module) {
6938
- "use strict";
6939
- var arbitraryAssert = require_arbitraryAssert();
6940
- var array = require_array();
6941
- var generator = require_generator();
6942
- var pair = require_pair();
6943
- var string = require_string();
6944
- var utils = require_utils();
6945
- function makeMapShow(elShow) {
6946
- return function(m) {
6947
- return "{" + Object.keys(m).map(function(k) {
6948
- return k + ": " + elShow(m[k]);
6949
- }).join(", ") + "}";
6950
- };
6951
- }
6952
- function generateDict(gen) {
6953
- var pairGen = generator.pair(string.string.generator, gen);
6954
- var arrayGen = generator.array(pairGen);
6955
- var result = arrayGen.map(utils.pairArrayToDict);
6956
- return utils.curried2(result, arguments);
6957
- }
6958
- function dict(arb) {
6959
- arb = utils.force(arb);
6960
- arbitraryAssert(arb);
6961
- var pairArbitrary = pair.pair(string.string, arb);
6962
- var arrayArbitrary = array.array(pairArbitrary);
6963
- return arrayArbitrary.smap(utils.pairArrayToDict, utils.dictToPairArray, makeMapShow(arb.show));
6964
- }
6965
- module.exports = {
6966
- arbitrary: dict,
6967
- generator: generateDict
6968
- };
6969
- }
6970
- });
6971
-
6972
- // ../../node_modules/jsverify/lib/json.js
6973
- var require_json = __commonJS({
6974
- "../../node_modules/jsverify/lib/json.js"(exports, module) {
6975
- "use strict";
6976
- var assert = __require("assert");
6977
- var arbitraryBless = require_arbitraryBless();
6978
- var dict = require_dict();
6979
- var generator = require_generator();
6980
- var primitive = require_primitive();
6981
- var show = require_show();
6982
- var shrink = require_shrink();
6983
- var string = require_string();
6984
- var utils = require_utils();
6985
- var nullArb = primitive.constant(null);
6986
- var generateInteger = primitive.integer.generator;
6987
- var generateNumber = primitive.number.generator;
6988
- var generateBool = primitive.bool.generator;
6989
- var generateString = string.string.generator;
6990
- var generateNull = nullArb.generator;
6991
- var generateJson = generator.recursive(
6992
- generator.oneof([
6993
- generateInteger,
6994
- generateNumber,
6995
- generateBool,
6996
- generateString,
6997
- generateNull
6998
- ]),
6999
- function(gen) {
7000
- return generator.oneof([generator.array(gen), dict.generator(gen)]);
7001
- }
7002
- );
7003
- var shrinkDictJson;
7004
- var shrinkJson;
7005
- function shrinkRecJson(json2) {
7006
- if (Array.isArray(json2)) {
7007
- return shrink.array(shrinkJson, json2);
7008
- } else {
7009
- return shrinkDictJson(json2);
7010
- }
7011
- }
7012
- shrinkJson = shrink.bless(function(json2) {
7013
- assert(typeof json2 !== "function");
7014
- if (json2 === null) {
7015
- return nullArb.shrink(json2);
7016
- }
7017
- switch (typeof json2) {
7018
- case "boolean":
7019
- return primitive.bool.shrink(json2);
7020
- case "number":
7021
- return primitive.number.shrink(json2);
7022
- case "string":
7023
- return string.string.shrink(json2);
7024
- default:
7025
- return shrinkRecJson(json2);
7026
- }
7027
- });
7028
- shrinkDictJson = function() {
7029
- var pairShrink = shrink.pair(string.string.shrink, shrinkJson);
7030
- var arrayShrink = shrink.array(pairShrink);
7031
- return arrayShrink.smap(utils.pairArrayToDict, utils.dictToPairArray);
7032
- }();
7033
- var json = arbitraryBless({
7034
- generator: generateJson,
7035
- shrink: shrinkJson,
7036
- show: show.def
7037
- });
7038
- module.exports = {
7039
- json
7040
- };
7041
- }
7042
- });
7043
-
7044
- // ../../node_modules/jsverify/lib/arbitrary.js
7045
- var require_arbitrary = __commonJS({
7046
- "../../node_modules/jsverify/lib/arbitrary.js"(exports, module) {
7047
- "use strict";
7048
- var arbitraryAssert = require_arbitraryAssert();
7049
- var arbitraryBless = require_arbitraryBless();
7050
- var array = require_array();
7051
- var assert = __require("assert");
7052
- var dict = require_dict();
7053
- var generator = require_generator();
7054
- var json = require_json();
7055
- var pair = require_pair();
7056
- var show = require_show();
7057
- var shrink = require_shrink();
7058
- var utils = require_utils();
7059
- function nonshrink(arb) {
7060
- arb = utils.force(arb);
7061
- return arbitraryBless({
7062
- generator: arb.generator,
7063
- shrink: shrink.noop,
7064
- show: arb.show
7065
- });
7066
- }
7067
- var unit = arbitraryBless({
7068
- generator: generator.unit,
7069
- shrink: shrink.noop,
7070
- show: show.def
7071
- });
7072
- function either(a, b) {
7073
- a = utils.force(a || json.json);
7074
- b = utils.force(b || json.json);
7075
- arbitraryAssert(a);
7076
- arbitraryAssert(b);
7077
- return arbitraryBless({
7078
- generator: generator.either(a.generator, b.generator),
7079
- shrink: shrink.either(a.shrink, b.shrink),
7080
- show: show.either(a.show, b.show)
7081
- });
7082
- }
7083
- function pairArb(a, b) {
7084
- return pair.pair(a || json.json, b || json.json);
7085
- }
7086
- function tuple(arbs) {
7087
- arbs = arbs.map(utils.force);
7088
- return arbitraryBless({
7089
- generator: generator.tuple(utils.pluck(arbs, "generator")),
7090
- shrink: shrink.tuple(utils.pluck(arbs, "shrink")),
7091
- show: show.tuple(utils.pluck(arbs, "show"))
7092
- });
7093
- }
7094
- function sum(arbs) {
7095
- arbs = arbs.map(utils.force);
7096
- return arbitraryBless({
7097
- generator: generator.sum(utils.pluck(arbs, "generator")),
7098
- shrink: shrink.sum(utils.pluck(arbs, "shrink")),
7099
- show: show.sum(utils.pluck(arbs, "show"))
7100
- });
7101
- }
7102
- function dictArb(arb) {
7103
- return dict.arbitrary(arb || json.json);
7104
- }
7105
- function arrayArb(arb) {
7106
- return array.array(arb || json.json);
7107
- }
7108
- function nearrayArb(arb) {
7109
- return array.nearray(arb || json.json);
7110
- }
7111
- var jsonArb = json.json;
7112
- function oneof() {
7113
- assert(arguments.length !== 0, "oneof: at least one parameter expected");
7114
- var generators = [];
7115
- var append = function(a) {
7116
- generators.push(utils.force(a).generator);
7117
- };
7118
- for (var i = 0; i < arguments.length; i++) {
7119
- var arg = arguments[i];
7120
- if (utils.isArray(arg)) {
7121
- arg.forEach(append);
7122
- } else {
7123
- append(arg);
7124
- }
7125
- }
7126
- return arbitraryBless({
7127
- generator: generator.oneof(generators),
7128
- // TODO: make shrink
7129
- shrink: shrink.noop,
7130
- show: show.def
7131
- });
7132
- }
7133
- function lazyArbitrary() {
7134
- var arb = {};
7135
- arb.generator = generator.bless(function(size) {
7136
- return arb.strict.generator(size);
7137
- });
7138
- arb.shrink = shrink.noop;
7139
- arb.show = show.def;
7140
- arb = arbitraryBless(arb);
7141
- return arb;
7142
- }
7143
- function letrec(definition) {
7144
- var lazyArbs = {};
7145
- function tie(name) {
7146
- if (!lazyArbs.hasOwnProperty(name)) {
7147
- lazyArbs[name] = lazyArbitrary();
7148
- }
7149
- return lazyArbs[name];
7150
- }
7151
- var strictArbs = definition(tie);
7152
- Object.keys(lazyArbs).forEach(function(key) {
7153
- var strictArb = strictArbs[key];
7154
- if (!strictArb) {
7155
- throw new Error("undefined lazy arbitrary: " + key);
7156
- }
7157
- lazyArbs[key].strict = strictArb;
7158
- });
7159
- return strictArbs;
7160
- }
7161
- function recursive(arbZ, arbS) {
7162
- var genZ = arbZ.generator;
7163
- var genS = function(recGen) {
7164
- var recArb = arbitraryBless({
7165
- generator: recGen,
7166
- shrink: shrink.noop,
7167
- show: show.def
7168
- });
7169
- return arbS(recArb).generator;
7170
- };
7171
- var gen = generator.recursive(genZ, genS);
7172
- return arbitraryBless({
7173
- generator: gen,
7174
- shrink: shrink.noop,
7175
- show: show.def
7176
- });
7177
- }
7178
- module.exports = {
7179
- nonshrink,
7180
- pair: pairArb,
7181
- either,
7182
- unit,
7183
- dict: dictArb,
7184
- json: jsonArb,
7185
- nearray: nearrayArb,
7186
- array: arrayArb,
7187
- tuple,
7188
- sum,
7189
- oneof,
7190
- recursive,
7191
- letrec
7192
- };
7193
- }
7194
- });
7195
-
7196
- // ../../node_modules/jsverify/lib/bless.js
7197
- var require_bless = __commonJS({
7198
- "../../node_modules/jsverify/lib/bless.js"(exports, module) {
7199
- "use strict";
7200
- var assert = __require("assert");
7201
- var arbitraryBless = require_arbitraryBless();
7202
- var generator = require_generator();
7203
- var show = require_show();
7204
- var shrink = require_shrink();
7205
- function bless(arb) {
7206
- assert(arb !== null && typeof arb === "object", "bless: arb should be an object");
7207
- assert(typeof arb.generator === "function", "bless: arb.generator should be a function");
7208
- if (typeof arb.shrink !== "function") {
7209
- arb.shrink = shrink.noop;
7210
- }
7211
- if (typeof arb.show !== "function") {
7212
- arb.show = show.def;
7213
- }
7214
- generator.bless(arb.generator);
7215
- shrink.bless(arb.shrink);
7216
- arbitraryBless(arb);
7217
- return arb;
7218
- }
7219
- module.exports = bless;
7220
- }
7221
- });
7222
-
7223
- // ../../node_modules/jsverify/lib/record.js
7224
- var require_record = __commonJS({
7225
- "../../node_modules/jsverify/lib/record.js"(exports, module) {
7226
- "use strict";
7227
- var arbitraryBless = require_arbitraryBless();
7228
- var generator = require_generator();
7229
- var utils = require_utils();
7230
- var shrink = require_shrink();
7231
- function generatorRecord(spec) {
7232
- var keys = Object.keys(spec);
7233
- var result = generator.bless(function(size) {
7234
- var res = {};
7235
- keys.forEach(function(k) {
7236
- res[k] = spec[k](size);
7237
- });
7238
- return res;
7239
- });
7240
- return utils.curried2(result, arguments);
7241
- }
7242
- function shrinkRecord(shrinksRecord) {
7243
- var keys = Object.keys(shrinksRecord);
7244
- var shrinks = keys.map(function(k) {
7245
- return shrinksRecord[k];
7246
- });
7247
- var result = shrink.bless(function(rec) {
7248
- var values = keys.map(function(k) {
7249
- return rec[k];
7250
- });
7251
- var shrinked = shrink.tuple(shrinks, values);
7252
- return shrinked.map(function(s) {
7253
- var res = {};
7254
- keys.forEach(function(k, i) {
7255
- res[k] = s[i];
7256
- });
7257
- return res;
7258
- });
7259
- });
7260
- return utils.curried2(result, arguments);
7261
- }
7262
- function arbitraryRecord(spec) {
7263
- var generatorSpec = {};
7264
- var shrinkSpec = {};
7265
- var showSpec = {};
7266
- Object.keys(spec).forEach(function(k) {
7267
- var arb = utils.force(spec[k]);
7268
- generatorSpec[k] = arb.generator;
7269
- shrinkSpec[k] = arb.shrink;
7270
- showSpec[k] = arb.show;
7271
- });
7272
- return arbitraryBless({
7273
- generator: generatorRecord(generatorSpec),
7274
- shrink: shrinkRecord(shrinkSpec),
7275
- show: function(m) {
7276
- return "{" + Object.keys(m).map(function(k) {
7277
- return k + ": " + showSpec[k](m[k]);
7278
- }).join(", ") + "}";
7279
- }
7280
- });
7281
- }
7282
- module.exports = {
7283
- generator: generatorRecord,
7284
- arbitrary: arbitraryRecord,
7285
- shrink: shrinkRecord
7286
- };
7287
- }
7288
- });
7289
-
7290
- // ../../node_modules/jsverify/lib/finitemap.js
7291
- var require_finitemap = __commonJS({
7292
- "../../node_modules/jsverify/lib/finitemap.js"(exports, module) {
7293
- "use strict";
7294
- var utils = require_utils();
7295
- function FMap(eq) {
7296
- this.eq = eq || utils.isEqual;
7297
- this.data = [];
7298
- }
7299
- FMap.prototype.contains = function FMapContains(key) {
7300
- for (var i = 0; i < this.data.length; i++) {
7301
- if (this.eq(this.data[i][0], key)) {
7302
- return true;
7303
- }
7304
- }
7305
- return false;
7306
- };
7307
- FMap.prototype.insert = function FMapInsert(key, value) {
7308
- for (var i = 0; i < this.data.length; i++) {
7309
- if (this.eq(this.data[i][0], key)) {
7310
- this.data[i] = [key, value];
7311
- return;
7312
- }
7313
- }
7314
- this.data.push([key, value]);
7315
- };
7316
- FMap.prototype.get = function FMapGet(key) {
7317
- for (var i = 0; i < this.data.length; i++) {
7318
- if (this.eq(this.data[i][0], key)) {
7319
- return this.data[i][1];
7320
- }
7321
- }
7322
- };
7323
- module.exports = FMap;
7324
- }
7325
- });
7326
-
7327
- // ../../node_modules/jsverify/lib/fn.js
7328
- var require_fn = __commonJS({
7329
- "../../node_modules/jsverify/lib/fn.js"(exports, module) {
7330
- "use strict";
7331
- var arbitraryBless = require_arbitraryBless();
7332
- var generator = require_generator();
7333
- var FMap = require_finitemap();
7334
- var json = require_json();
7335
- var shrink = require_shrink();
7336
- var utils = require_utils();
7337
- function fn(arb) {
7338
- arb = utils.force(arb || json.json);
7339
- return arbitraryBless({
7340
- generator: generator.bless(function(size) {
7341
- var m = new FMap();
7342
- var f = function(arg) {
7343
- if (!m.contains(arg)) {
7344
- var value = arb.generator(size);
7345
- m.insert(arg, value);
7346
- }
7347
- return m.get(arg);
7348
- };
7349
- f.internalMap = m;
7350
- return f;
7351
- }),
7352
- shrink: shrink.noop,
7353
- show: function(f) {
7354
- return "[" + f.internalMap.data.map(function(item) {
7355
- return "" + item[0] + ": " + arb.show(item[1]);
7356
- }).join(", ") + "]";
7357
- }
7358
- });
7359
- }
7360
- module.exports = {
7361
- fn,
7362
- fun: fn
7363
- };
7364
- }
7365
- });
7366
-
7367
- // ../../node_modules/jsverify/lib/small.js
7368
- var require_small = __commonJS({
7369
- "../../node_modules/jsverify/lib/small.js"(exports, module) {
7370
- "use strict";
7371
- var generator = require_generator();
7372
- var arbitraryBless = require_arbitraryBless();
7373
- var arbitraryAssert = require_arbitraryAssert();
7374
- var utils = require_utils();
7375
- function smallGenerator(gen) {
7376
- return generator.bless(function(size) {
7377
- return gen(utils.ilog2(size));
7378
- });
7379
- }
7380
- function smallArbitraryImpl(arb) {
7381
- arbitraryAssert(arb);
7382
- return arbitraryBless({
7383
- generator: smallGenerator(arb.generator),
7384
- shrink: arb.shrink,
7385
- show: arb.show
7386
- });
7387
- }
7388
- function smallArbitrary(arb) {
7389
- if (typeof arb === "function") {
7390
- return function() {
7391
- var resArb = arb.apply(arb, arguments);
7392
- return smallArbitraryImpl(resArb);
7393
- };
7394
- } else {
7395
- return smallArbitraryImpl(arb);
7396
- }
7397
- }
7398
- module.exports = {
7399
- generator: smallGenerator,
7400
- arbitrary: smallArbitrary
7401
- };
7402
- }
7403
- });
7404
-
7405
- // ../../node_modules/jsverify/lib/environment.js
7406
- var require_environment = __commonJS({
7407
- "../../node_modules/jsverify/lib/environment.js"(exports, module) {
7408
- "use strict";
7409
- var arbitrary = require_arbitrary();
7410
- var fn = require_fn();
7411
- var primitive = require_primitive();
7412
- var small = require_small();
7413
- var string = require_string();
7414
- var utils = require_utils();
7415
- var environment = utils.merge(primitive, string, {
7416
- pair: arbitrary.pair,
7417
- unit: arbitrary.unit,
7418
- either: arbitrary.either,
7419
- dict: arbitrary.dict,
7420
- array: arbitrary.array,
7421
- nearray: arbitrary.nearray,
7422
- json: arbitrary.json,
7423
- fn: fn.fn,
7424
- fun: fn.fn,
7425
- nonshrink: arbitrary.nonshrink,
7426
- small: small.arbitrary
7427
- });
7428
- module.exports = environment;
7429
- }
7430
- });
7431
-
7432
- // ../../node_modules/typify-parser/lib/parser.js
7433
- var require_parser = __commonJS({
7434
- "../../node_modules/typify-parser/lib/parser.js"(exports, module) {
7435
- "use strict";
7436
- function unescapeString(str) {
7437
- return str.replace(/\\(?:'|"|\\|n|x[0-9a-fA-F]{2})/g, function(match) {
7438
- switch (match[1]) {
7439
- case "'":
7440
- return "'";
7441
- case '"':
7442
- return '"';
7443
- case "\\":
7444
- return "\\";
7445
- case "n":
7446
- return "\n";
7447
- case "x":
7448
- return String.fromCharCode(parseInt(match.substr(2), 16));
7449
- }
7450
- });
7451
- }
7452
- function lex(input) {
7453
- var m = input.match(/^([ \t\r\n]+|[\u22a4\u22a5\u2227\u2228\u00d7\u2192\u2026]|\ud835\udfd9|_\|_|\*|\(\)|"(?:[^"\\]|\\[\\'"n]|\\x[0-9a-fA-F]{2})*"|'(?:[^'\\]|\\[\\'"n]|\\x[0-9a-fA-F]{2})*'|[0-9a-zA-Z_\$@]+|,|->|:|;|&|\||\.\.\.|\(|\)|\[|\]|\{|\}|\?)*$/);
7454
- if (m === null) {
7455
- throw new SyntaxError("Cannot lex type signature");
7456
- }
7457
- m = input.match(/([ \t\r\n]+|[\u22a4\u22a5\u2227\u2228\u00d7\u2192\u2026]|\ud835\udfd9|_\|_|\*|\(\)|"(?:[^"\\]|\\[\\'"n]|\\x[0-9a-fA-F]{2})*"|'(?:[^'\\]|\\[\\'"n]|\\x[0-9a-fA-F]{2})*'|[0-9a-zA-Z_\$@]+|,|->|:|;|&|\||\.\.\.|\(|\)|\[|\]|\{|\}|\?)/g);
7458
- return m.map(function(token) {
7459
- switch (token) {
7460
- case "_|_":
7461
- return { type: "false" };
7462
- case "\u22A5":
7463
- return { type: "false" };
7464
- case "*":
7465
- return { type: "true" };
7466
- case "\u22A4":
7467
- return { type: "true" };
7468
- case "()":
7469
- return { type: "unit" };
7470
- case "\u{1D7D9}":
7471
- return { type: "unit" };
7472
- case "true":
7473
- return { type: "bool", value: true };
7474
- case "false":
7475
- return { type: "bool", value: false };
7476
- case "rec":
7477
- return { type: "rec" };
7478
- case "&":
7479
- return { type: "&" };
7480
- case "\u2227":
7481
- return { type: "&" };
7482
- case "|":
7483
- return { type: "|" };
7484
- case "\u2228":
7485
- return { type: "|" };
7486
- case ",":
7487
- return { type: "," };
7488
- case "\xD7":
7489
- return { type: "," };
7490
- case ";":
7491
- return { type: ";" };
7492
- case ":":
7493
- return { type: ":" };
7494
- case "(":
7495
- return { type: "(" };
7496
- case ")":
7497
- return { type: ")" };
7498
- case "[":
7499
- return { type: "[" };
7500
- case "]":
7501
- return { type: "]" };
7502
- case "{":
7503
- return { type: "{" };
7504
- case "}":
7505
- return { type: "}" };
7506
- case "?":
7507
- return { type: "?" };
7508
- case "->":
7509
- return { type: "->" };
7510
- case "\u2192":
7511
- return { type: "->" };
7512
- case "...":
7513
- return { type: "..." };
7514
- case "\u2026":
7515
- return { type: "..." };
7516
- }
7517
- if (token.match(/^[ \r\r\n]+$/)) {
7518
- return null;
7519
- }
7520
- if (token.match(/^[0-9]+/)) {
7521
- return { type: "number", value: parseInt(token, 10) };
7522
- }
7523
- if (token[0] === "'" || token[0] === '"') {
7524
- token = token.slice(1, -1);
7525
- return { type: "string", value: unescapeString(token) };
7526
- }
7527
- return { type: "ident", value: token };
7528
- }).filter(function(token) {
7529
- return token !== null;
7530
- });
7531
- }
7532
- function makePunctParser(type) {
7533
- return function(state) {
7534
- if (state.pos >= state.len) {
7535
- throw new SyntaxError("Expecting identifier, end-of-input found");
7536
- }
7537
- var token = state.tokens[state.pos];
7538
- if (token.type !== type) {
7539
- throw new SyntaxError("Expecting '" + type + "', found: " + token.type);
7540
- }
7541
- state.pos += 1;
7542
- return type;
7543
- };
7544
- }
7545
- var colonParser = makePunctParser(":");
7546
- var openCurlyParser = makePunctParser("{");
7547
- var closeCurlyParser = makePunctParser("}");
7548
- var semicolonParser = makePunctParser(";");
7549
- var openParenParser = makePunctParser("(");
7550
- var closeParenParser = makePunctParser(")");
7551
- var openBracketParser = makePunctParser("[");
7552
- var closeBracketParser = makePunctParser("]");
7553
- var recKeywordParser = makePunctParser("rec");
7554
- var arrowParser = makePunctParser("->");
7555
- function nameParser(state) {
7556
- if (state.pos >= state.len) {
7557
- throw new SyntaxError("Expecting identifier, end-of-input found");
7558
- }
7559
- var token = state.tokens[state.pos];
7560
- if (token.type !== "ident") {
7561
- throw new SyntaxError("Expecting 'ident', found: " + token.type);
7562
- }
7563
- state.pos += 1;
7564
- return token.value;
7565
- }
7566
- function recursiveParser(state) {
7567
- recKeywordParser(state);
7568
- var name = nameParser(state);
7569
- arrowParser(state);
7570
- var value = typeParser(state);
7571
- return {
7572
- type: "recursive",
7573
- name,
7574
- arg: value
7575
- };
7576
- }
7577
- function recordParser(state) {
7578
- openCurlyParser(state);
7579
- var token = state.tokens[state.pos];
7580
- if (token && token.type === "}") {
7581
- closeCurlyParser(state);
7582
- return { type: "record", fields: {} };
7583
- }
7584
- var fields = {};
7585
- while (true) {
7586
- var name = nameParser(state);
7587
- colonParser(state);
7588
- var value = typeParser(state);
7589
- fields[name] = value;
7590
- token = state.tokens[state.pos];
7591
- if (token && token.type === "}") {
7592
- closeCurlyParser(state);
7593
- break;
7594
- } else if (token && token.type === ";") {
7595
- semicolonParser(state);
7596
- } else {
7597
- throw new SyntaxError("Expecting '}' or ';', found: " + token.type);
7598
- }
7599
- }
7600
- return { type: "record", fields };
7601
- }
7602
- function postfix(parser, postfixToken, constructor) {
7603
- return function(state) {
7604
- var arg = parser(state);
7605
- var token = state.tokens[state.pos];
7606
- if (token && token.type === postfixToken) {
7607
- state.pos += 1;
7608
- return {
7609
- type: constructor,
7610
- arg
7611
- };
7612
- } else {
7613
- return arg;
7614
- }
7615
- };
7616
- }
7617
- var optionalParser = postfix(terminalParser, "?", "optional");
7618
- function applicationParser(state) {
7619
- var rator = optionalParser(state);
7620
- var rands = [];
7621
- while (true) {
7622
- var pos = state.pos;
7623
- try {
7624
- var arg = optionalParser(state);
7625
- rands.push(arg);
7626
- } catch (err) {
7627
- state.pos = pos;
7628
- break;
7629
- }
7630
- }
7631
- if (rands.length === 0) {
7632
- return rator;
7633
- } else {
7634
- return {
7635
- type: "application",
7636
- callee: rator,
7637
- args: rands
7638
- };
7639
- }
7640
- }
7641
- function separatedBy(parser, separator, constructor) {
7642
- return function(state) {
7643
- var list = [parser(state)];
7644
- while (true) {
7645
- var token = state.tokens[state.pos];
7646
- if (token && token.type === separator) {
7647
- state.pos += 1;
7648
- } else {
7649
- break;
7650
- }
7651
- list.push(parser(state));
7652
- }
7653
- if (list.length === 1) {
7654
- return list[0];
7655
- } else {
7656
- return {
7657
- type: constructor,
7658
- args: list
7659
- };
7660
- }
7661
- };
7662
- }
7663
- var conjunctionParser = separatedBy(applicationParser, "&", "conjunction");
7664
- var disjunctionParser = separatedBy(conjunctionParser, "|", "disjunction");
7665
- var variadicParser = postfix(disjunctionParser, "...", "variadic");
7666
- function namedParser(state) {
7667
- var token1 = state.tokens[state.pos];
7668
- var token2 = state.tokens[state.pos + 1];
7669
- if (token1 && token2 && token1.type === "ident" && token2.type === ":") {
7670
- state.pos += 2;
7671
- var arg = namedParser(state);
7672
- return {
7673
- type: "named",
7674
- name: token1.value,
7675
- arg
7676
- };
7677
- } else {
7678
- return variadicParser(state);
7679
- }
7680
- }
7681
- var productParser = separatedBy(namedParser, ",", "product");
7682
- function functionParser(state) {
7683
- var v = productParser(state);
7684
- var token = state.tokens[state.pos];
7685
- if (token && token.type === "->") {
7686
- state.pos += 1;
7687
- var result = functionParser(state);
7688
- return {
7689
- type: "function",
7690
- arg: v,
7691
- result
7692
- };
7693
- } else {
7694
- return v;
7695
- }
7696
- }
7697
- function typeParser(state) {
7698
- return functionParser(state);
7699
- }
7700
- function parenthesesParser(state) {
7701
- openParenParser(state);
7702
- var type = typeParser(state);
7703
- closeParenParser(state);
7704
- return type;
7705
- }
7706
- function bracketParser(state) {
7707
- openBracketParser(state);
7708
- var type = typeParser(state);
7709
- closeBracketParser(state);
7710
- return {
7711
- type: "brackets",
7712
- arg: type
7713
- };
7714
- }
7715
- function terminalParser(state) {
7716
- if (state.pos >= state.len) {
7717
- throw new SyntaxError("Expecting terminal, end-of-input found");
7718
- }
7719
- var token = state.tokens[state.pos];
7720
- switch (token.type) {
7721
- case "false":
7722
- case "true":
7723
- case "unit":
7724
- case "string":
7725
- case "number":
7726
- case "bool":
7727
- case "ident":
7728
- state.pos += 1;
7729
- return token;
7730
- case "{":
7731
- return recordParser(state);
7732
- case "(":
7733
- return parenthesesParser(state);
7734
- case "[":
7735
- return bracketParser(state);
7736
- case "rec":
7737
- return recursiveParser(state);
7738
- default:
7739
- throw new SyntaxError("Expecting terminal, " + token.type + " found");
7740
- }
7741
- }
7742
- function parse(input) {
7743
- var tokens = lex(input);
7744
- var state = {
7745
- pos: 0,
7746
- len: tokens.length,
7747
- tokens
7748
- };
7749
- var res = typeParser(state);
7750
- if (state.pos !== state.len) {
7751
- throw new SyntaxError("expecting end-of-input, " + tokens[state.pos].type + " found");
7752
- }
7753
- return res;
7754
- }
7755
- function recordFreeVars(fields) {
7756
- var res = [];
7757
- for (var k in fields) {
7758
- var t = fields[k];
7759
- res = res.concat(freeVarsImpl(t));
7760
- }
7761
- return res;
7762
- }
7763
- function concatFreeVars(ts) {
7764
- var res = [];
7765
- for (var i = 0; i < ts.length; i++) {
7766
- var t = ts[i];
7767
- res = res.concat(freeVarsImpl(t));
7768
- }
7769
- return res;
7770
- }
7771
- function freeVarsImpl(t) {
7772
- switch (t.type) {
7773
- case "false":
7774
- case "true":
7775
- case "unit":
7776
- case "string":
7777
- case "number":
7778
- case "bool":
7779
- return [];
7780
- case "ident":
7781
- return [t.value];
7782
- case "record":
7783
- return recordFreeVars(t.fields);
7784
- case "named":
7785
- return freeVarsImpl(t.arg);
7786
- case "conjunction":
7787
- return concatFreeVars(t.args);
7788
- case "disjunction":
7789
- return concatFreeVars(t.args);
7790
- case "product":
7791
- return concatFreeVars(t.args);
7792
- case "recursive":
7793
- return freeVarsImpl(t.arg).filter(function(n) {
7794
- return n !== t.name;
7795
- });
7796
- case "optional":
7797
- return freeVarsImpl(t.arg);
7798
- case "brackets":
7799
- return freeVarsImpl(t.arg);
7800
- case "variadic":
7801
- return freeVarsImpl(t.arg);
7802
- case "application":
7803
- return freeVarsImpl(t.callee).concat(concatFreeVars(t.args));
7804
- case "function":
7805
- return freeVarsImpl(t.arg).concat(freeVarsImpl(t.result));
7806
- }
7807
- }
7808
- function uniq(arr) {
7809
- var res = [];
7810
- for (var i = 0; i < arr.length; i++) {
7811
- var x = arr[i];
7812
- if (res.indexOf(x) === -1) {
7813
- res.push(x);
7814
- }
7815
- }
7816
- return res;
7817
- }
7818
- function freeVars(t) {
7819
- var fvs = freeVarsImpl(t);
7820
- fvs.sort();
7821
- return uniq(fvs);
7822
- }
7823
- parse.freeVars = freeVars;
7824
- module.exports = parse;
7825
- }
7826
- });
7827
-
7828
- // ../../node_modules/jsverify/lib/typify.js
7829
- var require_typify = __commonJS({
7830
- "../../node_modules/jsverify/lib/typify.js"(exports, module) {
7831
- "use strict";
7832
- var arbitrary = require_arbitrary();
7833
- var assert = __require("assert");
7834
- var record = require_record();
7835
- var array = require_array();
7836
- var fn = require_fn();
7837
- var typifyParser = require_parser();
7838
- var utils = require_utils();
7839
- var compileType;
7840
- var compileTypeArray;
7841
- function compileIdent(env, type) {
7842
- var g = env[type.value];
7843
- if (!g) {
7844
- throw new Error("Unknown arbitrary: " + type.value);
7845
- }
7846
- return g;
7847
- }
7848
- function compileApplication(env, type) {
7849
- var callee = compileType(env, type.callee);
7850
- var args = compileTypeArray(env, type.args);
7851
- return callee.apply(void 0, args);
7852
- }
7853
- function compileFunction(env, type) {
7854
- var result = compileType(env, type.result);
7855
- return fn.fn(result);
7856
- }
7857
- function compileBrackets(env, type) {
7858
- var arg = compileType(env, type.arg);
7859
- return array.array(arg);
7860
- }
7861
- function compileDisjunction(env, type) {
7862
- var args = compileTypeArray(env, type.args);
7863
- return arbitrary.sum(args);
7864
- }
7865
- function compileConjunction(env, type) {
7866
- var args = compileTypeArray(env, type.args);
7867
- return arbitrary.tuple(args);
7868
- }
7869
- function compileRecord(env, type) {
7870
- var spec = {};
7871
- Object.keys(type.fields).forEach(function(key) {
7872
- spec[key] = compileType(env, type.fields[key]);
7873
- });
7874
- return record.arbitrary(spec);
7875
- }
7876
- function compileRecursive(env, type) {
7877
- assert(type.arg.type === "disjunction", "recursive type's argument should be disjunction");
7878
- var name = type.name;
7879
- var par = utils.partition(type.arg.args, function(t) {
7880
- return typifyParser.freeVars(t).indexOf(name) === -1;
7881
- });
7882
- var terminal = par[0];
7883
- if (terminal.length === 0) {
7884
- throw new Error("Recursive type without non-recursive branch");
7885
- }
7886
- var terminalArb = compileType(env, {
7887
- type: "disjunction",
7888
- args: terminal
7889
- });
7890
- return arbitrary.recursive(terminalArb, function(arb) {
7891
- var arbEnv = {};
7892
- arbEnv[name] = arb;
7893
- var newEnv = utils.merge(env, arbEnv);
7894
- return compileType(newEnv, type.arg);
7895
- });
7896
- }
7897
- compileType = function compileTypeFn(env, type) {
7898
- switch (type.type) {
7899
- case "ident":
7900
- return compileIdent(env, type);
7901
- case "application":
7902
- return compileApplication(env, type);
7903
- case "function":
7904
- return compileFunction(env, type);
7905
- case "brackets":
7906
- return compileBrackets(env, type);
7907
- case "disjunction":
7908
- return compileDisjunction(env, type);
7909
- case "conjunction":
7910
- return compileConjunction(env, type);
7911
- case "record":
7912
- return compileRecord(env, type);
7913
- case "number":
7914
- return type.value;
7915
- case "recursive":
7916
- return compileRecursive(env, type);
7917
- default:
7918
- throw new Error("Unsupported typify ast type: " + type.type);
7919
- }
7920
- };
7921
- compileTypeArray = function compileTypeArrayFn(env, types) {
7922
- return types.map(function(type) {
7923
- return compileType(env, type);
7924
- });
7925
- };
7926
- function parseTypify(env, str) {
7927
- var type = typifyParser(str);
7928
- return compileType(env, type);
7929
- }
7930
- module.exports = {
7931
- parseTypify
7932
- };
7933
- }
7934
- });
7935
-
7936
- // ../../node_modules/jsverify/lib/recordWithEnv.js
7937
- var require_recordWithEnv = __commonJS({
7938
- "../../node_modules/jsverify/lib/recordWithEnv.js"(exports, module) {
7939
- "use strict";
7940
- var environment = require_environment();
7941
- var record = require_record();
7942
- var typify = require_typify();
7943
- var utils = require_utils();
7944
- function recordWithEnv(spec, userenv) {
7945
- var env = userenv ? utils.merge(environment, userenv) : environment;
7946
- var parsedSpec = {};
7947
- Object.keys(spec).forEach(function(k) {
7948
- var arb = spec[k];
7949
- parsedSpec[k] = typeof arb === "string" ? typify.parseTypify(env, arb) : arb;
7950
- });
7951
- return record.arbitrary(parsedSpec);
7952
- }
7953
- module.exports = recordWithEnv;
7954
- }
7955
- });
7956
-
7957
- // ../../node_modules/jsverify/lib/api.js
7958
- var require_api = __commonJS({
7959
- "../../node_modules/jsverify/lib/api.js"(exports, module) {
7960
- "use strict";
7961
- var arbitrary = require_arbitrary();
7962
- var bless = require_bless();
7963
- var dict = require_dict();
7964
- var generator = require_generator();
7965
- var json = require_json();
7966
- var primitive = require_primitive();
7967
- var record = require_record();
7968
- var recordWithEnv = require_recordWithEnv();
7969
- var shrink = require_shrink();
7970
- var small = require_small();
7971
- var string = require_string();
7972
- var api = {
7973
- arbitrary: {
7974
- small: small.arbitrary,
7975
- bless,
7976
- record: recordWithEnv,
7977
- nonshrink: arbitrary.nonshrink,
7978
- pair: arbitrary.pair,
7979
- either: arbitrary.either,
7980
- unit: arbitrary.unit,
7981
- dict: arbitrary.dict,
7982
- json: arbitrary.json,
7983
- nearray: arbitrary.nearray,
7984
- array: arbitrary.array,
7985
- tuple: arbitrary.tuple,
7986
- sum: arbitrary.sum,
7987
- oneof: arbitrary.oneof,
7988
- recursive: arbitrary.recursive,
7989
- letrec: arbitrary.letrec
7990
- },
7991
- generator: {
7992
- dict: dict.generator,
7993
- json: json.json.generator,
7994
- small: small.generator,
7995
- record: record.generator
7996
- },
7997
- shrink: {
7998
- record: record.shrink
7999
- }
8000
- };
8001
- var k;
8002
- for (k in primitive) {
8003
- api.arbitrary[k] = primitive[k];
8004
- }
8005
- for (k in string) {
8006
- api.arbitrary[k] = string[k];
8007
- }
8008
- for (k in shrink) {
8009
- api.shrink[k] = shrink[k];
8010
- }
8011
- for (k in generator) {
8012
- api.generator[k] = generator[k];
8013
- }
8014
- module.exports = api;
8015
- }
8016
- });
8017
-
8018
- // ../../node_modules/trampa/index.js
8019
- var require_trampa = __commonJS({
8020
- "../../node_modules/trampa/index.js"(exports, module) {
8021
- "use strict";
8022
- var assert = __require("assert");
8023
- function Done(x) {
8024
- this.x = x;
8025
- }
8026
- function Cont(tramp, cont) {
8027
- assert(typeof cont === "function");
8028
- this.tramp = tramp;
8029
- this.cont = cont;
8030
- }
8031
- function isTrampoline(t) {
8032
- return t instanceof Done || t instanceof Cont;
8033
- }
8034
- function wrap(t) {
8035
- return isTrampoline(t) ? t : new Done(t);
8036
- }
8037
- function lazy(computation) {
8038
- assert(typeof computation === "function", "lazy: computation should be function");
8039
- return wrap().jump(computation);
8040
- }
8041
- Done.prototype.jump = function(f) {
8042
- return new Cont(this, function(x) {
8043
- return wrap(f(x));
8044
- });
8045
- };
8046
- Cont.prototype.jump = Done.prototype.jump;
8047
- function execute(curr, params) {
8048
- params = params || {};
8049
- var debug = params.debug || false;
8050
- var log = params.log || console.log;
8051
- var stack = [];
8052
- while (true) {
8053
- if (debug) {
8054
- log("trampoline execute: stack size " + stack.length);
8055
- }
8056
- if (curr instanceof Done) {
8057
- if (stack.length === 0) {
8058
- return curr.x;
8059
- } else {
8060
- curr = stack[stack.length - 1](curr.x);
8061
- stack.pop();
8062
- }
8063
- } else {
8064
- assert(curr instanceof Cont);
8065
- stack.push(curr.cont);
8066
- curr = curr.tramp;
8067
- }
8068
- }
8069
- }
8070
- Done.prototype.run = Cont.prototype.run = function(params) {
8071
- return execute(this, params);
8072
- };
8073
- module.exports = {
8074
- isTrampoline,
8075
- wrap,
8076
- lazy
8077
- };
8078
- }
8079
- });
8080
-
8081
- // ../../node_modules/jsverify/lib/functor.js
8082
- var require_functor = __commonJS({
8083
- "../../node_modules/jsverify/lib/functor.js"(exports, module) {
8084
- "use strict";
8085
- var trampa = require_trampa();
8086
- function isPromise(p) {
8087
- return new Object(p) === p && typeof p.then === "function";
8088
- }
8089
- function map(p, g) {
8090
- if (isPromise(p)) {
8091
- return p.then(function(x) {
8092
- return map(x, g);
5352
+ return source;
5353
+ }(), { "chain": false });
5354
+ lodash.VERSION = VERSION;
5355
+ arrayEach(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(methodName) {
5356
+ lodash[methodName].placeholder = lodash;
8093
5357
  });
8094
- } else if (trampa.isTrampoline(p)) {
8095
- return p.jump(function(x) {
8096
- return map(x, g);
5358
+ arrayEach(["drop", "take"], function(methodName, index) {
5359
+ LazyWrapper.prototype[methodName] = function(n) {
5360
+ n = n === undefined2 ? 1 : nativeMax(toInteger(n), 0);
5361
+ var result2 = this.__filtered__ && !index ? new LazyWrapper(this) : this.clone();
5362
+ if (result2.__filtered__) {
5363
+ result2.__takeCount__ = nativeMin(n, result2.__takeCount__);
5364
+ } else {
5365
+ result2.__views__.push({
5366
+ "size": nativeMin(n, MAX_ARRAY_LENGTH),
5367
+ "type": methodName + (result2.__dir__ < 0 ? "Right" : "")
5368
+ });
5369
+ }
5370
+ return result2;
5371
+ };
5372
+ LazyWrapper.prototype[methodName + "Right"] = function(n) {
5373
+ return this.reverse()[methodName](n).reverse();
5374
+ };
8097
5375
  });
8098
- } else {
8099
- return g(p);
8100
- }
8101
- }
8102
- function bind(f, xs, h) {
8103
- var r;
8104
- var exc;
8105
- try {
8106
- r = f.apply(void 0, xs);
8107
- } catch (e) {
8108
- r = false;
8109
- exc = e;
8110
- }
8111
- if (isPromise(r)) {
8112
- return r.then(
8113
- h,
8114
- function(e) {
8115
- return h(false, e);
8116
- }
8117
- );
8118
- } else {
8119
- return h(r, exc);
8120
- }
8121
- }
8122
- function run(x) {
8123
- if (isPromise(x)) {
8124
- return x.then(run);
8125
- } else if (trampa.isTrampoline(x)) {
8126
- return run(x.run());
8127
- } else {
8128
- return x;
8129
- }
8130
- }
8131
- function pure(x) {
8132
- if (isPromise(x)) {
8133
- return x;
8134
- } else {
8135
- return trampa.wrap(x);
8136
- }
8137
- }
8138
- module.exports = {
8139
- isPromise,
8140
- map,
8141
- pure,
8142
- bind,
8143
- run
8144
- };
8145
- }
8146
- });
8147
-
8148
- // ../../node_modules/jsverify/lib/suchthat.js
8149
- var require_suchthat = __commonJS({
8150
- "../../node_modules/jsverify/lib/suchthat.js"(exports, module) {
8151
- "use strict";
8152
- var environment = require_environment();
8153
- var typify = require_typify();
8154
- var utils = require_utils();
8155
- var generator = require_generator();
8156
- var shrink = require_shrink();
8157
- var arbitraryBless = require_arbitraryBless();
8158
- function suchthat(arb, userenv, predicate) {
8159
- var env;
8160
- if (arguments.length === 2) {
8161
- predicate = userenv;
8162
- env = environment;
8163
- } else {
8164
- env = utils.merge(environment, userenv);
8165
- }
8166
- arb = typeof arb === "string" ? typify.parseTypify(env, arb) : arb;
8167
- arb = utils.force(arb);
8168
- return arbitraryBless({
8169
- generator: generator.bless(function(size) {
8170
- for (var i = 0; ; i++) {
8171
- if (i > 5) {
8172
- i = 0;
8173
- size += 1;
8174
- }
8175
- var x = arb.generator(size);
8176
- if (predicate(x)) {
8177
- return x;
8178
- }
8179
- }
8180
- }),
8181
- shrink: shrink.bless(function(x) {
8182
- return arb.shrink(x).filter(predicate);
8183
- }),
8184
- show: arb.show
8185
- });
8186
- }
8187
- module.exports = {
8188
- suchthat
8189
- };
8190
- }
8191
- });
8192
-
8193
- // ../../node_modules/jsverify/lib/jsverify.js
8194
- var require_jsverify = __commonJS({
8195
- "../../node_modules/jsverify/lib/jsverify.js"(exports, module) {
8196
- "use strict";
8197
- var assert = __require("assert");
8198
- var lazyseq2 = require_lazy_seq();
8199
- var api = require_api();
8200
- var either = require_either();
8201
- var environment = require_environment();
8202
- var FMap = require_finitemap();
8203
- var fn = require_fn();
8204
- var functor = require_functor();
8205
- var random = require_random();
8206
- var show = require_show();
8207
- var shrink = require_shrink();
8208
- var suchthat = require_suchthat();
8209
- var sum = require_sum();
8210
- var typify = require_typify();
8211
- var utils = require_utils();
8212
- function shrinkResult(arbs, x, test, size, shrinksN, exc, transform) {
8213
- assert(arbs.length === x.length, "shrinkResult: arbs and x has to be of same size");
8214
- assert(typeof size === "number", "shrinkResult: size should be number");
8215
- assert(typeof shrinksN === "number", "shrinkResult: shrinkN should be number");
8216
- var shrinks = utils.pluck(arbs, "shrink");
8217
- var shows = utils.pluck(arbs, "show");
8218
- var shrinked = shrink.tuple(shrinks, x);
8219
- var shrinkP = lazyseq2.fold(shrinked, true, function(y, rest) {
8220
- var t = test(size, y, shrinksN + 1);
8221
- return functor.map(t, function(tprime) {
8222
- return tprime !== true ? tprime : rest();
5376
+ arrayEach(["filter", "map", "takeWhile"], function(methodName, index) {
5377
+ var type = index + 1, isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;
5378
+ LazyWrapper.prototype[methodName] = function(iteratee2) {
5379
+ var result2 = this.clone();
5380
+ result2.__iteratees__.push({
5381
+ "iteratee": getIteratee(iteratee2, 3),
5382
+ "type": type
5383
+ });
5384
+ result2.__filtered__ = result2.__filtered__ || isFilter;
5385
+ return result2;
5386
+ };
8223
5387
  });
8224
- });
8225
- return functor.map(shrinkP, function(shrinkPPrime) {
8226
- if (shrinkPPrime === true) {
8227
- var res = {
8228
- counterexample: x,
8229
- counterexamplestr: show.tuple(shows, x),
8230
- shrinks: shrinksN,
8231
- exc
5388
+ arrayEach(["head", "last"], function(methodName, index) {
5389
+ var takeName = "take" + (index ? "Right" : "");
5390
+ LazyWrapper.prototype[methodName] = function() {
5391
+ return this[takeName](1).value()[0];
8232
5392
  };
8233
- return transform(res);
8234
- } else {
8235
- return shrinkPPrime;
8236
- }
8237
- });
8238
- }
8239
- function isArbitrary(arb) {
8240
- return (typeof arb === "object" || typeof arb === "function") && typeof arb.generator === "function" && typeof arb.shrink === "function" && typeof arb.show === "function";
8241
- }
8242
- function forall() {
8243
- var args = Array.prototype.slice.call(arguments);
8244
- var gens = args.slice(0, -1);
8245
- var property = args[args.length - 1];
8246
- var env;
8247
- var lastgen = gens[gens.length - 1];
8248
- if (!isArbitrary(lastgen) && typeof lastgen !== "string") {
8249
- env = utils.merge(environment, lastgen);
8250
- gens = gens.slice(0, -1);
8251
- } else {
8252
- env = environment;
8253
- }
8254
- assert(gens.length > 0, "forall requires at least single generator");
8255
- gens = gens.map(function(g) {
8256
- g = typeof g === "string" ? typify.parseTypify(env, g) : g;
8257
- return utils.force(g);
8258
- });
8259
- assert(typeof property === "function", "property should be a function");
8260
- function test(size, x, shrinks) {
8261
- assert(Array.isArray(x), "generators results should be always tuple");
8262
- return functor.bind(property, x, function(r, exc) {
8263
- if (r === true) {
8264
- return true;
8265
- } else if (typeof r === "function") {
8266
- var rRec = r(size);
8267
- return functor.map(rRec, function(rRecPrime) {
8268
- if (rRecPrime === true) {
8269
- return true;
8270
- } else {
8271
- return shrinkResult(gens, x, test, size, shrinks, exc, function(rr) {
8272
- return {
8273
- counterexample: rr.counterexample.concat(rRecPrime.counterexample),
8274
- counterexamplestr: rr.counterexamplestr,
8275
- // + "; " + rRec.counterexamplestr,
8276
- shrinks: rr.shrinks,
8277
- exc: rr.exc || rRecPrime.exc
8278
- };
8279
- });
8280
- }
8281
- });
8282
- } else {
8283
- return shrinkResult(gens, x, test, size, shrinks, exc || r, utils.identity);
8284
- }
8285
5393
  });
8286
- }
8287
- return function(size) {
8288
- var x = gens.map(function(arb) {
8289
- return arb.generator(size);
5394
+ arrayEach(["initial", "tail"], function(methodName, index) {
5395
+ var dropName = "drop" + (index ? "" : "Right");
5396
+ LazyWrapper.prototype[methodName] = function() {
5397
+ return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
5398
+ };
8290
5399
  });
8291
- var r = test(size, x, 0);
8292
- return r;
8293
- };
8294
- }
8295
- function formatFailedCase(r, state, includeStack) {
8296
- var msg = "Failed after " + r.tests + " tests and " + r.shrinks + " shrinks. ";
8297
- msg += "rngState: " + (r.rngState || state) + "; ";
8298
- msg += "Counterexample: " + r.counterexamplestr + "; ";
8299
- if (r.exc) {
8300
- if (r.exc instanceof Error) {
8301
- msg += "Exception: " + r.exc.message;
8302
- if (includeStack) {
8303
- msg += "\nStack trace: " + r.exc.stack;
8304
- }
8305
- } else {
8306
- msg += "Error: " + r.exc;
8307
- }
8308
- }
8309
- return msg;
8310
- }
8311
- function findRngState(argv) {
8312
- for (var i = 0; i < argv.length - 1; i++) {
8313
- if (argv[i] === "--jsverifyRngState") {
8314
- return argv[i + 1];
8315
- }
8316
- }
8317
- }
8318
- function check(property, opts) {
8319
- opts = opts || {};
8320
- opts.size = opts.size || 50;
8321
- opts.tests = opts.tests || 100;
8322
- opts.quiet = opts.quiet || false;
8323
- assert(typeof property === "function", "property should be a function");
8324
- var state;
8325
- if (opts.rngState) {
8326
- random.setStateString(opts.rngState);
8327
- } else if (typeof process !== "undefined") {
8328
- var argvState = findRngState(process.argv);
8329
- if (argvState) {
8330
- random.setStateString(argvState);
8331
- }
8332
- }
8333
- function loop(i) {
8334
- state = random.currentStateString();
8335
- if (i > opts.tests) {
8336
- return true;
8337
- }
8338
- var size = random(0, opts.size);
8339
- var r = functor.pure(property(size));
8340
- return functor.map(r, function(rPrime) {
8341
- if (rPrime === true) {
8342
- return loop(i + 1);
8343
- } else {
8344
- rPrime.tests = i;
8345
- if (!opts.quiet) {
8346
- console.error(formatFailedCase(rPrime, state, true), rPrime.counterexample);
8347
- }
8348
- return rPrime;
5400
+ LazyWrapper.prototype.compact = function() {
5401
+ return this.filter(identity);
5402
+ };
5403
+ LazyWrapper.prototype.find = function(predicate) {
5404
+ return this.filter(predicate).head();
5405
+ };
5406
+ LazyWrapper.prototype.findLast = function(predicate) {
5407
+ return this.reverse().find(predicate);
5408
+ };
5409
+ LazyWrapper.prototype.invokeMap = baseRest(function(path2, args) {
5410
+ if (typeof path2 == "function") {
5411
+ return new LazyWrapper(this);
8349
5412
  }
5413
+ return this.map(function(value) {
5414
+ return baseInvoke(value, path2, args);
5415
+ });
8350
5416
  });
8351
- }
8352
- return functor.run(functor.map(loop(1), function(r) {
8353
- if (r === true) {
8354
- if (!opts.quiet) {
8355
- console.info("OK, passed " + opts.tests + " tests");
5417
+ LazyWrapper.prototype.reject = function(predicate) {
5418
+ return this.filter(negate(getIteratee(predicate)));
5419
+ };
5420
+ LazyWrapper.prototype.slice = function(start, end) {
5421
+ start = toInteger(start);
5422
+ var result2 = this;
5423
+ if (result2.__filtered__ && (start > 0 || end < 0)) {
5424
+ return new LazyWrapper(result2);
8356
5425
  }
8357
- } else {
8358
- r.rngState = state;
8359
- }
8360
- return r;
8361
- }));
8362
- }
8363
- function checkThrow(property, opts) {
8364
- opts = opts || {};
8365
- if (opts.quiet === void 0) {
8366
- opts.quiet = true;
8367
- }
8368
- return functor.run(functor.map(check(property, opts), function(r) {
8369
- if (r !== true) {
8370
- if (r.exc instanceof Error) {
8371
- r.exc.message = formatFailedCase(r);
8372
- throw r.exc;
8373
- } else {
8374
- throw new Error(formatFailedCase(r));
5426
+ if (start < 0) {
5427
+ result2 = result2.takeRight(-start);
5428
+ } else if (start) {
5429
+ result2 = result2.drop(start);
8375
5430
  }
8376
- }
8377
- }));
8378
- }
8379
- function bddProperty(name) {
8380
- var args = Array.prototype.slice.call(arguments, 1);
8381
- if (args.length === 1) {
8382
- it(name, function() {
8383
- return functor.run(functor.map(args[0](), function(result) {
8384
- if (typeof result === "function") {
8385
- return checkThrow(result);
8386
- } else if (result !== true) {
8387
- throw new Error(name + " doesn't hold");
5431
+ if (end !== undefined2) {
5432
+ end = toInteger(end);
5433
+ result2 = end < 0 ? result2.dropRight(-end) : result2.take(end - start);
5434
+ }
5435
+ return result2;
5436
+ };
5437
+ LazyWrapper.prototype.takeRightWhile = function(predicate) {
5438
+ return this.reverse().takeWhile(predicate).reverse();
5439
+ };
5440
+ LazyWrapper.prototype.toArray = function() {
5441
+ return this.take(MAX_ARRAY_LENGTH);
5442
+ };
5443
+ baseForOwn(LazyWrapper.prototype, function(func, methodName) {
5444
+ var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), isTaker = /^(?:head|last)$/.test(methodName), lodashFunc = lodash[isTaker ? "take" + (methodName == "last" ? "Right" : "") : methodName], retUnwrapped = isTaker || /^find/.test(methodName);
5445
+ if (!lodashFunc) {
5446
+ return;
5447
+ }
5448
+ lodash.prototype[methodName] = function() {
5449
+ var value = this.__wrapped__, args = isTaker ? [1] : arguments, isLazy = value instanceof LazyWrapper, iteratee2 = args[0], useLazy = isLazy || isArray(value);
5450
+ var interceptor = function(value2) {
5451
+ var result3 = lodashFunc.apply(lodash, arrayPush([value2], args));
5452
+ return isTaker && chainAll ? result3[0] : result3;
5453
+ };
5454
+ if (useLazy && checkIteratee && typeof iteratee2 == "function" && iteratee2.length != 1) {
5455
+ isLazy = useLazy = false;
5456
+ }
5457
+ var chainAll = this.__chain__, isHybrid = !!this.__actions__.length, isUnwrapped = retUnwrapped && !chainAll, onlyLazy = isLazy && !isHybrid;
5458
+ if (!retUnwrapped && useLazy) {
5459
+ value = onlyLazy ? value : new LazyWrapper(this);
5460
+ var result2 = func.apply(value, args);
5461
+ result2.__actions__.push({ "func": thru, "args": [interceptor], "thisArg": undefined2 });
5462
+ return new LodashWrapper(result2, chainAll);
5463
+ }
5464
+ if (isUnwrapped && onlyLazy) {
5465
+ return func.apply(this, args);
8388
5466
  }
8389
- }));
5467
+ result2 = this.thru(interceptor);
5468
+ return isUnwrapped ? isTaker ? result2.value()[0] : result2.value() : result2;
5469
+ };
8390
5470
  });
8391
- } else {
8392
- var prop = forall.apply(void 0, args);
8393
- it(name, function() {
8394
- return checkThrow(prop);
5471
+ arrayEach(["pop", "push", "shift", "sort", "splice", "unshift"], function(methodName) {
5472
+ var func = arrayProto[methodName], chainName = /^(?:push|sort|unshift)$/.test(methodName) ? "tap" : "thru", retUnwrapped = /^(?:pop|shift)$/.test(methodName);
5473
+ lodash.prototype[methodName] = function() {
5474
+ var args = arguments;
5475
+ if (retUnwrapped && !this.__chain__) {
5476
+ var value = this.value();
5477
+ return func.apply(isArray(value) ? value : [], args);
5478
+ }
5479
+ return this[chainName](function(value2) {
5480
+ return func.apply(isArray(value2) ? value2 : [], args);
5481
+ });
5482
+ };
8395
5483
  });
8396
- }
8397
- }
8398
- function compile(str, env) {
8399
- env = env ? utils.merge(environment, env) : environment;
8400
- return typify.parseTypify(env, str);
8401
- }
8402
- function sampler(arb, size) {
8403
- size = typeof size === "number" ? Math.abs(size) : 10;
8404
- return function(count) {
8405
- if (typeof count === "number") {
8406
- var acc = [];
8407
- count = Math.abs(count);
8408
- for (var i = 0; i < count; i++) {
8409
- acc.push(arb.generator(size));
5484
+ baseForOwn(LazyWrapper.prototype, function(func, methodName) {
5485
+ var lodashFunc = lodash[methodName];
5486
+ if (lodashFunc) {
5487
+ var key = lodashFunc.name + "";
5488
+ if (!hasOwnProperty.call(realNames, key)) {
5489
+ realNames[key] = [];
5490
+ }
5491
+ realNames[key].push({ "name": methodName, "func": lodashFunc });
8410
5492
  }
8411
- return acc;
8412
- } else {
8413
- return arb.generator(size);
5493
+ });
5494
+ realNames[createHybrid(undefined2, WRAP_BIND_KEY_FLAG).name] = [{
5495
+ "name": "wrapper",
5496
+ "func": undefined2
5497
+ }];
5498
+ LazyWrapper.prototype.clone = lazyClone;
5499
+ LazyWrapper.prototype.reverse = lazyReverse;
5500
+ LazyWrapper.prototype.value = lazyValue;
5501
+ lodash.prototype.at = wrapperAt;
5502
+ lodash.prototype.chain = wrapperChain;
5503
+ lodash.prototype.commit = wrapperCommit;
5504
+ lodash.prototype.next = wrapperNext;
5505
+ lodash.prototype.plant = wrapperPlant;
5506
+ lodash.prototype.reverse = wrapperReverse;
5507
+ lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
5508
+ lodash.prototype.first = lodash.prototype.head;
5509
+ if (symIterator) {
5510
+ lodash.prototype[symIterator] = wrapperToIterator;
8414
5511
  }
5512
+ return lodash;
8415
5513
  };
8416
- }
8417
- function throws(block, error, message) {
8418
- assert(error === void 0 || typeof error === "function", "throws: error parameter must be a constructor");
8419
- assert(message === void 0 || typeof message === "string", "throws: message parameter must be a string");
8420
- try {
8421
- block();
8422
- return false;
8423
- } catch (e) {
8424
- if (error !== void 0) {
8425
- if (e instanceof error) {
8426
- return message === void 0 || e.message === message;
8427
- } else {
8428
- return false;
8429
- }
8430
- } else {
8431
- return true;
8432
- }
8433
- }
8434
- }
8435
- function assertForall() {
8436
- return checkThrow(forall.apply(null, arguments));
8437
- }
8438
- function checkForall() {
8439
- return check(forall.apply(null, arguments));
8440
- }
8441
- var jsc2 = {
8442
- forall,
8443
- check,
8444
- assert: checkThrow,
8445
- assertForall,
8446
- checkForall,
8447
- property: bddProperty,
8448
- sampler,
8449
- throws,
8450
- // generators
8451
- fn: fn.fn,
8452
- fun: fn.fn,
8453
- suchthat: suchthat.suchthat,
8454
- // either
8455
- left: either.left,
8456
- right: either.right,
8457
- // sum
8458
- addend: sum.addend,
8459
- // compile
8460
- compile,
8461
- generator: api.generator,
8462
- shrink: api.shrink,
8463
- // internal utility lib
8464
- random,
8465
- show,
8466
- utils,
8467
- _: {
8468
- FMap
5514
+ var _2 = runInContext();
5515
+ if (typeof define == "function" && typeof define.amd == "object" && define.amd) {
5516
+ root._ = _2;
5517
+ define(function() {
5518
+ return _2;
5519
+ });
5520
+ } else if (freeModule) {
5521
+ (freeModule.exports = _2)._ = _2;
5522
+ freeExports._ = _2;
5523
+ } else {
5524
+ root._ = _2;
8469
5525
  }
8470
- };
8471
- for (k in api.arbitrary) {
8472
- jsc2[k] = api.arbitrary[k];
8473
- }
8474
- var k;
8475
- module.exports = jsc2;
5526
+ }).call(exports);
8476
5527
  }
8477
5528
  });
8478
5529
 
@@ -8480,6 +5531,7 @@ var require_jsverify = __commonJS({
8480
5531
  var require_lib = __commonJS({
8481
5532
  "../../node_modules/cross-fetch/node_modules/webidl-conversions/lib/index.js"(exports, module) {
8482
5533
  "use strict";
5534
+ init_cjs_shim();
8483
5535
  var conversions = {};
8484
5536
  module.exports = conversions;
8485
5537
  function sign(x) {
@@ -8634,9 +5686,10 @@ var require_lib = __commonJS({
8634
5686
  });
8635
5687
 
8636
5688
  // ../../node_modules/cross-fetch/node_modules/whatwg-url/lib/utils.js
8637
- var require_utils2 = __commonJS({
5689
+ var require_utils = __commonJS({
8638
5690
  "../../node_modules/cross-fetch/node_modules/whatwg-url/lib/utils.js"(exports, module) {
8639
5691
  "use strict";
5692
+ init_cjs_shim();
8640
5693
  module.exports.mixin = function mixin(target, source) {
8641
5694
  const keys = Object.getOwnPropertyNames(source);
8642
5695
  for (let i = 0; i < keys.length; ++i) {
@@ -8665,6 +5718,7 @@ var require_mappingTable = __commonJS({
8665
5718
  var require_tr46 = __commonJS({
8666
5719
  "../../node_modules/cross-fetch/node_modules/tr46/index.js"(exports, module) {
8667
5720
  "use strict";
5721
+ init_cjs_shim();
8668
5722
  var punycode = __require("punycode");
8669
5723
  var mappingTable = require_mappingTable();
8670
5724
  var PROCESSING_OPTIONS = {
@@ -8827,6 +5881,7 @@ var require_tr46 = __commonJS({
8827
5881
  var require_url_state_machine = __commonJS({
8828
5882
  "../../node_modules/cross-fetch/node_modules/whatwg-url/lib/url-state-machine.js"(exports, module) {
8829
5883
  "use strict";
5884
+ init_cjs_shim();
8830
5885
  var punycode = __require("punycode");
8831
5886
  var tr46 = require_tr46();
8832
5887
  var specialSchemes = {
@@ -8883,8 +5938,8 @@ var require_url_state_machine = __commonJS({
8883
5938
  function isSpecialScheme(scheme) {
8884
5939
  return specialSchemes[scheme] !== void 0;
8885
5940
  }
8886
- function isSpecial(url) {
8887
- return isSpecialScheme(url.scheme);
5941
+ function isSpecial(url2) {
5942
+ return isSpecialScheme(url2.scheme);
8888
5943
  }
8889
5944
  function defaultPort(scheme) {
8890
5945
  return specialSchemes[scheme];
@@ -9206,38 +6261,38 @@ var require_url_state_machine = __commonJS({
9206
6261
  }
9207
6262
  return host;
9208
6263
  }
9209
- function trimControlChars(url) {
9210
- return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, "");
6264
+ function trimControlChars(url2) {
6265
+ return url2.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, "");
9211
6266
  }
9212
- function trimTabAndNewline(url) {
9213
- return url.replace(/\u0009|\u000A|\u000D/g, "");
6267
+ function trimTabAndNewline(url2) {
6268
+ return url2.replace(/\u0009|\u000A|\u000D/g, "");
9214
6269
  }
9215
- function shortenPath(url) {
9216
- const path = url.path;
9217
- if (path.length === 0) {
6270
+ function shortenPath(url2) {
6271
+ const path2 = url2.path;
6272
+ if (path2.length === 0) {
9218
6273
  return;
9219
6274
  }
9220
- if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {
6275
+ if (url2.scheme === "file" && path2.length === 1 && isNormalizedWindowsDriveLetter(path2[0])) {
9221
6276
  return;
9222
6277
  }
9223
- path.pop();
6278
+ path2.pop();
9224
6279
  }
9225
- function includesCredentials(url) {
9226
- return url.username !== "" || url.password !== "";
6280
+ function includesCredentials(url2) {
6281
+ return url2.username !== "" || url2.password !== "";
9227
6282
  }
9228
- function cannotHaveAUsernamePasswordPort(url) {
9229
- return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file";
6283
+ function cannotHaveAUsernamePasswordPort(url2) {
6284
+ return url2.host === null || url2.host === "" || url2.cannotBeABaseURL || url2.scheme === "file";
9230
6285
  }
9231
6286
  function isNormalizedWindowsDriveLetter(string) {
9232
6287
  return /^[A-Za-z]:$/.test(string);
9233
6288
  }
9234
- function URLStateMachine(input, base, encodingOverride, url, stateOverride) {
6289
+ function URLStateMachine(input, base, encodingOverride, url2, stateOverride) {
9235
6290
  this.pointer = 0;
9236
6291
  this.input = input;
9237
6292
  this.base = base || null;
9238
6293
  this.encodingOverride = encodingOverride || "utf-8";
9239
6294
  this.stateOverride = stateOverride;
9240
- this.url = url;
6295
+ this.url = url2;
9241
6296
  this.failure = false;
9242
6297
  this.parseError = false;
9243
6298
  if (!this.url) {
@@ -9790,36 +6845,36 @@ var require_url_state_machine = __commonJS({
9790
6845
  }
9791
6846
  return true;
9792
6847
  };
9793
- function serializeURL(url, excludeFragment) {
9794
- let output = url.scheme + ":";
9795
- if (url.host !== null) {
6848
+ function serializeURL(url2, excludeFragment) {
6849
+ let output = url2.scheme + ":";
6850
+ if (url2.host !== null) {
9796
6851
  output += "//";
9797
- if (url.username !== "" || url.password !== "") {
9798
- output += url.username;
9799
- if (url.password !== "") {
9800
- output += ":" + url.password;
6852
+ if (url2.username !== "" || url2.password !== "") {
6853
+ output += url2.username;
6854
+ if (url2.password !== "") {
6855
+ output += ":" + url2.password;
9801
6856
  }
9802
6857
  output += "@";
9803
6858
  }
9804
- output += serializeHost(url.host);
9805
- if (url.port !== null) {
9806
- output += ":" + url.port;
6859
+ output += serializeHost(url2.host);
6860
+ if (url2.port !== null) {
6861
+ output += ":" + url2.port;
9807
6862
  }
9808
- } else if (url.host === null && url.scheme === "file") {
6863
+ } else if (url2.host === null && url2.scheme === "file") {
9809
6864
  output += "//";
9810
6865
  }
9811
- if (url.cannotBeABaseURL) {
9812
- output += url.path[0];
6866
+ if (url2.cannotBeABaseURL) {
6867
+ output += url2.path[0];
9813
6868
  } else {
9814
- for (const string of url.path) {
6869
+ for (const string of url2.path) {
9815
6870
  output += "/" + string;
9816
6871
  }
9817
6872
  }
9818
- if (url.query !== null) {
9819
- output += "?" + url.query;
6873
+ if (url2.query !== null) {
6874
+ output += "?" + url2.query;
9820
6875
  }
9821
- if (!excludeFragment && url.fragment !== null) {
9822
- output += "#" + url.fragment;
6876
+ if (!excludeFragment && url2.fragment !== null) {
6877
+ output += "#" + url2.fragment;
9823
6878
  }
9824
6879
  return output;
9825
6880
  }
@@ -9832,11 +6887,11 @@ var require_url_state_machine = __commonJS({
9832
6887
  return result;
9833
6888
  }
9834
6889
  module.exports.serializeURL = serializeURL;
9835
- module.exports.serializeURLOrigin = function(url) {
9836
- switch (url.scheme) {
6890
+ module.exports.serializeURLOrigin = function(url2) {
6891
+ switch (url2.scheme) {
9837
6892
  case "blob":
9838
6893
  try {
9839
- return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));
6894
+ return module.exports.serializeURLOrigin(module.exports.parseURL(url2.path[0]));
9840
6895
  } catch (e) {
9841
6896
  return "null";
9842
6897
  }
@@ -9847,9 +6902,9 @@ var require_url_state_machine = __commonJS({
9847
6902
  case "ws":
9848
6903
  case "wss":
9849
6904
  return serializeOrigin({
9850
- scheme: url.scheme,
9851
- host: url.host,
9852
- port: url.port
6905
+ scheme: url2.scheme,
6906
+ host: url2.host,
6907
+ port: url2.port
9853
6908
  });
9854
6909
  case "file":
9855
6910
  return "file://";
@@ -9867,18 +6922,18 @@ var require_url_state_machine = __commonJS({
9867
6922
  }
9868
6923
  return usm.url;
9869
6924
  };
9870
- module.exports.setTheUsername = function(url, username) {
9871
- url.username = "";
6925
+ module.exports.setTheUsername = function(url2, username) {
6926
+ url2.username = "";
9872
6927
  const decoded = punycode.ucs2.decode(username);
9873
6928
  for (let i = 0; i < decoded.length; ++i) {
9874
- url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
6929
+ url2.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
9875
6930
  }
9876
6931
  };
9877
- module.exports.setThePassword = function(url, password) {
9878
- url.password = "";
6932
+ module.exports.setThePassword = function(url2, password) {
6933
+ url2.password = "";
9879
6934
  const decoded = punycode.ucs2.decode(password);
9880
6935
  for (let i = 0; i < decoded.length; ++i) {
9881
- url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
6936
+ url2.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
9882
6937
  }
9883
6938
  };
9884
6939
  module.exports.serializeHost = serializeHost;
@@ -9899,10 +6954,11 @@ var require_url_state_machine = __commonJS({
9899
6954
  var require_URL_impl = __commonJS({
9900
6955
  "../../node_modules/cross-fetch/node_modules/whatwg-url/lib/URL-impl.js"(exports) {
9901
6956
  "use strict";
6957
+ init_cjs_shim();
9902
6958
  var usm = require_url_state_machine();
9903
6959
  exports.implementation = class URLImpl {
9904
6960
  constructor(constructorArgs) {
9905
- const url = constructorArgs[0];
6961
+ const url2 = constructorArgs[0];
9906
6962
  const base = constructorArgs[1];
9907
6963
  let parsedBase = null;
9908
6964
  if (base !== void 0) {
@@ -9911,7 +6967,7 @@ var require_URL_impl = __commonJS({
9911
6967
  throw new TypeError("Invalid base URL");
9912
6968
  }
9913
6969
  }
9914
- const parsedURL = usm.basicURLParse(url, { baseURL: parsedBase });
6970
+ const parsedURL = usm.basicURLParse(url2, { baseURL: parsedBase });
9915
6971
  if (parsedURL === "failure") {
9916
6972
  throw new TypeError("Invalid URL");
9917
6973
  }
@@ -9955,14 +7011,14 @@ var require_URL_impl = __commonJS({
9955
7011
  usm.setThePassword(this._url, v);
9956
7012
  }
9957
7013
  get host() {
9958
- const url = this._url;
9959
- if (url.host === null) {
7014
+ const url2 = this._url;
7015
+ if (url2.host === null) {
9960
7016
  return "";
9961
7017
  }
9962
- if (url.port === null) {
9963
- return usm.serializeHost(url.host);
7018
+ if (url2.port === null) {
7019
+ return usm.serializeHost(url2.host);
9964
7020
  }
9965
- return usm.serializeHost(url.host) + ":" + usm.serializeInteger(url.port);
7021
+ return usm.serializeHost(url2.host) + ":" + usm.serializeInteger(url2.port);
9966
7022
  }
9967
7023
  set host(v) {
9968
7024
  if (this._url.cannotBeABaseURL) {
@@ -10021,14 +7077,14 @@ var require_URL_impl = __commonJS({
10021
7077
  return "?" + this._url.query;
10022
7078
  }
10023
7079
  set search(v) {
10024
- const url = this._url;
7080
+ const url2 = this._url;
10025
7081
  if (v === "") {
10026
- url.query = null;
7082
+ url2.query = null;
10027
7083
  return;
10028
7084
  }
10029
7085
  const input = v[0] === "?" ? v.substring(1) : v;
10030
- url.query = "";
10031
- usm.basicURLParse(input, { url, stateOverride: "query" });
7086
+ url2.query = "";
7087
+ usm.basicURLParse(input, { url: url2, stateOverride: "query" });
10032
7088
  }
10033
7089
  get hash() {
10034
7090
  if (this._url.fragment === null || this._url.fragment === "") {
@@ -10056,11 +7112,12 @@ var require_URL_impl = __commonJS({
10056
7112
  var require_URL = __commonJS({
10057
7113
  "../../node_modules/cross-fetch/node_modules/whatwg-url/lib/URL.js"(exports, module) {
10058
7114
  "use strict";
7115
+ init_cjs_shim();
10059
7116
  var conversions = require_lib();
10060
- var utils = require_utils2();
7117
+ var utils = require_utils();
10061
7118
  var Impl = require_URL_impl();
10062
7119
  var impl = utils.implSymbol;
10063
- function URL2(url) {
7120
+ function URL2(url2) {
10064
7121
  if (!this || this[impl] || !(this instanceof URL2)) {
10065
7122
  throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");
10066
7123
  }
@@ -10239,6 +7296,7 @@ var require_URL = __commonJS({
10239
7296
  var require_public_api = __commonJS({
10240
7297
  "../../node_modules/cross-fetch/node_modules/whatwg-url/lib/public-api.js"(exports) {
10241
7298
  "use strict";
7299
+ init_cjs_shim();
10242
7300
  exports.URL = require_URL().interface;
10243
7301
  exports.serializeURL = require_url_state_machine().serializeURL;
10244
7302
  exports.serializeURLOrigin = require_url_state_machine().serializeURLOrigin;
@@ -10255,6 +7313,7 @@ var require_public_api = __commonJS({
10255
7313
  var require_safer = __commonJS({
10256
7314
  "../../node_modules/safer-buffer/safer.js"(exports, module) {
10257
7315
  "use strict";
7316
+ init_cjs_shim();
10258
7317
  var buffer = __require("buffer");
10259
7318
  var Buffer2 = buffer.Buffer;
10260
7319
  var safer = {};
@@ -10327,6 +7386,7 @@ var require_safer = __commonJS({
10327
7386
  var require_bom_handling = __commonJS({
10328
7387
  "../../node_modules/iconv-lite/lib/bom-handling.js"(exports) {
10329
7388
  "use strict";
7389
+ init_cjs_shim();
10330
7390
  var BOMChar = "\uFEFF";
10331
7391
  exports.PrependBOM = PrependBOMWrapper;
10332
7392
  function PrependBOMWrapper(encoder, options) {
@@ -10371,6 +7431,7 @@ var require_bom_handling = __commonJS({
10371
7431
  var require_internal = __commonJS({
10372
7432
  "../../node_modules/iconv-lite/encodings/internal.js"(exports, module) {
10373
7433
  "use strict";
7434
+ init_cjs_shim();
10374
7435
  var Buffer2 = require_safer().Buffer;
10375
7436
  module.exports = {
10376
7437
  // Encodings
@@ -10515,6 +7576,7 @@ var require_internal = __commonJS({
10515
7576
  var require_utf16 = __commonJS({
10516
7577
  "../../node_modules/iconv-lite/encodings/utf16.js"(exports) {
10517
7578
  "use strict";
7579
+ init_cjs_shim();
10518
7580
  var Buffer2 = require_safer().Buffer;
10519
7581
  exports.utf16be = Utf16BECodec;
10520
7582
  function Utf16BECodec() {
@@ -10633,6 +7695,7 @@ var require_utf16 = __commonJS({
10633
7695
  var require_utf7 = __commonJS({
10634
7696
  "../../node_modules/iconv-lite/encodings/utf7.js"(exports) {
10635
7697
  "use strict";
7698
+ init_cjs_shim();
10636
7699
  var Buffer2 = require_safer().Buffer;
10637
7700
  exports.utf7 = Utf7Codec;
10638
7701
  exports.unicode11utf7 = "utf7";
@@ -10834,6 +7897,7 @@ var require_utf7 = __commonJS({
10834
7897
  var require_sbcs_codec = __commonJS({
10835
7898
  "../../node_modules/iconv-lite/encodings/sbcs-codec.js"(exports) {
10836
7899
  "use strict";
7900
+ init_cjs_shim();
10837
7901
  var Buffer2 = require_safer().Buffer;
10838
7902
  exports._sbcs = SBCSCodec;
10839
7903
  function SBCSCodec(codecOptions, iconv) {
@@ -10890,6 +7954,7 @@ var require_sbcs_codec = __commonJS({
10890
7954
  var require_sbcs_data = __commonJS({
10891
7955
  "../../node_modules/iconv-lite/encodings/sbcs-data.js"(exports, module) {
10892
7956
  "use strict";
7957
+ init_cjs_shim();
10893
7958
  module.exports = {
10894
7959
  // Not supported by iconv, not sure why.
10895
7960
  "10029": "maccenteuro",
@@ -11039,6 +8104,7 @@ var require_sbcs_data = __commonJS({
11039
8104
  var require_sbcs_data_generated = __commonJS({
11040
8105
  "../../node_modules/iconv-lite/encodings/sbcs-data-generated.js"(exports, module) {
11041
8106
  "use strict";
8107
+ init_cjs_shim();
11042
8108
  module.exports = {
11043
8109
  "437": "cp437",
11044
8110
  "737": "cp737",
@@ -11494,6 +8560,7 @@ var require_sbcs_data_generated = __commonJS({
11494
8560
  var require_dbcs_codec = __commonJS({
11495
8561
  "../../node_modules/iconv-lite/encodings/dbcs-codec.js"(exports) {
11496
8562
  "use strict";
8563
+ init_cjs_shim();
11497
8564
  var Buffer2 = require_safer().Buffer;
11498
8565
  exports._dbcs = DBCSCodec;
11499
8566
  var UNASSIGNED = -1;
@@ -13126,6 +10193,7 @@ var require_big5_added = __commonJS({
13126
10193
  var require_dbcs_data = __commonJS({
13127
10194
  "../../node_modules/iconv-lite/encodings/dbcs-data.js"(exports, module) {
13128
10195
  "use strict";
10196
+ init_cjs_shim();
13129
10197
  module.exports = {
13130
10198
  // == Japanese/ShiftJIS ====================================================
13131
10199
  // All japanese encodings are based on JIS X set of standards:
@@ -13301,6 +10369,7 @@ var require_dbcs_data = __commonJS({
13301
10369
  var require_encodings = __commonJS({
13302
10370
  "../../node_modules/iconv-lite/encodings/index.js"(exports, module) {
13303
10371
  "use strict";
10372
+ init_cjs_shim();
13304
10373
  var modules = [
13305
10374
  require_internal(),
13306
10375
  require_utf16(),
@@ -13327,6 +10396,7 @@ var require_encodings = __commonJS({
13327
10396
  var require_streams = __commonJS({
13328
10397
  "../../node_modules/iconv-lite/lib/streams.js"(exports, module) {
13329
10398
  "use strict";
10399
+ init_cjs_shim();
13330
10400
  var Buffer2 = __require("buffer").Buffer;
13331
10401
  var Transform = __require("stream").Transform;
13332
10402
  module.exports = function(iconv) {
@@ -13432,6 +10502,7 @@ var require_streams = __commonJS({
13432
10502
  var require_extend_node = __commonJS({
13433
10503
  "../../node_modules/iconv-lite/lib/extend-node.js"(exports, module) {
13434
10504
  "use strict";
10505
+ init_cjs_shim();
13435
10506
  var Buffer2 = __require("buffer").Buffer;
13436
10507
  module.exports = function(iconv) {
13437
10508
  var original = void 0;
@@ -13601,6 +10672,7 @@ var require_extend_node = __commonJS({
13601
10672
  var require_lib2 = __commonJS({
13602
10673
  "../../node_modules/iconv-lite/lib/index.js"(exports, module) {
13603
10674
  "use strict";
10675
+ init_cjs_shim();
13604
10676
  var Buffer2 = require_safer().Buffer;
13605
10677
  var bomHandling = require_bom_handling();
13606
10678
  var iconv = module.exports;
@@ -13704,6 +10776,7 @@ var require_lib2 = __commonJS({
13704
10776
  var require_iconv_loader = __commonJS({
13705
10777
  "../../node_modules/encoding/lib/iconv-loader.js"(exports, module) {
13706
10778
  "use strict";
10779
+ init_cjs_shim();
13707
10780
  var iconv_package;
13708
10781
  var Iconv;
13709
10782
  try {
@@ -13719,6 +10792,7 @@ var require_iconv_loader = __commonJS({
13719
10792
  var require_encoding = __commonJS({
13720
10793
  "../../node_modules/encoding/lib/encoding.js"(exports, module) {
13721
10794
  "use strict";
10795
+ init_cjs_shim();
13722
10796
  var iconvLite = require_lib2();
13723
10797
  var Iconv = require_iconv_loader();
13724
10798
  module.exports.convert = convert;
@@ -13786,6 +10860,7 @@ var require_encoding = __commonJS({
13786
10860
  var require_lib3 = __commonJS({
13787
10861
  "../../node_modules/cross-fetch/node_modules/node-fetch/lib/index.js"(exports, module) {
13788
10862
  "use strict";
10863
+ init_cjs_shim();
13789
10864
  Object.defineProperty(exports, "__esModule", { value: true });
13790
10865
  function _interopDefault(ex) {
13791
10866
  return ex && typeof ex === "object" && "default" in ex ? ex["default"] : ex;
@@ -14781,13 +11856,13 @@ var require_lib3 = __commonJS({
14781
11856
  const dest = new URL$1(destination).protocol;
14782
11857
  return orig === dest;
14783
11858
  };
14784
- function fetch2(url, opts) {
11859
+ function fetch2(url2, opts) {
14785
11860
  if (!fetch2.Promise) {
14786
11861
  throw new Error("native promise missing, set fetch.Promise to your favorite alternative");
14787
11862
  }
14788
11863
  Body.Promise = fetch2.Promise;
14789
11864
  return new fetch2.Promise(function(resolve, reject) {
14790
- const request = new Request(url, opts);
11865
+ const request = new Request(url2, opts);
14791
11866
  const options = getNodeRequestOptions(request);
14792
11867
  const send = (options.protocol === "https:" ? https : http).request;
14793
11868
  const signal = request.signal;
@@ -15032,13 +12107,14 @@ var require_lib3 = __commonJS({
15032
12107
  // ../../node_modules/cross-fetch/dist/node-ponyfill.js
15033
12108
  var require_node_ponyfill = __commonJS({
15034
12109
  "../../node_modules/cross-fetch/dist/node-ponyfill.js"(exports, module) {
12110
+ init_cjs_shim();
15035
12111
  var nodeFetch = require_lib3();
15036
12112
  var realFetch = nodeFetch.default || nodeFetch;
15037
- var fetch2 = function(url, options) {
15038
- if (/^\/\//.test(url)) {
15039
- url = "https:" + url;
12113
+ var fetch2 = function(url2, options) {
12114
+ if (/^\/\//.test(url2)) {
12115
+ url2 = "https:" + url2;
15040
12116
  }
15041
- return realFetch.call(this, url, options);
12117
+ return realFetch.call(this, url2, options);
15042
12118
  };
15043
12119
  fetch2.ponyfill = true;
15044
12120
  module.exports = exports = fetch2;
@@ -15050,8 +12126,15 @@ var require_node_ponyfill = __commonJS({
15050
12126
  }
15051
12127
  });
15052
12128
 
12129
+ // src/index.ts
12130
+ init_cjs_shim();
12131
+
12132
+ // ../../magda-typescript-common/dist/test/arbitraries.js
12133
+ init_cjs_shim();
12134
+
15053
12135
  // ../../node_modules/@magda/esm-utils/dist/esmUtils.js
15054
- import { createRequire } from "module";
12136
+ init_cjs_shim();
12137
+ import { createRequire as createRequire2 } from "module";
15055
12138
  function callsites() {
15056
12139
  const _prepareStackTrace = Error.prepareStackTrace;
15057
12140
  try {
@@ -15087,11 +12170,15 @@ function callerpath({ depth = 0 } = {}) {
15087
12170
  return callsite && callsite.getFileName();
15088
12171
  }
15089
12172
  function require2(id) {
15090
- const requireFrom = createRequire(callerpath({ depth: 1 }));
12173
+ const requireFrom = createRequire2(callerpath({ depth: 1 }));
15091
12174
  return requireFrom(id);
15092
12175
  }
15093
12176
 
12177
+ // ../../node_modules/uuid/dist/esm-node/index.js
12178
+ init_cjs_shim();
12179
+
15094
12180
  // ../../node_modules/uuid/dist/esm-node/rng.js
12181
+ init_cjs_shim();
15095
12182
  import crypto from "crypto";
15096
12183
  var rnds8 = new Uint8Array(16);
15097
12184
  function rng() {
@@ -15099,6 +12186,7 @@ function rng() {
15099
12186
  }
15100
12187
 
15101
12188
  // ../../node_modules/uuid/dist/esm-node/bytesToUuid.js
12189
+ init_cjs_shim();
15102
12190
  var byteToHex = [];
15103
12191
  for (let i = 0; i < 256; ++i) {
15104
12192
  byteToHex.push((i + 256).toString(16).substr(1));
@@ -15110,6 +12198,7 @@ function bytesToUuid(buf, offset_) {
15110
12198
  var bytesToUuid_default = bytesToUuid;
15111
12199
 
15112
12200
  // ../../node_modules/uuid/dist/esm-node/v4.js
12201
+ init_cjs_shim();
15113
12202
  function v4(options, buf, offset) {
15114
12203
  options = options || {};
15115
12204
  const rnds = options.random || (options.rng || rng)();
@@ -15128,7 +12217,7 @@ var v4_default = v4;
15128
12217
 
15129
12218
  // ../../magda-typescript-common/dist/test/arbitraries.js
15130
12219
  var import_lodash = __toESM(require_lodash(), 1);
15131
- var import_jsverify = __toESM(require_jsverify(), 1);
12220
+ import jsc from "jsverify";
15132
12221
  var { curried2 } = require2("jsverify/lib/utils");
15133
12222
  var lazyseq = require2("lazy-seq");
15134
12223
  function fromCode(code) {
@@ -15137,46 +12226,46 @@ function fromCode(code) {
15137
12226
  function toCode(c) {
15138
12227
  return c.charCodeAt(0);
15139
12228
  }
15140
- var charArb = import_jsverify.default.integer(32, 255).smap(fromCode, toCode);
15141
- var stringArb = import_jsverify.default.array(charArb).smap((chars) => chars.join(""), (string) => string.split(""));
15142
- var lowerCaseAlphaCharArb = import_jsverify.default.integer(97, 122).smap(fromCode, toCode);
15143
- var numArb = import_jsverify.default.integer(48, 57).smap(fromCode, toCode);
15144
- var lcAlphaNumCharArb = import_jsverify.default.oneof([numArb, lowerCaseAlphaCharArb]);
15145
- var lcAlphaNumStringArb = import_jsverify.default.array(lcAlphaNumCharArb).smap((arr) => arr.join(""), (string) => string.split(""));
15146
- var lcAlphaNumStringArbNe = import_jsverify.default.nearray(lcAlphaNumCharArb).smap((arr) => arr.join(""), (string) => string.split(""));
15147
- var lcAlphaStringArb = import_jsverify.default.array(lowerCaseAlphaCharArb).smap((chars) => chars.join(""), (string) => string.split(""));
15148
- var lcAlphaStringArbNe = import_jsverify.default.nearray(lowerCaseAlphaCharArb).smap((chars) => chars.join(""), (string) => string.split(""));
15149
- var peopleNameArb = import_jsverify.default.tuple([lcAlphaStringArbNe, lcAlphaStringArbNe]).smap((strArr) => strArr.join(" "), (string) => string.split(" "));
15150
- var uuidArb = import_jsverify.default.bless({
15151
- generator: import_jsverify.default.generator.bless((x) => v4_default()),
15152
- shrink: import_jsverify.default.shrink.bless((x) => []),
12229
+ var charArb = jsc.integer(32, 255).smap(fromCode, toCode);
12230
+ var stringArb = jsc.array(charArb).smap((chars) => chars.join(""), (string) => string.split(""));
12231
+ var lowerCaseAlphaCharArb = jsc.integer(97, 122).smap(fromCode, toCode);
12232
+ var numArb = jsc.integer(48, 57).smap(fromCode, toCode);
12233
+ var lcAlphaNumCharArb = jsc.oneof([numArb, lowerCaseAlphaCharArb]);
12234
+ var lcAlphaNumStringArb = jsc.array(lcAlphaNumCharArb).smap((arr) => arr.join(""), (string) => string.split(""));
12235
+ var lcAlphaNumStringArbNe = jsc.nearray(lcAlphaNumCharArb).smap((arr) => arr.join(""), (string) => string.split(""));
12236
+ var lcAlphaStringArb = jsc.array(lowerCaseAlphaCharArb).smap((chars) => chars.join(""), (string) => string.split(""));
12237
+ var lcAlphaStringArbNe = jsc.nearray(lowerCaseAlphaCharArb).smap((chars) => chars.join(""), (string) => string.split(""));
12238
+ var peopleNameArb = jsc.tuple([lcAlphaStringArbNe, lcAlphaStringArbNe]).smap((strArr) => strArr.join(" "), (string) => string.split(" "));
12239
+ var uuidArb = jsc.bless({
12240
+ generator: jsc.generator.bless((x) => v4_default()),
12241
+ shrink: jsc.shrink.bless((x) => []),
15153
12242
  show: (x) => x
15154
12243
  });
15155
- var intArb = import_jsverify.default.integer(48, 57);
15156
- var recordArb = import_jsverify.default.record({
12244
+ var intArb = jsc.integer(48, 57);
12245
+ var recordArb = jsc.record({
15157
12246
  id: uuidArb,
15158
12247
  name: stringArb,
15159
- aspects: import_jsverify.default.suchthat(import_jsverify.default.array(import_jsverify.default.json), (arr) => arr.length <= 10),
15160
- sourceTag: import_jsverify.default.constant(void 0),
12248
+ aspects: jsc.suchthat(jsc.array(jsc.json), (arr) => arr.length <= 10),
12249
+ sourceTag: jsc.constant(void 0),
15161
12250
  tenantId: intArb
15162
12251
  });
15163
- var specificRecordArb = (aspectArbs) => import_jsverify.default.record({
12252
+ var specificRecordArb = (aspectArbs) => jsc.record({
15164
12253
  id: uuidArb,
15165
12254
  name: stringArb,
15166
- aspects: import_jsverify.default.record(aspectArbs),
15167
- sourceTag: import_jsverify.default.constant(void 0),
12255
+ aspects: jsc.record(aspectArbs),
12256
+ sourceTag: jsc.constant(void 0),
15168
12257
  tenantId: intArb
15169
12258
  });
15170
- var defaultSchemeArb = import_jsverify.default.oneof([
15171
- import_jsverify.default.constant("http"),
15172
- import_jsverify.default.constant("https"),
15173
- import_jsverify.default.constant("ftp"),
12259
+ var defaultSchemeArb = jsc.oneof([
12260
+ jsc.constant("http"),
12261
+ jsc.constant("https"),
12262
+ jsc.constant("ftp"),
15174
12263
  lcAlphaNumStringArbNe
15175
12264
  ]);
15176
12265
  function shrinkArrayWithMinimumSize(size) {
15177
12266
  function shrinkArrayImpl(...args) {
15178
12267
  const shrink = args[0];
15179
- const result = import_jsverify.default.shrink.bless(function(arr) {
12268
+ const result = jsc.shrink.bless(function(arr) {
15180
12269
  if (arr.length <= size) {
15181
12270
  return lazyseq.nil;
15182
12271
  } else {
@@ -15197,12 +12286,12 @@ function unSeq(maybeArray) {
15197
12286
  return maybeArray.toArray ? maybeArray.toArray() : maybeArray;
15198
12287
  }
15199
12288
  function arbFlatMap(arb, arbForward, backwards, show = (u) => JSON.stringify(u)) {
15200
- const x = import_jsverify.default.bless({
12289
+ const x = jsc.bless({
15201
12290
  generator: arb.generator.flatmap((t) => {
15202
12291
  return arbForward(t).generator;
15203
12292
  }),
15204
12293
  show,
15205
- shrink: import_jsverify.default.shrink.bless((u) => {
12294
+ shrink: jsc.shrink.bless((u) => {
15206
12295
  const t = backwards(u);
15207
12296
  if (import_lodash.default.isUndefined(t)) {
15208
12297
  return [];
@@ -15210,7 +12299,7 @@ function arbFlatMap(arb, arbForward, backwards, show = (u) => JSON.stringify(u))
15210
12299
  const ts = unSeq(arb.shrink(t));
15211
12300
  const us = (0, import_lodash.default)(ts).flatMap((thisT) => {
15212
12301
  const newArb = arbForward(thisT);
15213
- const newU = import_jsverify.default.sampler(newArb, ts.length)(1)[0];
12302
+ const newU = jsc.sampler(newArb, ts.length)(1)[0];
15214
12303
  return import_lodash.default.take(unSeq(newArb.shrink(newU)), 3);
15215
12304
  }).value();
15216
12305
  return us;
@@ -15224,7 +12313,7 @@ function arbFlatMap(arb, arbForward, backwards, show = (u) => JSON.stringify(u))
15224
12313
  };
15225
12314
  }
15226
12315
  function generateArrayOfSize(arrSize, gen) {
15227
- var result = import_jsverify.default.generator.bless(function(size) {
12316
+ var result = jsc.generator.bless(function(size) {
15228
12317
  var arr = new Array(arrSize);
15229
12318
  for (var i = 0; i < arrSize; i++) {
15230
12319
  arr[i] = gen(size);
@@ -15234,50 +12323,50 @@ function generateArrayOfSize(arrSize, gen) {
15234
12323
  return result;
15235
12324
  }
15236
12325
  function arrayOfSizeArb(size, arb) {
15237
- return import_jsverify.default.bless({
12326
+ return jsc.bless({
15238
12327
  generator: generateArrayOfSize(size, arb.generator),
15239
12328
  shrink: shrinkArrayWithMinimumSize(size)(arb.shrink),
15240
12329
  show: (x) => x.toString()
15241
12330
  });
15242
12331
  }
15243
- var urlPartsArb = (options) => import_jsverify.default.record({
12332
+ var urlPartsArb = (options) => jsc.record({
15244
12333
  scheme: options.schemeArb,
15245
- host: import_jsverify.default.suchthat(options.hostArb, (string) => !string.startsWith("ftp")),
15246
- port: import_jsverify.default.oneof([
15247
- import_jsverify.default.integer(1, 65e3),
15248
- import_jsverify.default.constant(80),
15249
- import_jsverify.default.constant(21)
12334
+ host: jsc.suchthat(options.hostArb, (string) => !string.startsWith("ftp")),
12335
+ port: jsc.oneof([
12336
+ jsc.integer(1, 65e3),
12337
+ jsc.constant(80),
12338
+ jsc.constant(21)
15250
12339
  ]),
15251
- path: import_jsverify.default.array(lcAlphaNumStringArbNe)
12340
+ path: jsc.array(lcAlphaNumStringArbNe)
15252
12341
  });
15253
12342
  var distUrlArb = ({ schemeArb = defaultSchemeArb, hostArb = lcAlphaNumStringArbNe } = {}) => urlPartsArb({ schemeArb, hostArb }).smap((urlParts) => {
15254
12343
  const port = urlParts.scheme === "http" && urlParts.port === 80 || urlParts.scheme === "ftp" && urlParts.port === 21 ? "" : ":" + urlParts.port;
15255
12344
  return `${urlParts.scheme}://${urlParts.host}.com${port}/${(urlParts.path || []).join("/")}`;
15256
- }, (url) => {
15257
- const splitAfterScheme = url.split("://");
12345
+ }, (url2) => {
12346
+ const splitAfterScheme = url2.split("://");
15258
12347
  const scheme = splitAfterScheme[0];
15259
12348
  const splitOnDotCom = splitAfterScheme[1].split(/\.com:?/);
15260
12349
  const host = splitOnDotCom[0];
15261
12350
  const pathSegments = splitOnDotCom[1].split("/");
15262
12351
  const port = parseInt(pathSegments[0]);
15263
- const path = pathSegments.slice(1);
15264
- return { scheme, host, port, path };
12352
+ const path2 = pathSegments.slice(1);
12353
+ return { scheme, host, port, path: path2 };
15265
12354
  });
15266
- var distStringsArb = ({ url = import_jsverify.default.oneof([distUrlArb(), import_jsverify.default.constant(void 0)]), license = stringArb, format = stringArb }) => import_jsverify.default.record({
15267
- downloadURL: url,
15268
- accessURL: url,
12355
+ var distStringsArb = ({ url: url2 = jsc.oneof([distUrlArb(), jsc.constant(void 0)]), license = stringArb, format = stringArb }) => jsc.record({
12356
+ downloadURL: url2,
12357
+ accessURL: url2,
15269
12358
  license,
15270
12359
  format
15271
12360
  });
15272
- var sourceLinkArb = ({ status = import_jsverify.default.constant("active") }) => import_jsverify.default.record({
12361
+ var sourceLinkArb = ({ status = jsc.constant("active") }) => jsc.record({
15273
12362
  status
15274
12363
  });
15275
- var datasetFormatArb = ({ format = stringArb }) => import_jsverify.default.record({
12364
+ var datasetFormatArb = ({ format = stringArb }) => jsc.record({
15276
12365
  format
15277
12366
  });
15278
12367
  var recordArbWithDistArbs = (distStringsOverrides = {}, sourceLinkOverrides = {}, datasetFormatOverrides = {}) => specificRecordArb({
15279
- "dataset-distributions": import_jsverify.default.record({
15280
- distributions: import_jsverify.default.array(specificRecordArb({
12368
+ "dataset-distributions": jsc.record({
12369
+ distributions: jsc.array(specificRecordArb({
15281
12370
  "dcat-distribution-strings": distStringsArb(distStringsOverrides),
15282
12371
  "dataset-format": datasetFormatArb(datasetFormatOverrides),
15283
12372
  "source-link-status": sourceLinkArb(sourceLinkOverrides)
@@ -15285,16 +12374,16 @@ var recordArbWithDistArbs = (distStringsOverrides = {}, sourceLinkOverrides = {}
15285
12374
  })
15286
12375
  });
15287
12376
  var recordArbWithDists = (dists) => specificRecordArb({
15288
- "dataset-distributions": import_jsverify.default.record({
15289
- distributions: import_jsverify.default.tuple(dists.map((dist) => specificRecordArb({
15290
- "dcat-distribution-strings": import_jsverify.default.constant(dist)
12377
+ "dataset-distributions": jsc.record({
12378
+ distributions: jsc.tuple(dists.map((dist) => specificRecordArb({
12379
+ "dcat-distribution-strings": jsc.constant(dist)
15291
12380
  })))
15292
12381
  })
15293
12382
  });
15294
12383
  function someOf(array) {
15295
- return import_jsverify.default.record({
15296
- length: import_jsverify.default.integer(0, array.length),
15297
- start: import_jsverify.default.integer(0, array.length - 1)
12384
+ return jsc.record({
12385
+ length: jsc.integer(0, array.length),
12386
+ start: jsc.integer(0, array.length - 1)
15298
12387
  }).smap(({ length, start }) => (0, import_lodash.default)(array).drop(start).take(length).value(), (newArray) => {
15299
12388
  const start = import_lodash.default.indexOf(array, newArray[0]);
15300
12389
  const length = newArray.length - start;
@@ -15306,8 +12395,8 @@ function fuzzStringArb(string, fuzzArb = stringArb) {
15306
12395
  const aroundArbs = arrayOfSizeArb(words.length + 1, fuzzArb);
15307
12396
  return arbFlatMap(aroundArbs, (around) => {
15308
12397
  const string2 = (0, import_lodash.default)(around).zip(words).flatten().join("");
15309
- const caseArb = arrayOfSizeArb(string2.length, import_jsverify.default.bool);
15310
- return import_jsverify.default.record({ string: import_jsverify.default.constant(string2), cases: caseArb });
12398
+ const caseArb = arrayOfSizeArb(string2.length, jsc.bool);
12399
+ return jsc.record({ string: jsc.constant(string2), cases: caseArb });
15311
12400
  }, ({ string: string2, cases }) => {
15312
12401
  const wordsRegex = new RegExp(words.join("|"));
15313
12402
  return string2.split(wordsRegex);
@@ -15325,9 +12414,10 @@ function fuzzStringArb(string, fuzzArb = stringArb) {
15325
12414
  function fuzzStringArbResult(stringArb2, fuzzArb) {
15326
12415
  return arbFlatMap(stringArb2, (string) => fuzzStringArb(string, fuzzArb), (fuzzedString) => void 0);
15327
12416
  }
15328
- var dateStringArb = import_jsverify.default.datetime.smap((date) => date.toString(), (string) => new Date(Date.parse(string)));
12417
+ var dateStringArb = jsc.datetime.smap((date) => date.toString(), (string) => new Date(Date.parse(string)));
15329
12418
 
15330
12419
  // ../../magda-typescript-common/dist/generated/registry/api.js
12420
+ init_cjs_shim();
15331
12421
  var import_cross_fetch = __toESM(require_node_ponyfill(), 1);
15332
12422
  var Record = class {
15333
12423
  /**