@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
@@ -0,0 +1,185 @@
1
+ import { log } from '../browser/log';
2
+ import { createObject } from '../object/createObject';
3
+ import { isSymbol } from '../type/isSymbol';
4
+ import { isNumber } from '../type/isNumber';
5
+ import { isArray } from '../type/isArray';
6
+ import { warning } from '../browser/warning';
7
+ import { isFunction } from '../type/isFunction';
8
+ import { isSame } from '../type/isSame';
9
+ const makeReactive = function (obj, onSet, parent, parentProp) {
10
+ const parentString = parent?.$cid || '';
11
+ const prefix = '__bbn_' + (parentString ? parentString + '_' : '');
12
+ if (obj && typeof obj === 'object' && [undefined, Object, Array].includes(obj.constructor)) {
13
+ if (obj.__bbnIsProxy && obj.__bbnParent === parent) {
14
+ return obj;
15
+ }
16
+ if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {
17
+ log(['MAKING bbn-loadbar', obj]);
18
+ }
19
+ if (!obj.__bbnWatchers) {
20
+ Reflect.defineProperty(obj, '__bbnWatchers', {
21
+ value: createObject(),
22
+ writable: true,
23
+ configurable: true,
24
+ enumerable: false,
25
+ });
26
+ }
27
+ const handler = {
28
+ get(target, key) {
29
+ const realValue = Reflect.get(target, key);
30
+ const realTarget = target.__bbnRoot || target;
31
+ if (isSymbol(key)) {
32
+ return Reflect.get(realTarget, key);
33
+ }
34
+ const propName = parentProp ? parentProp + '.' + key : key;
35
+ const hiddenKey = prefix + (isNumber(key) ? key.toString() : key);
36
+ if (['fill', 'pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'].includes(key) &&
37
+ isArray(target)) {
38
+ return function (...args) {
39
+ let res = realTarget[key](...args);
40
+ warning('DOING ARRAY STUFF');
41
+ log(target.__bbnParent);
42
+ onSet(target, 'length', parent);
43
+ return res;
44
+ };
45
+ }
46
+ if (isFunction(realValue)) {
47
+ return realValue;
48
+ }
49
+ if (key === '__bbnRoot') {
50
+ let root = obj;
51
+ while (root && root?.__bbnTarget) {
52
+ root = root.__bbnTarget;
53
+ }
54
+ return root;
55
+ }
56
+ if (key === '__bbnIsProxy') {
57
+ return true;
58
+ }
59
+ if (key === '__bbnTarget') {
60
+ return target;
61
+ }
62
+ if (key === '__bbnParent') {
63
+ return parent;
64
+ }
65
+ if (key === '__bbnWatchers') {
66
+ return target.__bbnWatchers;
67
+ }
68
+ if (key.indexOf('__bbn_') === 0) {
69
+ return Reflect.get(target, key);
70
+ }
71
+ if (key === 'length' && isArray(target.__bbnRoot || target)) {
72
+ return realTarget.length;
73
+ }
74
+ if (!(key in target)) {
75
+ return realValue;
76
+ }
77
+ if (realValue &&
78
+ typeof realValue === 'object' &&
79
+ [undefined, Object, Array].includes(realValue.constructor)) {
80
+ if (realValue.__bbnIsProxy && realValue.__bbnParent === parent) {
81
+ return realTarget[hiddenKey];
82
+ }
83
+ if (!(hiddenKey in realTarget)) {
84
+ Reflect.defineProperty(realTarget, hiddenKey, {
85
+ value: makeReactive(realValue, onSet, parent, propName),
86
+ writable: true,
87
+ configurable: true,
88
+ enumerable: false,
89
+ });
90
+ }
91
+ if (realTarget[hiddenKey].__bbnIsProxy && !realTarget.__bbnWatchers[parentString]) {
92
+ realTarget.__bbnWatchers[parentString] = propName;
93
+ }
94
+ return realTarget[hiddenKey];
95
+ }
96
+ return realValue;
97
+ },
98
+ set(target, key, value) {
99
+ if (isSymbol(key)) {
100
+ return Reflect.get(target, key, value);
101
+ }
102
+ const realTarget = target.__bbnRoot || target;
103
+ const propName = parentProp ? parentProp + '.' + key : key;
104
+ if (isSymbol(key)) {
105
+ return Reflect.get(target, key);
106
+ }
107
+ if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {
108
+ log(['Setting proxy prop in ' + parent.$options.name, target, key, value]);
109
+ }
110
+ if (!isSame(realTarget[key], value)) {
111
+ if (key.indexOf('__bbn_') === 0) {
112
+ Reflect.defineProperty(realTarget, key, {
113
+ value: makeReactive(value, onSet, parent, propName),
114
+ writable: true,
115
+ configurable: true,
116
+ enumerable: false,
117
+ });
118
+ }
119
+ else {
120
+ if (value &&
121
+ typeof value === 'object' &&
122
+ [undefined, Object, Array].includes(value.constructor)) {
123
+ const hiddenKey = prefix + (isNumber(key) ? key.toString() : key);
124
+ Reflect.defineProperty(realTarget, hiddenKey, {
125
+ value: makeReactive(value, onSet, parent, propName),
126
+ writable: true,
127
+ configurable: true,
128
+ enumerable: false,
129
+ });
130
+ if (realTarget[hiddenKey].__bbnIsProxy && !realTarget.__bbnWatchers[parentString]) {
131
+ realTarget.__bbnWatchers[parentString] = propName;
132
+ }
133
+ }
134
+ }
135
+ if (parent && parent.$options && parent.$options.name === 'bbn-loadbar') {
136
+ log([
137
+ 'Setting proxy prop in ' +
138
+ parent.$options.name +
139
+ ' ' +
140
+ (isNumber(key) ? key.toString() : key),
141
+ value,
142
+ target,
143
+ ]);
144
+ }
145
+ Reflect.set(realTarget, key, value);
146
+ onSet(target, key, parent);
147
+ }
148
+ return true;
149
+ },
150
+ defineProperty(target, key, description) {
151
+ const realTarget = target;
152
+ const propName = parentProp ? parentProp + '.' + key : key;
153
+ if (key === '__bbnWatchers' || isSymbol(key) || key.indexOf('__bbn_') === 0) {
154
+ Reflect.defineProperty(realTarget, key, description);
155
+ }
156
+ else {
157
+ const hiddenKey = prefix + (isNumber(key) ? key.toString() : key);
158
+ Reflect.defineProperty(realTarget, hiddenKey, {
159
+ value: makeReactive(description.value, onSet, parent, propName),
160
+ writable: true,
161
+ configurable: true,
162
+ enumerable: false,
163
+ });
164
+ }
165
+ onSet(target, key, parent);
166
+ return true;
167
+ },
168
+ deleteProperty(target, key) {
169
+ const realTarget = target;
170
+ if (key.indexOf('__bbn_') === 0) {
171
+ Reflect.deleteProperty(realTarget, key);
172
+ }
173
+ else {
174
+ const hiddenKey = prefix + (isNumber(key) ? key.toString() : key);
175
+ Reflect.deleteProperty(realTarget, hiddenKey);
176
+ Reflect.deleteProperty(target, key);
177
+ }
178
+ return true;
179
+ },
180
+ };
181
+ return new Proxy(obj, handler);
182
+ }
183
+ return obj;
184
+ };
185
+ export { makeReactive };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @ignore
3
+ * @method selector
4
+ * @todo Add method description for selector
5
+ * @global
6
+ * @memberof bbn.fn
7
+ * @returns {*}
8
+ */
9
+ declare const selector: (ele: string | HTMLElement) => HTMLElement | undefined;
10
+ export { selector };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @ignore
3
+ * @method selector
4
+ * @todo Add method description for selector
5
+ * @global
6
+ * @memberof bbn.fn
7
+ * @returns {*}
8
+ */
9
+ const selector = function (ele) {
10
+ return typeof ele === "string" ? document.querySelector(ele) : ele;
11
+ };
12
+ export { selector };
package/dist/fn/init.d.ts CHANGED
@@ -1,2 +1,15 @@
1
+ /**
2
+ * Initializes the library bbn basing on the given configuration object.
3
+ * - Gives to the environment the dimension of the window.innerWidth and window.innerHeight
4
+ * - Defines the server's path (difference between the host and the current dir)
5
+ * - Adds the colors contained in bbn.var.colors to define the css classes for background and colors.
6
+ * - Adds the event listener to the document
7
+ * - Activates the history
8
+ * @method init
9
+ * @global
10
+ * @memberof bbn.fn
11
+ * @param {Object} cfg
12
+ * @returns
13
+ */
1
14
  declare const init: (cfg: any, force: any) => void;
2
15
  export { init };
package/dist/fn/init.js CHANGED
@@ -1,15 +1,28 @@
1
- import { substr } from './substr';
2
- import { each } from './each';
3
- import { extend } from './extend';
4
- import { addColors } from './addColors';
5
- import { link } from './link';
6
- import { submit } from './submit';
7
- import { resize } from './resize';
8
- import { isMobile } from './isMobile';
9
- import { isTabletDevice } from './isTabletDevice';
10
- import { defaultHistoryFunction } from './defaultHistoryFunction';
11
- import { isFunction } from './isFunction';
12
- import { log } from './log';
1
+ import { substr } from './string/substr';
2
+ import { each } from './loop/each';
3
+ import { extend } from './object/extend';
4
+ import { addColors } from './style/addColors';
5
+ import { link } from './ajax/link';
6
+ import { submit } from './form/submit';
7
+ import { resize } from './style/resize';
8
+ import { isMobile } from './browser/isMobile';
9
+ import { isTabletDevice } from './browser/isTabletDevice';
10
+ import { defaultHistoryFunction } from './default/defaultHistoryFunction';
11
+ import { isFunction } from './type/isFunction';
12
+ import { log } from './browser/log';
13
+ /**
14
+ * Initializes the library bbn basing on the given configuration object.
15
+ * - Gives to the environment the dimension of the window.innerWidth and window.innerHeight
16
+ * - Defines the server's path (difference between the host and the current dir)
17
+ * - Adds the colors contained in bbn.var.colors to define the css classes for background and colors.
18
+ * - Adds the event listener to the document
19
+ * - Activates the history
20
+ * @method init
21
+ * @global
22
+ * @memberof bbn.fn
23
+ * @param {Object} cfg
24
+ * @returns
25
+ */
13
26
  const init = function (cfg, force) {
14
27
  let parts;
15
28
  if (!bbn.env.isInit || force) {
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Executes the provided function on each element of the given array.
3
+ *
4
+ * Returning false will stop the loop.
5
+ *
6
+ * @method each
7
+ * @global
8
+ * @example
9
+ * ```javascript
10
+ * let res = 0;
11
+ * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {
12
+ * res += d;
13
+ * });
14
+ * // res = 27
15
+ * ```
16
+ * @example
17
+ * ```javascript
18
+ * let res = 0;
19
+ * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {
20
+ * if (res >= 20) {
21
+ * return false;
22
+ * }
23
+ * res += d;
24
+ * });
25
+ * // res = 24
26
+ * ```
27
+ * @memberof bbn.fn
28
+ * @param {*} arr The array to loop on
29
+ * @param {Function} fn The function, gets the array's element and the index as arguments
30
+ * @returns {[Array, Object, void]}
31
+ */
32
+ declare const each: (arr: any, fn: any) => any;
33
+ export { each };
@@ -0,0 +1,54 @@
1
+ import { isNumber } from "../type/isNumber";
2
+ import { isIterable } from "../type/isIterable";
3
+ import { iterate } from "./iterate";
4
+ /**
5
+ * Executes the provided function on each element of the given array.
6
+ *
7
+ * Returning false will stop the loop.
8
+ *
9
+ * @method each
10
+ * @global
11
+ * @example
12
+ * ```javascript
13
+ * let res = 0;
14
+ * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {
15
+ * res += d;
16
+ * });
17
+ * // res = 27
18
+ * ```
19
+ * @example
20
+ * ```javascript
21
+ * let res = 0;
22
+ * bbn.fn.each([4, 5, 5, 10, 1, 2], d => {
23
+ * if (res >= 20) {
24
+ * return false;
25
+ * }
26
+ * res += d;
27
+ * });
28
+ * // res = 24
29
+ * ```
30
+ * @memberof bbn.fn
31
+ * @param {*} arr The array to loop on
32
+ * @param {Function} fn The function, gets the array's element and the index as arguments
33
+ * @returns {[Array, Object, void]}
34
+ */
35
+ const each = function (arr, fn) {
36
+ if (isNumber(arr) && arr > 0) {
37
+ for (let i = 0; i < arr; i++) {
38
+ if (fn(i, i) === false) {
39
+ return;
40
+ }
41
+ }
42
+ return;
43
+ }
44
+ if (isIterable(arr)) {
45
+ for (let i = 0; i < arr.length; i++) {
46
+ if (fn(arr[i], i) === false) {
47
+ return;
48
+ }
49
+ }
50
+ return arr;
51
+ }
52
+ return iterate(arr, fn);
53
+ };
54
+ export { each };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Executes the provided function on each element of the given array.
3
+ *
4
+ * A minimum and a maximum value can be provided, within the boundaries of the
5
+ * array's indexes. Returning false will stop the loop.
6
+ *
7
+ * @method fori
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * let res = 0;
12
+ * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {
13
+ * res += d;
14
+ * }, 3);
15
+ * // res = 24
16
+ * ```
17
+ * @example
18
+ * ```javascript
19
+ * let res = 0;
20
+ * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {
21
+ * if (res >= 20) {
22
+ * return false;
23
+ * }
24
+ * res += d;
25
+ * }, 4, 1);
26
+ * // res = 20
27
+ * ```
28
+ * @memberof bbn.fn
29
+ * @param {Array} arr The array to loop on
30
+ * @param {Function} fn The function, gets the array's element and the index as arguments
31
+ * @param {Number} max The index to which the loop will stop
32
+ * @param {Number} min The index at which the loop will start
33
+ * @returns {undefined}
34
+ */
35
+ declare const fori: (arr: any[], fn: (a: any, i: number) => any, max?: number, min?: number) => void;
36
+ export { fori };
@@ -0,0 +1,53 @@
1
+ import { isArray } from "../type/isArray";
2
+ import { isNumber } from "../type/isNumber";
3
+ /**
4
+ * Executes the provided function on each element of the given array.
5
+ *
6
+ * A minimum and a maximum value can be provided, within the boundaries of the
7
+ * array's indexes. Returning false will stop the loop.
8
+ *
9
+ * @method fori
10
+ * @global
11
+ * @example
12
+ * ```javascript
13
+ * let res = 0;
14
+ * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {
15
+ * res += d;
16
+ * }, 3);
17
+ * // res = 24
18
+ * ```
19
+ * @example
20
+ * ```javascript
21
+ * let res = 0;
22
+ * bbn.fn.fori([4, 5, 5, 10, 1, 2], d => {
23
+ * if (res >= 20) {
24
+ * return false;
25
+ * }
26
+ * res += d;
27
+ * }, 4, 1);
28
+ * // res = 20
29
+ * ```
30
+ * @memberof bbn.fn
31
+ * @param {Array} arr The array to loop on
32
+ * @param {Function} fn The function, gets the array's element and the index as arguments
33
+ * @param {Number} max The index to which the loop will stop
34
+ * @param {Number} min The index at which the loop will start
35
+ * @returns {undefined}
36
+ */
37
+ const fori = function (arr, fn, max = arr.length - 1, min = 0) {
38
+ if (isArray(arr)) {
39
+ let realMax = arr.length - 1;
40
+ if (!isNumber(max) || !(0 < max && max <= realMax)) {
41
+ max = realMax;
42
+ }
43
+ if (!isNumber(min) || !(0 <= min && min < realMax) || min > max) {
44
+ min = 0;
45
+ }
46
+ for (let i = min; i <= max; i++) {
47
+ if (fn(arr[i], i) === false) {
48
+ return;
49
+ }
50
+ }
51
+ }
52
+ };
53
+ export { fori };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Executes the provided function on each element of the given array, going backward.
3
+ *
4
+ * A maximum and a minimum value can be provided, within the boundaries of the
5
+ * array's indexes. Returning false will stop the loop.
6
+ *
7
+ * @method forir
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * let res = 0;
12
+ * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {
13
+ * res += d;
14
+ * }, 4, 2);
15
+ * // res = 16
16
+ * ```
17
+ * @example
18
+ * ```javascript
19
+ * let res = 0;
20
+ * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {
21
+ * if (res >= 20) {
22
+ * return false;
23
+ * }
24
+ * res += d;
25
+ * });
26
+ * // res = 23
27
+ * ```
28
+ * @memberof bbn.fn
29
+ * @param {Array} arr The array to loop on
30
+ * @param {Function} fn The function, gets the array's element and the index as arguments
31
+ * @param {Number} max The index to which the loop will stop
32
+ * @param {Number} min The index at which the loop will start
33
+ * @returns {undefined}
34
+ */
35
+ declare const forir: (arr: any[], fn: (a: any, b: number) => any, max?: number, min?: number) => void;
36
+ export { forir };
@@ -0,0 +1,53 @@
1
+ import { isArray } from "../type/isArray";
2
+ import { isNumber } from "../type/isNumber";
3
+ /**
4
+ * Executes the provided function on each element of the given array, going backward.
5
+ *
6
+ * A maximum and a minimum value can be provided, within the boundaries of the
7
+ * array's indexes. Returning false will stop the loop.
8
+ *
9
+ * @method forir
10
+ * @global
11
+ * @example
12
+ * ```javascript
13
+ * let res = 0;
14
+ * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {
15
+ * res += d;
16
+ * }, 4, 2);
17
+ * // res = 16
18
+ * ```
19
+ * @example
20
+ * ```javascript
21
+ * let res = 0;
22
+ * bbn.fn.forir([4, 5, 5, 10, 1, 2], d => {
23
+ * if (res >= 20) {
24
+ * return false;
25
+ * }
26
+ * res += d;
27
+ * });
28
+ * // res = 23
29
+ * ```
30
+ * @memberof bbn.fn
31
+ * @param {Array} arr The array to loop on
32
+ * @param {Function} fn The function, gets the array's element and the index as arguments
33
+ * @param {Number} max The index to which the loop will stop
34
+ * @param {Number} min The index at which the loop will start
35
+ * @returns {undefined}
36
+ */
37
+ const forir = function (arr, fn, max = arr.length - 1, min = 0) {
38
+ if (isArray(arr)) {
39
+ let realMax = arr.length - 1;
40
+ if (!isNumber(max) || !(0 < max && max <= realMax)) {
41
+ max = realMax;
42
+ }
43
+ if (!isNumber(min) || !(0 <= min && min < realMax) || min > max) {
44
+ min = 0;
45
+ }
46
+ for (let i = max; i >= min; i--) {
47
+ if (fn(arr[i], i) === false) {
48
+ return;
49
+ }
50
+ }
51
+ }
52
+ };
53
+ export { forir };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Executes the provided function on each property of the given object.
3
+ *
4
+ * @method iterate
5
+ * @global
6
+ * @example
7
+ * ```javascript
8
+ * //["value1", 2]
9
+ * let arr = [];
10
+ * bbn.fn.iterate({field1: "value1", field2: 2}, (val, idx) => {
11
+ * arr.push(value);
12
+ * });
13
+ * ```
14
+ * @memberof bbn.fn
15
+ * @param {(Object|Number)} obj The object to loop on
16
+ * @param {Function} fn The function, gets the array's element and the index as arguments
17
+ * @param {Boolean} noPrivate If set to true the _private_ properties won't be included
18
+ * @param {Boolean} reverse If set to true the order of the keys will be reversed
19
+ * @returns {Object}
20
+ */
21
+ declare const iterate: (obj: object, fn: (a: any, b: string) => any, noPrivate?: boolean, reverse?: boolean) => object;
22
+ export { iterate };
@@ -0,0 +1,36 @@
1
+ import { removePrivateProp } from "../object/removePrivateProp";
2
+ /**
3
+ * Executes the provided function on each property of the given object.
4
+ *
5
+ * @method iterate
6
+ * @global
7
+ * @example
8
+ * ```javascript
9
+ * //["value1", 2]
10
+ * let arr = [];
11
+ * bbn.fn.iterate({field1: "value1", field2: 2}, (val, idx) => {
12
+ * arr.push(value);
13
+ * });
14
+ * ```
15
+ * @memberof bbn.fn
16
+ * @param {(Object|Number)} obj The object to loop on
17
+ * @param {Function} fn The function, gets the array's element and the index as arguments
18
+ * @param {Boolean} noPrivate If set to true the _private_ properties won't be included
19
+ * @param {Boolean} reverse If set to true the order of the keys will be reversed
20
+ * @returns {Object}
21
+ */
22
+ const iterate = function (obj, fn, noPrivate = false, reverse = false) {
23
+ if (obj !== null && typeof obj === "object") {
24
+ let iter = Object.keys(noPrivate ? removePrivateProp(obj) : obj);
25
+ if (reverse) {
26
+ iter.reverse();
27
+ }
28
+ for (let prop of iter) {
29
+ if (fn(obj[prop], prop) === false) {
30
+ break;
31
+ }
32
+ }
33
+ }
34
+ return obj;
35
+ };
36
+ export { iterate };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Executes the provided function on each property of the given object.
3
+ *
4
+ * @method riterate
5
+ * @global
6
+ * @example
7
+ * ```javascript
8
+ * //["value1", 2]
9
+ * let arr = [];
10
+ * bbn.fn.iterate({field1: "value1", field2: 2}, (val, idx) => {
11
+ * arr.push(value);
12
+ * });
13
+ * ```
14
+ * @memberof bbn.fn
15
+ * @param {(Object|Number)} obj The object to loop on
16
+ * @param {Function} fn The function, gets the array's element and the index as arguments
17
+ * @param {Boolean} noPrivate If set to true the _private_ properties won't be included
18
+ * @returns {Object}
19
+ */
20
+ declare const riterate: (obj: object, fn: (a: any, b: string) => any, noPrivate?: boolean) => object;
21
+ export { riterate };
@@ -0,0 +1,24 @@
1
+ import { iterate } from "./iterate";
2
+ /**
3
+ * Executes the provided function on each property of the given object.
4
+ *
5
+ * @method riterate
6
+ * @global
7
+ * @example
8
+ * ```javascript
9
+ * //["value1", 2]
10
+ * let arr = [];
11
+ * bbn.fn.iterate({field1: "value1", field2: 2}, (val, idx) => {
12
+ * arr.push(value);
13
+ * });
14
+ * ```
15
+ * @memberof bbn.fn
16
+ * @param {(Object|Number)} obj The object to loop on
17
+ * @param {Function} fn The function, gets the array's element and the index as arguments
18
+ * @param {Boolean} noPrivate If set to true the _private_ properties won't be included
19
+ * @returns {Object}
20
+ */
21
+ const riterate = function (obj, fn, noPrivate) {
22
+ return iterate(obj, fn, noPrivate, true);
23
+ };
24
+ export { riterate };
@@ -0,0 +1,11 @@
1
+ declare const analyzeFunction: (fn: any) => {
2
+ body: any;
3
+ args: any[];
4
+ argString: string;
5
+ isArrow: boolean;
6
+ hasFunction: boolean;
7
+ name: any;
8
+ isAsync: boolean;
9
+ hash: string;
10
+ };
11
+ export { analyzeFunction };