@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.
- package/dist/_.js +1 -1
- package/dist/bundle.d.ts +3804 -242
- package/dist/bundle.js +4062 -501
- package/dist/db.js +3 -3
- package/dist/fn/ajax/_addLoader.d.ts +16 -0
- package/dist/fn/ajax/_addLoader.js +51 -0
- package/dist/fn/ajax/_deleteLoader.d.ts +16 -0
- package/dist/fn/ajax/_deleteLoader.js +39 -0
- package/dist/fn/ajax/abort.d.ts +24 -0
- package/dist/fn/ajax/abort.js +36 -0
- package/dist/fn/ajax/abortURL.d.ts +22 -0
- package/dist/fn/ajax/abortURL.js +33 -0
- package/dist/fn/ajax/ajax.d.ts +58 -0
- package/dist/fn/ajax/ajax.js +170 -0
- package/dist/fn/ajax/callback.d.ts +37 -0
- package/dist/fn/ajax/callback.js +117 -0
- package/dist/fn/ajax/download.d.ts +30 -0
- package/dist/fn/ajax/download.js +64 -0
- package/dist/fn/ajax/downloadContent.d.ts +28 -0
- package/dist/fn/ajax/downloadContent.js +74 -0
- package/dist/fn/ajax/getLoader.d.ts +37 -0
- package/dist/fn/ajax/getLoader.js +44 -0
- package/dist/fn/ajax/getRequestId.d.ts +50 -0
- package/dist/fn/ajax/getRequestId.js +62 -0
- package/dist/fn/ajax/link.d.ts +26 -0
- package/dist/fn/ajax/link.js +129 -0
- package/dist/fn/ajax/post.d.ts +35 -0
- package/dist/fn/ajax/post.js +45 -0
- package/dist/fn/ajax/postOut.d.ts +21 -0
- package/dist/fn/ajax/postOut.js +49 -0
- package/dist/fn/ajax/setNavigationVars.d.ts +25 -0
- package/dist/fn/ajax/setNavigationVars.js +80 -0
- package/dist/fn/ajax/treatAjaxArguments.d.ts +53 -0
- package/dist/fn/ajax/treatAjaxArguments.js +127 -0
- package/dist/fn/ajax/upload.d.ts +18 -0
- package/dist/fn/ajax/upload.js +52 -0
- package/dist/fn/browser/copy.d.ts +15 -0
- package/dist/fn/browser/copy.js +50 -0
- package/dist/fn/browser/eraseCookie.d.ts +15 -0
- package/dist/fn/browser/eraseCookie.js +17 -0
- package/dist/fn/browser/error.d.ts +14 -0
- package/dist/fn/browser/error.js +29 -0
- package/dist/fn/browser/getBrowserName.d.ts +9 -0
- package/dist/fn/browser/getBrowserName.js +28 -0
- package/dist/fn/browser/getBrowserVersion.d.ts +9 -0
- package/dist/fn/browser/getBrowserVersion.js +29 -0
- package/dist/fn/browser/getCookie.d.ts +16 -0
- package/dist/fn/browser/getCookie.js +32 -0
- package/dist/fn/browser/getDeviceType.d.ts +14 -0
- package/dist/fn/browser/getDeviceType.js +23 -0
- package/dist/fn/browser/getEventData.d.ts +16 -0
- package/dist/fn/browser/getEventData.js +116 -0
- package/dist/fn/browser/happy.d.ts +14 -0
- package/dist/fn/browser/happy.js +22 -0
- package/dist/fn/browser/history.d.ts +2 -0
- package/dist/fn/browser/history.js +4 -0
- package/dist/fn/browser/info.d.ts +10 -0
- package/dist/fn/browser/info.js +19 -0
- package/dist/fn/browser/isActiveInterface.d.ts +14 -0
- package/dist/fn/browser/isActiveInterface.js +20 -0
- package/dist/fn/browser/isDesktopDevice.d.ts +14 -0
- package/dist/fn/browser/isDesktopDevice.js +17 -0
- package/dist/fn/browser/isFocused.d.ts +21 -0
- package/dist/fn/browser/isFocused.js +23 -0
- package/dist/fn/browser/isMobile.d.ts +14 -0
- package/dist/fn/browser/isMobile.js +18 -0
- package/dist/fn/browser/isMobileDevice.d.ts +2 -0
- package/dist/fn/browser/isMobileDevice.js +5 -0
- package/dist/fn/browser/isTabletDevice.d.ts +14 -0
- package/dist/fn/browser/isTabletDevice.js +17 -0
- package/dist/fn/browser/log.d.ts +15 -0
- package/dist/fn/browser/log.js +46 -0
- package/dist/fn/browser/replaceSelection.d.ts +2 -0
- package/dist/fn/browser/replaceSelection.js +42 -0
- package/dist/fn/browser/selectElementText.d.ts +21 -0
- package/dist/fn/browser/selectElementText.js +42 -0
- package/dist/fn/browser/setCookie.d.ts +16 -0
- package/dist/fn/browser/setCookie.js +25 -0
- package/dist/fn/browser/toggleFullScreen.d.ts +2 -0
- package/dist/fn/browser/toggleFullScreen.js +39 -0
- package/dist/fn/browser/warning.d.ts +14 -0
- package/dist/fn/browser/warning.js +24 -0
- package/dist/fn/convert/arrayBuffer2String.d.ts +2 -0
- package/dist/fn/convert/arrayBuffer2String.js +4 -0
- package/dist/fn/convert/canvasToImage.d.ts +16 -0
- package/dist/fn/convert/canvasToImage.js +20 -0
- package/dist/fn/convert/colorToHex.d.ts +20 -0
- package/dist/fn/convert/colorToHex.js +24 -0
- package/dist/fn/convert/fromXml.d.ts +12 -0
- package/dist/fn/convert/fromXml.js +54 -0
- package/dist/fn/convert/hex2rgb.d.ts +24 -0
- package/dist/fn/convert/hex2rgb.js +29 -0
- package/dist/fn/convert/imageToCanvas.d.ts +15 -0
- package/dist/fn/convert/imageToCanvas.js +21 -0
- package/dist/fn/convert/imgToBase64.d.ts +2 -0
- package/dist/fn/convert/imgToBase64.js +7 -0
- package/dist/fn/convert/rgb2hex.d.ts +20 -0
- package/dist/fn/convert/rgb2hex.js +28 -0
- package/dist/fn/convert/string2ArrayBuffer.d.ts +2 -0
- package/dist/fn/convert/string2ArrayBuffer.js +9 -0
- package/dist/fn/convert/toCSV.d.ts +26 -0
- package/dist/fn/convert/toCSV.js +64 -0
- package/dist/fn/datetime/calendar.d.ts +2 -0
- package/dist/fn/datetime/calendar.js +23 -0
- package/dist/fn/datetime/chrono.d.ts +25 -0
- package/dist/fn/datetime/chrono.js +45 -0
- package/dist/fn/datetime/date.d.ts +18 -0
- package/dist/fn/datetime/date.js +44 -0
- package/dist/fn/datetime/dateSQL.d.ts +20 -0
- package/dist/fn/datetime/dateSQL.js +26 -0
- package/dist/fn/datetime/daysInMonth.d.ts +17 -0
- package/dist/fn/datetime/daysInMonth.js +24 -0
- package/dist/fn/datetime/fdate.d.ts +11 -0
- package/dist/fn/datetime/fdate.js +28 -0
- package/dist/fn/datetime/fdatetime.d.ts +9 -0
- package/dist/fn/datetime/fdatetime.js +30 -0
- package/dist/fn/datetime/formatDate.d.ts +2 -0
- package/dist/fn/datetime/formatDate.js +4 -0
- package/dist/fn/datetime/ftime.d.ts +9 -0
- package/dist/fn/datetime/ftime.js +21 -0
- package/dist/fn/datetime/getDay.d.ts +11 -0
- package/dist/fn/datetime/getDay.js +26 -0
- package/dist/fn/datetime/timestamp.d.ts +15 -0
- package/dist/fn/datetime/timestamp.js +18 -0
- package/dist/fn/default/defaultAjaxAbortFunction.d.ts +2 -0
- package/dist/fn/default/defaultAjaxAbortFunction.js +5 -0
- package/dist/fn/default/defaultAjaxErrorFunction.d.ts +2 -0
- package/dist/fn/default/defaultAjaxErrorFunction.js +4 -0
- package/dist/fn/default/defaultAlertFunction.d.ts +2 -0
- package/dist/fn/default/defaultAlertFunction.js +5 -0
- package/dist/fn/default/defaultConfirmFunction.d.ts +2 -0
- package/dist/fn/default/defaultConfirmFunction.js +14 -0
- package/dist/fn/default/defaultEndLoadingFunction.d.ts +2 -0
- package/dist/fn/default/defaultEndLoadingFunction.js +4 -0
- package/dist/fn/default/defaultErrorFunction.d.ts +2 -0
- package/dist/fn/default/defaultErrorFunction.js +5 -0
- package/dist/fn/default/defaultHistoryFunction.d.ts +2 -0
- package/dist/fn/default/defaultHistoryFunction.js +4 -0
- package/dist/fn/default/defaultLinkFunction.d.ts +2 -0
- package/dist/fn/default/defaultLinkFunction.js +4 -0
- package/dist/fn/default/defaultPostLinkFunction.d.ts +2 -0
- package/dist/fn/default/defaultPostLinkFunction.js +4 -0
- package/dist/fn/default/defaultPreLinkFunction.d.ts +2 -0
- package/dist/fn/default/defaultPreLinkFunction.js +4 -0
- package/dist/fn/default/defaultResizeFunction.d.ts +2 -0
- package/dist/fn/default/defaultResizeFunction.js +4 -0
- package/dist/fn/default/defaultStartLoadingFunction.d.ts +2 -0
- package/dist/fn/default/defaultStartLoadingFunction.js +4 -0
- package/dist/fn/form/addInputs.d.ts +43 -0
- package/dist/fn/form/addInputs.js +81 -0
- package/dist/fn/form/fieldValue.d.ts +12 -0
- package/dist/fn/form/fieldValue.js +34 -0
- package/dist/fn/form/formdata.d.ts +45 -0
- package/dist/fn/form/formdata.js +95 -0
- package/dist/fn/form/objectToFormData.d.ts +12 -0
- package/dist/fn/form/objectToFormData.js +45 -0
- package/dist/fn/form/submit.d.ts +20 -0
- package/dist/fn/form/submit.js +51 -0
- package/dist/fn/html/adjustHeight.d.ts +2 -0
- package/dist/fn/html/adjustHeight.js +10 -0
- package/dist/fn/html/adjustSize.d.ts +2 -0
- package/dist/fn/html/adjustSize.js +21 -0
- package/dist/fn/html/adjustWidth.d.ts +2 -0
- package/dist/fn/html/adjustWidth.js +10 -0
- package/dist/fn/html/getAllTags.d.ts +6 -0
- package/dist/fn/html/getAllTags.js +9 -0
- package/dist/fn/html/getAncestors.d.ts +2 -0
- package/dist/fn/html/getAncestors.js +25 -0
- package/dist/fn/html/getAttributes.d.ts +6 -0
- package/dist/fn/html/getAttributes.js +16 -0
- package/dist/fn/html/getHTMLOfSelection.d.ts +2 -0
- package/dist/fn/html/getHTMLOfSelection.js +18 -0
- package/dist/fn/html/getHtml.d.ts +2 -0
- package/dist/fn/html/getHtml.js +9 -0
- package/dist/fn/html/getPath.d.ts +10 -0
- package/dist/fn/html/getPath.js +50 -0
- package/dist/fn/html/getText.d.ts +2 -0
- package/dist/fn/html/getText.js +4 -0
- package/dist/fn/html/html2text.d.ts +17 -0
- package/dist/fn/html/html2text.js +22 -0
- package/dist/fn/html/isInside.d.ts +2 -0
- package/dist/fn/html/isInside.js +23 -0
- package/dist/fn/html/makeReactive.d.ts +2 -0
- package/dist/fn/html/makeReactive.js +185 -0
- package/dist/fn/html/selector.d.ts +10 -0
- package/dist/fn/html/selector.js +12 -0
- package/dist/fn/init.d.ts +13 -0
- package/dist/fn/init.js +25 -12
- package/dist/fn/loop/each.d.ts +33 -0
- package/dist/fn/loop/each.js +54 -0
- package/dist/fn/loop/fori.d.ts +36 -0
- package/dist/fn/loop/fori.js +53 -0
- package/dist/fn/loop/forir.d.ts +36 -0
- package/dist/fn/loop/forir.js +53 -0
- package/dist/fn/loop/iterate.d.ts +22 -0
- package/dist/fn/loop/iterate.js +36 -0
- package/dist/fn/loop/riterate.d.ts +21 -0
- package/dist/fn/loop/riterate.js +24 -0
- package/dist/fn/misc/analyzeFunction.d.ts +11 -0
- package/dist/fn/misc/analyzeFunction.js +141 -0
- package/dist/fn/misc/getTimeoff.d.ts +14 -0
- package/dist/fn/misc/getTimeoff.js +19 -0
- package/dist/fn/misc/money.d.ts +23 -0
- package/dist/fn/misc/money.js +122 -0
- package/dist/fn/misc/percent.d.ts +23 -0
- package/dist/fn/misc/percent.js +25 -0
- package/dist/fn/misc/randomInt.d.ts +22 -0
- package/dist/fn/misc/randomInt.js +24 -0
- package/dist/fn/misc/roundDecimal.d.ts +11 -0
- package/dist/fn/misc/roundDecimal.js +13 -0
- package/dist/fn/misc/translate.d.ts +2 -0
- package/dist/fn/misc/translate.js +8 -0
- package/dist/fn/object/_compareValues.d.ts +40 -0
- package/dist/fn/object/_compareValues.js +78 -0
- package/dist/fn/object/arrayFromProp.d.ts +33 -0
- package/dist/fn/object/arrayFromProp.js +41 -0
- package/dist/fn/object/autoExtend.d.ts +33 -0
- package/dist/fn/object/autoExtend.js +44 -0
- package/dist/fn/object/checkProps.d.ts +2 -0
- package/dist/fn/object/checkProps.js +5 -0
- package/dist/fn/object/checkPropsDetails.d.ts +2 -0
- package/dist/fn/object/checkPropsDetails.js +53 -0
- package/dist/fn/object/checkPropsOrDie.d.ts +2 -0
- package/dist/fn/object/checkPropsOrDie.js +9 -0
- package/dist/fn/object/circularReplacer.d.ts +7 -0
- package/dist/fn/object/circularReplacer.js +39 -0
- package/dist/fn/object/clone.d.ts +19 -0
- package/dist/fn/object/clone.js +33 -0
- package/dist/fn/object/compare.d.ts +53 -0
- package/dist/fn/object/compare.js +150 -0
- package/dist/fn/object/compareConditions.d.ts +46 -0
- package/dist/fn/object/compareConditions.js +86 -0
- package/dist/fn/object/count.d.ts +56 -0
- package/dist/fn/object/count.js +59 -0
- package/dist/fn/object/createObject.d.ts +2 -0
- package/dist/fn/object/createObject.js +9 -0
- package/dist/fn/object/deepPath.d.ts +57 -0
- package/dist/fn/object/deepPath.js +78 -0
- package/dist/fn/object/deleteProp.d.ts +8 -0
- package/dist/fn/object/deleteProp.js +13 -0
- package/dist/fn/object/diffObj.d.ts +79 -0
- package/dist/fn/object/diffObj.js +168 -0
- package/dist/fn/object/extend.d.ts +87 -0
- package/dist/fn/object/extend.js +158 -0
- package/dist/fn/object/extendOut.d.ts +18 -0
- package/dist/fn/object/extendOut.js +40 -0
- package/dist/fn/object/filter.d.ts +50 -0
- package/dist/fn/object/filter.js +94 -0
- package/dist/fn/object/filterToConditions.d.ts +48 -0
- package/dist/fn/object/filterToConditions.js +68 -0
- package/dist/fn/object/findAll.d.ts +57 -0
- package/dist/fn/object/findAll.js +73 -0
- package/dist/fn/object/getField.d.ts +30 -0
- package/dist/fn/object/getField.js +37 -0
- package/dist/fn/object/getFieldValues.d.ts +30 -0
- package/dist/fn/object/getFieldValues.js +41 -0
- package/dist/fn/object/getProp.d.ts +8 -0
- package/dist/fn/object/getProp.js +13 -0
- package/dist/fn/object/getProperty.d.ts +30 -0
- package/dist/fn/object/getProperty.js +39 -0
- package/dist/fn/object/getRow.d.ts +42 -0
- package/dist/fn/object/getRow.js +49 -0
- package/dist/fn/object/map.d.ts +74 -0
- package/dist/fn/object/map.js +83 -0
- package/dist/fn/object/move.d.ts +34 -0
- package/dist/fn/object/move.js +43 -0
- package/dist/fn/object/multiorder.d.ts +40 -0
- package/dist/fn/object/multiorder.js +60 -0
- package/dist/fn/object/numProperties.d.ts +31 -0
- package/dist/fn/object/numProperties.js +36 -0
- package/dist/fn/object/order.d.ts +28 -0
- package/dist/fn/object/order.js +36 -0
- package/dist/fn/object/pickValue.d.ts +2 -0
- package/dist/fn/object/pickValue.js +6 -0
- package/dist/fn/object/removeEmpty.d.ts +18 -0
- package/dist/fn/object/removeEmpty.js +47 -0
- package/dist/fn/object/removePrivateProp.d.ts +24 -0
- package/dist/fn/object/removePrivateProp.js +41 -0
- package/dist/fn/object/search.d.ts +101 -0
- package/dist/fn/object/search.js +177 -0
- package/dist/fn/object/setProp.d.ts +11 -0
- package/dist/fn/object/setProp.js +17 -0
- package/dist/fn/object/setProperty.d.ts +30 -0
- package/dist/fn/object/setProperty.js +50 -0
- package/dist/fn/object/shortenObj.d.ts +25 -0
- package/dist/fn/object/shortenObj.js +40 -0
- package/dist/fn/object/shuffle.d.ts +2 -0
- package/dist/fn/object/shuffle.js +13 -0
- package/dist/fn/object/stat.d.ts +2 -0
- package/dist/fn/object/stat.js +49 -0
- package/dist/fn/object/sum.d.ts +46 -0
- package/dist/fn/object/sum.js +57 -0
- package/dist/fn/object/unique.d.ts +18 -0
- package/dist/fn/object/unique.js +22 -0
- package/dist/fn/string/baseName.d.ts +24 -0
- package/dist/fn/string/baseName.js +39 -0
- package/dist/fn/string/br2nl.d.ts +19 -0
- package/dist/fn/string/br2nl.js +22 -0
- package/dist/fn/string/camelToCss.d.ts +18 -0
- package/dist/fn/string/camelToCss.js +26 -0
- package/dist/fn/string/camelize.d.ts +20 -0
- package/dist/fn/string/camelize.js +27 -0
- package/dist/fn/string/correctCase.d.ts +18 -0
- package/dist/fn/string/correctCase.js +20 -0
- package/dist/fn/string/crc32.d.ts +2 -0
- package/dist/fn/string/crc32.js +20 -0
- package/dist/fn/string/dirName.d.ts +17 -0
- package/dist/fn/string/dirName.js +33 -0
- package/dist/fn/string/escapeDquotes.d.ts +2 -0
- package/dist/fn/string/escapeDquotes.js +8 -0
- package/dist/fn/string/escapeRegExp.d.ts +19 -0
- package/dist/fn/string/escapeRegExp.js +21 -0
- package/dist/fn/string/escapeSquotes.d.ts +2 -0
- package/dist/fn/string/escapeSquotes.js +8 -0
- package/dist/fn/string/escapeTicks.d.ts +2 -0
- package/dist/fn/string/escapeTicks.js +8 -0
- package/dist/fn/string/escapeUrl.d.ts +9 -0
- package/dist/fn/string/escapeUrl.js +47 -0
- package/dist/fn/string/fileExt.d.ts +38 -0
- package/dist/fn/string/fileExt.js +47 -0
- package/dist/fn/string/format.d.ts +2 -0
- package/dist/fn/string/format.js +14 -0
- package/dist/fn/string/formatBytes.d.ts +14 -0
- package/dist/fn/string/formatBytes.js +20 -0
- package/dist/fn/string/formatSize.d.ts +2 -0
- package/dist/fn/string/formatSize.js +12 -0
- package/dist/fn/string/hash.d.ts +7 -0
- package/dist/fn/string/hash.js +42 -0
- package/dist/fn/string/md5.d.ts +22 -0
- package/dist/fn/string/md5.js +142 -0
- package/dist/fn/string/nl2br.d.ts +17 -0
- package/dist/fn/string/nl2br.js +20 -0
- package/dist/fn/string/printf.d.ts +10 -0
- package/dist/fn/string/printf.js +15 -0
- package/dist/fn/string/quotes2html.d.ts +30 -0
- package/dist/fn/string/quotes2html.js +39 -0
- package/dist/fn/string/randomString.d.ts +28 -0
- package/dist/fn/string/randomString.js +72 -0
- package/dist/fn/string/removeAccents.d.ts +17 -0
- package/dist/fn/string/removeAccents.js +30 -0
- package/dist/fn/string/removeExtraSpaces.d.ts +7 -0
- package/dist/fn/string/removeExtraSpaces.js +9 -0
- package/dist/fn/string/removeHtmlComments.d.ts +2 -0
- package/dist/fn/string/removeHtmlComments.js +8 -0
- package/dist/fn/string/removeTrailingChars.d.ts +11 -0
- package/dist/fn/string/removeTrailingChars.js +25 -0
- package/dist/fn/string/repeat.d.ts +16 -0
- package/dist/fn/string/repeat.js +18 -0
- package/dist/fn/string/replaceAll.d.ts +23 -0
- package/dist/fn/string/replaceAll.js +29 -0
- package/dist/fn/string/sanitize.d.ts +17 -0
- package/dist/fn/string/sanitize.js +34 -0
- package/dist/fn/string/shorten.d.ts +27 -0
- package/dist/fn/string/shorten.js +42 -0
- package/dist/fn/string/simpleHash.d.ts +2 -0
- package/dist/fn/string/simpleHash.js +8 -0
- package/dist/fn/string/simpleHash1.d.ts +2 -0
- package/dist/fn/string/simpleHash1.js +10 -0
- package/dist/fn/string/simpleHash2.d.ts +2 -0
- package/dist/fn/string/simpleHash2.js +10 -0
- package/dist/fn/string/substr.d.ts +23 -0
- package/dist/fn/string/substr.js +38 -0
- package/dist/fn/string/trim.d.ts +2 -0
- package/dist/fn/string/trim.js +20 -0
- package/dist/fn/string/uniqString.d.ts +18 -0
- package/dist/fn/string/uniqString.js +49 -0
- package/dist/fn/style/addColors.d.ts +17 -0
- package/dist/fn/style/addColors.js +76 -0
- package/dist/fn/style/addStyle.d.ts +12 -0
- package/dist/fn/style/addStyle.js +20 -0
- package/dist/fn/style/animateCss.d.ts +13 -0
- package/dist/fn/style/animateCss.js +31 -0
- package/dist/fn/style/center.d.ts +16 -0
- package/dist/fn/style/center.js +40 -0
- package/dist/fn/style/cssExists.d.ts +12 -0
- package/dist/fn/style/cssExists.js +40 -0
- package/dist/fn/style/getCssVar.d.ts +7 -0
- package/dist/fn/style/getCssVar.js +12 -0
- package/dist/fn/style/getScrollBarSize.d.ts +2 -0
- package/dist/fn/style/getScrollBarSize.js +25 -0
- package/dist/fn/style/lightenDarkenHex.d.ts +20 -0
- package/dist/fn/style/lightenDarkenHex.js +45 -0
- package/dist/fn/style/outerHeight.d.ts +11 -0
- package/dist/fn/style/outerHeight.js +19 -0
- package/dist/fn/style/outerWidth.d.ts +10 -0
- package/dist/fn/style/outerWidth.js +16 -0
- package/dist/fn/style/resize.d.ts +2 -0
- package/dist/fn/style/resize.js +39 -0
- package/dist/fn/style/setCssVar.d.ts +8 -0
- package/dist/fn/style/setCssVar.js +14 -0
- package/dist/fn/type/checkType.d.ts +2 -0
- package/dist/fn/type/checkType.js +59 -0
- package/dist/fn/type/isArray.d.ts +14 -0
- package/dist/fn/type/isArray.js +23 -0
- package/dist/fn/type/isBlob.d.ts +9 -0
- package/dist/fn/type/isBlob.js +18 -0
- package/dist/fn/type/isBoolean.d.ts +16 -0
- package/dist/fn/type/isBoolean.js +25 -0
- package/dist/fn/type/isCanvas.d.ts +16 -0
- package/dist/fn/type/isCanvas.js +25 -0
- package/dist/fn/type/isColor.d.ts +31 -0
- package/dist/fn/type/isColor.js +45 -0
- package/dist/fn/type/isComment.d.ts +14 -0
- package/dist/fn/type/isComment.js +23 -0
- package/dist/fn/type/isCp.d.ts +2 -0
- package/dist/fn/type/isCp.js +17 -0
- package/dist/fn/type/isDate.d.ts +20 -0
- package/dist/fn/type/isDate.js +29 -0
- package/dist/fn/type/isDimension.d.ts +11 -0
- package/dist/fn/type/isDimension.js +24 -0
- package/dist/fn/type/isDom.d.ts +14 -0
- package/dist/fn/type/isDom.js +23 -0
- package/dist/fn/type/isEmail.d.ts +23 -0
- package/dist/fn/type/isEmail.js +37 -0
- package/dist/fn/type/isEmpty.d.ts +41 -0
- package/dist/fn/type/isEmpty.js +57 -0
- package/dist/fn/type/isEvent.d.ts +9 -0
- package/dist/fn/type/isEvent.js +18 -0
- package/dist/fn/type/isFunction.d.ts +16 -0
- package/dist/fn/type/isFunction.js +25 -0
- package/dist/fn/type/isHostname.d.ts +2 -0
- package/dist/fn/type/isHostname.js +16 -0
- package/dist/fn/type/isIP.d.ts +2 -0
- package/dist/fn/type/isIP.js +12 -0
- package/dist/fn/type/isInt.d.ts +18 -0
- package/dist/fn/type/isInt.js +27 -0
- package/dist/fn/type/isIterable.d.ts +27 -0
- package/dist/fn/type/isIterable.js +39 -0
- package/dist/fn/type/isNull.d.ts +14 -0
- package/dist/fn/type/isNull.js +23 -0
- package/dist/fn/type/isNumber.d.ts +19 -0
- package/dist/fn/type/isNumber.js +30 -0
- package/dist/fn/type/isObject.d.ts +19 -0
- package/dist/fn/type/isObject.js +28 -0
- package/dist/fn/type/isPercent.d.ts +14 -0
- package/dist/fn/type/isPercent.js +23 -0
- package/dist/fn/type/isPrimitive.d.ts +18 -0
- package/dist/fn/type/isPrimitive.js +27 -0
- package/dist/fn/type/isPromise.d.ts +18 -0
- package/dist/fn/type/isPromise.js +27 -0
- package/dist/fn/type/isPropSize.d.ts +2 -0
- package/dist/fn/type/isPropSize.js +12 -0
- package/dist/fn/type/isSQLDate.d.ts +10 -0
- package/dist/fn/type/isSQLDate.js +20 -0
- package/dist/fn/type/isSame.d.ts +41 -0
- package/dist/fn/type/isSame.js +72 -0
- package/dist/fn/type/isString.d.ts +14 -0
- package/dist/fn/type/isString.js +23 -0
- package/dist/fn/type/isSymbol.d.ts +15 -0
- package/dist/fn/type/isSymbol.js +24 -0
- package/dist/fn/type/isURL.d.ts +2 -0
- package/dist/fn/type/isURL.js +11 -0
- package/dist/fn/type/isValidDimension.d.ts +11 -0
- package/dist/fn/type/isValidDimension.js +24 -0
- package/dist/fn/type/isValidName.d.ts +27 -0
- package/dist/fn/type/isValidName.js +38 -0
- package/dist/fn/type/isValue.d.ts +26 -0
- package/dist/fn/type/isValue.js +36 -0
- package/dist/fn/type/isVue.d.ts +16 -0
- package/dist/fn/type/isVue.js +42 -0
- package/dist/fn.d.ts +4 -5
- package/dist/fn.js +226 -228
- 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,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 };
|