@bbn/bbn 1.0.59 → 1.0.60

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 (463) hide show
  1. package/dist/_.js +1 -1
  2. package/dist/bundle.d.ts +3804 -242
  3. package/dist/bundle.js +4061 -502
  4. package/dist/db.js +3 -3
  5. package/dist/fn/ajax/_addLoader.d.ts +16 -0
  6. package/dist/fn/ajax/_addLoader.js +51 -0
  7. package/dist/fn/ajax/_deleteLoader.d.ts +16 -0
  8. package/dist/fn/ajax/_deleteLoader.js +39 -0
  9. package/dist/fn/ajax/abort.d.ts +24 -0
  10. package/dist/fn/ajax/abort.js +36 -0
  11. package/dist/fn/ajax/abortURL.d.ts +22 -0
  12. package/dist/fn/ajax/abortURL.js +33 -0
  13. package/dist/fn/ajax/ajax.d.ts +58 -0
  14. package/dist/fn/ajax/ajax.js +170 -0
  15. package/dist/fn/ajax/callback.d.ts +37 -0
  16. package/dist/fn/ajax/callback.js +117 -0
  17. package/dist/fn/ajax/download.d.ts +30 -0
  18. package/dist/fn/ajax/download.js +64 -0
  19. package/dist/fn/ajax/downloadContent.d.ts +28 -0
  20. package/dist/fn/ajax/downloadContent.js +74 -0
  21. package/dist/fn/ajax/getLoader.d.ts +37 -0
  22. package/dist/fn/ajax/getLoader.js +44 -0
  23. package/dist/fn/ajax/getRequestId.d.ts +50 -0
  24. package/dist/fn/ajax/getRequestId.js +62 -0
  25. package/dist/fn/ajax/link.d.ts +26 -0
  26. package/dist/fn/ajax/link.js +129 -0
  27. package/dist/fn/ajax/post.d.ts +35 -0
  28. package/dist/fn/ajax/post.js +45 -0
  29. package/dist/fn/ajax/postOut.d.ts +21 -0
  30. package/dist/fn/ajax/postOut.js +49 -0
  31. package/dist/fn/ajax/setNavigationVars.d.ts +25 -0
  32. package/dist/fn/ajax/setNavigationVars.js +80 -0
  33. package/dist/fn/ajax/treatAjaxArguments.d.ts +53 -0
  34. package/dist/fn/ajax/treatAjaxArguments.js +127 -0
  35. package/dist/fn/ajax/upload.d.ts +18 -0
  36. package/dist/fn/ajax/upload.js +52 -0
  37. package/dist/fn/browser/copy.d.ts +15 -0
  38. package/dist/fn/browser/copy.js +50 -0
  39. package/dist/fn/browser/eraseCookie.d.ts +15 -0
  40. package/dist/fn/browser/eraseCookie.js +17 -0
  41. package/dist/fn/browser/error.d.ts +14 -0
  42. package/dist/fn/browser/error.js +29 -0
  43. package/dist/fn/browser/getBrowserName.d.ts +9 -0
  44. package/dist/fn/browser/getBrowserName.js +28 -0
  45. package/dist/fn/browser/getBrowserVersion.d.ts +9 -0
  46. package/dist/fn/browser/getBrowserVersion.js +29 -0
  47. package/dist/fn/browser/getCookie.d.ts +16 -0
  48. package/dist/fn/browser/getCookie.js +32 -0
  49. package/dist/fn/browser/getDeviceType.d.ts +14 -0
  50. package/dist/fn/browser/getDeviceType.js +23 -0
  51. package/dist/fn/browser/getEventData.d.ts +16 -0
  52. package/dist/fn/browser/getEventData.js +116 -0
  53. package/dist/fn/browser/happy.d.ts +14 -0
  54. package/dist/fn/browser/happy.js +22 -0
  55. package/dist/fn/browser/history.d.ts +2 -0
  56. package/dist/fn/browser/history.js +4 -0
  57. package/dist/fn/browser/info.d.ts +10 -0
  58. package/dist/fn/browser/info.js +19 -0
  59. package/dist/fn/browser/isActiveInterface.d.ts +14 -0
  60. package/dist/fn/browser/isActiveInterface.js +20 -0
  61. package/dist/fn/browser/isDesktopDevice.d.ts +14 -0
  62. package/dist/fn/browser/isDesktopDevice.js +17 -0
  63. package/dist/fn/browser/isFocused.d.ts +21 -0
  64. package/dist/fn/browser/isFocused.js +23 -0
  65. package/dist/fn/browser/isMobile.d.ts +14 -0
  66. package/dist/fn/browser/isMobile.js +18 -0
  67. package/dist/fn/browser/isMobileDevice.d.ts +2 -0
  68. package/dist/fn/browser/isMobileDevice.js +5 -0
  69. package/dist/fn/browser/isTabletDevice.d.ts +14 -0
  70. package/dist/fn/browser/isTabletDevice.js +17 -0
  71. package/dist/fn/browser/log.d.ts +15 -0
  72. package/dist/fn/browser/log.js +46 -0
  73. package/dist/fn/browser/replaceSelection.d.ts +2 -0
  74. package/dist/fn/browser/replaceSelection.js +42 -0
  75. package/dist/fn/browser/selectElementText.d.ts +21 -0
  76. package/dist/fn/browser/selectElementText.js +42 -0
  77. package/dist/fn/browser/setCookie.d.ts +16 -0
  78. package/dist/fn/browser/setCookie.js +25 -0
  79. package/dist/fn/browser/toggleFullScreen.d.ts +2 -0
  80. package/dist/fn/browser/toggleFullScreen.js +39 -0
  81. package/dist/fn/browser/warning.d.ts +14 -0
  82. package/dist/fn/browser/warning.js +24 -0
  83. package/dist/fn/convert/arrayBuffer2String.d.ts +2 -0
  84. package/dist/fn/convert/arrayBuffer2String.js +4 -0
  85. package/dist/fn/convert/canvasToImage.d.ts +16 -0
  86. package/dist/fn/convert/canvasToImage.js +20 -0
  87. package/dist/fn/convert/colorToHex.d.ts +20 -0
  88. package/dist/fn/convert/colorToHex.js +24 -0
  89. package/dist/fn/convert/fromXml.d.ts +12 -0
  90. package/dist/fn/convert/fromXml.js +54 -0
  91. package/dist/fn/convert/hex2rgb.d.ts +24 -0
  92. package/dist/fn/convert/hex2rgb.js +29 -0
  93. package/dist/fn/convert/imageToCanvas.d.ts +15 -0
  94. package/dist/fn/convert/imageToCanvas.js +21 -0
  95. package/dist/fn/convert/imgToBase64.d.ts +2 -0
  96. package/dist/fn/convert/imgToBase64.js +7 -0
  97. package/dist/fn/convert/rgb2hex.d.ts +20 -0
  98. package/dist/fn/convert/rgb2hex.js +28 -0
  99. package/dist/fn/convert/string2ArrayBuffer.d.ts +2 -0
  100. package/dist/fn/convert/string2ArrayBuffer.js +9 -0
  101. package/dist/fn/convert/toCSV.d.ts +26 -0
  102. package/dist/fn/convert/toCSV.js +64 -0
  103. package/dist/fn/datetime/calendar.d.ts +2 -0
  104. package/dist/fn/datetime/calendar.js +23 -0
  105. package/dist/fn/datetime/chrono.d.ts +25 -0
  106. package/dist/fn/datetime/chrono.js +45 -0
  107. package/dist/fn/datetime/date.d.ts +18 -0
  108. package/dist/fn/datetime/date.js +44 -0
  109. package/dist/fn/datetime/dateSQL.d.ts +20 -0
  110. package/dist/fn/datetime/dateSQL.js +26 -0
  111. package/dist/fn/datetime/daysInMonth.d.ts +17 -0
  112. package/dist/fn/datetime/daysInMonth.js +24 -0
  113. package/dist/fn/datetime/fdate.d.ts +11 -0
  114. package/dist/fn/datetime/fdate.js +28 -0
  115. package/dist/fn/datetime/fdatetime.d.ts +9 -0
  116. package/dist/fn/datetime/fdatetime.js +30 -0
  117. package/dist/fn/datetime/formatDate.d.ts +2 -0
  118. package/dist/fn/datetime/formatDate.js +4 -0
  119. package/dist/fn/datetime/ftime.d.ts +9 -0
  120. package/dist/fn/datetime/ftime.js +21 -0
  121. package/dist/fn/datetime/getDay.d.ts +11 -0
  122. package/dist/fn/datetime/getDay.js +26 -0
  123. package/dist/fn/datetime/timestamp.d.ts +15 -0
  124. package/dist/fn/datetime/timestamp.js +18 -0
  125. package/dist/fn/default/defaultAjaxAbortFunction.d.ts +2 -0
  126. package/dist/fn/default/defaultAjaxAbortFunction.js +5 -0
  127. package/dist/fn/default/defaultAjaxErrorFunction.d.ts +2 -0
  128. package/dist/fn/default/defaultAjaxErrorFunction.js +4 -0
  129. package/dist/fn/default/defaultAlertFunction.d.ts +2 -0
  130. package/dist/fn/default/defaultAlertFunction.js +5 -0
  131. package/dist/fn/default/defaultConfirmFunction.d.ts +2 -0
  132. package/dist/fn/default/defaultConfirmFunction.js +14 -0
  133. package/dist/fn/default/defaultEndLoadingFunction.d.ts +2 -0
  134. package/dist/fn/default/defaultEndLoadingFunction.js +4 -0
  135. package/dist/fn/default/defaultErrorFunction.d.ts +2 -0
  136. package/dist/fn/default/defaultErrorFunction.js +5 -0
  137. package/dist/fn/default/defaultHistoryFunction.d.ts +2 -0
  138. package/dist/fn/default/defaultHistoryFunction.js +4 -0
  139. package/dist/fn/default/defaultLinkFunction.d.ts +2 -0
  140. package/dist/fn/default/defaultLinkFunction.js +4 -0
  141. package/dist/fn/default/defaultPostLinkFunction.d.ts +2 -0
  142. package/dist/fn/default/defaultPostLinkFunction.js +4 -0
  143. package/dist/fn/default/defaultPreLinkFunction.d.ts +2 -0
  144. package/dist/fn/default/defaultPreLinkFunction.js +4 -0
  145. package/dist/fn/default/defaultResizeFunction.d.ts +2 -0
  146. package/dist/fn/default/defaultResizeFunction.js +4 -0
  147. package/dist/fn/default/defaultStartLoadingFunction.d.ts +2 -0
  148. package/dist/fn/default/defaultStartLoadingFunction.js +4 -0
  149. package/dist/fn/form/addInputs.d.ts +43 -0
  150. package/dist/fn/form/addInputs.js +81 -0
  151. package/dist/fn/form/fieldValue.d.ts +12 -0
  152. package/dist/fn/form/fieldValue.js +34 -0
  153. package/dist/fn/form/formdata.d.ts +45 -0
  154. package/dist/fn/form/formdata.js +95 -0
  155. package/dist/fn/form/objectToFormData.d.ts +12 -0
  156. package/dist/fn/form/objectToFormData.js +45 -0
  157. package/dist/fn/form/submit.d.ts +20 -0
  158. package/dist/fn/form/submit.js +51 -0
  159. package/dist/fn/html/adjustHeight.d.ts +2 -0
  160. package/dist/fn/html/adjustHeight.js +10 -0
  161. package/dist/fn/html/adjustSize.d.ts +2 -0
  162. package/dist/fn/html/adjustSize.js +21 -0
  163. package/dist/fn/html/adjustWidth.d.ts +2 -0
  164. package/dist/fn/html/adjustWidth.js +10 -0
  165. package/dist/fn/html/getAllTags.d.ts +6 -0
  166. package/dist/fn/html/getAllTags.js +9 -0
  167. package/dist/fn/html/getAncestors.d.ts +2 -0
  168. package/dist/fn/html/getAncestors.js +25 -0
  169. package/dist/fn/html/getAttributes.d.ts +6 -0
  170. package/dist/fn/html/getAttributes.js +16 -0
  171. package/dist/fn/html/getHTMLOfSelection.d.ts +2 -0
  172. package/dist/fn/html/getHTMLOfSelection.js +18 -0
  173. package/dist/fn/html/getHtml.d.ts +2 -0
  174. package/dist/fn/html/getHtml.js +9 -0
  175. package/dist/fn/html/getPath.d.ts +10 -0
  176. package/dist/fn/html/getPath.js +50 -0
  177. package/dist/fn/html/getText.d.ts +2 -0
  178. package/dist/fn/html/getText.js +4 -0
  179. package/dist/fn/html/html2text.d.ts +17 -0
  180. package/dist/fn/html/html2text.js +22 -0
  181. package/dist/fn/html/isInside.d.ts +2 -0
  182. package/dist/fn/html/isInside.js +23 -0
  183. package/dist/fn/html/makeReactive.d.ts +2 -0
  184. package/dist/fn/html/makeReactive.js +185 -0
  185. package/dist/fn/html/selector.d.ts +10 -0
  186. package/dist/fn/html/selector.js +12 -0
  187. package/dist/fn/init.d.ts +13 -0
  188. package/dist/fn/init.js +25 -12
  189. package/dist/fn/loop/each.d.ts +33 -0
  190. package/dist/fn/loop/each.js +54 -0
  191. package/dist/fn/loop/fori.d.ts +36 -0
  192. package/dist/fn/loop/fori.js +53 -0
  193. package/dist/fn/loop/forir.d.ts +36 -0
  194. package/dist/fn/loop/forir.js +53 -0
  195. package/dist/fn/loop/iterate.d.ts +22 -0
  196. package/dist/fn/loop/iterate.js +36 -0
  197. package/dist/fn/loop/riterate.d.ts +21 -0
  198. package/dist/fn/loop/riterate.js +24 -0
  199. package/dist/fn/misc/analyzeFunction.d.ts +11 -0
  200. package/dist/fn/misc/analyzeFunction.js +141 -0
  201. package/dist/fn/misc/getTimeoff.d.ts +14 -0
  202. package/dist/fn/misc/getTimeoff.js +19 -0
  203. package/dist/fn/misc/money.d.ts +23 -0
  204. package/dist/fn/misc/money.js +122 -0
  205. package/dist/fn/misc/percent.d.ts +23 -0
  206. package/dist/fn/misc/percent.js +25 -0
  207. package/dist/fn/misc/randomInt.d.ts +22 -0
  208. package/dist/fn/misc/randomInt.js +24 -0
  209. package/dist/fn/misc/roundDecimal.d.ts +11 -0
  210. package/dist/fn/misc/roundDecimal.js +13 -0
  211. package/dist/fn/misc/translate.d.ts +2 -0
  212. package/dist/fn/misc/translate.js +8 -0
  213. package/dist/fn/object/_compareValues.d.ts +40 -0
  214. package/dist/fn/object/_compareValues.js +78 -0
  215. package/dist/fn/object/arrayFromProp.d.ts +33 -0
  216. package/dist/fn/object/arrayFromProp.js +41 -0
  217. package/dist/fn/object/autoExtend.d.ts +33 -0
  218. package/dist/fn/object/autoExtend.js +44 -0
  219. package/dist/fn/object/checkProps.d.ts +2 -0
  220. package/dist/fn/object/checkProps.js +5 -0
  221. package/dist/fn/object/checkPropsDetails.d.ts +2 -0
  222. package/dist/fn/object/checkPropsDetails.js +53 -0
  223. package/dist/fn/object/checkPropsOrDie.d.ts +2 -0
  224. package/dist/fn/object/checkPropsOrDie.js +9 -0
  225. package/dist/fn/object/circularReplacer.d.ts +7 -0
  226. package/dist/fn/object/circularReplacer.js +39 -0
  227. package/dist/fn/object/clone.d.ts +19 -0
  228. package/dist/fn/object/clone.js +33 -0
  229. package/dist/fn/object/compare.d.ts +53 -0
  230. package/dist/fn/object/compare.js +150 -0
  231. package/dist/fn/object/compareConditions.d.ts +46 -0
  232. package/dist/fn/object/compareConditions.js +86 -0
  233. package/dist/fn/object/count.d.ts +56 -0
  234. package/dist/fn/object/count.js +59 -0
  235. package/dist/fn/object/createObject.d.ts +2 -0
  236. package/dist/fn/object/createObject.js +9 -0
  237. package/dist/fn/object/deepPath.d.ts +57 -0
  238. package/dist/fn/object/deepPath.js +78 -0
  239. package/dist/fn/object/deleteProp.d.ts +8 -0
  240. package/dist/fn/object/deleteProp.js +13 -0
  241. package/dist/fn/object/diffObj.d.ts +79 -0
  242. package/dist/fn/object/diffObj.js +168 -0
  243. package/dist/fn/object/extend.d.ts +87 -0
  244. package/dist/fn/object/extend.js +158 -0
  245. package/dist/fn/object/extendOut.d.ts +18 -0
  246. package/dist/fn/object/extendOut.js +40 -0
  247. package/dist/fn/object/filter.d.ts +50 -0
  248. package/dist/fn/object/filter.js +94 -0
  249. package/dist/fn/object/filterToConditions.d.ts +48 -0
  250. package/dist/fn/object/filterToConditions.js +68 -0
  251. package/dist/fn/object/findAll.d.ts +57 -0
  252. package/dist/fn/object/findAll.js +73 -0
  253. package/dist/fn/object/getField.d.ts +30 -0
  254. package/dist/fn/object/getField.js +37 -0
  255. package/dist/fn/object/getFieldValues.d.ts +30 -0
  256. package/dist/fn/object/getFieldValues.js +41 -0
  257. package/dist/fn/object/getProp.d.ts +8 -0
  258. package/dist/fn/object/getProp.js +13 -0
  259. package/dist/fn/object/getProperty.d.ts +30 -0
  260. package/dist/fn/object/getProperty.js +39 -0
  261. package/dist/fn/object/getRow.d.ts +42 -0
  262. package/dist/fn/object/getRow.js +49 -0
  263. package/dist/fn/object/map.d.ts +74 -0
  264. package/dist/fn/object/map.js +83 -0
  265. package/dist/fn/object/move.d.ts +34 -0
  266. package/dist/fn/object/move.js +43 -0
  267. package/dist/fn/object/multiorder.d.ts +40 -0
  268. package/dist/fn/object/multiorder.js +60 -0
  269. package/dist/fn/object/numProperties.d.ts +31 -0
  270. package/dist/fn/object/numProperties.js +36 -0
  271. package/dist/fn/object/order.d.ts +28 -0
  272. package/dist/fn/object/order.js +36 -0
  273. package/dist/fn/object/pickValue.d.ts +2 -0
  274. package/dist/fn/object/pickValue.js +6 -0
  275. package/dist/fn/object/removeEmpty.d.ts +18 -0
  276. package/dist/fn/object/removeEmpty.js +47 -0
  277. package/dist/fn/object/removePrivateProp.d.ts +24 -0
  278. package/dist/fn/object/removePrivateProp.js +41 -0
  279. package/dist/fn/object/search.d.ts +101 -0
  280. package/dist/fn/object/search.js +177 -0
  281. package/dist/fn/object/setProp.d.ts +11 -0
  282. package/dist/fn/object/setProp.js +17 -0
  283. package/dist/fn/object/setProperty.d.ts +30 -0
  284. package/dist/fn/object/setProperty.js +50 -0
  285. package/dist/fn/object/shortenObj.d.ts +25 -0
  286. package/dist/fn/object/shortenObj.js +40 -0
  287. package/dist/fn/object/shuffle.d.ts +2 -0
  288. package/dist/fn/object/shuffle.js +13 -0
  289. package/dist/fn/object/stat.d.ts +2 -0
  290. package/dist/fn/object/stat.js +49 -0
  291. package/dist/fn/object/sum.d.ts +46 -0
  292. package/dist/fn/object/sum.js +57 -0
  293. package/dist/fn/object/unique.d.ts +18 -0
  294. package/dist/fn/object/unique.js +22 -0
  295. package/dist/fn/string/baseName.d.ts +24 -0
  296. package/dist/fn/string/baseName.js +39 -0
  297. package/dist/fn/string/br2nl.d.ts +19 -0
  298. package/dist/fn/string/br2nl.js +22 -0
  299. package/dist/fn/string/camelToCss.d.ts +18 -0
  300. package/dist/fn/string/camelToCss.js +26 -0
  301. package/dist/fn/string/camelize.d.ts +20 -0
  302. package/dist/fn/string/camelize.js +27 -0
  303. package/dist/fn/string/correctCase.d.ts +18 -0
  304. package/dist/fn/string/correctCase.js +20 -0
  305. package/dist/fn/string/crc32.d.ts +2 -0
  306. package/dist/fn/string/crc32.js +20 -0
  307. package/dist/fn/string/dirName.d.ts +17 -0
  308. package/dist/fn/string/dirName.js +33 -0
  309. package/dist/fn/string/escapeDquotes.d.ts +2 -0
  310. package/dist/fn/string/escapeDquotes.js +8 -0
  311. package/dist/fn/string/escapeRegExp.d.ts +19 -0
  312. package/dist/fn/string/escapeRegExp.js +21 -0
  313. package/dist/fn/string/escapeSquotes.d.ts +2 -0
  314. package/dist/fn/string/escapeSquotes.js +8 -0
  315. package/dist/fn/string/escapeTicks.d.ts +2 -0
  316. package/dist/fn/string/escapeTicks.js +8 -0
  317. package/dist/fn/string/escapeUrl.d.ts +9 -0
  318. package/dist/fn/string/escapeUrl.js +47 -0
  319. package/dist/fn/string/fileExt.d.ts +38 -0
  320. package/dist/fn/string/fileExt.js +47 -0
  321. package/dist/fn/string/format.d.ts +2 -0
  322. package/dist/fn/string/format.js +14 -0
  323. package/dist/fn/string/formatBytes.d.ts +14 -0
  324. package/dist/fn/string/formatBytes.js +20 -0
  325. package/dist/fn/string/formatSize.d.ts +2 -0
  326. package/dist/fn/string/formatSize.js +12 -0
  327. package/dist/fn/string/hash.d.ts +7 -0
  328. package/dist/fn/string/hash.js +42 -0
  329. package/dist/fn/string/md5.d.ts +22 -0
  330. package/dist/fn/string/md5.js +142 -0
  331. package/dist/fn/string/nl2br.d.ts +17 -0
  332. package/dist/fn/string/nl2br.js +20 -0
  333. package/dist/fn/string/printf.d.ts +10 -0
  334. package/dist/fn/string/printf.js +15 -0
  335. package/dist/fn/string/quotes2html.d.ts +30 -0
  336. package/dist/fn/string/quotes2html.js +39 -0
  337. package/dist/fn/string/randomString.d.ts +28 -0
  338. package/dist/fn/string/randomString.js +72 -0
  339. package/dist/fn/string/removeAccents.d.ts +17 -0
  340. package/dist/fn/string/removeAccents.js +30 -0
  341. package/dist/fn/string/removeExtraSpaces.d.ts +7 -0
  342. package/dist/fn/string/removeExtraSpaces.js +9 -0
  343. package/dist/fn/string/removeHtmlComments.d.ts +2 -0
  344. package/dist/fn/string/removeHtmlComments.js +8 -0
  345. package/dist/fn/string/removeTrailingChars.d.ts +11 -0
  346. package/dist/fn/string/removeTrailingChars.js +25 -0
  347. package/dist/fn/string/repeat.d.ts +16 -0
  348. package/dist/fn/string/repeat.js +18 -0
  349. package/dist/fn/string/replaceAll.d.ts +23 -0
  350. package/dist/fn/string/replaceAll.js +29 -0
  351. package/dist/fn/string/sanitize.d.ts +17 -0
  352. package/dist/fn/string/sanitize.js +34 -0
  353. package/dist/fn/string/shorten.d.ts +27 -0
  354. package/dist/fn/string/shorten.js +42 -0
  355. package/dist/fn/string/simpleHash.d.ts +2 -0
  356. package/dist/fn/string/simpleHash.js +8 -0
  357. package/dist/fn/string/simpleHash1.d.ts +2 -0
  358. package/dist/fn/string/simpleHash1.js +10 -0
  359. package/dist/fn/string/simpleHash2.d.ts +2 -0
  360. package/dist/fn/string/simpleHash2.js +10 -0
  361. package/dist/fn/string/substr.d.ts +23 -0
  362. package/dist/fn/string/substr.js +38 -0
  363. package/dist/fn/string/trim.d.ts +2 -0
  364. package/dist/fn/string/trim.js +20 -0
  365. package/dist/fn/string/uniqString.d.ts +18 -0
  366. package/dist/fn/string/uniqString.js +49 -0
  367. package/dist/fn/style/addColors.d.ts +17 -0
  368. package/dist/fn/style/addColors.js +76 -0
  369. package/dist/fn/style/addStyle.d.ts +12 -0
  370. package/dist/fn/style/addStyle.js +20 -0
  371. package/dist/fn/style/animateCss.d.ts +13 -0
  372. package/dist/fn/style/animateCss.js +31 -0
  373. package/dist/fn/style/center.d.ts +16 -0
  374. package/dist/fn/style/center.js +40 -0
  375. package/dist/fn/style/cssExists.d.ts +12 -0
  376. package/dist/fn/style/cssExists.js +40 -0
  377. package/dist/fn/style/getCssVar.d.ts +7 -0
  378. package/dist/fn/style/getCssVar.js +12 -0
  379. package/dist/fn/style/getScrollBarSize.d.ts +2 -0
  380. package/dist/fn/style/getScrollBarSize.js +25 -0
  381. package/dist/fn/style/lightenDarkenHex.d.ts +20 -0
  382. package/dist/fn/style/lightenDarkenHex.js +45 -0
  383. package/dist/fn/style/outerHeight.d.ts +11 -0
  384. package/dist/fn/style/outerHeight.js +19 -0
  385. package/dist/fn/style/outerWidth.d.ts +10 -0
  386. package/dist/fn/style/outerWidth.js +16 -0
  387. package/dist/fn/style/resize.d.ts +2 -0
  388. package/dist/fn/style/resize.js +39 -0
  389. package/dist/fn/style/setCssVar.d.ts +8 -0
  390. package/dist/fn/style/setCssVar.js +14 -0
  391. package/dist/fn/type/checkType.d.ts +2 -0
  392. package/dist/fn/type/checkType.js +59 -0
  393. package/dist/fn/type/isArray.d.ts +14 -0
  394. package/dist/fn/type/isArray.js +23 -0
  395. package/dist/fn/type/isBlob.d.ts +9 -0
  396. package/dist/fn/type/isBlob.js +18 -0
  397. package/dist/fn/type/isBoolean.d.ts +16 -0
  398. package/dist/fn/type/isBoolean.js +25 -0
  399. package/dist/fn/type/isCanvas.d.ts +16 -0
  400. package/dist/fn/type/isCanvas.js +25 -0
  401. package/dist/fn/type/isColor.d.ts +31 -0
  402. package/dist/fn/type/isColor.js +45 -0
  403. package/dist/fn/type/isComment.d.ts +14 -0
  404. package/dist/fn/type/isComment.js +23 -0
  405. package/dist/fn/type/isCp.d.ts +2 -0
  406. package/dist/fn/type/isCp.js +17 -0
  407. package/dist/fn/type/isDate.d.ts +20 -0
  408. package/dist/fn/type/isDate.js +29 -0
  409. package/dist/fn/type/isDimension.d.ts +11 -0
  410. package/dist/fn/type/isDimension.js +24 -0
  411. package/dist/fn/type/isDom.d.ts +14 -0
  412. package/dist/fn/type/isDom.js +23 -0
  413. package/dist/fn/type/isEmail.d.ts +23 -0
  414. package/dist/fn/type/isEmail.js +37 -0
  415. package/dist/fn/type/isEmpty.d.ts +41 -0
  416. package/dist/fn/type/isEmpty.js +57 -0
  417. package/dist/fn/type/isEvent.d.ts +9 -0
  418. package/dist/fn/type/isEvent.js +18 -0
  419. package/dist/fn/type/isFunction.d.ts +16 -0
  420. package/dist/fn/type/isFunction.js +25 -0
  421. package/dist/fn/type/isHostname.d.ts +2 -0
  422. package/dist/fn/type/isHostname.js +16 -0
  423. package/dist/fn/type/isIP.d.ts +2 -0
  424. package/dist/fn/type/isIP.js +12 -0
  425. package/dist/fn/type/isInt.d.ts +18 -0
  426. package/dist/fn/type/isInt.js +27 -0
  427. package/dist/fn/type/isIterable.d.ts +27 -0
  428. package/dist/fn/type/isIterable.js +37 -0
  429. package/dist/fn/type/isNull.d.ts +14 -0
  430. package/dist/fn/type/isNull.js +23 -0
  431. package/dist/fn/type/isNumber.d.ts +19 -0
  432. package/dist/fn/type/isNumber.js +30 -0
  433. package/dist/fn/type/isObject.d.ts +19 -0
  434. package/dist/fn/type/isObject.js +28 -0
  435. package/dist/fn/type/isPercent.d.ts +14 -0
  436. package/dist/fn/type/isPercent.js +23 -0
  437. package/dist/fn/type/isPrimitive.d.ts +18 -0
  438. package/dist/fn/type/isPrimitive.js +27 -0
  439. package/dist/fn/type/isPromise.d.ts +18 -0
  440. package/dist/fn/type/isPromise.js +27 -0
  441. package/dist/fn/type/isPropSize.d.ts +2 -0
  442. package/dist/fn/type/isPropSize.js +12 -0
  443. package/dist/fn/type/isSQLDate.d.ts +10 -0
  444. package/dist/fn/type/isSQLDate.js +20 -0
  445. package/dist/fn/type/isSame.d.ts +41 -0
  446. package/dist/fn/type/isSame.js +72 -0
  447. package/dist/fn/type/isString.d.ts +14 -0
  448. package/dist/fn/type/isString.js +23 -0
  449. package/dist/fn/type/isSymbol.d.ts +15 -0
  450. package/dist/fn/type/isSymbol.js +24 -0
  451. package/dist/fn/type/isURL.d.ts +2 -0
  452. package/dist/fn/type/isURL.js +11 -0
  453. package/dist/fn/type/isValidDimension.d.ts +11 -0
  454. package/dist/fn/type/isValidDimension.js +24 -0
  455. package/dist/fn/type/isValidName.d.ts +27 -0
  456. package/dist/fn/type/isValidName.js +38 -0
  457. package/dist/fn/type/isValue.d.ts +26 -0
  458. package/dist/fn/type/isValue.js +36 -0
  459. package/dist/fn/type/isVue.d.ts +16 -0
  460. package/dist/fn/type/isVue.js +42 -0
  461. package/dist/fn.d.ts +4 -5
  462. package/dist/fn.js +226 -228
  463. package/package.json +1 -1
package/dist/db.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { _ } from './_';
2
- import { each } from './fn/each';
3
- import { iterate } from './fn/iterate';
4
- import { log } from './fn/log';
2
+ import { each } from './fn/loop/each';
3
+ import { iterate } from './fn/loop/iterate';
4
+ import { log } from './fn/browser/log';
5
5
  const idb = indexedDB || window['webkitIndexedDB'] || window['mozIndexedDB'] || window['OIndexedDB'] || window['msIndexedDB'];
6
6
  const dbObject = function (dbName) {
7
7
  const conn = db._connections[dbName];
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Creates and adds a "loader" object to the property bbn.env.loaders.
3
+ *
4
+ * @method _addLoader
5
+ * @global
6
+ * @ignore
7
+ * @memberof bbn.fn
8
+ *
9
+ * @param {String} requestId
10
+ * @param {Promise} prom
11
+ * @param {Object} source
12
+ *
13
+ * @returns {Number} The timestamp (in ms)
14
+ */
15
+ declare const _addLoader: (requestId: any, prom: any, source: any) => number;
16
+ export { _addLoader };
@@ -0,0 +1,51 @@
1
+ import { substr } from "../string/substr";
2
+ /**
3
+ * Creates and adds a "loader" object to the property bbn.env.loaders.
4
+ *
5
+ * @method _addLoader
6
+ * @global
7
+ * @ignore
8
+ * @memberof bbn.fn
9
+ *
10
+ * @param {String} requestId
11
+ * @param {Promise} prom
12
+ * @param {Object} source
13
+ *
14
+ * @returns {Number} The timestamp (in ms)
15
+ */
16
+ const _addLoader = function (requestId, prom, source) {
17
+ /** @var {Number} tst Current timestamp */
18
+ let tst = new Date().getTime();
19
+ /** @var {String} url The original URL (part of requestId before : and md5) */
20
+ let url = substr(requestId, 0, requestId.length - 33);
21
+ /** @var {Object} loader The loader object */
22
+ let loader = {
23
+ key: requestId,
24
+ url: url,
25
+ loader: prom,
26
+ source: source,
27
+ loading: true,
28
+ error: false,
29
+ abort: false,
30
+ errorMessage: false,
31
+ success: false,
32
+ start: tst,
33
+ };
34
+ // Adding the loader in bbn.env.loaders
35
+ bbn.env.loaders.push(loader);
36
+ // Adding an object with this loader info in bbn.env.loadersHistory
37
+ bbn.env.loadersHistory.unshift(loader);
38
+ /** @var {Number} idx A pointer starting at the end of array loadersHistory */
39
+ let idx = bbn.env.loadersHistory.length;
40
+ // Removing elements from the loadersHistory object if their number is higher
41
+ // than bbn.env.maxLoadersHistory
42
+ while (idx && bbn.env.loadersHistory.length > bbn.env.maxLoadersHistory) {
43
+ idx--;
44
+ // Not removing the ones still loading
45
+ if (!bbn.env.loading) {
46
+ bbn.env.loadersHistory.splice(idx, 1);
47
+ }
48
+ }
49
+ return tst;
50
+ };
51
+ export { _addLoader };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Deletes a loader and changes its history state after the promise is fullfilled.
3
+ *
4
+ * @method _deleteLoader
5
+ * @global
6
+ * @ignore
7
+ * @memberof bbn.fn
8
+ *
9
+ * @param {String} requestId The unique ID of the request sent
10
+ * @param {*} res The result of the request
11
+ * @param {Boolean} isAbort True if the deletion comes from abortion
12
+ *
13
+ * @returns {Boolean} True if the loader was found
14
+ */
15
+ declare const _deleteLoader: (requestId: string, res?: any, isAbort?: boolean) => boolean;
16
+ export { _deleteLoader };
@@ -0,0 +1,39 @@
1
+ import { search } from '../object/search';
2
+ import { getRow } from '../object/getRow';
3
+ import { isObject } from '../type/isObject';
4
+ /**
5
+ * Deletes a loader and changes its history state after the promise is fullfilled.
6
+ *
7
+ * @method _deleteLoader
8
+ * @global
9
+ * @ignore
10
+ * @memberof bbn.fn
11
+ *
12
+ * @param {String} requestId The unique ID of the request sent
13
+ * @param {*} res The result of the request
14
+ * @param {Boolean} isAbort True if the deletion comes from abortion
15
+ *
16
+ * @returns {Boolean} True if the loader was found
17
+ */
18
+ const _deleteLoader = function (requestId, res = null, isAbort = false) {
19
+ let idx = search(bbn.env.loaders, { key: requestId });
20
+ if (idx > -1) {
21
+ let loader = bbn.env.loaders.splice(idx, 1)[0];
22
+ let history = getRow(bbn.env.loadersHistory, { key: requestId, start: loader.start });
23
+ if (history) {
24
+ history.loading = false;
25
+ history.duration = new Date().getTime() - loader.start;
26
+ if (typeof res === 'string') {
27
+ history.errorMessage = res;
28
+ history.error = !isAbort;
29
+ history.abort = isAbort;
30
+ }
31
+ else if (isObject(res)) {
32
+ history.success = true;
33
+ }
34
+ }
35
+ return true;
36
+ }
37
+ return false;
38
+ };
39
+ export { _deleteLoader };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Aborts (client side) the XHR corresponding to the given ID if it still exists.
3
+ *
4
+ * This will throw an error if the loader can't be found.
5
+ *
6
+ * @method abort
7
+ * @global
8
+ * @memberof bbn.fn
9
+ *
10
+ * @example
11
+ * ```javascript
12
+ * bbn.fn.post('my/script', {a: 1, b: 2});
13
+ * let requestId = bbn.fn.getRequestId('my/script', {a: 1, b: 2});
14
+ * if (requestId) {
15
+ * bbn.fn.abort(requestId);
16
+ * }
17
+ * ```
18
+ *
19
+ * @param {String} requestId An ID generated by getRequestId
20
+ *
21
+ * @returns {undefined}
22
+ */
23
+ declare const abort: (requestId: any) => void;
24
+ export { abort };
@@ -0,0 +1,36 @@
1
+ import { getLoader } from './getLoader';
2
+ /**
3
+ * Aborts (client side) the XHR corresponding to the given ID if it still exists.
4
+ *
5
+ * This will throw an error if the loader can't be found.
6
+ *
7
+ * @method abort
8
+ * @global
9
+ * @memberof bbn.fn
10
+ *
11
+ * @example
12
+ * ```javascript
13
+ * bbn.fn.post('my/script', {a: 1, b: 2});
14
+ * let requestId = bbn.fn.getRequestId('my/script', {a: 1, b: 2});
15
+ * if (requestId) {
16
+ * bbn.fn.abort(requestId);
17
+ * }
18
+ * ```
19
+ *
20
+ * @param {String} requestId An ID generated by getRequestId
21
+ *
22
+ * @returns {undefined}
23
+ */
24
+ const abort = function (requestId) {
25
+ let loader = getLoader(requestId);
26
+ if (loader && loader.source) {
27
+ //_deleteLoader(requestId);
28
+ loader.source.cancel('Operation canceled by the user.');
29
+ }
30
+ /*
31
+ else {
32
+ throw new Error("Impossible to find the loader " + requestId);
33
+ }
34
+ */
35
+ };
36
+ export { abort };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Aborts (client side) all the XHR using the given URL if it still exists.
3
+ *
4
+ * This will throw an error if the loader can't be found.
5
+ *
6
+ * @method abortURL
7
+ * @global
8
+ * @memberof bbn.fn
9
+ *
10
+ * @example
11
+ * ```javascript
12
+ * bbn.fn.post('my/script', {a: 1, b: 2});
13
+ * bbn.fn.post('my/script', {c: 1, d: 2});
14
+ * bbn.fn.abortURL('my/script');
15
+ * ```
16
+ *
17
+ * @param {String} requestId An ID generated by getRequestId
18
+ *
19
+ * @returns {undefined}
20
+ */
21
+ declare const abortURL: (url: any) => void;
22
+ export { abortURL };
@@ -0,0 +1,33 @@
1
+ import { each } from '../loop/each';
2
+ import { filter } from '../object/filter';
3
+ /**
4
+ * Aborts (client side) all the XHR using the given URL if it still exists.
5
+ *
6
+ * This will throw an error if the loader can't be found.
7
+ *
8
+ * @method abortURL
9
+ * @global
10
+ * @memberof bbn.fn
11
+ *
12
+ * @example
13
+ * ```javascript
14
+ * bbn.fn.post('my/script', {a: 1, b: 2});
15
+ * bbn.fn.post('my/script', {c: 1, d: 2});
16
+ * bbn.fn.abortURL('my/script');
17
+ * ```
18
+ *
19
+ * @param {String} requestId An ID generated by getRequestId
20
+ *
21
+ * @returns {undefined}
22
+ */
23
+ const abortURL = function (url) {
24
+ each(filter(bbn.env.loaders, { url: url }), (a) => {
25
+ if (a && a.source) {
26
+ a.source.cancel('Operation canceled by the user.');
27
+ }
28
+ else {
29
+ throw new Error('Impossible to find the loader with URL ' + url);
30
+ }
31
+ });
32
+ };
33
+ export { abortURL };
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Creates an XHR object and returns the Promise.
3
+ *
4
+ * Checks the URL, makes an ID, creates a loader, sets the general callbacks,
5
+ * makes a POST if data is given a GET otherwise (GET data should be added
6
+ * directly in the URL), and returns the Promise.
7
+ *
8
+ * @method ajax
9
+ * @global
10
+ * @memberof bbn.fn
11
+ * @example
12
+ * ```javascript
13
+ * // Promise
14
+ * bbn.fn.ajax(
15
+ * 'my/location',
16
+ * 'json',
17
+ * {id: 7},
18
+ * d => {
19
+ * console.log(d);
20
+ * alert("Success!");
21
+ * },
22
+ * err => {
23
+ * console.log(err);
24
+ * alert("Failure!");
25
+ * },
26
+ * () => {
27
+ * alert("Request aborted!");
28
+ * }
29
+ * )
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```javascript
34
+ * // Promise
35
+ * bbn.fn.ajax('my/location')
36
+ * .then(
37
+ * d => {
38
+ * console.log(d);
39
+ * alert("Success!");
40
+ * }
41
+ * )
42
+ * .catch(
43
+ * err => {
44
+ * }
45
+ * )
46
+ * ```
47
+ *
48
+ * @param {String} url The URL to be requested by XHR
49
+ * @param {String} datatype The type of data expected
50
+ * @param {Object} data The data to send through POST
51
+ * @param {Function} success The function to execute if the request goes well (200)
52
+ * @param {Function} failure The function to execute if the request goes bad
53
+ * @param {Function} abort The function to execute if the request is aborted
54
+ *
55
+ * @returns {Promise} The Promise created by the generated XHR.
56
+ */
57
+ declare const ajax: (url: any, datatype: string, data: any, success?: (data: object, headers?: object) => any, failure?: (url: string, o?: object) => any, abort?: (message: string, url: string) => any) => any;
58
+ export { ajax };
@@ -0,0 +1,170 @@
1
+ import { isObject } from '../type/isObject';
2
+ import { replaceAll } from '../string/replaceAll';
3
+ import { getRequestId } from './getRequestId';
4
+ import { getLoader } from './getLoader';
5
+ import { extend } from '../object/extend';
6
+ import { numProperties } from '../object/numProperties';
7
+ import { _deleteLoader } from './_deleteLoader';
8
+ import { defaultEndLoadingFunction } from '../default/defaultEndLoadingFunction';
9
+ import { isFunction } from '../type/isFunction';
10
+ import { defaultAjaxErrorFunction } from '../default/defaultAjaxErrorFunction';
11
+ import { defaultAjaxAbortFunction } from '../default/defaultAjaxAbortFunction';
12
+ import { _addLoader } from './_addLoader';
13
+ import { defaultStartLoadingFunction } from '../default/defaultStartLoadingFunction';
14
+ /**
15
+ * Creates an XHR object and returns the Promise.
16
+ *
17
+ * Checks the URL, makes an ID, creates a loader, sets the general callbacks,
18
+ * makes a POST if data is given a GET otherwise (GET data should be added
19
+ * directly in the URL), and returns the Promise.
20
+ *
21
+ * @method ajax
22
+ * @global
23
+ * @memberof bbn.fn
24
+ * @example
25
+ * ```javascript
26
+ * // Promise
27
+ * bbn.fn.ajax(
28
+ * 'my/location',
29
+ * 'json',
30
+ * {id: 7},
31
+ * d => {
32
+ * console.log(d);
33
+ * alert("Success!");
34
+ * },
35
+ * err => {
36
+ * console.log(err);
37
+ * alert("Failure!");
38
+ * },
39
+ * () => {
40
+ * alert("Request aborted!");
41
+ * }
42
+ * )
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```javascript
47
+ * // Promise
48
+ * bbn.fn.ajax('my/location')
49
+ * .then(
50
+ * d => {
51
+ * console.log(d);
52
+ * alert("Success!");
53
+ * }
54
+ * )
55
+ * .catch(
56
+ * err => {
57
+ * }
58
+ * )
59
+ * ```
60
+ *
61
+ * @param {String} url The URL to be requested by XHR
62
+ * @param {String} datatype The type of data expected
63
+ * @param {Object} data The data to send through POST
64
+ * @param {Function} success The function to execute if the request goes well (200)
65
+ * @param {Function} failure The function to execute if the request goes bad
66
+ * @param {Function} abort The function to execute if the request is aborted
67
+ *
68
+ * @returns {Promise} The Promise created by the generated XHR.
69
+ */
70
+ const ajax = function (url, datatype, data, success, failure, abort) {
71
+ if (arguments.length === 1 && url && typeof url === 'object' && url.url) {
72
+ if (url.abort) {
73
+ abort = url.abort;
74
+ }
75
+ if (url.failure) {
76
+ failure = url.failure;
77
+ }
78
+ if (url.success) {
79
+ success = url.success;
80
+ }
81
+ if (url.data) {
82
+ data = url.data;
83
+ }
84
+ if (url.datatype) {
85
+ datatype = url.datatype;
86
+ }
87
+ url = url.url;
88
+ }
89
+ if (!url) {
90
+ return;
91
+ }
92
+ if (url && typeof url === 'string') {
93
+ if (url.indexOf('://') === -1) {
94
+ // Prevent protocol mismatch by Axios
95
+ url = replaceAll('//', '/', url);
96
+ }
97
+ if (!datatype) {
98
+ datatype = 'json';
99
+ }
100
+ let requestId = getRequestId(url, data, datatype);
101
+ let loaderObj = getLoader(requestId);
102
+ //log("IN AJAX", loaderObj? loaderObj.loader : "NO LOADER")
103
+ if (loaderObj?.loader) {
104
+ return loaderObj.loader;
105
+ }
106
+ if (bbn.env.token) {
107
+ extend(data || {}, { _bbn_token: bbn.env.token });
108
+ }
109
+ let cancelToken = axios.CancelToken;
110
+ let source = cancelToken.source();
111
+ let options = {
112
+ responseType: datatype,
113
+ cancelToken: source.token,
114
+ };
115
+ if (datatype === 'text') {
116
+ options.headers = {
117
+ accept: 'text/javascript',
118
+ 'Content-Type': 'text/javascript',
119
+ };
120
+ }
121
+ let args = [url];
122
+ if (isObject(data) && numProperties(data) > 0) {
123
+ args.push(data);
124
+ }
125
+ args.push(options);
126
+ const axiosMethod = args.length === 2 ? 'get' : 'post';
127
+ let loader = axios[axiosMethod].apply(null, args)
128
+ .then(res => {
129
+ _deleteLoader(requestId, res);
130
+ defaultEndLoadingFunction(url, tst, data, res);
131
+ switch (res.status) {
132
+ case 200:
133
+ if (isFunction(success)) {
134
+ success(res.data, res.headers);
135
+ }
136
+ break;
137
+ default:
138
+ defaultAjaxErrorFunction(loader, res);
139
+ }
140
+ return res;
141
+ })
142
+ .catch((err) => {
143
+ let isAbort = axios.isCancel(err);
144
+ _deleteLoader(requestId, err.message || err.response.data, isAbort);
145
+ defaultEndLoadingFunction(url, tst, data, err);
146
+ if (isAbort) {
147
+ let ok = 1;
148
+ if (isFunction(abort)) {
149
+ ok = abort(err.message, url);
150
+ }
151
+ if (ok) {
152
+ defaultAjaxAbortFunction(err.message, url);
153
+ }
154
+ }
155
+ else {
156
+ let ok = 1;
157
+ if (isFunction(failure)) {
158
+ ok = failure(err.request, err);
159
+ }
160
+ if (ok) {
161
+ defaultAjaxErrorFunction(err.request, err.response ? err.response.data : '', err.response ? err.response.status : err);
162
+ }
163
+ }
164
+ });
165
+ let tst = _addLoader(requestId, loader, source);
166
+ defaultStartLoadingFunction(url, tst, data, requestId);
167
+ return loader;
168
+ }
169
+ };
170
+ export { ajax };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Executes a serie of predefined actions once an Ajax request has been done.
3
+ *
4
+ * Used to treat all the requests functions results, it expects at least url and res to be defined;
5
+ * The following properties from the object res have direct effects:
6
+ * - __url__ {String}: if not given it will be automatically defined by the url parameter;
7
+ * __the given URL will be passed to location.href (without reloading)__
8
+ * - __prescript__ {String}: if defined it will attempt to evaluate the code contained in the property
9
+ * - __content__ {String}: if defined and ele is defined too, the string will be inserted as content in the element
10
+ * - __script__ {String}: if defined it will be evaluated, executed, and its result will be returned
11
+ * - __data__ {Object}:
12
+ * - __postscript__ {String}: if defined it will be evaluated and executed
13
+ * - __error__ {String}: if defined it will be trigger bbn.fn.defaultAlertFunction
14
+ *
15
+ * If fn is defined it will be executed after prescript, otherwise it will be bbn.fn.defaultLinkFunction.
16
+ *
17
+ * The rest of the function comes executed if either of these results is not empty.
18
+ *
19
+ * If fn2 is defined it will be executed after script, otherwise it will be bbn.fn.defaultPostLinkFunction.
20
+ *
21
+ * Although not private this function should only be used internally.
22
+ *
23
+ * @method callback
24
+ * @todo Add method description for callback
25
+ * @global
26
+ * @memberof bbn.fn
27
+ *
28
+ * @param {String} url The URL that has been called
29
+ * @param {Object} res The object returned by the request
30
+ * @param {Function} fn A first callback function to execute
31
+ * @param {Function} fn2 A second callback function to execute
32
+ * @param {HTMLElement} ele A DOM element where the content will be inserted
33
+ *
34
+ * @returns {*} The result of the main callback function: res.script, fn, or bbn.fn.defaultLinkFunction
35
+ */
36
+ declare const callback: (url: string, res?: BbnAjaxResult, fn?: (a: BbnAjaxResult, b?: HTMLElement) => any, fn2?: (a: BbnAjaxResult) => any, ele?: HTMLElement | HTMLInputElement | HTMLTextAreaElement) => boolean;
37
+ export { callback };
@@ -0,0 +1,117 @@
1
+ import { error } from '../browser/error';
2
+ import { defaultLinkFunction } from '../default/defaultLinkFunction';
3
+ import { isFunction } from '../type/isFunction';
4
+ import { log } from '../browser/log';
5
+ import { defaultPostLinkFunction } from '../default/defaultPostLinkFunction';
6
+ import { defaultAlertFunction } from '../default/defaultAlertFunction';
7
+ /**
8
+ * Executes a serie of predefined actions once an Ajax request has been done.
9
+ *
10
+ * Used to treat all the requests functions results, it expects at least url and res to be defined;
11
+ * The following properties from the object res have direct effects:
12
+ * - __url__ {String}: if not given it will be automatically defined by the url parameter;
13
+ * __the given URL will be passed to location.href (without reloading)__
14
+ * - __prescript__ {String}: if defined it will attempt to evaluate the code contained in the property
15
+ * - __content__ {String}: if defined and ele is defined too, the string will be inserted as content in the element
16
+ * - __script__ {String}: if defined it will be evaluated, executed, and its result will be returned
17
+ * - __data__ {Object}:
18
+ * - __postscript__ {String}: if defined it will be evaluated and executed
19
+ * - __error__ {String}: if defined it will be trigger bbn.fn.defaultAlertFunction
20
+ *
21
+ * If fn is defined it will be executed after prescript, otherwise it will be bbn.fn.defaultLinkFunction.
22
+ *
23
+ * The rest of the function comes executed if either of these results is not empty.
24
+ *
25
+ * If fn2 is defined it will be executed after script, otherwise it will be bbn.fn.defaultPostLinkFunction.
26
+ *
27
+ * Although not private this function should only be used internally.
28
+ *
29
+ * @method callback
30
+ * @todo Add method description for callback
31
+ * @global
32
+ * @memberof bbn.fn
33
+ *
34
+ * @param {String} url The URL that has been called
35
+ * @param {Object} res The object returned by the request
36
+ * @param {Function} fn A first callback function to execute
37
+ * @param {Function} fn2 A second callback function to execute
38
+ * @param {HTMLElement} ele A DOM element where the content will be inserted
39
+ *
40
+ * @returns {*} The result of the main callback function: res.script, fn, or bbn.fn.defaultLinkFunction
41
+ */
42
+ const callback = function (url, res = null, fn = null, fn2 = null, ele = null) {
43
+ let tmp = false;
44
+ if (res) {
45
+ tmp = true;
46
+ let t = typeof res;
47
+ let isObj = t.toLowerCase() === 'object';
48
+ let errTitle;
49
+ if (isObj && res.prescript) {
50
+ /* var ok can be changed to false in prescript execution */
51
+ try {
52
+ eval(res.prescript);
53
+ }
54
+ catch (e) {
55
+ error(e.message || '');
56
+ }
57
+ }
58
+ if (isObj && res.url === undefined) {
59
+ res.url = url;
60
+ }
61
+ /* Case where a callback is defined */
62
+ if (fn) {
63
+ tmp = fn(res, ele);
64
+ }
65
+ else {
66
+ tmp = defaultLinkFunction(res, ele);
67
+ }
68
+ if (ele && isObj && (res.content !== undefined)) {
69
+ if ('value' in ele) {
70
+ ele.value = res.content;
71
+ }
72
+ else {
73
+ ele.innerHTML = res.content;
74
+ }
75
+ }
76
+ if (tmp && isObj && res.script) {
77
+ if (typeof (res.script) === 'function') {
78
+ tmp = res.script(res.data ? res.data : {}, ele || null);
79
+ }
80
+ else {
81
+ tmp = ((data, ele) => {
82
+ let r = null;
83
+ try {
84
+ r = eval(res.script);
85
+ if (isFunction(r)) {
86
+ r = r(data, ele);
87
+ }
88
+ }
89
+ catch (e) {
90
+ log(e, res);
91
+ error(isFunction(e.getMessage) ? e.getMessage() : null);
92
+ }
93
+ return r;
94
+ })(res.data ? res.data : {}, ele ? ele : false);
95
+ }
96
+ }
97
+ /* Case where a callback is defined */
98
+ if (tmp && fn2) {
99
+ fn2(res);
100
+ }
101
+ else if (isObj && defaultPostLinkFunction) {
102
+ defaultPostLinkFunction(res, ele);
103
+ }
104
+ if (tmp && isObj && res.postscript) {
105
+ eval(res.postscript);
106
+ }
107
+ if (isObj && res.error) {
108
+ errTitle = res.errorTitle || bbn.lng.server_response;
109
+ defaultAlertFunction(res.error, errTitle);
110
+ }
111
+ }
112
+ else {
113
+ defaultAlertFunction(bbn.lng.errorText, bbn.lng.error);
114
+ }
115
+ return tmp;
116
+ };
117
+ export { callback };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Downloads a file with given filename from a URL.
3
+ *
4
+ * Gets the file's content as Blob through XHR, then sends it to bbn.fn.downloadContent.
5
+ * __Attention__ The CORS policy applies
6
+ *
7
+ * @method download
8
+ * @global
9
+ * @memberof bbn.fn
10
+ *
11
+ * @example
12
+ * ```javascript
13
+ * // Forcing the download of an image
14
+ * bbn.fn.download('/bbn/js-title-black.png');
15
+ *
16
+ * // Forcing the download of a PDF
17
+ * bbn.fn.download('/files/my-document.pdf');
18
+ *
19
+ * // Changing the name as it is downloaded
20
+ * bbn.fn.download('/files/f4b1092d71aefd96458feaa71d170f69.pdf', 'myDocument_' + bbn.fn.dateSQL() + '.pdf');
21
+ * ```
22
+ *
23
+ * @param {String} url The URL from which the file will be requested
24
+ * @param {String} filename The name for the downloaded file (otherwise it will take the basename of the url)
25
+ * @param {Object} params A data object to send with the request
26
+ *
27
+ * @returns {undefined}
28
+ */
29
+ declare const download: (url: string, filename?: string | object, params?: object) => any;
30
+ export { download };