@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,40 @@
1
+ import { isObject } from "../type/isObject";
2
+ /**
3
+ * Returns a new object made of the properties from all the given objects.
4
+ *
5
+ * Compared to bbn.fn.extend this still treats the arguments from left to right
6
+ * but without overwriting existing properties, and returning a new object.
7
+ *
8
+ * @method extendOut
9
+ * @global
10
+ * @example
11
+ * ```javascript
12
+ * //{field1: 1, field2: 2, field3: 3, items: {item: 0, item1: 1, item2: 2}, field4: 4}
13
+ * bbn.fn.extendOut({field1: 1, field2: 2, field3: 3, items: {item: 0}}, {field4: 4, items: {item1: 1, item2: 2}});
14
+ * ```
15
+ * @memberof bbn.fn
16
+ * @returns {Object}
17
+ */
18
+ const extendOut = function (...args) {
19
+ let r = null;
20
+ for (let a of args) {
21
+ if (!isObject(a)) {
22
+ throw new Error("Each argument for extendOut must be an object, " + typeof a + " given");
23
+ }
24
+ if (r === null) {
25
+ r = a;
26
+ }
27
+ else {
28
+ for (let n in a) {
29
+ if (isObject(r[n], a[n])) {
30
+ extendOut(r[n], a[n]);
31
+ }
32
+ else if (r[n] === undefined) {
33
+ r[n] = a[n];
34
+ }
35
+ }
36
+ }
37
+ }
38
+ return r;
39
+ };
40
+ export { extendOut };
@@ -0,0 +1,50 @@
1
+ import { Filter } from './filterToConditions';
2
+ /**
3
+ * Returns a new array with only the data matching the given filter.
4
+ *
5
+ * The filtering arguments follow the same scheme as bbn.fn.search.
6
+ *
7
+ * @method filter
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * let ar = [
12
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
13
+ * {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
14
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
15
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
16
+ * ];
17
+ * bbn.fn.filter(ar, {director: "Steven Spielberg"});
18
+ * // [
19
+ * // {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
20
+ * // {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
21
+ * // ]
22
+ * bbn.fn.filter(ar, "director", "Steven Spielberg");
23
+ * // Same result as the previous example
24
+ * bbn.fn.filter(ar, {
25
+ * logic: "OR",
26
+ * conditions: [
27
+ * {
28
+ * field: "director",
29
+ * value: "Richard Donner"
30
+ * }, {
31
+ * field: "director",
32
+ * value: "George Lucas"
33
+ * }
34
+ * ]
35
+ * );
36
+ * // [
37
+ * // {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
38
+ * // {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
39
+ * // ]
40
+ * ```
41
+ *
42
+ * @memberof bbn.fn
43
+ * @param {Array} arr The subject array
44
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
45
+ * @param {*} val The value with which comparing the given property
46
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
47
+ * @returns {Array} A new filtered array
48
+ */
49
+ declare const filter: (arr: any[], prop: string | object | Filter | ((a: any, i: string | number | symbol) => boolean), val?: any, operator?: string) => any[];
50
+ export { filter };
@@ -0,0 +1,94 @@
1
+ import { isArray } from '../type/isArray';
2
+ import { each } from '../loop/each';
3
+ import { filterToConditions } from './filterToConditions';
4
+ import { compareConditions } from './compareConditions';
5
+ /**
6
+ * Returns a new array with only the data matching the given filter.
7
+ *
8
+ * The filtering arguments follow the same scheme as bbn.fn.search.
9
+ *
10
+ * @method filter
11
+ * @global
12
+ * @example
13
+ * ```javascript
14
+ * let ar = [
15
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
16
+ * {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
17
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
18
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
19
+ * ];
20
+ * bbn.fn.filter(ar, {director: "Steven Spielberg"});
21
+ * // [
22
+ * // {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
23
+ * // {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
24
+ * // ]
25
+ * bbn.fn.filter(ar, "director", "Steven Spielberg");
26
+ * // Same result as the previous example
27
+ * bbn.fn.filter(ar, {
28
+ * logic: "OR",
29
+ * conditions: [
30
+ * {
31
+ * field: "director",
32
+ * value: "Richard Donner"
33
+ * }, {
34
+ * field: "director",
35
+ * value: "George Lucas"
36
+ * }
37
+ * ]
38
+ * );
39
+ * // [
40
+ * // {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
41
+ * // {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
42
+ * // ]
43
+ * ```
44
+ *
45
+ * @memberof bbn.fn
46
+ * @param {Array} arr The subject array
47
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
48
+ * @param {*} val The value with which comparing the given property
49
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
50
+ * @returns {Array} A new filtered array
51
+ */
52
+ const filter = function (arr, prop, val = null, operator = '=') {
53
+ if (!isArray(arr)) {
54
+ bbn.fn.log("NOT ARRAY", arr);
55
+ throw new Error('Error in filter: The first argument must be an array');
56
+ }
57
+ let cfg = {};
58
+ const res = [];
59
+ const isFn = typeof (prop) === 'function';
60
+ if (!prop || !arr.length) {
61
+ return arr;
62
+ }
63
+ if (arr.length) {
64
+ if (typeof prop === 'object') {
65
+ operator = val;
66
+ cfg = prop;
67
+ }
68
+ else if (typeof prop === 'string') {
69
+ cfg[prop] = val;
70
+ }
71
+ else if (!isFn) {
72
+ throw new Error('Search function error: The prop argument should be a string or an object');
73
+ }
74
+ if (typeof (prop) === 'function') {
75
+ each(arr, (a, i) => {
76
+ if (prop(a, i)) {
77
+ res.push(a);
78
+ }
79
+ });
80
+ }
81
+ else {
82
+ cfg = filterToConditions(cfg, operator);
83
+ if (cfg.conditions && cfg.logic) {
84
+ each(arr, (a) => {
85
+ if (compareConditions(a, cfg)) {
86
+ res.push(a);
87
+ }
88
+ });
89
+ }
90
+ }
91
+ return res;
92
+ }
93
+ };
94
+ export { filter };
@@ -0,0 +1,48 @@
1
+ interface Condition {
2
+ field: string;
3
+ operator?: string;
4
+ value?: any;
5
+ }
6
+ interface Filter {
7
+ conditions?: Condition[];
8
+ logic?: string;
9
+ }
10
+ /**
11
+ * Converts the given object 'filter' to a valid format of condition.
12
+ *
13
+ * The resulting format will comply with bbn.fn.compareConditions and also with
14
+ * bbn databases functions and complex filters applied to bbn-vue list components.
15
+ *
16
+ * @method filterToConditions
17
+ * @global
18
+ * @example
19
+ * ```javascript
20
+ * bbn.fn.filterToConditions({num: 3});
21
+ * // {
22
+ * // logic: "AND",
23
+ * // conditions: [{
24
+ * // field: "num",
25
+ * // operator: "=",
26
+ * // value: 3
27
+ * // }]
28
+ * // }
29
+ * ```
30
+ * @example
31
+ * ```javascript
32
+ * bbn.fn.filterToConditions({num: 3}, '>');
33
+ * // {
34
+ * // logic: "AND",
35
+ * // conditions: [{
36
+ * // field: "num",
37
+ * // operator: ">",
38
+ * // value: 3
39
+ * // }]
40
+ * // }
41
+ * ```
42
+ * @memberof bbn.fn
43
+ * @param {Object} filter
44
+ * @param {String} operator
45
+ * @returns {Object}
46
+ */
47
+ declare const filterToConditions: (filter: any, operator?: string) => Filter;
48
+ export { Filter, filterToConditions };
@@ -0,0 +1,68 @@
1
+ import { isObject } from "../type/isObject";
2
+ import { isArray } from "../type/isArray";
3
+ import { iterate } from "../loop/iterate";
4
+ /**
5
+ * Converts the given object 'filter' to a valid format of condition.
6
+ *
7
+ * The resulting format will comply with bbn.fn.compareConditions and also with
8
+ * bbn databases functions and complex filters applied to bbn-vue list components.
9
+ *
10
+ * @method filterToConditions
11
+ * @global
12
+ * @example
13
+ * ```javascript
14
+ * bbn.fn.filterToConditions({num: 3});
15
+ * // {
16
+ * // logic: "AND",
17
+ * // conditions: [{
18
+ * // field: "num",
19
+ * // operator: "=",
20
+ * // value: 3
21
+ * // }]
22
+ * // }
23
+ * ```
24
+ * @example
25
+ * ```javascript
26
+ * bbn.fn.filterToConditions({num: 3}, '>');
27
+ * // {
28
+ * // logic: "AND",
29
+ * // conditions: [{
30
+ * // field: "num",
31
+ * // operator: ">",
32
+ * // value: 3
33
+ * // }]
34
+ * // }
35
+ * ```
36
+ * @memberof bbn.fn
37
+ * @param {Object} filter
38
+ * @param {String} operator
39
+ * @returns {Object}
40
+ */
41
+ const filterToConditions = function (filter, operator = "=") {
42
+ if (!isObject(filter)) {
43
+ throw new Error("Error in filterToCondition: filter must be an object");
44
+ }
45
+ if (!filter.conditions || !isArray(filter.conditions)) {
46
+ let tmp = [];
47
+ iterate(filter, (a, n) => {
48
+ if (isObject(a) && typeof a.conditions === "object") {
49
+ tmp.push(filterToConditions(a));
50
+ }
51
+ else {
52
+ tmp.push({
53
+ field: n,
54
+ operator: operator,
55
+ value: a,
56
+ });
57
+ }
58
+ });
59
+ filter = {
60
+ conditions: tmp,
61
+ };
62
+ }
63
+ if (!filter.logic) {
64
+ filter.logic = "AND";
65
+ }
66
+ return filter;
67
+ };
68
+ export { filterToConditions };
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Retrieves all elements of a hierarchical array corresponding to the filter.
3
+ *
4
+ * The arguments follow the same scheme as bbn.fn.search.
5
+ *
6
+ * @method findAll
7
+ * @global
8
+ * @example
9
+ * ```javascript
10
+ * let ar = [
11
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
12
+ * {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
13
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
14
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
15
+ * ];
16
+ * bbn.fn.count(ar, "id", 256);
17
+ * // 1
18
+ * bbn.fn.count(ar, {director: "Steven Spielberg"});
19
+ * // 2
20
+ * bbn.fn.search(ar, "year", 1975, ">");
21
+ * // 3
22
+ * // Complex filters: all the movies from Spielberg between 1974 and 1980
23
+ * bbn.fn.search(ar, {
24
+ * logic: "AND",
25
+ * conditions: [
26
+ * {
27
+ * field: "director",
28
+ * operator: "eq",
29
+ * value: "Steven Spielberg"
30
+ * }, {
31
+ * logic: "AND",
32
+ * conditions: [
33
+ * {
34
+ * field: "year",
35
+ * operator: ">=",
36
+ * value: 1974
37
+ * }, {
38
+ * field: "year",
39
+ * operator: "<=",
40
+ * value: 1980
41
+ * }
42
+ * ]
43
+ * }
44
+ * ]
45
+ * });
46
+ * // 1
47
+ * ```
48
+ * @memberof bbn.fn
49
+ * @todo Do the doc!
50
+ * @param {Array} arr The subject array
51
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
52
+ * @param {*} val The value with which comparing the given property
53
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
54
+ * @returns {Number} The number of items
55
+ */
56
+ declare const findAll: (arr: any, filter: any, deepProperty: any, res?: any[]) => any[];
57
+ export { findAll };
@@ -0,0 +1,73 @@
1
+ import { search } from './search';
2
+ import { each } from '../loop/each';
3
+ import { isArray } from '../type/isArray';
4
+ /**
5
+ * Retrieves all elements of a hierarchical array corresponding to the filter.
6
+ *
7
+ * The arguments follow the same scheme as bbn.fn.search.
8
+ *
9
+ * @method findAll
10
+ * @global
11
+ * @example
12
+ * ```javascript
13
+ * let ar = [
14
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
15
+ * {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
16
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
17
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
18
+ * ];
19
+ * bbn.fn.count(ar, "id", 256);
20
+ * // 1
21
+ * bbn.fn.count(ar, {director: "Steven Spielberg"});
22
+ * // 2
23
+ * bbn.fn.search(ar, "year", 1975, ">");
24
+ * // 3
25
+ * // Complex filters: all the movies from Spielberg between 1974 and 1980
26
+ * bbn.fn.search(ar, {
27
+ * logic: "AND",
28
+ * conditions: [
29
+ * {
30
+ * field: "director",
31
+ * operator: "eq",
32
+ * value: "Steven Spielberg"
33
+ * }, {
34
+ * logic: "AND",
35
+ * conditions: [
36
+ * {
37
+ * field: "year",
38
+ * operator: ">=",
39
+ * value: 1974
40
+ * }, {
41
+ * field: "year",
42
+ * operator: "<=",
43
+ * value: 1980
44
+ * }
45
+ * ]
46
+ * }
47
+ * ]
48
+ * });
49
+ * // 1
50
+ * ```
51
+ * @memberof bbn.fn
52
+ * @todo Do the doc!
53
+ * @param {Array} arr The subject array
54
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
55
+ * @param {*} val The value with which comparing the given property
56
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
57
+ * @returns {Number} The number of items
58
+ */
59
+ const findAll = function (arr, filter, deepProperty, res = []) {
60
+ let idx;
61
+ let start = 0;
62
+ while ((idx = search(arr, filter, start)) > -1) {
63
+ res.push(arr[idx]);
64
+ start = idx + 1;
65
+ }
66
+ each(arr, (it) => {
67
+ if (isArray(it[deepProperty])) {
68
+ findAll(it[deepProperty], filter, deepProperty, res);
69
+ }
70
+ });
71
+ return res;
72
+ };
73
+ export { findAll };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Returns the value of the given field (property) from the first object matching the given filter in an array of objects.
3
+ *
4
+ * The filtering arguments follow the same scheme as bbn.fn.search.
5
+ *
6
+ * @method getField
7
+ * @global
8
+ * @example
9
+ * ```javascript
10
+ * let ar = [
11
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
12
+ * {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
13
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
14
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
15
+ * ];
16
+ * bbn.fn.getField(ar, "name", {id: 256});
17
+ * // Star wars
18
+ * bbn.fn.getField(ar, "name", "id", 689);
19
+ * // Goonies
20
+ * ```
21
+ * @memberof bbn.fn
22
+ * @param {Array} arr The subject array
23
+ * @param {String} field The property from which the value is returned
24
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
25
+ * @param {*} val The value with which comparing the given property
26
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
27
+ * @returns {*}
28
+ */
29
+ declare const getField: (arr: any[], field: string, prop?: object | string, val?: any, operator?: string) => any;
30
+ export { getField };
@@ -0,0 +1,37 @@
1
+ import { getRow } from './getRow';
2
+ /**
3
+ * Returns the value of the given field (property) from the first object matching the given filter in an array of objects.
4
+ *
5
+ * The filtering arguments follow the same scheme as bbn.fn.search.
6
+ *
7
+ * @method getField
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * let ar = [
12
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
13
+ * {name: "Goonies", director: "Richard Donner", year: 1985, id: 689},
14
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
15
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
16
+ * ];
17
+ * bbn.fn.getField(ar, "name", {id: 256});
18
+ * // Star wars
19
+ * bbn.fn.getField(ar, "name", "id", 689);
20
+ * // Goonies
21
+ * ```
22
+ * @memberof bbn.fn
23
+ * @param {Array} arr The subject array
24
+ * @param {String} field The property from which the value is returned
25
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
26
+ * @param {*} val The value with which comparing the given property
27
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
28
+ * @returns {*}
29
+ */
30
+ const getField = function (arr, field, prop = '', val = null, operator = '=') {
31
+ let r;
32
+ if (field && (r = getRow(arr, prop, val, operator))) {
33
+ return r[field];
34
+ }
35
+ return undefined;
36
+ };
37
+ export { getField };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Returns all the unique values of the given field (property) from the first object matching the given filter in an array.
3
+ *
4
+ * The filtering arguments follow the same scheme as bbn.fn.search.
5
+ *
6
+ * @method getFieldValues
7
+ * @global
8
+ * @example
9
+ * ```javascript
10
+ * let ar = [
11
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
12
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
13
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
14
+ * {name: "Barry Lindon", director: "Stanley Kubrick", year: 1975, id: 802}
15
+ * ];
16
+ * bbn.fn.getFieldValues(ar, "director");
17
+ * // ["Steven Spielberg", "George Lucas", "Stanley Kubrick"]
18
+ * bbn.fn.getFieldValues(ar, "name", {year: 1975});
19
+ * // ["Jaws", "Barry Lindon"]
20
+ * ```
21
+ * @memberof bbn.fn
22
+ * @param {Array} arr The subject array
23
+ * @param {String} field The property from which the values are returned
24
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
25
+ * @param {*} val The value with which comparing the given property
26
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
27
+ * @returns {*}
28
+ */
29
+ declare const getFieldValues: (arr: object[], field: string, prop: any, val: any, operator: any) => any[];
30
+ export { getFieldValues };
@@ -0,0 +1,41 @@
1
+ import { checkType } from '../type/checkType';
2
+ import { filter } from './filter';
3
+ import { each } from '../loop/each';
4
+ /**
5
+ * Returns all the unique values of the given field (property) from the first object matching the given filter in an array.
6
+ *
7
+ * The filtering arguments follow the same scheme as bbn.fn.search.
8
+ *
9
+ * @method getFieldValues
10
+ * @global
11
+ * @example
12
+ * ```javascript
13
+ * let ar = [
14
+ * {name: "Raiders of the lost ark", director: "Steven Spielberg", year: 1981, id: 589},
15
+ * {name: "Star wars", director: "George Lucas", year: 1977, id: 256},
16
+ * {name: "Jaws", director: "Steven Spielberg", year: 1975, id: 423}
17
+ * {name: "Barry Lindon", director: "Stanley Kubrick", year: 1975, id: 802}
18
+ * ];
19
+ * bbn.fn.getFieldValues(ar, "director");
20
+ * // ["Steven Spielberg", "George Lucas", "Stanley Kubrick"]
21
+ * bbn.fn.getFieldValues(ar, "name", {year: 1975});
22
+ * // ["Jaws", "Barry Lindon"]
23
+ * ```
24
+ * @memberof bbn.fn
25
+ * @param {Array} arr The subject array
26
+ * @param {String} field The property from which the values are returned
27
+ * @param {(String|Object|Function)} prop A property's name or a filter object or function
28
+ * @param {*} val The value with which comparing the given property
29
+ * @param {String} operator The operator to use for comparison with the value as used in bbn.fn.compare
30
+ * @returns {*}
31
+ */
32
+ const getFieldValues = function (arr, field, prop, val, operator) {
33
+ checkType(field, 'string');
34
+ if (prop) {
35
+ arr = filter(arr, prop, val, operator);
36
+ }
37
+ let res = [];
38
+ each(arr, (a) => (res.indexOf(a[field]) === -1 ? res.push(a[field]) : null));
39
+ return res;
40
+ };
41
+ export { getFieldValues };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Gets the given property from the given object
3
+ * @param {Object} obj
4
+ * @param {String} prop
5
+ * @returns
6
+ */
7
+ declare const getProp: (obj: any, prop: any) => any;
8
+ export { getProp };
@@ -0,0 +1,13 @@
1
+ import { checkType } from "../type/checkType";
2
+ /**
3
+ * Gets the given property from the given object
4
+ * @param {Object} obj
5
+ * @param {String} prop
6
+ * @returns
7
+ */
8
+ const getProp = function (obj, prop) {
9
+ checkType(obj, "object", bbn._("The obj must be an object in setProp"));
10
+ checkType(prop, "string", bbn._("The prop must be a string in setProp"));
11
+ return obj[prop];
12
+ };
13
+ export { getProp };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Returns the value of the given property from the given object.
3
+ *
4
+ * Looks for the given property in the given object, accepting dot (.) separator
5
+ * for deep property access, and returns its value if found and undefined otherwise.
6
+ *
7
+ * @method getProperty
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * bbn.fn.getProperty({a: 1, b: 2}, 'b');
12
+ * // 2
13
+ * ```
14
+ * @example
15
+ * ```javascript
16
+ * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.o.a');
17
+ * // 33
18
+ * ```
19
+ * @example
20
+ * ```javascript
21
+ * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.h.a');
22
+ * // undefined
23
+ * ```
24
+ * @memberof bbn.fn
25
+ * @param {Object} obj
26
+ * @param {String} prop
27
+ * @returns {*} The property's value or undefined
28
+ */
29
+ declare const getProperty: (obj: any, prop: any) => any;
30
+ export { getProperty };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Returns the value of the given property from the given object.
3
+ *
4
+ * Looks for the given property in the given object, accepting dot (.) separator
5
+ * for deep property access, and returns its value if found and undefined otherwise.
6
+ *
7
+ * @method getProperty
8
+ * @global
9
+ * @example
10
+ * ```javascript
11
+ * bbn.fn.getProperty({a: 1, b: 2}, 'b');
12
+ * // 2
13
+ * ```
14
+ * @example
15
+ * ```javascript
16
+ * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.o.a');
17
+ * // 33
18
+ * ```
19
+ * @example
20
+ * ```javascript
21
+ * bbn.fn.getProperty({a: 1, b: {o: {a: 33, h: 5}}}, 'b.h.a');
22
+ * // undefined
23
+ * ```
24
+ * @memberof bbn.fn
25
+ * @param {Object} obj
26
+ * @param {String} prop
27
+ * @returns {*} The property's value or undefined
28
+ */
29
+ const getProperty = function (obj, prop) {
30
+ if (typeof obj === 'object' && typeof prop === 'string') {
31
+ return prop.split('.').reduce((o, i) => {
32
+ if (o) {
33
+ return o[i];
34
+ }
35
+ return undefined;
36
+ }, obj);
37
+ }
38
+ };
39
+ export { getProperty };