@bbn/bbn 1.0.59 → 1.0.61

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 +4062 -501
  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 +39 -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,141 @@
1
+ import { md5 } from '../string/md5';
2
+ const analyzeFunction = function (fn) {
3
+ const functionString = fn.toString();
4
+ let all = functionString.split('');
5
+ let exp = '';
6
+ let isArrow = false;
7
+ let isAsync = false;
8
+ let hasFunction = false;
9
+ let name = null;
10
+ let parOpened = 0;
11
+ let parClosed = 0;
12
+ let args = [];
13
+ let currentArg = {};
14
+ let body;
15
+ let currentQuote = '';
16
+ let escapable = ['"', "'", '`'];
17
+ let isEscaped = false;
18
+ let settingDefault = false;
19
+ for (let i = 0; i < all.length; i++) {
20
+ if (all[i] === currentQuote && !isEscaped && currentQuote) {
21
+ currentQuote = '';
22
+ exp += all[i];
23
+ }
24
+ else if (currentQuote) {
25
+ exp += all[i];
26
+ }
27
+ else if (escapable.includes(all[i]) && !isEscaped) {
28
+ currentQuote = all[i];
29
+ exp += all[i];
30
+ }
31
+ else if (all[i] === '(') {
32
+ parOpened++;
33
+ if (exp.trim() !== '') {
34
+ if (exp.trim() === 'function') {
35
+ hasFunction = true;
36
+ }
37
+ if (exp.trim() !== 'async') {
38
+ name = exp.trim();
39
+ }
40
+ exp = '';
41
+ }
42
+ }
43
+ else if (all[i] === ')') {
44
+ if (parOpened === parClosed + 1) {
45
+ if (settingDefault) {
46
+ currentArg.default = exp.trim();
47
+ settingDefault = false;
48
+ }
49
+ else if (exp) {
50
+ currentArg.name = exp.trim();
51
+ }
52
+ if (currentArg.name || currentArg.default) {
53
+ args.push(currentArg);
54
+ currentArg = {};
55
+ }
56
+ exp = '';
57
+ }
58
+ parClosed++;
59
+ }
60
+ else if (all[i] === '=') {
61
+ if (functionString.substr(i, 2) === '=>') {
62
+ if (exp.trim() !== '' && parOpened === parClosed) {
63
+ currentArg.name = exp.trim();
64
+ args.push(currentArg);
65
+ currentArg = {};
66
+ exp = '';
67
+ }
68
+ isArrow = true;
69
+ i++;
70
+ continue;
71
+ }
72
+ else if (parOpened > parClosed && !settingDefault) {
73
+ currentArg.name = exp.trim();
74
+ exp = '';
75
+ settingDefault = true;
76
+ }
77
+ else {
78
+ exp += all[i];
79
+ }
80
+ }
81
+ else if (all[i] === ',') {
82
+ if (parOpened > parClosed) {
83
+ if (settingDefault) {
84
+ currentArg.default = exp.trim();
85
+ settingDefault = false;
86
+ }
87
+ else if (exp) {
88
+ currentArg.name = exp.trim();
89
+ }
90
+ if (currentArg.name || currentArg.default) {
91
+ args.push(currentArg);
92
+ currentArg = {};
93
+ }
94
+ exp = '';
95
+ }
96
+ else {
97
+ throw Error("Unexpected ',' while parsing function");
98
+ }
99
+ }
100
+ else if (all[i] === '{' || all[i] === '}') {
101
+ body = functionString.substring(i).trim();
102
+ break;
103
+ }
104
+ else if (isArrow) {
105
+ body = functionString.substring(functionString.indexOf('=>') + 2).trim();
106
+ break;
107
+ }
108
+ else if (all[i] === ' ') {
109
+ if (exp.trim() !== '') {
110
+ if (exp.trim() === 'async') {
111
+ isAsync = true;
112
+ exp = '';
113
+ }
114
+ }
115
+ }
116
+ else {
117
+ exp += all[i];
118
+ }
119
+ }
120
+ if (!body) {
121
+ if (isArrow) {
122
+ body = exp;
123
+ }
124
+ else {
125
+ throw Error('Unexpected end of function while parsing function');
126
+ }
127
+ }
128
+ const argString = args.map((arg) => arg.name + (arg.default ? ' = ' + arg.default : '')).join(', ');
129
+ const hash = md5(body + (name ? '-' + name : '') + (argString ? '-' + argString : ''));
130
+ return {
131
+ body,
132
+ args,
133
+ argString,
134
+ isArrow,
135
+ hasFunction,
136
+ name,
137
+ isAsync,
138
+ hash,
139
+ };
140
+ };
141
+ export { analyzeFunction };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Returns the length of time the window has not been focused in seconds.
3
+ * @method getTimeoff
4
+ * @global
5
+ * @example
6
+ * ``` javascript
7
+ * bbn.fn.getTimeoff();
8
+ * // 0
9
+ * ```
10
+ * @memberof bbn.fn
11
+ * @returns {Boolean}
12
+ */
13
+ declare const getTimeoff: () => number;
14
+ export { getTimeoff };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Returns the length of time the window has not been focused in seconds.
3
+ * @method getTimeoff
4
+ * @global
5
+ * @example
6
+ * ``` javascript
7
+ * bbn.fn.getTimeoff();
8
+ * // 0
9
+ * ```
10
+ * @memberof bbn.fn
11
+ * @returns {Boolean}
12
+ */
13
+ const getTimeoff = function () {
14
+ if (!bbn.env.isFocused) {
15
+ return Math.round(new Date().getTime() / 1000 - bbn.env.timeoff);
16
+ }
17
+ return 0;
18
+ };
19
+ export { getTimeoff };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Returns the given value to money format basing on the given configuration.
3
+ *
4
+ * @method money
5
+ * @global
6
+ *
7
+ * @example
8
+ * ``` javascript
9
+ * // "5 856.0 $"
10
+ * bbn.fn.money(5856, false, '$', false, '.' ,false, 1);
11
+ * ```
12
+ *
13
+ * @memberof bbn.fn
14
+ * @param {String|Number} val The value.
15
+ * @param {Boolean} kilo If the value has to be rendered in kilo.
16
+ * @param {String} currency The currency.
17
+ * @param {String} novalue The string to return if no valid value is given.
18
+ * @param {String} decimal The character to use separate decimals.
19
+ * @param {String} thousands The character to use to separate thounsands.
20
+ * @param {Number} precision The number of decimals places.
21
+ */
22
+ declare const money: (val: number, kilo?: boolean, currency?: string, novalue?: string | false, decimal?: string, thousands?: string, precision?: number) => string;
23
+ export { money };
@@ -0,0 +1,122 @@
1
+ import { isNumber } from '../type/isNumber';
2
+ /**
3
+ * Returns the given value to money format basing on the given configuration.
4
+ *
5
+ * @method money
6
+ * @global
7
+ *
8
+ * @example
9
+ * ``` javascript
10
+ * // "5 856.0 $"
11
+ * bbn.fn.money(5856, false, '$', false, '.' ,false, 1);
12
+ * ```
13
+ *
14
+ * @memberof bbn.fn
15
+ * @param {String|Number} val The value.
16
+ * @param {Boolean} kilo If the value has to be rendered in kilo.
17
+ * @param {String} currency The currency.
18
+ * @param {String} novalue The string to return if no valid value is given.
19
+ * @param {String} decimal The character to use separate decimals.
20
+ * @param {String} thousands The character to use to separate thounsands.
21
+ * @param {Number} precision The number of decimals places.
22
+ */
23
+ const money = function (val, kilo, currency, novalue, decimal, thousands, precision) {
24
+ /*
25
+ money(val, kilo){
26
+ let decimal = ',',
27
+ currency = '€',
28
+ thousands = ' ';
29
+ if ( (isNaN(val) || !val) ){
30
+ return '-';
31
+ }
32
+ if ( isNaN(val) || !val ){
33
+ return 0;
34
+ }
35
+ if ( kilo && val ){
36
+ val = val / 1000;
37
+ if ( currency ){
38
+ currency = 'K' + currency;
39
+ }
40
+ }
41
+ return parseFloat(val).toFixed(0).replace(/./g, function(c, i, a) {
42
+ if ( c === '.' ){
43
+ return decimal;
44
+ }
45
+ return i && ((a.length - i) % 3 === 0) ? thousands + c : c;
46
+ }) + ( currency ? ' ' + currency : '');
47
+ },
48
+
49
+ */
50
+ if (!decimal) {
51
+ decimal =
52
+ decimal === undefined && bbn.env.money && bbn.env.money.decimal !== undefined ? bbn.env.money.decimal : '.';
53
+ }
54
+ if (!currency) {
55
+ currency =
56
+ currency === undefined && bbn.env.money && bbn.env.money.currency !== undefined
57
+ ? bbn.env.money.currency
58
+ : '';
59
+ }
60
+ if (!thousands) {
61
+ thousands =
62
+ thousands === undefined && bbn.env.money && bbn.env.money.thousands !== undefined
63
+ ? bbn.env.money.thousands
64
+ : ' ';
65
+ }
66
+ if (!precision) {
67
+ precision =
68
+ precision === undefined && bbn.env.money && bbn.env.money.precision !== undefined
69
+ ? bbn.env.money.precision
70
+ : 0;
71
+ }
72
+ if (!kilo) {
73
+ kilo = kilo === undefined && bbn.env.money && bbn.env.money.kilo !== undefined ? bbn.env.money.kilo : false;
74
+ }
75
+ if (!novalue) {
76
+ novalue =
77
+ novalue === undefined && bbn.env.money && bbn.env.money.novalue !== undefined
78
+ ? bbn.env.money.novalue
79
+ : false;
80
+ }
81
+ if (!isNumber(precision)) {
82
+ precision = kilo ? 3 : 0;
83
+ }
84
+ if ((val === 0) && (typeof precision === 'number') && (precision > 0)) {
85
+ let res = val.toFixed(precision).replace('.', decimal);
86
+ if (currency) {
87
+ res += ' ' + (kilo ? 'K' + currency : currency);
88
+ }
89
+ return res;
90
+ }
91
+ if ((isNaN(val) || !val) && novalue) {
92
+ return novalue;
93
+ }
94
+ if (isNaN(val) || !val) {
95
+ return 0 + (currency ? ' ' + currency : '');
96
+ }
97
+ if (kilo && val) {
98
+ val = val / 1000;
99
+ if (currency) {
100
+ currency = 'K' + currency;
101
+ }
102
+ }
103
+ let v = val.toFixed(precision);
104
+ let decimalPosition = 0;
105
+ let decimalIdx = 10000;
106
+ if (v) {
107
+ decimalIdx = v.indexOf('.');
108
+ if (decimalIdx <= 0) {
109
+ decimalIdx = 10000;
110
+ }
111
+ else {
112
+ decimalPosition = v.length - decimalIdx;
113
+ }
114
+ }
115
+ return (v.replace(/./g, function (c, i, a) {
116
+ if (c === '.') {
117
+ return decimal;
118
+ }
119
+ return i && (a.length - i - decimalPosition) % 3 === 0 && i < decimalIdx ? thousands + c : c;
120
+ }) + (currency ? ' ' + currency : ''));
121
+ };
122
+ export { money };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Returns the value of the proportion giving the percentage and the total from where to be calculated.
3
+ * @method percent
4
+ * @global
5
+ *
6
+ * @example
7
+ * ```javascript
8
+ * //150
9
+ * bbn.fn.percent('15',1000);
10
+ * ```
11
+ *
12
+ * @example
13
+ * ```javascript
14
+ * //75
15
+ * bbn.fn.percent(15,500);
16
+ * ```
17
+ * @memberof bbn.fn
18
+ * @param {Number|String} percent
19
+ * @param {Number|String} cent
20
+ * @returns {Number}
21
+ */
22
+ declare const percent: (percent: any, cent: any) => number;
23
+ export { percent };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Returns the value of the proportion giving the percentage and the total from where to be calculated.
3
+ * @method percent
4
+ * @global
5
+ *
6
+ * @example
7
+ * ```javascript
8
+ * //150
9
+ * bbn.fn.percent('15',1000);
10
+ * ```
11
+ *
12
+ * @example
13
+ * ```javascript
14
+ * //75
15
+ * bbn.fn.percent(15,500);
16
+ * ```
17
+ * @memberof bbn.fn
18
+ * @param {Number|String} percent
19
+ * @param {Number|String} cent
20
+ * @returns {Number}
21
+ */
22
+ const percent = function (percent, cent) {
23
+ return (cent / 100) * percent;
24
+ };
25
+ export { percent };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Returns a random integer.
3
+ *
4
+ * Generates and returns a random number in a range of numbers defined
5
+ * by passed arguments a minimum and a maximum.
6
+ *
7
+ * @method randomInt
8
+ * @global
9
+ *
10
+ * @example
11
+ * ```javascript
12
+ * //56
13
+ * bbn.fn.randomInt(1,100);
14
+ * ```
15
+ *
16
+ * @memberof bbn.fn
17
+ * @param {Number} min
18
+ * @param {Number} max
19
+ * @returns {Number}
20
+ */
21
+ declare const randomInt: (min: number, max: number) => number;
22
+ export { randomInt };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Returns a random integer.
3
+ *
4
+ * Generates and returns a random number in a range of numbers defined
5
+ * by passed arguments a minimum and a maximum.
6
+ *
7
+ * @method randomInt
8
+ * @global
9
+ *
10
+ * @example
11
+ * ```javascript
12
+ * //56
13
+ * bbn.fn.randomInt(1,100);
14
+ * ```
15
+ *
16
+ * @memberof bbn.fn
17
+ * @param {Number} min
18
+ * @param {Number} max
19
+ * @returns {Number}
20
+ */
21
+ const randomInt = function (min, max) {
22
+ return Math.floor(Math.random() * (max - min + 1) + min);
23
+ };
24
+ export { randomInt };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @method roundDecimal
3
+ * @todo Add method description for roundDecimal
4
+ * @global
5
+ * @memberof bbn.fn
6
+ * @param {Number} value
7
+ * @param {Number} decimals
8
+ * @returns {}
9
+ */
10
+ declare const roundDecimal: (value: number, decimals: number) => number;
11
+ export { roundDecimal };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @method roundDecimal
3
+ * @todo Add method description for roundDecimal
4
+ * @global
5
+ * @memberof bbn.fn
6
+ * @param {Number} value
7
+ * @param {Number} decimals
8
+ * @returns {}
9
+ */
10
+ const roundDecimal = function (value, decimals) {
11
+ return Math.round(Math.pow(Math.pow(value, decimals), -decimals));
12
+ };
13
+ export { roundDecimal };
@@ -0,0 +1,2 @@
1
+ declare const translate: (o: object, namespace?: string) => void;
2
+ export { translate };
@@ -0,0 +1,8 @@
1
+ import { iterate } from '../loop/iterate';
2
+ const translate = function (o, namespace) {
3
+ let lng = namespace ? bbn.lng[namespace.indexOf('_') === 0 ? namespace : '_' + namespace] : bbn.lng;
4
+ iterate(o, (v, k) => {
5
+ lng[k] = v;
6
+ });
7
+ };
8
+ export { translate };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Compares the given property in the given objects and returns -1, 1, or 0 depending on their difference.
3
+ *
4
+ * This is only used as a sorting function by bbn.fn.order and bbn.fn.multiorder.
5
+ *
6
+ * @method _compareValues
7
+ * @global
8
+ * @example
9
+ * ```javascript
10
+ * // Same value
11
+ * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'value');
12
+ * // 0
13
+ * ```
14
+ * @example
15
+ * ```javascript
16
+ * // First value smaller than second
17
+ * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'year');
18
+ * // -1
19
+ * ```
20
+ * @example
21
+ * ```javascript
22
+ * // First value greater than second
23
+ * bbn.fn._compareValues({year: 2017, value: 2}, {year: 2016, value: 2}, 'year');
24
+ * // 1
25
+ * ```
26
+ * @example
27
+ * ```javascript
28
+ * // First value is undefined
29
+ * bbn.fn._compareValues({year: 2017}, {year: 2016, value: 2}, 'value');
30
+ * // 1
31
+ * ```
32
+ * @memberof bbn.fn
33
+ * @param {Object} a First object for comparison
34
+ * @param {Object} b Second object for comparison
35
+ * @param {String} prop Property to compare
36
+ * @param {String} [dir=asc] Direction of comparison (desc or asc by default)
37
+ * @returns {Number} Always either -1, 1, or 0
38
+ */
39
+ declare const _compareValues: (a: any, b: any, prop: any, dir?: string) => 0 | 1 | -1;
40
+ export { _compareValues };
@@ -0,0 +1,78 @@
1
+ import { getProperty } from "./getProperty";
2
+ import { isString } from "../type/isString";
3
+ import { removeAccents } from "../string/removeAccents";
4
+ import { isDate } from "../type/isDate";
5
+ /**
6
+ * Compares the given property in the given objects and returns -1, 1, or 0 depending on their difference.
7
+ *
8
+ * This is only used as a sorting function by bbn.fn.order and bbn.fn.multiorder.
9
+ *
10
+ * @method _compareValues
11
+ * @global
12
+ * @example
13
+ * ```javascript
14
+ * // Same value
15
+ * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'value');
16
+ * // 0
17
+ * ```
18
+ * @example
19
+ * ```javascript
20
+ * // First value smaller than second
21
+ * bbn.fn._compareValues({year: 2015, value: 2}, {year: 2016, value: 2}, 'year');
22
+ * // -1
23
+ * ```
24
+ * @example
25
+ * ```javascript
26
+ * // First value greater than second
27
+ * bbn.fn._compareValues({year: 2017, value: 2}, {year: 2016, value: 2}, 'year');
28
+ * // 1
29
+ * ```
30
+ * @example
31
+ * ```javascript
32
+ * // First value is undefined
33
+ * bbn.fn._compareValues({year: 2017}, {year: 2016, value: 2}, 'value');
34
+ * // 1
35
+ * ```
36
+ * @memberof bbn.fn
37
+ * @param {Object} a First object for comparison
38
+ * @param {Object} b Second object for comparison
39
+ * @param {String} prop Property to compare
40
+ * @param {String} [dir=asc] Direction of comparison (desc or asc by default)
41
+ * @returns {Number} Always either -1, 1, or 0
42
+ */
43
+ const _compareValues = function (a, b, prop, dir = "asc") {
44
+ let va = getProperty(a, prop), vb = getProperty(b, prop), ta = (typeof va).toLowerCase(), tb = (typeof vb).toLowerCase();
45
+ if (dir !== "asc" && isString(dir) && dir.toLowerCase() === "desc") {
46
+ dir = "desc";
47
+ }
48
+ if (ta !== tb) {
49
+ va = ta;
50
+ vb = tb;
51
+ }
52
+ else {
53
+ switch (ta) {
54
+ case "string":
55
+ va = removeAccents(va).toLowerCase();
56
+ vb = removeAccents(vb).toLowerCase();
57
+ break;
58
+ case "boolean":
59
+ va = va ? 1 : 0;
60
+ vb = vb ? 1 : 0;
61
+ break;
62
+ case "object":
63
+ if (isDate(va)) {
64
+ va = va.getTime();
65
+ vb = isDate(vb) ? vb.getTime() : 0;
66
+ }
67
+ break;
68
+ }
69
+ }
70
+ if (va < vb) {
71
+ return dir === "desc" ? 1 : -1;
72
+ }
73
+ if (va > vb) {
74
+ return dir === "desc" ? -1 : 1;
75
+ }
76
+ return 0;
77
+ };
78
+ export { _compareValues };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Creates and returns a new array made of the given property's values from the given array of objects.
3
+ *
4
+ * The returned array will always have the same length of the given array, even if the property is not found.
5
+ *
6
+ * @method arrayFromProp
7
+ * @global
8
+ * @example
9
+ * ```javascript
10
+ * bbn.fn.arrayFromProp([
11
+ * {movie: "Brazil", year: 1985},
12
+ * {movie: "Donnie Darko", year: 2001},
13
+ * {movie: "Barry Lindon", year: 1976}
14
+ * ], "year");
15
+ * // [1985, 2001, 1976]
16
+ * ```
17
+ * @example
18
+ * ```javascript
19
+ * bbn.fn.arrayFromProp([
20
+ * {pupil: "Agnes Varda", grade: {year: "B", month: "A"}},
21
+ * {pupil: "Jacques Rivette"},
22
+ * {pupil: "Luc Besson", grade: {year: "C", month: "D"}},
23
+ * {pupil: "Nicole Garcia", grade: {year: "B", month: "B"}}
24
+ * ], "grade.month");
25
+ * // ["A", undefined, "D", "B"]
26
+ * ```
27
+ * @memberof bbn.fn
28
+ * @param {Array} arr
29
+ * @param {String} prop
30
+ * @returns {Array} The new array
31
+ */
32
+ declare const arrayFromProp: (arr: any, prop: any) => any[];
33
+ export { arrayFromProp };
@@ -0,0 +1,41 @@
1
+ import { each } from "../loop/each";
2
+ import { getProperty } from "./getProperty";
3
+ /**
4
+ * Creates and returns a new array made of the given property's values from the given array of objects.
5
+ *
6
+ * The returned array will always have the same length of the given array, even if the property is not found.
7
+ *
8
+ * @method arrayFromProp
9
+ * @global
10
+ * @example
11
+ * ```javascript
12
+ * bbn.fn.arrayFromProp([
13
+ * {movie: "Brazil", year: 1985},
14
+ * {movie: "Donnie Darko", year: 2001},
15
+ * {movie: "Barry Lindon", year: 1976}
16
+ * ], "year");
17
+ * // [1985, 2001, 1976]
18
+ * ```
19
+ * @example
20
+ * ```javascript
21
+ * bbn.fn.arrayFromProp([
22
+ * {pupil: "Agnes Varda", grade: {year: "B", month: "A"}},
23
+ * {pupil: "Jacques Rivette"},
24
+ * {pupil: "Luc Besson", grade: {year: "C", month: "D"}},
25
+ * {pupil: "Nicole Garcia", grade: {year: "B", month: "B"}}
26
+ * ], "grade.month");
27
+ * // ["A", undefined, "D", "B"]
28
+ * ```
29
+ * @memberof bbn.fn
30
+ * @param {Array} arr
31
+ * @param {String} prop
32
+ * @returns {Array} The new array
33
+ */
34
+ const arrayFromProp = function (arr, prop) {
35
+ let r = [];
36
+ each(arr, (a, i) => {
37
+ r.push(getProperty(a, prop));
38
+ });
39
+ return r;
40
+ };
41
+ export { arrayFromProp };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Extends the bbn object by passing the namespace and the object it will merge with.
3
+ *
4
+ * This function is a self-centric shortcut for adding functions or proerties
5
+ * to the bbn object itself.
6
+ *
7
+ * @method autoExtend
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * bbn.fn.autoExtend("fn", {myOwnFunction: () => "Result of my own function"});
12
+ * bbn.fn.myOwnFunction();
13
+ * // Result of my own function
14
+ * ```
15
+ * @example
16
+ * ```javascript
17
+ * bbn.fn.autoExtend("env", {serverLanguage: "php"});
18
+ * bbn.env.sercerLanguage
19
+ * // php
20
+ * ```
21
+ * @example
22
+ * ```javascript
23
+ * bbn.fn.autoExtend("myProject", {name: "My Project"});
24
+ * bbn.myProject.name
25
+ * // Project
26
+ * ```
27
+ * @memberof bbn.fn
28
+ * @param {String} namespace The bbn property, existing or not, in which the object will be merged
29
+ * @param {Object} obj The object to merge
30
+ * @returns {undefined} No return value
31
+ */
32
+ declare const autoExtend: (namespace: any, obj: any) => void;
33
+ export { autoExtend };