miolo 0.9.35 → 0.9.36

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 (36) hide show
  1. package/dist/cli/miolo.cli.iife.bundle.js +179 -114
  2. package/dist/cli/miolo.cli.iife.bundle.js.map +1 -1
  3. package/dist/cli/miolo.cli.iife.bundle.min.js +2 -2
  4. package/dist/cli/miolo.cli.iife.js +16 -12
  5. package/dist/cli/miolo.cli.iife.js.map +1 -1
  6. package/dist/cli/miolo.cli.iife.min.js +2 -2
  7. package/dist/cli/miolo.cli.min.mjs +2 -2
  8. package/dist/cli/miolo.cli.mjs +14 -8
  9. package/dist/cli/miolo.cli.mjs.map +1 -1
  10. package/dist/cli/miolo.cli.umd.bundle.js +179 -114
  11. package/dist/cli/miolo.cli.umd.bundle.js.map +1 -1
  12. package/dist/cli/miolo.cli.umd.bundle.min.js +2 -2
  13. package/dist/cli/miolo.cli.umd.js +16 -12
  14. package/dist/cli/miolo.cli.umd.js.map +1 -1
  15. package/dist/cli/miolo.cli.umd.min.js +2 -2
  16. package/dist/cli-react/miolo.cli-react.iife.bundle.js +274 -143
  17. package/dist/cli-react/miolo.cli-react.iife.bundle.js.map +1 -1
  18. package/dist/cli-react/miolo.cli-react.iife.bundle.min.js +10 -10
  19. package/dist/cli-react/miolo.cli-react.iife.js +16 -12
  20. package/dist/cli-react/miolo.cli-react.iife.js.map +1 -1
  21. package/dist/cli-react/miolo.cli-react.iife.min.js +2 -2
  22. package/dist/cli-react/miolo.cli-react.min.mjs +2 -2
  23. package/dist/cli-react/miolo.cli-react.mjs +14 -8
  24. package/dist/cli-react/miolo.cli-react.mjs.map +1 -1
  25. package/dist/cli-react/miolo.cli-react.umd.bundle.js +274 -143
  26. package/dist/cli-react/miolo.cli-react.umd.bundle.js.map +1 -1
  27. package/dist/cli-react/miolo.cli-react.umd.bundle.min.js +10 -10
  28. package/dist/cli-react/miolo.cli-react.umd.js +16 -12
  29. package/dist/cli-react/miolo.cli-react.umd.js.map +1 -1
  30. package/dist/cli-react/miolo.cli-react.umd.min.js +2 -2
  31. package/dist/server/miolo.server.cjs +367 -199
  32. package/dist/server/miolo.server.min.mjs +2 -2
  33. package/dist/server/miolo.server.mjs +269 -147
  34. package/dist/server/miolo.server.mjs.map +1 -1
  35. package/dist/server/miolo.server.node.mjs +368 -200
  36. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo v0.9.35
2
+ * miolo v0.9.36
3
3
  *
4
4
  * Copyright (c) Donato Lorenzo <donato@afialapis.com>
5
5
  *
@@ -470,6 +470,27 @@ var miolo = (function (exports) {
470
470
  return a;
471
471
  }
472
472
 
473
+ /** @type {import('.')} */
474
+ var esErrors = Error;
475
+
476
+ /** @type {import('./eval')} */
477
+ var _eval = EvalError;
478
+
479
+ /** @type {import('./range')} */
480
+ var range = RangeError;
481
+
482
+ /** @type {import('./ref')} */
483
+ var ref = ReferenceError;
484
+
485
+ /** @type {import('./syntax')} */
486
+ var syntax = SyntaxError;
487
+
488
+ /** @type {import('./type')} */
489
+ var type = TypeError;
490
+
491
+ /** @type {import('./uri')} */
492
+ var uri = URIError;
493
+
473
494
  /* eslint complexity: [2, 18], max-statements: [2, 33] */
474
495
  var shams = function hasSymbols() {
475
496
  if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
@@ -524,13 +545,17 @@ var miolo = (function (exports) {
524
545
  };
525
546
 
526
547
  var test = {
548
+ __proto__: null,
527
549
  foo: {}
528
550
  };
529
551
 
530
552
  var $Object = Object;
531
553
 
554
+ /** @type {import('.')} */
532
555
  var hasProto$1 = function hasProto() {
533
- return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);
556
+ // @ts-expect-error: TS errors on an inherited property for some reason
557
+ return { __proto__: test }.foo === test.foo
558
+ && !(test instanceof $Object);
534
559
  };
535
560
 
536
561
  /* eslint no-invalid-this: 1 */
@@ -624,14 +649,20 @@ var miolo = (function (exports) {
624
649
  var $hasOwn = Object.prototype.hasOwnProperty;
625
650
  var bind$1 = functionBind;
626
651
 
627
- /** @type {(o: {}, p: PropertyKey) => p is keyof o} */
652
+ /** @type {import('.')} */
628
653
  var hasown = bind$1.call(call, $hasOwn);
629
654
 
630
655
  var undefined$1;
631
656
 
632
- var $SyntaxError$1 = SyntaxError;
657
+ var $Error = esErrors;
658
+ var $EvalError = _eval;
659
+ var $RangeError = range;
660
+ var $ReferenceError = ref;
661
+ var $SyntaxError$1 = syntax;
662
+ var $TypeError$3 = type;
663
+ var $URIError = uri;
664
+
633
665
  var $Function = Function;
634
- var $TypeError$3 = TypeError;
635
666
 
636
667
  // eslint-disable-next-line consistent-return
637
668
  var getEvalledConstructor = function (expressionSyntax) {
@@ -683,6 +714,7 @@ var miolo = (function (exports) {
683
714
  var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined$1 : getProto(Uint8Array);
684
715
 
685
716
  var INTRINSICS = {
717
+ __proto__: null,
686
718
  '%AggregateError%': typeof AggregateError === 'undefined' ? undefined$1 : AggregateError,
687
719
  '%Array%': Array,
688
720
  '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined$1 : ArrayBuffer,
@@ -703,9 +735,9 @@ var miolo = (function (exports) {
703
735
  '%decodeURIComponent%': decodeURIComponent,
704
736
  '%encodeURI%': encodeURI,
705
737
  '%encodeURIComponent%': encodeURIComponent,
706
- '%Error%': Error,
738
+ '%Error%': $Error,
707
739
  '%eval%': eval, // eslint-disable-line no-eval
708
- '%EvalError%': EvalError,
740
+ '%EvalError%': $EvalError,
709
741
  '%Float32Array%': typeof Float32Array === 'undefined' ? undefined$1 : Float32Array,
710
742
  '%Float64Array%': typeof Float64Array === 'undefined' ? undefined$1 : Float64Array,
711
743
  '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined$1 : FinalizationRegistry,
@@ -727,8 +759,8 @@ var miolo = (function (exports) {
727
759
  '%parseInt%': parseInt,
728
760
  '%Promise%': typeof Promise === 'undefined' ? undefined$1 : Promise,
729
761
  '%Proxy%': typeof Proxy === 'undefined' ? undefined$1 : Proxy,
730
- '%RangeError%': RangeError,
731
- '%ReferenceError%': ReferenceError,
762
+ '%RangeError%': $RangeError,
763
+ '%ReferenceError%': $ReferenceError,
732
764
  '%Reflect%': typeof Reflect === 'undefined' ? undefined$1 : Reflect,
733
765
  '%RegExp%': RegExp,
734
766
  '%Set%': typeof Set === 'undefined' ? undefined$1 : Set,
@@ -745,7 +777,7 @@ var miolo = (function (exports) {
745
777
  '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined$1 : Uint8ClampedArray,
746
778
  '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined$1 : Uint16Array,
747
779
  '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined$1 : Uint32Array,
748
- '%URIError%': URIError,
780
+ '%URIError%': $URIError,
749
781
  '%WeakMap%': typeof WeakMap === 'undefined' ? undefined$1 : WeakMap,
750
782
  '%WeakRef%': typeof WeakRef === 'undefined' ? undefined$1 : WeakRef,
751
783
  '%WeakSet%': typeof WeakSet === 'undefined' ? undefined$1 : WeakSet
@@ -787,6 +819,7 @@ var miolo = (function (exports) {
787
819
  };
788
820
 
789
821
  var LEGACY_ALIASES = {
822
+ __proto__: null,
790
823
  '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
791
824
  '%ArrayPrototype%': ['Array', 'prototype'],
792
825
  '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
@@ -979,41 +1012,33 @@ var miolo = (function (exports) {
979
1012
 
980
1013
  var callBind$1 = {exports: {}};
981
1014
 
982
- var GetIntrinsic$5 = getIntrinsic;
1015
+ var esDefineProperty;
1016
+ var hasRequiredEsDefineProperty;
983
1017
 
984
- var $defineProperty$1 = GetIntrinsic$5('%Object.defineProperty%', true);
1018
+ function requireEsDefineProperty () {
1019
+ if (hasRequiredEsDefineProperty) return esDefineProperty;
1020
+ hasRequiredEsDefineProperty = 1;
985
1021
 
986
- var hasPropertyDescriptors$1 = function hasPropertyDescriptors() {
987
- if ($defineProperty$1) {
1022
+ var GetIntrinsic = getIntrinsic;
1023
+
1024
+ /** @type {import('.')} */
1025
+ var $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;
1026
+ if ($defineProperty) {
988
1027
  try {
989
- $defineProperty$1({}, 'a', { value: 1 });
990
- return true;
1028
+ $defineProperty({}, 'a', { value: 1 });
991
1029
  } catch (e) {
992
1030
  // IE 8 has a broken defineProperty
993
- return false;
1031
+ $defineProperty = false;
994
1032
  }
995
1033
  }
996
- return false;
997
- };
998
-
999
- hasPropertyDescriptors$1.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {
1000
- // node v0.6 has a bug where array lengths can be Set but not Defined
1001
- if (!hasPropertyDescriptors$1()) {
1002
- return null;
1003
- }
1004
- try {
1005
- return $defineProperty$1([], 'length', { value: 1 }).length !== 1;
1006
- } catch (e) {
1007
- // In Firefox 4-22, defining length on an array throws an exception.
1008
- return true;
1009
- }
1010
- };
1011
1034
 
1012
- var hasPropertyDescriptors_1 = hasPropertyDescriptors$1;
1035
+ esDefineProperty = $defineProperty;
1036
+ return esDefineProperty;
1037
+ }
1013
1038
 
1014
- var GetIntrinsic$4 = getIntrinsic;
1039
+ var GetIntrinsic$3 = getIntrinsic;
1015
1040
 
1016
- var $gOPD = GetIntrinsic$4('%Object.getOwnPropertyDescriptor%', true);
1041
+ var $gOPD = GetIntrinsic$3('%Object.getOwnPropertyDescriptor%', true);
1017
1042
 
1018
1043
  if ($gOPD) {
1019
1044
  try {
@@ -1026,26 +1051,14 @@ var miolo = (function (exports) {
1026
1051
 
1027
1052
  var gopd$1 = $gOPD;
1028
1053
 
1029
- var hasPropertyDescriptors = hasPropertyDescriptors_1();
1030
-
1031
- var GetIntrinsic$3 = getIntrinsic;
1032
-
1033
- var $defineProperty = hasPropertyDescriptors && GetIntrinsic$3('%Object.defineProperty%', true);
1034
- if ($defineProperty) {
1035
- try {
1036
- $defineProperty({}, 'a', { value: 1 });
1037
- } catch (e) {
1038
- // IE 8 has a broken defineProperty
1039
- $defineProperty = false;
1040
- }
1041
- }
1054
+ var $defineProperty$1 = requireEsDefineProperty();
1042
1055
 
1043
- var $SyntaxError = GetIntrinsic$3('%SyntaxError%');
1044
- var $TypeError$2 = GetIntrinsic$3('%TypeError%');
1056
+ var $SyntaxError = syntax;
1057
+ var $TypeError$2 = type;
1045
1058
 
1046
1059
  var gopd = gopd$1;
1047
1060
 
1048
- /** @type {(obj: Record<PropertyKey, unknown>, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */
1061
+ /** @type {import('.')} */
1049
1062
  var defineDataProperty = function defineDataProperty(
1050
1063
  obj,
1051
1064
  property,
@@ -1078,8 +1091,8 @@ var miolo = (function (exports) {
1078
1091
  /* @type {false | TypedPropertyDescriptor<unknown>} */
1079
1092
  var desc = !!gopd && gopd(obj, property);
1080
1093
 
1081
- if ($defineProperty) {
1082
- $defineProperty(obj, property, {
1094
+ if ($defineProperty$1) {
1095
+ $defineProperty$1(obj, property, {
1083
1096
  configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,
1084
1097
  enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,
1085
1098
  value: value,
@@ -1093,12 +1106,33 @@ var miolo = (function (exports) {
1093
1106
  }
1094
1107
  };
1095
1108
 
1109
+ var $defineProperty = requireEsDefineProperty();
1110
+
1111
+ var hasPropertyDescriptors = function hasPropertyDescriptors() {
1112
+ return !!$defineProperty;
1113
+ };
1114
+
1115
+ hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {
1116
+ // node v0.6 has a bug where array lengths can be Set but not Defined
1117
+ if (!$defineProperty) {
1118
+ return null;
1119
+ }
1120
+ try {
1121
+ return $defineProperty([], 'length', { value: 1 }).length !== 1;
1122
+ } catch (e) {
1123
+ // In Firefox 4-22, defining length on an array throws an exception.
1124
+ return true;
1125
+ }
1126
+ };
1127
+
1128
+ var hasPropertyDescriptors_1 = hasPropertyDescriptors;
1129
+
1096
1130
  var GetIntrinsic$2 = getIntrinsic;
1097
1131
  var define = defineDataProperty;
1098
1132
  var hasDescriptors = hasPropertyDescriptors_1();
1099
1133
  var gOPD = gopd$1;
1100
1134
 
1101
- var $TypeError$1 = GetIntrinsic$2('%TypeError%');
1135
+ var $TypeError$1 = type;
1102
1136
  var $floor$1 = GetIntrinsic$2('%Math.floor%');
1103
1137
 
1104
1138
  /** @typedef {(...args: unknown[]) => unknown} Func */
@@ -1142,23 +1176,14 @@ var miolo = (function (exports) {
1142
1176
  var GetIntrinsic = getIntrinsic;
1143
1177
  var setFunctionLength$1 = setFunctionLength;
1144
1178
 
1145
- var $TypeError = GetIntrinsic('%TypeError%');
1179
+ var $TypeError = type;
1146
1180
  var $apply = GetIntrinsic('%Function.prototype.apply%');
1147
1181
  var $call = GetIntrinsic('%Function.prototype.call%');
1148
1182
  var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
1149
1183
 
1150
- var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
1184
+ var $defineProperty = requireEsDefineProperty();
1151
1185
  var $max = GetIntrinsic('%Math.max%');
1152
1186
 
1153
- if ($defineProperty) {
1154
- try {
1155
- $defineProperty({}, 'a', { value: 1 });
1156
- } catch (e) {
1157
- // IE 8 has a broken defineProperty
1158
- $defineProperty = null;
1159
- }
1160
- }
1161
-
1162
1187
  module.exports = function callBind(originalFunction) {
1163
1188
  if (typeof originalFunction !== 'function') {
1164
1189
  throw new $TypeError('a function is required');
@@ -4658,7 +4683,7 @@ var miolo = (function (exports) {
4658
4683
  var callBound = callBound$1;
4659
4684
  var inspect = objectInspect;
4660
4685
 
4661
- var $TypeError = GetIntrinsic('%TypeError%');
4686
+ var $TypeError = type;
4662
4687
  var $WeakMap = GetIntrinsic('%WeakMap%', true);
4663
4688
  var $Map = GetIntrinsic('%Map%', true);
4664
4689
 
@@ -4670,49 +4695,58 @@ var miolo = (function (exports) {
4670
4695
  var $mapHas = callBound('Map.prototype.has', true);
4671
4696
 
4672
4697
  /*
4673
- * This function traverses the list returning the node corresponding to the
4674
- * given key.
4675
- *
4676
- * That node is also moved to the head of the list, so that if it's accessed
4677
- * again we don't need to traverse the whole list. By doing so, all the recently
4678
- * used nodes can be accessed relatively quickly.
4679
- */
4698
+ * This function traverses the list returning the node corresponding to the given key.
4699
+ *
4700
+ * That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.
4701
+ */
4702
+ /** @type {import('.').listGetNode} */
4680
4703
  var listGetNode = function (list, key) { // eslint-disable-line consistent-return
4681
- for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
4704
+ /** @type {typeof list | NonNullable<(typeof list)['next']>} */
4705
+ var prev = list;
4706
+ /** @type {(typeof list)['next']} */
4707
+ var curr;
4708
+ for (; (curr = prev.next) !== null; prev = curr) {
4682
4709
  if (curr.key === key) {
4683
4710
  prev.next = curr.next;
4684
- curr.next = list.next;
4711
+ // eslint-disable-next-line no-extra-parens
4712
+ curr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);
4685
4713
  list.next = curr; // eslint-disable-line no-param-reassign
4686
4714
  return curr;
4687
4715
  }
4688
4716
  }
4689
4717
  };
4690
4718
 
4719
+ /** @type {import('.').listGet} */
4691
4720
  var listGet = function (objects, key) {
4692
4721
  var node = listGetNode(objects, key);
4693
4722
  return node && node.value;
4694
4723
  };
4724
+ /** @type {import('.').listSet} */
4695
4725
  var listSet = function (objects, key, value) {
4696
4726
  var node = listGetNode(objects, key);
4697
4727
  if (node) {
4698
4728
  node.value = value;
4699
4729
  } else {
4700
4730
  // Prepend the new node to the beginning of the list
4701
- objects.next = { // eslint-disable-line no-param-reassign
4731
+ objects.next = /** @type {import('.').ListNode<typeof value>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens
4702
4732
  key: key,
4703
4733
  next: objects.next,
4704
4734
  value: value
4705
- };
4735
+ });
4706
4736
  }
4707
4737
  };
4738
+ /** @type {import('.').listHas} */
4708
4739
  var listHas = function (objects, key) {
4709
4740
  return !!listGetNode(objects, key);
4710
4741
  };
4711
4742
 
4743
+ /** @type {import('.')} */
4712
4744
  var sideChannel = function getSideChannel() {
4713
- var $wm;
4714
- var $m;
4715
- var $o;
4745
+ /** @type {WeakMap<object, unknown>} */ var $wm;
4746
+ /** @type {Map<object, unknown>} */ var $m;
4747
+ /** @type {import('.').RootNode<unknown>} */ var $o;
4748
+
4749
+ /** @type {import('.').Channel} */
4716
4750
  var channel = {
4717
4751
  assert: function (key) {
4718
4752
  if (!channel.has(key)) {
@@ -4763,11 +4797,7 @@ var miolo = (function (exports) {
4763
4797
  $mapSet($m, key, value);
4764
4798
  } else {
4765
4799
  if (!$o) {
4766
- /*
4767
- * Initialize the linked list as an empty node, so that we don't have
4768
- * to special-case handling of the first node: we can always refer to
4769
- * it as (previous node).next, instead of something like (list).head
4770
- */
4800
+ // Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head
4771
4801
  $o = { key: {}, next: null };
4772
4802
  }
4773
4803
  listSet($o, key, value);
@@ -5080,10 +5110,13 @@ var miolo = (function (exports) {
5080
5110
  var defaults = {
5081
5111
  addQueryPrefix: false,
5082
5112
  allowDots: false,
5113
+ allowEmptyArrays: false,
5114
+ arrayFormat: 'indices',
5083
5115
  charset: 'utf-8',
5084
5116
  charsetSentinel: false,
5085
5117
  delimiter: '&',
5086
5118
  encode: true,
5119
+ encodeDotInKeys: false,
5087
5120
  encoder: utils.encode,
5088
5121
  encodeValuesOnly: false,
5089
5122
  format: defaultFormat,
@@ -5112,8 +5145,10 @@ var miolo = (function (exports) {
5112
5145
  prefix,
5113
5146
  generateArrayPrefix,
5114
5147
  commaRoundTrip,
5148
+ allowEmptyArrays,
5115
5149
  strictNullHandling,
5116
5150
  skipNulls,
5151
+ encodeDotInKeys,
5117
5152
  encoder,
5118
5153
  filter,
5119
5154
  sort,
@@ -5195,7 +5230,13 @@ var miolo = (function (exports) {
5195
5230
  objKeys = sort ? keys.sort(sort) : keys;
5196
5231
  }
5197
5232
 
5198
- var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;
5233
+ var encodedPrefix = encodeDotInKeys ? prefix.replace(/\./g, '%2E') : prefix;
5234
+
5235
+ var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;
5236
+
5237
+ if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
5238
+ return adjustedPrefix + '[]';
5239
+ }
5199
5240
 
5200
5241
  for (var j = 0; j < objKeys.length; ++j) {
5201
5242
  var key = objKeys[j];
@@ -5205,9 +5246,10 @@ var miolo = (function (exports) {
5205
5246
  continue;
5206
5247
  }
5207
5248
 
5249
+ var encodedKey = allowDots && encodeDotInKeys ? key.replace(/\./g, '%2E') : key;
5208
5250
  var keyPrefix = isArray(obj)
5209
- ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix
5210
- : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');
5251
+ ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix
5252
+ : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');
5211
5253
 
5212
5254
  sideChannel.set(object, step);
5213
5255
  var valueSideChannel = getSideChannel();
@@ -5217,8 +5259,10 @@ var miolo = (function (exports) {
5217
5259
  keyPrefix,
5218
5260
  generateArrayPrefix,
5219
5261
  commaRoundTrip,
5262
+ allowEmptyArrays,
5220
5263
  strictNullHandling,
5221
5264
  skipNulls,
5265
+ encodeDotInKeys,
5222
5266
  generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,
5223
5267
  filter,
5224
5268
  sort,
@@ -5240,6 +5284,14 @@ var miolo = (function (exports) {
5240
5284
  return defaults;
5241
5285
  }
5242
5286
 
5287
+ if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {
5288
+ throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');
5289
+ }
5290
+
5291
+ if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {
5292
+ throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');
5293
+ }
5294
+
5243
5295
  if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {
5244
5296
  throw new TypeError('Encoder has to be a function.');
5245
5297
  }
@@ -5263,13 +5315,32 @@ var miolo = (function (exports) {
5263
5315
  filter = opts.filter;
5264
5316
  }
5265
5317
 
5318
+ var arrayFormat;
5319
+ if (opts.arrayFormat in arrayPrefixGenerators) {
5320
+ arrayFormat = opts.arrayFormat;
5321
+ } else if ('indices' in opts) {
5322
+ arrayFormat = opts.indices ? 'indices' : 'repeat';
5323
+ } else {
5324
+ arrayFormat = defaults.arrayFormat;
5325
+ }
5326
+
5327
+ if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
5328
+ throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
5329
+ }
5330
+
5331
+ var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;
5332
+
5266
5333
  return {
5267
5334
  addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
5268
- allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
5335
+ allowDots: allowDots,
5336
+ allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
5337
+ arrayFormat: arrayFormat,
5269
5338
  charset: charset,
5270
5339
  charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
5340
+ commaRoundTrip: opts.commaRoundTrip,
5271
5341
  delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
5272
5342
  encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
5343
+ encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
5273
5344
  encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
5274
5345
  encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
5275
5346
  filter: filter,
@@ -5303,20 +5374,8 @@ var miolo = (function (exports) {
5303
5374
  return '';
5304
5375
  }
5305
5376
 
5306
- var arrayFormat;
5307
- if (opts && opts.arrayFormat in arrayPrefixGenerators) {
5308
- arrayFormat = opts.arrayFormat;
5309
- } else if (opts && 'indices' in opts) {
5310
- arrayFormat = opts.indices ? 'indices' : 'repeat';
5311
- } else {
5312
- arrayFormat = 'indices';
5313
- }
5314
-
5315
- var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
5316
- if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
5317
- throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
5318
- }
5319
- var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;
5377
+ var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];
5378
+ var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;
5320
5379
 
5321
5380
  if (!objKeys) {
5322
5381
  objKeys = Object.keys(obj);
@@ -5338,8 +5397,10 @@ var miolo = (function (exports) {
5338
5397
  key,
5339
5398
  generateArrayPrefix,
5340
5399
  commaRoundTrip,
5400
+ options.allowEmptyArrays,
5341
5401
  options.strictNullHandling,
5342
5402
  options.skipNulls,
5403
+ options.encodeDotInKeys,
5343
5404
  options.encode ? options.encoder : null,
5344
5405
  options.filter,
5345
5406
  options.sort,
@@ -5409,7 +5470,7 @@ var miolo = (function (exports) {
5409
5470
 
5410
5471
  var Fetcher = /*#__PURE__*/function () {
5411
5472
  /**
5412
- * @param {*} config {hostname, port}
5473
+ * @param {*} config {hostname, port, force_hostname, silent_fail: false}
5413
5474
  */
5414
5475
  function Fetcher(config) {
5415
5476
  this.config = config;
@@ -5536,7 +5597,7 @@ var miolo = (function (exports) {
5536
5597
  }();
5537
5598
  _proto.get = /*#__PURE__*/function () {
5538
5599
  var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(url, params, auth) {
5539
- var resp;
5600
+ var resp, _this$config;
5540
5601
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
5541
5602
  while (1) switch (_context2.prev = _context2.next) {
5542
5603
  case 0:
@@ -5552,13 +5613,15 @@ var miolo = (function (exports) {
5552
5613
  case 8:
5553
5614
  _context2.prev = 8;
5554
5615
  _context2.t0 = _context2["catch"](1);
5555
- console.error("Error on GET " + url);
5556
- console.error(_context2.t0);
5616
+ if (((_this$config = this.config) == null ? void 0 : _this$config.silent_fail) !== true) {
5617
+ console.error("Error on GET " + url);
5618
+ console.error(_context2.t0);
5619
+ }
5557
5620
  return _context2.abrupt("return", {
5558
- data: undefined,
5621
+ data: _context2.t0,
5559
5622
  status: -1
5560
5623
  });
5561
- case 13:
5624
+ case 12:
5562
5625
  case "end":
5563
5626
  return _context2.stop();
5564
5627
  }
@@ -5571,7 +5634,7 @@ var miolo = (function (exports) {
5571
5634
  }();
5572
5635
  _proto.post = /*#__PURE__*/function () {
5573
5636
  var _post = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(url, data, auth) {
5574
- var resp;
5637
+ var resp, _this$config2;
5575
5638
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
5576
5639
  while (1) switch (_context3.prev = _context3.next) {
5577
5640
  case 0:
@@ -5587,13 +5650,15 @@ var miolo = (function (exports) {
5587
5650
  case 8:
5588
5651
  _context3.prev = 8;
5589
5652
  _context3.t0 = _context3["catch"](1);
5590
- console.error("Error on POST " + url);
5591
- console.error(_context3.t0);
5653
+ if (((_this$config2 = this.config) == null ? void 0 : _this$config2.silent_fail) !== true) {
5654
+ console.error("Error on POST " + url);
5655
+ console.error(_context3.t0);
5656
+ }
5592
5657
  return _context3.abrupt("return", {
5593
- data: undefined,
5658
+ data: _context3.t0,
5594
5659
  status: -1
5595
5660
  });
5596
- case 13:
5661
+ case 12:
5597
5662
  case "end":
5598
5663
  return _context3.stop();
5599
5664
  }