@bbn/bbn 1.0.437 → 1.0.439

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 (206) hide show
  1. package/dist/_.js +7 -11
  2. package/dist/bbn.js +1 -1
  3. package/dist/bbn.js.map +1 -1
  4. package/dist/date.d.ts +39 -0
  5. package/dist/date.js +339 -0
  6. package/dist/db.js +107 -124
  7. package/dist/fn/ajax/_addLoader.js +6 -6
  8. package/dist/fn/ajax/_deleteLoader.js +11 -13
  9. package/dist/fn/ajax/abort.js +1 -1
  10. package/dist/fn/ajax/abortURL.js +1 -1
  11. package/dist/fn/ajax/ajax.js +25 -30
  12. package/dist/fn/ajax/callback.js +10 -14
  13. package/dist/fn/ajax/download.js +7 -9
  14. package/dist/fn/ajax/downloadContent.js +5 -6
  15. package/dist/fn/ajax/getLoader.js +1 -1
  16. package/dist/fn/ajax/getRequestId.js +2 -2
  17. package/dist/fn/ajax/link.js +9 -13
  18. package/dist/fn/ajax/post.js +3 -7
  19. package/dist/fn/ajax/postOut.js +2 -4
  20. package/dist/fn/ajax/setNavigationVars.js +5 -7
  21. package/dist/fn/ajax/stream.js +21 -22
  22. package/dist/fn/ajax/treatAjaxArguments.js +3 -3
  23. package/dist/fn/ajax/upload.js +6 -9
  24. package/dist/fn/browser/copy.js +9 -12
  25. package/dist/fn/browser/error.js +2 -2
  26. package/dist/fn/browser/executeSlowly.js +11 -55
  27. package/dist/fn/browser/getBrowserName.js +1 -1
  28. package/dist/fn/browser/getBrowserVersion.js +1 -1
  29. package/dist/fn/browser/getCookie.js +5 -5
  30. package/dist/fn/browser/getDeviceType.js +1 -1
  31. package/dist/fn/browser/getEventData.js +30 -30
  32. package/dist/fn/browser/happy.js +1 -5
  33. package/dist/fn/browser/info.js +1 -5
  34. package/dist/fn/browser/isActiveInterface.js +2 -3
  35. package/dist/fn/browser/isFocused.js +1 -2
  36. package/dist/fn/browser/log.js +8 -12
  37. package/dist/fn/browser/replaceSelection.js +5 -5
  38. package/dist/fn/browser/selectElementText.js +4 -5
  39. package/dist/fn/browser/setCookie.js +3 -3
  40. package/dist/fn/browser/warning.js +2 -2
  41. package/dist/fn/browser/yieldToBrowser.js +7 -43
  42. package/dist/fn/convert/arrayBuffer2String.js +1 -1
  43. package/dist/fn/convert/canvasToImage.js +1 -1
  44. package/dist/fn/convert/colorToHex.js +1 -1
  45. package/dist/fn/convert/fromXml.js +7 -13
  46. package/dist/fn/convert/hex2rgb.js +1 -1
  47. package/dist/fn/convert/imageToCanvas.js +1 -1
  48. package/dist/fn/convert/imgToBase64.js +2 -3
  49. package/dist/fn/convert/toCSV.js +7 -10
  50. package/dist/fn/datetime/calendar.js +4 -5
  51. package/dist/fn/datetime/date.js +1 -1
  52. package/dist/fn/datetime/dateSQL.js +1 -1
  53. package/dist/fn/datetime/daysInMonth.js +1 -1
  54. package/dist/fn/datetime/fdate.js +2 -3
  55. package/dist/fn/datetime/fdatetime.js +2 -3
  56. package/dist/fn/datetime/ftime.js +1 -1
  57. package/dist/fn/datetime/getChrono.js +2 -3
  58. package/dist/fn/datetime/getDay.js +3 -3
  59. package/dist/fn/datetime/startChrono.js +1 -1
  60. package/dist/fn/datetime/stopChrono.js +2 -2
  61. package/dist/fn/datetime/timestamp.js +2 -3
  62. package/dist/fn/default/defaultAjaxAbortFunction.js +1 -2
  63. package/dist/fn/default/defaultAjaxErrorFunction.js +1 -3
  64. package/dist/fn/default/defaultAlertFunction.js +1 -2
  65. package/dist/fn/default/defaultConfirmFunction.js +2 -3
  66. package/dist/fn/default/defaultEndLoadingFunction.js +1 -3
  67. package/dist/fn/default/defaultPostLinkFunction.js +1 -2
  68. package/dist/fn/default/defaultPreLinkFunction.js +1 -3
  69. package/dist/fn/form/addInputs.js +10 -12
  70. package/dist/fn/form/fieldValue.js +1 -1
  71. package/dist/fn/form/formdata.js +24 -24
  72. package/dist/fn/form/objectToFormData.js +5 -8
  73. package/dist/fn/form/submit.js +4 -4
  74. package/dist/fn/html/adjustHeight.js +1 -1
  75. package/dist/fn/html/adjustSize.js +5 -5
  76. package/dist/fn/html/adjustWidth.js +1 -1
  77. package/dist/fn/html/getAllTags.js +1 -1
  78. package/dist/fn/html/getAncestors.js +2 -3
  79. package/dist/fn/html/getAttributes.js +2 -2
  80. package/dist/fn/html/getHTMLOfSelection.js +4 -4
  81. package/dist/fn/html/getHtml.js +2 -3
  82. package/dist/fn/html/getIndex.js +3 -4
  83. package/dist/fn/html/getPath.js +12 -17
  84. package/dist/fn/html/html2text.js +1 -1
  85. package/dist/fn/html/isInViewport.js +4 -5
  86. package/dist/fn/html/isInside.js +5 -5
  87. package/dist/fn/html/makeReactive.js +22 -26
  88. package/dist/fn/init.js +18 -18
  89. package/dist/fn/loop/each.js +2 -2
  90. package/dist/fn/loop/fori.js +3 -5
  91. package/dist/fn/loop/forir.js +3 -5
  92. package/dist/fn/loop/iterate.js +3 -6
  93. package/dist/fn/loop/riterate.js +1 -2
  94. package/dist/fn/misc/analyzeFunction.js +36 -36
  95. package/dist/fn/misc/money.js +4 -4
  96. package/dist/fn/misc/translate.js +2 -2
  97. package/dist/fn/object/_compareValues.js +2 -3
  98. package/dist/fn/object/_filter.js +7 -10
  99. package/dist/fn/object/arrayFromProp.js +2 -2
  100. package/dist/fn/object/checkProps.js +1 -2
  101. package/dist/fn/object/checkPropsDetails.js +8 -9
  102. package/dist/fn/object/checkPropsOrDie.js +2 -3
  103. package/dist/fn/object/circularReplacer.js +2 -2
  104. package/dist/fn/object/clone.js +2 -2
  105. package/dist/fn/object/compareConditions.js +6 -6
  106. package/dist/fn/object/count.js +1 -3
  107. package/dist/fn/object/createObject.js +3 -16
  108. package/dist/fn/object/deepPath.js +6 -7
  109. package/dist/fn/object/diffObj.js +11 -13
  110. package/dist/fn/object/extend.js +10 -14
  111. package/dist/fn/object/extendOut.js +4 -9
  112. package/dist/fn/object/filter.js +6 -8
  113. package/dist/fn/object/filterToConditions.js +6 -7
  114. package/dist/fn/object/findAll.js +4 -5
  115. package/dist/fn/object/getField.js +2 -8
  116. package/dist/fn/object/getFieldValues.js +2 -2
  117. package/dist/fn/object/getProperty.js +5 -9
  118. package/dist/fn/object/getRow.js +2 -7
  119. package/dist/fn/object/getSortingMoves.js +28 -28
  120. package/dist/fn/object/isWritable.js +1 -1
  121. package/dist/fn/object/map.js +2 -3
  122. package/dist/fn/object/move.js +1 -1
  123. package/dist/fn/object/multiorder.js +5 -6
  124. package/dist/fn/object/mutateArray.js +8 -9
  125. package/dist/fn/object/mutateObject.js +3 -3
  126. package/dist/fn/object/order.js +1 -2
  127. package/dist/fn/object/removeEmpty.js +2 -2
  128. package/dist/fn/object/removePrivateProp.js +2 -3
  129. package/dist/fn/object/search.js +13 -17
  130. package/dist/fn/object/setProp.js +1 -3
  131. package/dist/fn/object/setProperty.js +8 -8
  132. package/dist/fn/object/shortenObj.js +3 -4
  133. package/dist/fn/object/shuffle.js +2 -3
  134. package/dist/fn/object/sum.js +3 -3
  135. package/dist/fn/object/unique.js +1 -1
  136. package/dist/fn/phone/fphone.js +22 -22
  137. package/dist/fn/string/baseName.js +3 -3
  138. package/dist/fn/string/correctCase.js +1 -1
  139. package/dist/fn/string/crc32.js +7 -7
  140. package/dist/fn/string/data2Html.js +4 -5
  141. package/dist/fn/string/dirName.js +1 -1
  142. package/dist/fn/string/escapeUrl.js +6 -6
  143. package/dist/fn/string/fileExt.js +1 -1
  144. package/dist/fn/string/firstVarElement.js +2 -2
  145. package/dist/fn/string/format.js +4 -4
  146. package/dist/fn/string/formatBytes.js +2 -3
  147. package/dist/fn/string/hash.js +4 -8
  148. package/dist/fn/string/randomString.js +5 -5
  149. package/dist/fn/string/replaceAll.js +1 -2
  150. package/dist/fn/string/sanitize.js +6 -7
  151. package/dist/fn/string/simpleHash.js +2 -2
  152. package/dist/fn/string/simpleHash1.js +3 -3
  153. package/dist/fn/string/simpleHash2.js +3 -3
  154. package/dist/fn/string/treatForHash.js +6 -10
  155. package/dist/fn/string/trim.js +1 -2
  156. package/dist/fn/string/uniqString.js +7 -14
  157. package/dist/fn/style/addColors.js +14 -14
  158. package/dist/fn/style/addStyle.js +1 -1
  159. package/dist/fn/style/animateCss.js +1 -1
  160. package/dist/fn/style/center.js +1 -1
  161. package/dist/fn/style/cssExists.js +5 -5
  162. package/dist/fn/style/getCssVar.js +1 -1
  163. package/dist/fn/style/getScrollBarSize.js +5 -5
  164. package/dist/fn/style/lightenDarkenHex.js +2 -2
  165. package/dist/fn/style/outerHeight.js +2 -2
  166. package/dist/fn/style/outerWidth.js +2 -2
  167. package/dist/fn/style/resize.js +14 -14
  168. package/dist/fn/type/checkType.js +5 -9
  169. package/dist/fn/type/isArray.js +2 -7
  170. package/dist/fn/type/isBlob.js +2 -7
  171. package/dist/fn/type/isBoolean.js +2 -7
  172. package/dist/fn/type/isCanvas.js +2 -7
  173. package/dist/fn/type/isColor.js +2 -7
  174. package/dist/fn/type/isComment.js +2 -7
  175. package/dist/fn/type/isCp.js +3 -8
  176. package/dist/fn/type/isDataURL.js +2 -7
  177. package/dist/fn/type/isDate.js +2 -7
  178. package/dist/fn/type/isDimension.js +2 -7
  179. package/dist/fn/type/isDom.js +2 -7
  180. package/dist/fn/type/isEmail.js +3 -8
  181. package/dist/fn/type/isEvent.js +2 -7
  182. package/dist/fn/type/isFunction.js +2 -7
  183. package/dist/fn/type/isHostname.js +2 -7
  184. package/dist/fn/type/isIP.js +2 -7
  185. package/dist/fn/type/isInt.js +2 -7
  186. package/dist/fn/type/isIterable.js +2 -7
  187. package/dist/fn/type/isNotObject.js +2 -7
  188. package/dist/fn/type/isNull.js +2 -7
  189. package/dist/fn/type/isNumber.js +2 -7
  190. package/dist/fn/type/isObject.js +2 -7
  191. package/dist/fn/type/isPercent.js +2 -7
  192. package/dist/fn/type/isPrimitive.js +2 -7
  193. package/dist/fn/type/isPromise.js +2 -7
  194. package/dist/fn/type/isPropSize.js +2 -2
  195. package/dist/fn/type/isSQLDate.js +2 -7
  196. package/dist/fn/type/isSame.js +12 -12
  197. package/dist/fn/type/isString.js +2 -7
  198. package/dist/fn/type/isSymbol.js +2 -7
  199. package/dist/fn/type/isURL.js +2 -7
  200. package/dist/fn/type/isUid.js +2 -7
  201. package/dist/fn/type/isValidDimension.js +2 -2
  202. package/dist/fn/type/isValidName.js +2 -7
  203. package/dist/fn/type/isVue.js +4 -11
  204. package/dist/fn.js +247 -247
  205. package/dist/index.js +9 -7
  206. package/package.json +1 -1
@@ -32,18 +32,16 @@ import downloadContent from './downloadContent.js';
32
32
  *
33
33
  * @returns {undefined}
34
34
  */
35
- export default function download(url, filename, params) {
36
- if (filename === void 0) { filename = ''; }
37
- if (params === void 0) { params = null; }
35
+ export default function download(url, filename = '', params = null) {
38
36
  // We can intervert the arguments
39
37
  if (filename && typeof filename === "object") {
40
38
  params = filename;
41
39
  filename = "";
42
40
  }
43
- return ajax(url, "blob", params || { _bbn_download: 1 }, function (d, headers) {
41
+ return ajax(url, "blob", params || { _bbn_download: 1 }, (d, headers) => {
44
42
  if (!filename) {
45
- var prop = "content-disposition";
46
- var cd = "attachment; filename=";
43
+ let prop = "content-disposition";
44
+ let cd = "attachment; filename=";
47
45
  if ((headers === null || headers === void 0 ? void 0 : headers[prop]) && headers[prop].indexOf(cd) === 0) {
48
46
  filename = substr(headers[prop], cd.length + 1, headers[prop].length - cd.length - 2);
49
47
  }
@@ -52,8 +50,8 @@ export default function download(url, filename, params) {
52
50
  }
53
51
  }
54
52
  if (isBlob(d)) {
55
- var extension = fileExt(filename);
56
- var htmlExtensions = ["php", "html"];
53
+ let extension = fileExt(filename);
54
+ let htmlExtensions = ["php", "html"];
57
55
  if (typeof filename === "string" &&
58
56
  (("type" in d && d.type !== "text/html") ||
59
57
  htmlExtensions.includes(extension))) {
@@ -61,7 +59,7 @@ export default function download(url, filename, params) {
61
59
  return;
62
60
  }
63
61
  }
64
- }, function (e) {
62
+ }, (e) => {
65
63
  bbn.fn.defaultAjaxErrorFunction(e);
66
64
  });
67
65
  }
@@ -28,12 +28,11 @@ import log from '../browser/log.js';
28
28
  *
29
29
  * @returns {undefined}
30
30
  */
31
- export default function downloadContent(filename, content, type) {
32
- if (type === void 0) { type = null; }
31
+ export default function downloadContent(filename, content, type = null) {
33
32
  if (isCanvas(content)) {
34
- content.toBlob(function (blob) {
33
+ content.toBlob((blob) => {
35
34
  // blob ready, download it
36
- var a = document.createElement('a');
35
+ let a = document.createElement('a');
37
36
  a.download = filename;
38
37
  a.href = window.URL.createObjectURL(blob);
39
38
  a.className = 'bbn-no';
@@ -49,9 +48,9 @@ export default function downloadContent(filename, content, type) {
49
48
  else if (type.indexOf('/') === -1) {
50
49
  type = 'text/' + type;
51
50
  }
52
- var a = window.document.createElement('a');
51
+ let a = window.document.createElement('a');
53
52
  a.className = 'bbn-no';
54
- var src = null;
53
+ let src = null;
55
54
  if (isString(content)) {
56
55
  src = new Blob([content], { type: type });
57
56
  }
@@ -35,7 +35,7 @@ import search from '../object/search.js';
35
35
  * @returns {null|Object} The corresponding loader Object if it exists, false otherwise
36
36
  */
37
37
  export default function getLoader(requestId) {
38
- var idx = search(bbn.env.loaders, { key: requestId });
38
+ let idx = search(bbn.env.loaders, { key: requestId });
39
39
  if (idx > -1) {
40
40
  return bbn.env.loaders[idx];
41
41
  }
@@ -49,9 +49,9 @@ import md5 from '../string/md5.js';
49
49
  * @returns {String} The unique ID
50
50
  */
51
51
  export default function getRequestId(url, data, datatype) {
52
- var d = {};
52
+ let d = {};
53
53
  if (data) {
54
- iterate(data, function (a, n) {
54
+ iterate(data, (a, n) => {
55
55
  if (n.indexOf('_bbn') === -1) {
56
56
  d[n] = a;
57
57
  }
@@ -30,13 +30,9 @@ import setNavigationVars from './setNavigationVars.js';
30
30
  *
31
31
  * @returns
32
32
  */
33
- export default function link() {
34
- var args = [];
35
- for (var _i = 0; _i < arguments.length; _i++) {
36
- args[_i] = arguments[_i];
37
- }
38
- var cfg = treatAjaxArguments(args);
39
- var ok = 1;
33
+ export default function link(...args) {
34
+ let cfg = treatAjaxArguments(args);
35
+ let ok = 1;
40
36
  if (cfg === true) {
41
37
  return true;
42
38
  }
@@ -67,7 +63,7 @@ export default function link() {
67
63
  /* Mail link */
68
64
  bbn.env.ignoreUnload = true;
69
65
  window.location.href = cfg.url;
70
- setTimeout(function () {
66
+ setTimeout(() => {
71
67
  bbn.env.ignoreUnload = false;
72
68
  }, 0);
73
69
  return false;
@@ -91,7 +87,7 @@ export default function link() {
91
87
  ok = cfg.successFn(cfg.url);
92
88
  }
93
89
  else if (bbn.fn.defaultPreLinkFunction) {
94
- var tmp = bbn.fn.defaultPreLinkFunction(cfg.url, cfg.force, cfg.ele);
90
+ let tmp = bbn.fn.defaultPreLinkFunction(cfg.url, cfg.force, cfg.ele);
95
91
  if (tmp.data !== undefined) {
96
92
  extend(cfg.obj, tmp.data);
97
93
  ok = 1;
@@ -105,15 +101,15 @@ export default function link() {
105
101
  cfg.url = ok;
106
102
  }
107
103
  /** todo Do we keep obj in the unique string or do we make that only one concurrent connection to the same address can occur at the same time? */
108
- var errSt_1 = bbn._('The Ajax call to') + ' ' + cfg.url + ' ';
109
- return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {
104
+ let errSt = bbn._('The Ajax call to') + ' ' + cfg.url + ' ';
105
+ return ajax(cfg.url, cfg.datatype, cfg.obj, res => {
110
106
  if (!res) {
111
- log(errSt_1 + bbn._('returned no answer'));
107
+ log(errSt + bbn._('returned no answer'));
112
108
  }
113
109
  if (isObject(res)) {
114
110
  // If there's nothing in the result, just an empty object, the callback stops here and the URL is not changed
115
111
  if (Object.keys(res).length === 0) {
116
- log(errSt_1 + bbn._('returned an empty object'));
112
+ log(errSt + bbn._('returned an empty object'));
117
113
  }
118
114
  if (res.new_url) {
119
115
  res.old_path = cfg.url;
@@ -34,14 +34,10 @@ import callback from './callback.js';
34
34
  *
35
35
  * @returns {undefined|Promise}
36
36
  */
37
- export default function post() {
38
- var args = [];
39
- for (var _i = 0; _i < arguments.length; _i++) {
40
- args[_i] = arguments[_i];
41
- }
42
- var cfg = treatAjaxArguments(args);
37
+ export default function post(...args) {
38
+ let cfg = treatAjaxArguments(args);
43
39
  if (cfg.url) {
44
- return ajax(cfg.url, cfg.datatype, cfg.obj, function (res) {
40
+ return ajax(cfg.url, cfg.datatype, cfg.obj, (res) => {
45
41
  callback(cfg.url, res, cfg.successFn, cfg.errorFn, cfg.ele);
46
42
  }, cfg.errorFn, cfg.abortFn);
47
43
  }
@@ -20,10 +20,8 @@ import setProperty from '../object/setProperty.js';
20
20
  *
21
21
  * @returns {void}
22
22
  */
23
- export default function postOut(url, data, success, target) {
24
- if (success === void 0) { success = null; }
25
- if (target === void 0) { target = ""; }
26
- var form = document.body.querySelector("form#bbn-form_out");
23
+ export default function postOut(url, data, success = null, target = "") {
24
+ let form = document.body.querySelector("form#bbn-form_out");
27
25
  if (!form) {
28
26
  form = document.createElement("form");
29
27
  form.classList.add("bbn-no");
@@ -24,9 +24,7 @@ import html2text from '../html/html2text.js';
24
24
  *
25
25
  * @returns {void}
26
26
  */
27
- export default function setNavigationVars(url, title, data, repl) {
28
- if (data === void 0) { data = null; }
29
- if (repl === void 0) { repl = false; }
27
+ export default function setNavigationVars(url, title, data = null, repl = false) {
30
28
  // Current path becomes old path
31
29
  bbn.env.old_path = bbn.env.path;
32
30
  // URL includes the domain
@@ -34,14 +32,14 @@ export default function setNavigationVars(url, title, data, repl) {
34
32
  // Path does not
35
33
  bbn.env.path = substr(bbn.env.url, bbn.env.root.length);
36
34
  // Params will include each part of the URL
37
- bbn.env.params = bbn.env.path.split('/').filter(function (v) { return v !== ''; });
35
+ bbn.env.params = bbn.env.path.split('/').filter(v => v !== '');
38
36
  // Managing history
39
- var h = window.history;
37
+ let h = window.history;
40
38
  if (h) {
41
39
  // Current state
42
- var state = h.state;
40
+ let state = h.state;
43
41
  // Future state
44
- var obj = {
42
+ let obj = {
45
43
  url: bbn.env.path,
46
44
  old_path: bbn.env.old_path || null,
47
45
  data: data || {},
@@ -22,10 +22,10 @@ import arrayBuffer2String from '../convert/arrayBuffer2String.js';
22
22
  *
23
23
  * @returns {Promise} The Promise created by the generated XHR.
24
24
  */
25
- var boundary = '\n';
25
+ const boundary = '\n';
26
26
  export default function stream(url, success, data, failure, abort, finished) {
27
- var requestId = getRequestId(url, data, 'json');
28
- var loaderObj = getLoader(requestId);
27
+ const requestId = getRequestId(url, data, 'json');
28
+ const loaderObj = getLoader(requestId);
29
29
  //log("IN AJAX", loaderObj? loaderObj.loader : "NO LOADER")
30
30
  if (loaderObj === null || loaderObj === void 0 ? void 0 : loaderObj.loader) {
31
31
  return loaderObj.loader;
@@ -36,9 +36,9 @@ export default function stream(url, success, data, failure, abort, finished) {
36
36
  if (bbn.env.token) {
37
37
  data._bbn_token = bbn.env.token;
38
38
  }
39
- var aborter = new AbortController();
40
- var json = '';
41
- var treatJSON = function (json) {
39
+ const aborter = new AbortController();
40
+ let json = '';
41
+ const treatJSON = (json) => {
42
42
  if (json.length) {
43
43
  if (json.indexOf(boundary) > -1) {
44
44
  json = bbn.fn.removeEmpty(json.split(boundary));
@@ -46,7 +46,7 @@ export default function stream(url, success, data, failure, abort, finished) {
46
46
  else {
47
47
  json = [json];
48
48
  }
49
- for (var i in json) {
49
+ for (let i in json) {
50
50
  try {
51
51
  success(JSON.parse(json[i]));
52
52
  }
@@ -56,8 +56,8 @@ export default function stream(url, success, data, failure, abort, finished) {
56
56
  }
57
57
  }
58
58
  };
59
- var chrono = bbn.fn.startChrono();
60
- var loader = fetch(url, {
59
+ const chrono = bbn.fn.startChrono();
60
+ const loader = fetch(url, {
61
61
  method: 'POST', // *GET, POST, PUT, DELETE, etc.
62
62
  mode: 'cors', // no-cors, *cors, same-origin
63
63
  cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
@@ -71,13 +71,12 @@ export default function stream(url, success, data, failure, abort, finished) {
71
71
  signal: aborter.signal,
72
72
  body: JSON.stringify(data || {}) // body data type must match "Content-Type" header
73
73
  })
74
- .then(function (response) {
74
+ .then(response => {
75
75
  bbn.fn.log("RESPONSE IN " + bbn.fn.stopChrono(chrono, true) + " SECS");
76
76
  if (response.body) {
77
- var reader_1 = response.body.getReader();
78
- var isFn_1 = isFunction(success);
79
- reader_1.read().then(function pump(_a) {
80
- var done = _a.done, value = _a.value;
77
+ const reader = response.body.getReader();
78
+ const isFn = isFunction(success);
79
+ reader.read().then(function pump({ done, value }) {
81
80
  if (done) {
82
81
  // Do something with last chunk of data then exit reader
83
82
  _deleteLoader(requestId, data);
@@ -89,7 +88,7 @@ export default function stream(url, success, data, failure, abort, finished) {
89
88
  }
90
89
  return;
91
90
  }
92
- if (isFn_1) {
91
+ if (isFn) {
93
92
  json += arrayBuffer2String(value).trim();
94
93
  bbn.fn.log(["STREAM RESULT", json.length, json]);
95
94
  if (json) {
@@ -104,19 +103,19 @@ export default function stream(url, success, data, failure, abort, finished) {
104
103
  }
105
104
  }
106
105
  else {
107
- bbn.fn.log(["STREAM SUCCESS IS FN? " + isFn_1]);
106
+ bbn.fn.log(["STREAM SUCCESS IS FN? " + isFn]);
108
107
  }
109
108
  // Read some more, and call this function again
110
- return reader_1.read().then(pump);
109
+ return reader.read().then(pump);
111
110
  });
112
111
  }
113
112
  })
114
- .catch(function (err) {
115
- var isAbort = axios.isCancel(err);
113
+ .catch((err) => {
114
+ let isAbort = axios.isCancel(err);
116
115
  _deleteLoader(requestId, data, isAbort);
117
116
  defaultEndLoadingFunction(url, tst, data, err);
118
117
  if (isAbort) {
119
- var ok = 1;
118
+ let ok = 1;
120
119
  if (isFunction(abort)) {
121
120
  ok = abort(err.message, url);
122
121
  }
@@ -125,7 +124,7 @@ export default function stream(url, success, data, failure, abort, finished) {
125
124
  }
126
125
  }
127
126
  else {
128
- var ok = 1;
127
+ let ok = 1;
129
128
  if (isFunction(failure)) {
130
129
  ok = failure(err.request, err);
131
130
  }
@@ -134,7 +133,7 @@ export default function stream(url, success, data, failure, abort, finished) {
134
133
  }
135
134
  }
136
135
  });
137
- var tst = _addLoader(requestId, loader, aborter);
136
+ let tst = _addLoader(requestId, loader, aborter);
138
137
  defaultStartLoadingFunction(url, tst, data, requestId);
139
138
  return loader;
140
139
  }
@@ -54,9 +54,9 @@ import numProperties from '../object/numProperties.js';
54
54
  * @returns {Object} The configuration object
55
55
  */
56
56
  export default function treatAjaxArguments(args) {
57
- var cfg = {};
58
- var t;
59
- var i;
57
+ let cfg = {};
58
+ let t;
59
+ let i;
60
60
  if (isObject(args[0]) && args.length === 1) {
61
61
  return args[0];
62
62
  }
@@ -16,18 +16,15 @@ import log from '../browser/log.js';
16
16
  *
17
17
  * @returns {Promise}
18
18
  */
19
- export default function upload(url, file, success, failure, progress) {
20
- if (success === void 0) { success = null; }
21
- if (failure === void 0) { failure = null; }
22
- if (progress === void 0) { progress = null; }
23
- var fn = function () {
19
+ export default function upload(url, file, success = null, failure = null, progress = null) {
20
+ let fn = () => {
24
21
  return axios.post(url || bbn.env.path, objectToFormData(file), {
25
22
  headers: {
26
23
  'Content-Type': 'multipart/form-data',
27
24
  },
28
- onUploadProgress: function (progressEvent) {
25
+ onUploadProgress(progressEvent) {
29
26
  if (progress) {
30
- var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
27
+ let percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total);
31
28
  progress(percentCompleted, progressEvent.loaded, progressEvent.total);
32
29
  }
33
30
  },
@@ -38,13 +35,13 @@ export default function upload(url, file, success, failure, progress) {
38
35
  }
39
36
  else {
40
37
  return fn()
41
- .then(function (res) {
38
+ .then((res) => {
42
39
  if (success) {
43
40
  log('SUCCESS', res);
44
41
  success(res);
45
42
  }
46
43
  })
47
- .catch(function (err) {
44
+ .catch((err) => {
48
45
  if (failure) {
49
46
  log('ERROR', err);
50
47
  failure(err);
@@ -13,11 +13,10 @@ import isFunction from '../type/isFunction.js';
13
13
  * @param {String} st The string to copy.
14
14
  * @returns
15
15
  */
16
- var fire = function (st, type) {
17
- if (type === void 0) { type = 'text/plain'; }
18
- var transfer = new DataTransfer();
16
+ const fire = (st, type = 'text/plain') => {
17
+ const transfer = new DataTransfer();
19
18
  transfer.setData(type, st);
20
- var copyEvent = new ClipboardEvent('copy', {
19
+ const copyEvent = new ClipboardEvent('copy', {
21
20
  bubbles: true,
22
21
  cancelable: true,
23
22
  clipboardData: transfer
@@ -25,12 +24,11 @@ var fire = function (st, type) {
25
24
  document.dispatchEvent(copyEvent);
26
25
  };
27
26
  export default function copy(st, noDispatch) {
28
- return new Promise(function (resolve) {
29
- var _a;
27
+ return new Promise((resolve) => {
30
28
  if (st) {
31
29
  if (navigator && navigator.clipboard) {
32
30
  if (st instanceof Blob) {
33
- navigator.clipboard.write([new ClipboardItem((_a = {}, _a[st.type.toString()] = st, _a))]).then(function () {
31
+ navigator.clipboard.write([new ClipboardItem({ [st.type.toString()]: st })]).then(() => {
34
32
  resolve(true);
35
33
  });
36
34
  if (!noDispatch) {
@@ -38,10 +36,9 @@ export default function copy(st, noDispatch) {
38
36
  }
39
37
  }
40
38
  else if (isObject(st) && isFunction(st.toBlob)) {
41
- st.toBlob(function (blob) {
42
- var _a;
43
- var item = new ClipboardItem((_a = {}, _a[blob.type.toString()] = blob, _a));
44
- navigator.clipboard.write([item]).then(function () {
39
+ st.toBlob((blob) => {
40
+ const item = new ClipboardItem({ [blob.type.toString()]: blob });
41
+ navigator.clipboard.write([item]).then(() => {
45
42
  if (!noDispatch) {
46
43
  fire(st, blob.type.toString());
47
44
  }
@@ -58,7 +55,7 @@ export default function copy(st, noDispatch) {
58
55
  }
59
56
  return;
60
57
  }
61
- var input = document.createElement('textarea');
58
+ let input = document.createElement('textarea');
62
59
  input.style.opacity = '0';
63
60
  input.value = st;
64
61
  document.body.appendChild(input);
@@ -13,8 +13,8 @@ import log from './log.js';
13
13
  */
14
14
  export default function error(errorMsg) {
15
15
  if (arguments.length > 1) {
16
- var args = [];
17
- for (var i = 1; i < arguments.length; i++) {
16
+ const args = [];
17
+ for (let i = 1; i < arguments.length; i++) {
18
18
  args.push(arguments[i]);
19
19
  }
20
20
  args.unshift({
@@ -7,33 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
10
  import yieldToBrowser from './yieldToBrowser.js';
38
11
  /**
39
12
  * Executes a function on each element of an array slowly, yielding to the browser in between.
@@ -42,34 +15,17 @@ import yieldToBrowser from './yieldToBrowser.js';
42
15
  * @returns A promise that resolves to true if the iteration completed, or false if it was stopped early.
43
16
  */
44
17
  export default function executeSlowly(arr, fn) {
45
- return __awaiter(this, void 0, void 0, function () {
46
- var i, res;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- i = 0;
51
- _a.label = 1;
52
- case 1:
53
- if (!(i < arr.length)) return [3 /*break*/, 6];
54
- return [4 /*yield*/, yieldToBrowser()];
55
- case 2:
56
- _a.sent();
57
- res = fn(arr[i], i);
58
- if (!(res instanceof Promise)) return [3 /*break*/, 4];
59
- return [4 /*yield*/, res];
60
- case 3:
61
- res = _a.sent();
62
- _a.label = 4;
63
- case 4:
64
- if (res === false) {
65
- return [2 /*return*/, false];
66
- }
67
- _a.label = 5;
68
- case 5:
69
- i++;
70
- return [3 /*break*/, 1];
71
- case 6: return [2 /*return*/, true];
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ for (let i = 0; i < arr.length; i++) {
20
+ yield yieldToBrowser();
21
+ let res = fn(arr[i], i);
22
+ if (res instanceof Promise) {
23
+ res = yield res;
24
+ }
25
+ if (res === false) {
26
+ return false;
72
27
  }
73
- });
28
+ }
29
+ return true;
74
30
  });
75
31
  }
@@ -6,7 +6,7 @@
6
6
  * @returns {String}
7
7
  */
8
8
  export default function getBrowserName() {
9
- var userAgent = navigator.userAgent.toLowerCase();
9
+ const userAgent = navigator.userAgent.toLowerCase();
10
10
  switch (true) {
11
11
  case userAgent.includes('edge'):
12
12
  case userAgent.includes('edg/'):
@@ -6,7 +6,7 @@
6
6
  * @returns {String}
7
7
  */
8
8
  export default function getBrowserVersion() {
9
- var userAgent = navigator.userAgent.toLowerCase();
9
+ const userAgent = navigator.userAgent.toLowerCase();
10
10
  switch (true) {
11
11
  case userAgent.includes('edge/'):
12
12
  return userAgent.split('edge/')[1].split(' ')[0];
@@ -13,15 +13,15 @@
13
13
  * @returns
14
14
  */
15
15
  export default function getCookie(name) {
16
- var nameEqual = name + '=';
17
- var ca = document.cookie.split(';');
18
- for (var i = 0; i < ca.length; i++) {
19
- var c = ca[i];
16
+ let nameEqual = name + '=';
17
+ let ca = document.cookie.split(';');
18
+ for (let i = 0; i < ca.length; i++) {
19
+ let c = ca[i];
20
20
  while (c.charAt(0) == ' ') {
21
21
  c = c.substring(1, c.length);
22
22
  }
23
23
  if (c.indexOf(nameEqual) == 0) {
24
- var st = c.substring(nameEqual.length, c.length);
24
+ let st = c.substring(nameEqual.length, c.length);
25
25
  if (st) {
26
26
  return JSON.parse(unescape(st)).value;
27
27
  }
@@ -11,7 +11,7 @@
11
11
  * @returns {String}
12
12
  */
13
13
  export default function getDeviceType() {
14
- var userAgent = navigator.userAgent.toLowerCase();
14
+ const userAgent = navigator.userAgent.toLowerCase();
15
15
  if (/iPhone|Android/i.test(navigator.userAgent)) {
16
16
  return 'mobile';
17
17
  }