@meshagent/meshagent 0.12.0 → 0.14.0

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.
@@ -1,3 +1,8 @@
1
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
2
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
3
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
4
+ };
5
+ var _a, _b, _d;
1
6
  var __create = Object.create;
2
7
  var __defProp = Object.defineProperty;
3
8
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -156,6 +161,14 @@ var appendTo = (dest, src) => {
156
161
  }
157
162
  };
158
163
  var from = Array.from;
164
+ var every = (arr, f) => {
165
+ for (let i = 0; i < arr.length; i++) {
166
+ if (!f(arr[i], i, arr)) {
167
+ return false;
168
+ }
169
+ }
170
+ return true;
171
+ };
159
172
  var some = (arr, f) => {
160
173
  for (let i = 0; i < arr.length; i++) {
161
174
  if (f(arr[i], i, arr)) {
@@ -164,6 +177,13 @@ var some = (arr, f) => {
164
177
  }
165
178
  return false;
166
179
  };
180
+ var unfold = (len, f) => {
181
+ const array = new Array(len);
182
+ for (let i = 0; i < len; i++) {
183
+ array[i] = f(i, array);
184
+ }
185
+ return array;
186
+ };
167
187
  var isArray = Array.isArray;
168
188
  var ObservableV2 = class {
169
189
  constructor() {
@@ -255,7 +275,7 @@ var toLowerCase = (s) => s.toLowerCase();
255
275
  var trimLeftRegex = /^\s*/g;
256
276
  var trimLeft = (s) => s.replace(trimLeftRegex, "");
257
277
  var fromCamelCaseRegex = /([A-Z])/g;
258
- var fromCamelCase = (s, separator) => trimLeft(s.replace(fromCamelCaseRegex, (match) => `${separator}${toLowerCase(match)}`));
278
+ var fromCamelCase = (s, separator) => trimLeft(s.replace(fromCamelCaseRegex, (match2) => `${separator}${toLowerCase(match2)}`));
259
279
  var _encodeUtf8Polyfill = (str) => {
260
280
  const encodedString = unescape(encodeURIComponent(str));
261
281
  const len = encodedString.length;
@@ -273,6 +293,7 @@ var utf8TextDecoder = typeof TextDecoder === "undefined" ? null : new TextDecode
273
293
  if (utf8TextDecoder && utf8TextDecoder.decode(new Uint8Array()).length === 1) {
274
294
  utf8TextDecoder = null;
275
295
  }
296
+ var repeat = (source, n) => unfold(n, () => source).join("");
276
297
  var Encoder = class {
277
298
  constructor() {
278
299
  this.cpos = 0;
@@ -789,6 +810,9 @@ try {
789
810
  catch (e) {
790
811
  }
791
812
  var varStorage = _localStorage;
813
+ var EqualityTraitSymbol = Symbol("Equality");
814
+ var equals = (a, b) => a === b || a[EqualityTraitSymbol]?.(b) || false;
815
+ var isObject = (o) => typeof o === "object";
792
816
  var assign = Object.assign;
793
817
  var keys = Object.keys;
794
818
  var forEach = (obj, f) => {
@@ -803,7 +827,7 @@ var isEmpty = (obj) => {
803
827
  }
804
828
  return true;
805
829
  };
806
- var every = (obj, f) => {
830
+ var every2 = (obj, f) => {
807
831
  for (const key in obj) {
808
832
  if (!f(obj[key], key)) {
809
833
  return false;
@@ -812,7 +836,7 @@ var every = (obj, f) => {
812
836
  return true;
813
837
  };
814
838
  var hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
815
- var equalFlat = (a, b) => a === b || size(a) === size(b) && every(a, (val, key) => (val !== void 0 || hasProperty(b, key)) && b[key] === val);
839
+ var equalFlat = (a, b) => a === b || size(a) === size(b) && every2(a, (val, key) => (val !== void 0 || hasProperty(b, key)) && equals(b[key], val));
816
840
  var freeze = Object.freeze;
817
841
  var deepFreeze = (o) => {
818
842
  for (const key in o) {
@@ -836,6 +860,79 @@ var callAll = (fs, args2, i = 0) => {
836
860
  }
837
861
  };
838
862
  var id = (a) => a;
863
+ var equalityDeep = (a, b) => {
864
+ if (a === b) {
865
+ return true;
866
+ }
867
+ if (a == null || b == null || a.constructor !== b.constructor && (a.constructor || Object) !== (b.constructor || Object)) {
868
+ return false;
869
+ }
870
+ if (a[EqualityTraitSymbol] != null) {
871
+ return a[EqualityTraitSymbol](b);
872
+ }
873
+ switch (a.constructor) {
874
+ case ArrayBuffer:
875
+ a = new Uint8Array(a);
876
+ b = new Uint8Array(b);
877
+ case Uint8Array: {
878
+ if (a.byteLength !== b.byteLength) {
879
+ return false;
880
+ }
881
+ for (let i = 0; i < a.length; i++) {
882
+ if (a[i] !== b[i]) {
883
+ return false;
884
+ }
885
+ }
886
+ break;
887
+ }
888
+ case Set: {
889
+ if (a.size !== b.size) {
890
+ return false;
891
+ }
892
+ for (const value of a) {
893
+ if (!b.has(value)) {
894
+ return false;
895
+ }
896
+ }
897
+ break;
898
+ }
899
+ case Map: {
900
+ if (a.size !== b.size) {
901
+ return false;
902
+ }
903
+ for (const key of a.keys()) {
904
+ if (!b.has(key) || !equalityDeep(a.get(key), b.get(key))) {
905
+ return false;
906
+ }
907
+ }
908
+ break;
909
+ }
910
+ case void 0:
911
+ case Object:
912
+ if (size(a) !== size(b)) {
913
+ return false;
914
+ }
915
+ for (const key in a) {
916
+ if (!hasProperty(a, key) || !equalityDeep(a[key], b[key])) {
917
+ return false;
918
+ }
919
+ }
920
+ break;
921
+ case Array:
922
+ if (a.length !== b.length) {
923
+ return false;
924
+ }
925
+ for (let i = 0; i < a.length; i++) {
926
+ if (!equalityDeep(a[i], b[i])) {
927
+ return false;
928
+ }
929
+ }
930
+ break;
931
+ default:
932
+ return false;
933
+ }
934
+ return true;
935
+ };
839
936
  var isOneOf = (value, options) => options.includes(value);
840
937
  var isNode = typeof process !== "undefined" && process.release && /node|io\.js/.test(process.release.name) && Object.prototype.toString.call(typeof process !== "undefined" ? process : 0) === "[object process]";
841
938
  var isMac = typeof navigator !== "undefined" ? /Mac/.test(navigator.platform) : false;
@@ -905,8 +1002,459 @@ var Pair = class {
905
1002
  }
906
1003
  };
907
1004
  var create5 = (left, right) => new Pair(left, right);
1005
+ var bool = (gen) => gen.next() >= 0.5;
1006
+ var int53 = (gen, min2, max2) => floor(gen.next() * (max2 + 1 - min2) + min2);
1007
+ var int32 = (gen, min2, max2) => floor(gen.next() * (max2 + 1 - min2) + min2);
1008
+ var int31 = (gen, min2, max2) => int32(gen, min2, max2);
1009
+ var letter = (gen) => fromCharCode(int31(gen, 97, 122));
1010
+ var word = (gen, minLen = 0, maxLen = 20) => {
1011
+ const len = int31(gen, minLen, maxLen);
1012
+ let str = "";
1013
+ for (let i = 0; i < len; i++) {
1014
+ str += letter(gen);
1015
+ }
1016
+ return str;
1017
+ };
1018
+ var oneOf = (gen, array) => array[int31(gen, 0, array.length - 1)];
1019
+ var schemaSymbol = Symbol("0schema");
1020
+ var ValidationError = class {
1021
+ constructor() {
1022
+ this._rerrs = [];
1023
+ }
1024
+ extend(path, expected, has, message = null) {
1025
+ this._rerrs.push({ path, expected, has, message });
1026
+ }
1027
+ toString() {
1028
+ const s = [];
1029
+ for (let i = this._rerrs.length - 1; i > 0; i--) {
1030
+ const r = this._rerrs[i];
1031
+ s.push(repeat(" ", (this._rerrs.length - i) * 2) + `${r.path != null ? `[${r.path}] ` : ""}${r.has} doesn't match ${r.expected}. ${r.message}`);
1032
+ }
1033
+ return s.join("\n");
1034
+ }
1035
+ };
1036
+ var shapeExtends = (a, b) => {
1037
+ if (a === b)
1038
+ return true;
1039
+ if (a == null || b == null || a.constructor !== b.constructor)
1040
+ return false;
1041
+ if (a[EqualityTraitSymbol])
1042
+ return equals(a, b);
1043
+ if (isArray(a)) {
1044
+ return every(a, (aitem) => some(b, (bitem) => shapeExtends(aitem, bitem)));
1045
+ }
1046
+ else if (isObject(a)) {
1047
+ return every2(a, (aitem, akey) => shapeExtends(aitem, b[akey]));
1048
+ }
1049
+ return false;
1050
+ };
1051
+ var Schema = (_a = class {
1052
+ extends(other) {
1053
+ let [a, b] = [
1054
+ this.shape,
1055
+ other.shape
1056
+ ];
1057
+ if (this.constructor._dilutes)
1058
+ [b, a] = [a, b];
1059
+ return shapeExtends(a, b);
1060
+ }
1061
+ equals(other) {
1062
+ return this.constructor === other.constructor && equalityDeep(this.shape, other.shape);
1063
+ }
1064
+ [schemaSymbol]() {
1065
+ return true;
1066
+ }
1067
+ [EqualityTraitSymbol](other) {
1068
+ return this.equals(other);
1069
+ }
1070
+ validate(o) {
1071
+ return this.check(o);
1072
+ }
1073
+ check(_o, _err) {
1074
+ methodUnimplemented();
1075
+ }
1076
+ get nullable() {
1077
+ return $union(this, $null);
1078
+ }
1079
+ get optional() {
1080
+ return new $Optional(this);
1081
+ }
1082
+ cast(o) {
1083
+ assert(o, this);
1084
+ return (o);
1085
+ }
1086
+ expect(o) {
1087
+ assert(o, this);
1088
+ return o;
1089
+ }
1090
+ },
1091
+ __setFunctionName(_a, "Schema"),
1092
+ _a._dilutes = false,
1093
+ _a);
1094
+ var $ConstructedBy = class extends Schema {
1095
+ constructor(c, check) {
1096
+ super();
1097
+ this.shape = c;
1098
+ this._c = check;
1099
+ }
1100
+ check(o, err = void 0) {
1101
+ const c = o?.constructor === this.shape && (this._c == null || this._c(o));
1102
+ !c && err?.extend(null, this.shape.name, o?.constructor.name, o?.constructor !== this.shape ? "Constructor match failed" : "Check failed");
1103
+ return c;
1104
+ }
1105
+ };
1106
+ var $constructedBy = (c, check = null) => new $ConstructedBy(c, check);
1107
+ var $$constructedBy = $constructedBy($ConstructedBy);
1108
+ var $Custom = class extends Schema {
1109
+ constructor(check) {
1110
+ super();
1111
+ this.shape = check;
1112
+ }
1113
+ check(o, err) {
1114
+ const c = this.shape(o);
1115
+ !c && err?.extend(null, "custom prop", o?.constructor.name, "failed to check custom prop");
1116
+ return c;
1117
+ }
1118
+ };
1119
+ var $custom = (check) => new $Custom(check);
1120
+ var $$custom = $constructedBy($Custom);
1121
+ var $Literal = class extends Schema {
1122
+ constructor(literals) {
1123
+ super();
1124
+ this.shape = literals;
1125
+ }
1126
+ check(o, err) {
1127
+ const c = this.shape.some((a) => a === o);
1128
+ !c && err?.extend(null, this.shape.join(" | "), o.toString());
1129
+ return c;
1130
+ }
1131
+ };
1132
+ var $literal = (...literals) => new $Literal(literals);
1133
+ var $$literal = $constructedBy($Literal);
1134
+ var _regexEscape = (RegExp.escape ||
1135
+ ((str) => str.replace(/[().|&,$^[\]]/g, (s) => "\\" + s)));
1136
+ var _schemaStringTemplateToRegex = (s) => {
1137
+ if ($string.check(s)) {
1138
+ return [_regexEscape(s)];
1139
+ }
1140
+ if ($$literal.check(s)) {
1141
+ return (s.shape.map((v) => v + ""));
1142
+ }
1143
+ if ($$number.check(s)) {
1144
+ return ["[+-]?\\d+.?\\d*"];
1145
+ }
1146
+ if ($$string.check(s)) {
1147
+ return [".*"];
1148
+ }
1149
+ if ($$union.check(s)) {
1150
+ return s.shape.map(_schemaStringTemplateToRegex).flat(1);
1151
+ }
1152
+ unexpectedCase();
1153
+ };
1154
+ var $StringTemplate = class extends Schema {
1155
+ constructor(shape) {
1156
+ super();
1157
+ this.shape = shape;
1158
+ this._r = new RegExp("^" + shape.map(_schemaStringTemplateToRegex).map((opts) => `(${opts.join("|")})`).join("") + "$");
1159
+ }
1160
+ check(o, err) {
1161
+ const c = this._r.exec(o) != null;
1162
+ !c && err?.extend(null, this._r.toString(), o.toString(), "String doesn't match string template.");
1163
+ return c;
1164
+ }
1165
+ };
1166
+ var $$stringTemplate = $constructedBy($StringTemplate);
1167
+ var isOptionalSymbol = Symbol("optional");
1168
+ var $Optional = class extends Schema {
1169
+ constructor(shape) {
1170
+ super();
1171
+ this.shape = shape;
1172
+ }
1173
+ check(o, err) {
1174
+ const c = o === void 0 || this.shape.check(o);
1175
+ !c && err?.extend(null, "undefined (optional)", "()");
1176
+ return c;
1177
+ }
1178
+ get [isOptionalSymbol]() {
1179
+ return true;
1180
+ }
1181
+ };
1182
+ var $$optional = $constructedBy($Optional);
1183
+ var $Never = class extends Schema {
1184
+ check(_o, err) {
1185
+ err?.extend(null, "never", typeof _o);
1186
+ return false;
1187
+ }
1188
+ };
1189
+ var $never = new $Never();
1190
+ var $$never = $constructedBy($Never);
1191
+ var $Object = (_b = class _$Object extends Schema {
1192
+ constructor(shape, partial = false) {
1193
+ super();
1194
+ this.shape = shape;
1195
+ this._isPartial = partial;
1196
+ }
1197
+ get partial() {
1198
+ return new _b(this.shape, true);
1199
+ }
1200
+ check(o, err) {
1201
+ if (o == null) {
1202
+ err?.extend(null, "object", "null");
1203
+ return false;
1204
+ }
1205
+ return every2(this.shape, (vv, vk) => {
1206
+ const c = this._isPartial && !hasProperty(o, vk) || vv.check(o[vk], err);
1207
+ !c && err?.extend(vk.toString(), vv.toString(), typeof o[vk], "Object property does not match");
1208
+ return c;
1209
+ });
1210
+ }
1211
+ },
1212
+ _b._dilutes = true,
1213
+ _b);
1214
+ var $object = (def) => (new $Object(def));
1215
+ var $$object = $constructedBy($Object);
1216
+ var $objectAny = $custom((o) => o != null && (o.constructor === Object || o.constructor == null));
1217
+ var $Record = class extends Schema {
1218
+ constructor(keys2, values) {
1219
+ super();
1220
+ this.shape = {
1221
+ keys: keys2,
1222
+ values
1223
+ };
1224
+ }
1225
+ check(o, err) {
1226
+ return o != null && every2(o, (vv, vk) => {
1227
+ const ck = this.shape.keys.check(vk, err);
1228
+ !ck && err?.extend(vk + "", "Record", typeof o, ck ? "Key doesn't match schema" : "Value doesn't match value");
1229
+ return ck && this.shape.values.check(vv, err);
1230
+ });
1231
+ }
1232
+ };
1233
+ var $record = (keys2, values) => new $Record(keys2, values);
1234
+ var $$record = $constructedBy($Record);
1235
+ var $Tuple = class extends Schema {
1236
+ constructor(shape) {
1237
+ super();
1238
+ this.shape = shape;
1239
+ }
1240
+ check(o, err) {
1241
+ return o != null && every2(this.shape, (vv, vk) => {
1242
+ const c = (vv.check(o[vk], err));
1243
+ !c && err?.extend(vk.toString(), "Tuple", typeof vv);
1244
+ return c;
1245
+ });
1246
+ }
1247
+ };
1248
+ var $tuple = (...def) => new $Tuple(def);
1249
+ var $$tuple = $constructedBy($Tuple);
1250
+ var $Array = class extends Schema {
1251
+ constructor(v) {
1252
+ super();
1253
+ this.shape = v.length === 1 ? v[0] : new $Union(v);
1254
+ }
1255
+ check(o, err) {
1256
+ const c = isArray(o) && every(o, (oi) => this.shape.check(oi));
1257
+ !c && err?.extend(null, "Array", "");
1258
+ return c;
1259
+ }
1260
+ };
1261
+ var $array = (...def) => new $Array(def);
1262
+ var $$array = $constructedBy($Array);
1263
+ var $arrayAny = $custom((o) => isArray(o));
1264
+ var $InstanceOf = class extends Schema {
1265
+ constructor(constructor, check) {
1266
+ super();
1267
+ this.shape = constructor;
1268
+ this._c = check;
1269
+ }
1270
+ check(o, err) {
1271
+ const c = o instanceof this.shape && (this._c == null || this._c(o));
1272
+ !c && err?.extend(null, this.shape.name, o?.constructor.name);
1273
+ return c;
1274
+ }
1275
+ };
1276
+ var $instanceOf = (c, check = null) => new $InstanceOf(c, check);
1277
+ var $$instanceOf = $constructedBy($InstanceOf);
1278
+ var $$schema = $instanceOf(Schema);
1279
+ var $Lambda = class extends Schema {
1280
+ constructor(args2) {
1281
+ super();
1282
+ this.len = args2.length - 1;
1283
+ this.args = $tuple(...args2.slice(-1));
1284
+ this.res = args2[this.len];
1285
+ }
1286
+ check(f, err) {
1287
+ const c = f.constructor === Function && f.length <= this.len;
1288
+ !c && err?.extend(null, "function", typeof f);
1289
+ return c;
1290
+ }
1291
+ };
1292
+ var $$lambda = $constructedBy($Lambda);
1293
+ var $function = $custom((o) => typeof o === "function");
1294
+ var $Intersection = class extends Schema {
1295
+ constructor(v) {
1296
+ super();
1297
+ this.shape = v;
1298
+ }
1299
+ check(o, err) {
1300
+ const c = every(this.shape, (check) => check.check(o, err));
1301
+ !c && err?.extend(null, "Intersectinon", typeof o);
1302
+ return c;
1303
+ }
1304
+ };
1305
+ var $$intersect = $constructedBy($Intersection, (o) => o.shape.length > 0);
1306
+ var $Union = (_d = class extends Schema {
1307
+ constructor(v) {
1308
+ super();
1309
+ this.shape = v;
1310
+ }
1311
+ check(o, err) {
1312
+ const c = some(this.shape, (vv) => vv.check(o, err));
1313
+ err?.extend(null, "Union", typeof o);
1314
+ return c;
1315
+ }
1316
+ },
1317
+ __setFunctionName(_d, "$Union"),
1318
+ _d._dilutes = true,
1319
+ _d);
1320
+ var $union = (...schemas) => schemas.findIndex(($s) => $$union.check($s)) >= 0 ? $union(...schemas.map(($s) => $($s)).map(($s) => $$union.check($s) ? $s.shape : [$s]).flat(1)) : schemas.length === 1 ? schemas[0] : new $Union(schemas);
1321
+ var $$union = ($constructedBy($Union));
1322
+ var _t = () => true;
1323
+ var $any = $custom(_t);
1324
+ var $$any = ($constructedBy($Custom, (o) => o.shape === _t));
1325
+ var $bigint = $custom((o) => typeof o === "bigint");
1326
+ var $$bigint = ($custom((o) => o === $bigint));
1327
+ var $symbol = $custom((o) => typeof o === "symbol");
1328
+ var $$symbol = ($custom((o) => o === $symbol));
1329
+ var $number = $custom((o) => typeof o === "number");
1330
+ var $$number = ($custom((o) => o === $number));
1331
+ var $string = $custom((o) => typeof o === "string");
1332
+ var $$string = ($custom((o) => o === $string));
1333
+ var $boolean = $custom((o) => typeof o === "boolean");
1334
+ var $$boolean = ($custom((o) => o === $boolean));
1335
+ var $undefined = $literal(void 0);
1336
+ var $$undefined = ($constructedBy($Literal, (o) => o.shape.length === 1 && o.shape[0] === void 0));
1337
+ var $void = $literal(void 0);
1338
+ var $null = $literal(null);
1339
+ var $$null = ($constructedBy($Literal, (o) => o.shape.length === 1 && o.shape[0] === null));
1340
+ var $uint8Array = $constructedBy(Uint8Array);
1341
+ var $$uint8Array = ($constructedBy($ConstructedBy, (o) => o.shape === Uint8Array));
1342
+ var $primitive = $union($number, $string, $null, $undefined, $bigint, $boolean, $symbol);
1343
+ var $json = (() => {
1344
+ const $jsonArr = ($array($any));
1345
+ const $jsonRecord = ($record($string, $any));
1346
+ const $json2 = $union($number, $string, $null, $boolean, $jsonArr, $jsonRecord);
1347
+ $jsonArr.shape = $json2;
1348
+ $jsonRecord.shape.values = $json2;
1349
+ return $json2;
1350
+ })();
1351
+ var $ = (o) => {
1352
+ if ($$schema.check(o)) {
1353
+ return (o);
1354
+ }
1355
+ else if ($objectAny.check(o)) {
1356
+ const o2 = {};
1357
+ for (const k in o) {
1358
+ o2[k] = $(o[k]);
1359
+ }
1360
+ return ($object(o2));
1361
+ }
1362
+ else if ($arrayAny.check(o)) {
1363
+ return ($union(...o.map($)));
1364
+ }
1365
+ else if ($primitive.check(o)) {
1366
+ return ($literal(o));
1367
+ }
1368
+ else if ($function.check(o)) {
1369
+ return ($constructedBy(o));
1370
+ }
1371
+ unexpectedCase();
1372
+ };
1373
+ var assert = production ? () => {
1374
+ } : (o, schema) => {
1375
+ const err = new ValidationError();
1376
+ if (!schema.check(o, err)) {
1377
+ throw create3(`Expected value to be of type ${schema.constructor.name}.
1378
+ ${err.toString()}`);
1379
+ }
1380
+ };
1381
+ var PatternMatcher = class {
1382
+ constructor($state) {
1383
+ this.patterns = [];
1384
+ this.$state = $state;
1385
+ }
1386
+ if(pattern, handler) {
1387
+ this.patterns.push({ if: $(pattern), h: handler });
1388
+ return this;
1389
+ }
1390
+ else(h) {
1391
+ return this.if($any, h);
1392
+ }
1393
+ done() {
1394
+ return ((o, s) => {
1395
+ for (let i = 0; i < this.patterns.length; i++) {
1396
+ const p = this.patterns[i];
1397
+ if (p.if.check(o)) {
1398
+ return p.h(o, s);
1399
+ }
1400
+ }
1401
+ throw create3("Unhandled pattern");
1402
+ });
1403
+ }
1404
+ };
1405
+ var match = (state) => new PatternMatcher(state);
1406
+ var _random = (match($any).if($$number, (_o, gen) => int53(gen, MIN_SAFE_INTEGER, MAX_SAFE_INTEGER)).if($$string, (_o, gen) => word(gen)).if($$boolean, (_o, gen) => bool(gen)).if($$bigint, (_o, gen) => BigInt(int53(gen, MIN_SAFE_INTEGER, MAX_SAFE_INTEGER))).if($$union, (o, gen) => random(gen, oneOf(gen, o.shape))).if($$object, (o, gen) => {
1407
+ const res = {};
1408
+ for (const k in o.shape) {
1409
+ let prop = o.shape[k];
1410
+ if ($$optional.check(prop)) {
1411
+ if (bool(gen)) {
1412
+ continue;
1413
+ }
1414
+ prop = prop.shape;
1415
+ }
1416
+ res[k] = _random(prop, gen);
1417
+ }
1418
+ return res;
1419
+ }).if($$array, (o, gen) => {
1420
+ const arr = [];
1421
+ const n = int32(gen, 0, 42);
1422
+ for (let i = 0; i < n; i++) {
1423
+ arr.push(random(gen, o.shape));
1424
+ }
1425
+ return arr;
1426
+ }).if($$literal, (o, gen) => {
1427
+ return oneOf(gen, o.shape);
1428
+ }).if($$null, (o, gen) => {
1429
+ return null;
1430
+ }).if($$lambda, (o, gen) => {
1431
+ const res = random(gen, o.res);
1432
+ return () => res;
1433
+ }).if($$any, (o, gen) => random(gen, oneOf(gen, [
1434
+ $number,
1435
+ $string,
1436
+ $null,
1437
+ $undefined,
1438
+ $bigint,
1439
+ $boolean,
1440
+ $array($number),
1441
+ $record($union("a", "b", "c"), $number)
1442
+ ]))).if($$record, (o, gen) => {
1443
+ const res = {};
1444
+ const keysN = int53(gen, 0, 3);
1445
+ for (let i = 0; i < keysN; i++) {
1446
+ const key = random(gen, o.shape.keys);
1447
+ const val = random(gen, o.shape.values);
1448
+ res[key] = val;
1449
+ }
1450
+ return res;
1451
+ }).done());
1452
+ var random = (gen, schema) => (_random($(schema), gen));
908
1453
  var doc = (typeof document !== "undefined" ? document : {});
1454
+ var $fragment = $custom((el) => el.nodeType === DOCUMENT_FRAGMENT_NODE);
909
1455
  var domParser = (typeof DOMParser !== "undefined" ? new DOMParser() : null);
1456
+ var $element = $custom((el) => el.nodeType === ELEMENT_NODE);
1457
+ var $text = $custom((el) => el.nodeType === TEXT_NODE);
910
1458
  var mapToStyleString = (m) => map(m, (value, key) => `${key}:${value};`).join("");
911
1459
  var ELEMENT_NODE = doc.ELEMENT_NODE;
912
1460
  var TEXT_NODE = doc.TEXT_NODE;
@@ -915,6 +1463,7 @@ var COMMENT_NODE = doc.COMMENT_NODE;
915
1463
  var DOCUMENT_NODE = doc.DOCUMENT_NODE;
916
1464
  var DOCUMENT_TYPE_NODE = doc.DOCUMENT_TYPE_NODE;
917
1465
  var DOCUMENT_FRAGMENT_NODE = doc.DOCUMENT_FRAGMENT_NODE;
1466
+ var $node = $custom((el) => el.nodeType === DOCUMENT_NODE);
918
1467
  var create6 = Symbol;
919
1468
  var BOLD = create6();
920
1469
  var UNBOLD = create6();