{"id":18379002,"url":"https://github.com/tnfe/bbo","last_synced_at":"2025-04-08T01:39:51.998Z","repository":{"id":83258492,"uuid":"224589404","full_name":"tnfe/bbo","owner":"tnfe","description":"bbo is a utility library of zero dependencies for javascript. 🍖🌭🍔","archived":false,"fork":false,"pushed_at":"2024-09-26T22:13:21.000Z","size":3344,"stargazers_count":276,"open_issues_count":2,"forks_count":33,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-01T00:31:41.357Z","etag":null,"topics":["javascript-library","tools","utility","utility-library","utils","utils-library"],"latest_commit_sha":null,"homepage":"https://tnfe.github.io/bbo","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tnfe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-28T06:57:00.000Z","updated_at":"2024-10-30T08:29:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"be55cb9d-8190-457a-adc5-4c9fc840bb41","html_url":"https://github.com/tnfe/bbo","commit_stats":{"total_commits":391,"total_committers":4,"mean_commits":97.75,"dds":0.1687979539641944,"last_synced_commit":"ca136950b71d8802f43bd3a7979eadf7028e462c"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnfe%2Fbbo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnfe%2Fbbo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnfe%2Fbbo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tnfe%2Fbbo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tnfe","download_url":"https://codeload.github.com/tnfe/bbo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247761049,"owners_count":20991532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript-library","tools","utility","utility-library","utils","utils-library"],"created_at":"2024-11-06T00:36:40.287Z","updated_at":"2025-04-08T01:39:51.975Z","avatar_url":"https://github.com/tnfe.png","language":"JavaScript","readme":"\u003cp align=\"right\"\u003e\u003ca href=\"./README_ZH.md\"\u003e中文\u003c/a\u003e / \u003ca href=\"./README.md\"\u003eEnglish\u003c/a\u003e\u003c/p\u003e\n\n![logo](http://mat1.gtimg.com/www/js/libs/raw/bbo-logo.png)\n\n---\n\n[![npm version](https://img.shields.io/npm/v/bbo.svg)](https://www.npmjs.com/package/bbo)\n[![gzip size](https://img.shields.io/bundlephobia/minzip/bbo.svg?label=gzip%20size)](https://www.npmjs.com/package/bbo)\n[![monthly npm installs](https://img.shields.io/npm/dm/bbo.svg?label=npm%20downloads)](https://www.npmjs.com/package/bbo)\n[![jest](https://img.shields.io/badge/test%20with-jest-brightgreen.svg)](https://github.com/facebook/jest)\n[![codecov-image](https://codecov.io/gh/tnfe/bbo/branch/master/graph/badge.svg)](https://codecov.io/gh/tnfe/bbo)\n![license](https://img.shields.io/badge/license-MIT-blue.svg)\n\n\u003e bbo is a utility library of zero dependencies for javascript.\n\n## Overview\n\nEvery frontend developer has his own utils library, and we often write methods that are easily forgotten and highly used. [bbo](https://github.com/tnfe/bbo.git) is a super small and useful utils library for JavaScript. It isn't couping with [lodash](https://github.com/lodash/lodash) [underscore](https://github.com/jashkenas/underscore) [lazy.js](https://github.com/dtao/lazy.js).\n\nI sorted out the most frequently used functions in daily development. These functions are almost ubiquitous in your development, and they cannot be found in lodash and underscore.\n\nMost code comes from the [stackOverflow](https://stackoverflow.com/) site in the high-score answers, so we pay tribute to the original authors.\n\nWith easy code and less than 7k gzip, bbo can be used anytime and anywhere with no worries.\n\nSee the [latest docs/documentation](https://tnfe.github.io/bbo/) for a full API reference or [bbo-docs](https://github.com/vsuke/bbo-docs.git).\n\n## Why\n\nWhen you use react, vue, angular，you often need to write a lot of utils methods. But lodash and underscore libraries are not omnipotent. So you have to find a lot of tool libraries. By using bbo, you can solve many small problems in the daily development. It is simple and compact!\n\n## Documentation\n\n- [API Reference](https://tnfe.github.io/bbo/)\n- [Github docs](https://github.com/vsuke/bbo-docs.git)\n\n## Functions\n\n| device                               | args                                   | http                               | string                         | array                                |\n| :----------------------------------- | :------------------------------------- | :--------------------------------- | :----------------------------- | :----------------------------------- |\n| [ua][ua]                             | [args][args]                           | [open][open]                       | [trim][trim]                   | [unique][unique]                     |\n| [isIos][isios]                       | [noop][noop]                           | [getUrlParam][geturlparam]         | [fillZero][fillzero]           | [uniqueBy][uniqueby]                 |\n| [isiPhone][isiphone]                 | [merge][merge]                         | [setUrlParam][seturlparam]         | [longUnique][longunique]       | [uniqueFrom][uniquefrom]             |\n| [isIPad][isipad]                     | [over][over]                           | [deleteUrlParam][deleteurlparam]   | [stripTags][striptags]         | [random][random]                     |\n| [isAndroid][isandroid]               | [call][call]                           | [objectParam][objectparam]         | [capitalize][capitalize]       | [randomSize][randomsize]             |\n| [isMobile][ismobile]                 | [hasOwnProperty][hasownproperty]       | [httpGet][httpget]                 | [deCapitalize][decapitalize]   | [shuffle][shuffle]                   |\n| [isPC][ispc]                         | **bom**                                | [httpPost][httppost]               | [isAbsoluteURL][isabsoluteurl] | [contains][contains]                 |\n| [isWeixin][isweixin]                 | [stopPropagation][stoppropagation]     | **random**                         | [mapString][mapstring]         | [includesAll][includesall]           |\n| [isNewsApp][isnewsapp]               | [g][g]                                 | [randomColor][randomcolor]         | [mask][mask]                   | [includesAny][includesany]           |\n| [isQQ][isqq]                         | [gc][gc]                               | [randomA2B][randoma2b]             | [splitLines][splitlines]       | [removeAt][removeat]                 |\n| [isQQbrowser][isqqbrowser]           | [c][c]                                 | [randomKey][randomkey]             | [camelize][camelize]           | [remove][remove]                     |\n| [isTenvideo][istenvideo]             | [query][query]                         | **behavior**                       | [underscored][underscored]     | [compact][compact]                   |\n| [isWeiShi][isweishi]                 | [show][show]                           | [trigger][trigger]                 | [dasherize][dasherize]         | [pluck][pluck]                       |\n| [isIphoneXmodel][isiphonexmodel]     | [hide][hide]                           | [lockTouch][locktouch]             | [truncate][truncate]           | [union][union]                       |\n| [isIE][isie]                         | [elementContains][elementcontains]     | [copyToClipboard][copytoclipboard] | [byteSize][bytesize]           | [unionBy][unionby]                   |\n| [ieVersion][ieversion]               | [formToObject][formtoobject]           | **mlodash**                        | [byteLen][bytelen]             | [unionWith][unionwith]               |\n| **log**                              | [getStyle][getstyle]                   | [getTag][gettag]                   | [repeat][repeat]               | [intersect][intersect]               |\n| [log][log]                           | [setStyle][setstyle]                   | [is][is]                           | [endsWith][endswith]           | [intersectBy][intersectby]           |\n| [logs][logs]                         | [attr][attr]                           | [isObject][isobject]               | [startsWith][startswith]       | [difference][difference]             |\n| [removeConsole][removeconsole]       | **load**                               | [isArray][isarray]                 | [containsWith][containswith]   | [differenceBy][differenceby]         |\n| [trash][trash]                       | [loadImages][loadimages]               | [isString][isstring]               | [xssFilter][xssfilter]         | [max][max]                           |\n| **other**                            | [loadjs][loadjs]                       | [isBoolean][isboolean]             | [effortIndex][effortindex]     | [min][min]                           |\n| [uuid][uuid]                         | [loadcss][loadcss]                     | [isNumber][isnumber]               | [capwords]                     | [equal][equal]                       |\n| [hash][hash]                         | **fill**                               | [isMap][ismap]                     | **object**                     | [allEqual][allequal]                 |\n| [judge][judge]                       | [fill0][fill0]                         | [isSet][isset]                     | [properObject][properobject]   | [all][all]                           |\n| [getType][gettype]                   | [floor][floor]                         | [isFunction][isfunction]           | [objectDiff][objectdiff]       | [any][any]                           |\n| [isTypeof][istypeof]                 | [chainAsync][chainasync]               | [isEmpty][isempty]                 | [addedDiff][addeddiff]         | [chunk][chunk]                       |\n| [construct][construct]               | [numberFormat][numberformat]           | [isShallowEqual][isshallowequal]   | [deletedDiff][deleteddiff]     | [countBy][countby]                   |\n| [paramsName][paramsname]             | [modulo][modulo]                       | [has][has]                         | [detailedDiff][detaileddiff]   | [countOccurrences][countoccurrences] |\n| [eventEmitter][eventemitter]         | **cookie**                             | [toPath][topath]                   | [updatedDiff][updateddiff]     | [drop][drop]                         |\n| **times**                            | [cookie][cookie]                       | [reduce][reduce]                   | **collection**                 | [dropRight][dropright]               |\n| [setTimesout][settimesout]           | [setCookie][setcookie]                 | [forEach][foreach]                 | [clone][clone]                 | [dropWhile][dropwhile]               |\n| [clearTimesout][cleartimesout]       | [getCookie][getcookie]                 | [map][map]                         | [entries][entries]             | [dropRightWhile][droprightwhile]     |\n| [getDate][getdate]                   | [deleteCookie][deletecookie]           | [find][find]                       | [extend][extend]               | [column][column]                     |\n| [formatPassTime][formatpasstime]     | [parseCookie][parsecookie]             | [findIndex][findindex]             | [flush][flush]                 | [split][split]                       |\n| [formatRemainTime][formatremaintime] | **image**                              | [get][get]                         | [values][values]               | [unary][unary]                       |\n| [formatDuration][formatduration]     | [checkImageSize][checkimagesize]       | [set][set]                         | [size][size]                   | [indexBy][indexby]                   |\n| [sleep][sleep]                       | [imageOptimization][imageoptimization] | [debounce][debounce]               | [search][search]               |                                      |\n| [retry][retry]                       | [toDataUrl][todataurl]                 | [throttle][throttle]               |                                |                                      |\n| **json**                             |                                        | [pick][pick]                       |                                |                                      |\n| [toJson][tojson]                     |                                        | [omit][omit]                       |                                |                                      |\n| [jsonp][jsonp]                       |                                        | [isSymbol][issymbol]               |                                |                                      |\n| **storage**                          |                                        | [isDate][isdate]                   |                                |                                      |\n| [storage][storage]                   |                                        | [mapValues][mapvalues]             |                                |                                      |\n\n### Usage\n\n#### example\n\n```js\n// base case\nbbo.getCookie('username'); // =\u003e 'userName'\nbbo.cookie().getJson(); //  =\u003e {a: 1, b: 2}\nbbo.isiPhone(); // =\u003e true or false\nbbo.numberFormat(1234.56, 2, ',', ' '); // =\u003e '1 234,56';\nbbo.split([1, 2, 3, 4, 5], 2); // =\u003e [[1,2], [3,4], [5]]\nbbo.entries({ c: 8, a: 4 }); // =\u003e [['c', 8], ['a', 4]]\nbbo.toPath(\"a.b.c\"); // =\u003e ['a', 'b', 'c']\nbbo.get({ a: { aa: { aaa: 2 } }, b: 4 }, \"a.aa.aaa\"); // =\u003e 2\nbbo.union([1, 2, 3], [4, 3, 2]); // =\u003e [1, 2, 3, 4]\nbbo.intersect([1, 2, 3], [4, 3, 2]); // =\u003e [2, 3]\nbbo.unionBy([2.1], [1.2, 2.3], Math.floor); // [2.1, 1.2]\nbbo.mapValues({ a: 3, b: 5, c: 9 }, (value) =\u003e value + 1); //=\u003e {a: 4, b: 6, c: 10}\nbbo.compact([0, 1, false, 2, \"\", 3]); // [1, 2, 3]\nbbo.flush({a: 2, b: null, c: 4, d: undefined}); // =\u003e {a: 2, c: 4}\nbbo.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // =\u003e [1]\nbbo.search(\"3\", { a: 3, b: 5, c: 7 }); // =\u003e 'a'\nbbo.size({ a: 1, b: 2 }); // =\u003e 2\n\nvar users = [\n  { user: \"barney\", age: 36, active: true },\n  { user: \"fred\", age: 40, active: false },\n];\nbbo.find(users, { age: 1, active: true }); // =\u003e {\"active\": true, \"age\": 36, \"user\": \"barney\"}\nbbo.findIndex(users, [\"active\", false]); // =\u003e 1\n\n// chain case\nvar array1 = [1, 2, 3, null];\nvar array2 = [3, 4, 5, ''];\nvar object1 = { a: 6, b: 7 };\nvar object2 = { c: 8, d: 9 };\n\nbbo\n  .chain(object1)\n  .extend(object2) // =\u003e {a: 6, b: 7, c: 8, d: 9}\n  .entries() // =\u003e  [[\"a\", 6], [\"b\", 7], [\"c\", 8], [\"d\", 9]]\n  .thru((words) =\u003e {\n    const temp = [];\n    bbo.forEach(words, (item, index) =\u003e {\n      temp.push(item[1]);\n    });\n    return temp;\n  }) // =\u003e [6, 7, 8, 9]\n  .union(array1) // =\u003e [6, 7, 8, 9, 1, 2, 3, null]\n  .union(array2) // =\u003e [6, 7, 8, 9, 1, 2, 3, null, 4, 5, \"\"]\n  .compact() // =\u003e [6, 7, 8, 9, 1, 2, 3, 4, 5]\n  .thru((array) =\u003e {\n    return array.sort();\n  }) // =\u003e [1, 2, 3, 4, 5, 6, 7, 8, 9]\n  .value();\n// return  =\u003e [1, 2, 3, 4, 5, 6, 7, 8, 9]\n\n... ∞\n```\n\n#### Install\n\nbbo supports Node.js, Rollup, Webpack, Browserify。\n\n![commonjs]\n\n#### npm\n\n[![bbo](https://nodei.co/npm/bbo.png)](https://npmjs.org/package/bbo)\n\nInstall the library with npm into your local modules directory:\n\n```js\nnpm install bbo --save\n```\n\n#### CommonJS modules\n\nThen in your application require the entire library:\n\n```js\nconst bbo = require('bbo');\nbbo.isiPhone(); // =\u003e 'true'\n```\n\nOr require individual functions:\n\n```js\nconst cookie = require('bbo/cookie');\n```\n\n#### ES2015 modules\n\nBbo is compatible with ES2015 modules to import the entire library:\n\n```js\nimport bbo from 'bbo';\n```\n\nOr import individual functions:\n\n```js\nimport storage from 'bbo/storage';\n```\n\n#### Browser\n\n![browsers]\n\nLoad the UMD builds directly into browser's web page:\n\n- [dist/bbo.min.js](./dist/bbo.min.js) , minified production-ready, with [source map](./dist/bbo.min.js.map)\n- [dist/bbo.js](./dist/bbo.js) uncompressed with comments\n\n```js\n\u003cscript src=\"bbo.min.js\" type=\"text/javascript\"\u003e\u003c/script\u003e\n```\n\nThen a global variable `bbo` is exposed for the entire library:\n\n```js\n\u003cscript type=\"text/javascript\"\u003e\n  bbo.cookie().getJson(); // =\u003e {a: 1, b: 2}\n\u003c/script\u003e\n```\n\n#### CDN\n\n[![](https://img.shields.io/badge/jsDelivr-CDN-red.svg)](https://www.jsdelivr.com/package/npm/bbo)\n[![](https://img.shields.io/badge/UNPKG-CDN-red.svg)](https://unpkg.com/bbo/)\n\n## Building\n\n**node is a dependency, use terminal/iTerm to install it with**\n\nClone git repository:\n\n```JavaScript\ngit clone git://github.com/tnfe/bbo.git\n```\n\nInstall dependencies:\n\n```JavaScript\nnpm install\n```\n\nBuild bundle\n\n```JavaScript\nnpm run build\n```\n\nAnd run example\n\n```JavaScript\nnpm run start\n//visit http://localhost:8080\n```\n\n## Testing\n\n- Run all tests as a single test suite with `npm run test`\n- Show the world you're using Jest.\n\n## Coverage sunburst\n\nEach block represents a single file in the project(codecov.io). The size and color of each block is represented by the number of statements and the coverage, respectively.\n\n[![codecov](https://codecov.io/gh/tnfe/bbo/branch/master/graphs/tree.svg)](https://codecov.io/gh/tnfe/bbo/)\n\n## Contribution\n\nContribution is welcome! If you wish to contribute to the project, please send the pull requests to the develop branch\n\n- Create a pull request containing bug fixes or new features. 😎\n\n- [Propose](https://github.com/tnfe/bbo/issues/news) new functions, improvements, better documentation\n\nSee [contributors](https://github.com/tnfe/bbo/graphs/contributors).\n\nIf you want to participate in the creation of this project,Edit or add function,[Fork](https://github.com/tnfe/bbo) this project,Modify and [Pull requests](https://github.com/tnfe/bbo/pulls) or new [Issues](https://github.com/tnfe/bbo/issues).\n\nHow to sync？\n\n```bash\n# Add upstream origin，Just execute it once\ngit remote add upstream git@github.com:tnfe/bbo.git\n\n# Pull remote code\ngit pull upstream master\n\n# Commit changes\ngit add .\ngit commit\n\n# update fork\ngit push origin master\n```\n\nMore: [Syncing a fork](https://help.github.com/articles/syncing-a-fork/)\n\n## Changelog\n\nDetailed changes for each release are documented in the [release notes](https://github.com/tnfe/bbo/releases).\n\n## License\n\nbbo is [MIT](http://www.opensource.org/licenses/mit-license) licensed.\n\n[commonjs]: http://mat1.gtimg.com/www/js/libs/raw/commonjs.png\n[browsers]: http://mat1.gtimg.com/www/js/libs/raw/browsers.png\n[ua]: https://tnfe.github.io/bbo/#ua\n[isios]: https://tnfe.github.io/bbo/#isios\n[isiphone]: https://tnfe.github.io/bbo/#isiphone\n[isipad]: https://tnfe.github.io/bbo/#isipad\n[isandroid]: https://tnfe.github.io/bbo/#isandroid\n[ismobile]: https://tnfe.github.io/bbo/#ismobile\n[ispc]: https://tnfe.github.io/bbo/#ispc\n[isweixin]: https://tnfe.github.io/bbo/#isweixin\n[isnewsapp]: https://tnfe.github.io/bbo/#isnewsapp\n[isqq]: https://tnfe.github.io/bbo/#isqq\n[isqqbrowser]: https://tnfe.github.io/bbo/#isqqbrowser\n[istenvideo]: https://tnfe.github.io/bbo/#istenvideo\n[isweishi]: https://tnfe.github.io/bbo/#isweishi\n[isiphonexmodel]: https://tnfe.github.io/bbo/#isiphonexmodel\n[isie]: https://tnfe.github.io/bbo/#isie\n[ieversion]: https://tnfe.github.io/bbo/#ieversion\n[log]: https://tnfe.github.io/bbo/#log\n[logs]: https://tnfe.github.io/bbo/#logs\n[removeconsole]: https://tnfe.github.io/bbo/#removeconsole\n[uuid]: https://tnfe.github.io/bbo/#uuid\n[hash]: https://tnfe.github.io/bbo/#hash\n[judge]: https://tnfe.github.io/bbo/#judge\n[gettype]: https://tnfe.github.io/bbo/#gettype\n[istypeof]: https://tnfe.github.io/bbo/#istypeof\n[construct]: https://tnfe.github.io/bbo/#construct\n[paramsname]: https://tnfe.github.io/bbo/#paramsname\n[eventemitter]: https://tnfe.github.io/bbo/#eventemitter\n[args]: https://tnfe.github.io/bbo/#args\n[trash]: https://tnfe.github.io/bbo/#trash\n[noop]: https://tnfe.github.io/bbo/#noop\n[merge]: https://tnfe.github.io/bbo/#merge\n[over]: https://tnfe.github.io/bbo/#over\n[call]: https://tnfe.github.io/bbo/#call\n[stoppropagation]: https://tnfe.github.io/bbo/#stoppropagation\n[g]: https://tnfe.github.io/bbo/#g\n[gc]: https://tnfe.github.io/bbo/#gc\n[c]: https://tnfe.github.io/bbo/#c\n[query]: https://tnfe.github.io/bbo/#query\n[show]: https://tnfe.github.io/bbo/#show\n[hide]: https://tnfe.github.io/bbo/#hide\n[elementcontains]: https://tnfe.github.io/bbo/#elementcontains\n[formtoobject]: https://tnfe.github.io/bbo/#formtoobject\n[getstyle]: https://tnfe.github.io/bbo/#getstyle\n[setstyle]: https://tnfe.github.io/bbo/#setstyle\n[attr]: https://tnfe.github.io/bbo/#attr\n[loadimages]: https://tnfe.github.io/bbo/#loadimages\n[loadjs]: https://tnfe.github.io/bbo/#loadjs\n[loadcss]: https://tnfe.github.io/bbo/#loadcss\n[tojson]: https://tnfe.github.io/bbo/#tojson\n[jsonp]: https://tnfe.github.io/bbo/#jsonp\n[cookie]: https://tnfe.github.io/bbo/#cookie\n[setcookie]: https://tnfe.github.io/bbo/#setCookie\n[getcookie]: https://tnfe.github.io/bbo/#getcookie\n[deletecookie]: https://tnfe.github.io/bbo/#deletecookie\n[parsecookie]: https://tnfe.github.io/bbo/#parsecookie\n[storage]: https://tnfe.github.io/bbo/#storage\n[open]: https://tnfe.github.io/bbo/#open\n[geturlparam]: https://tnfe.github.io/bbo/#geturlparam\n[seturlparam]: https://tnfe.github.io/bbo/#seturlparam\n[deleteurlparam]: https://tnfe.github.io/bbo/#deleteurlparam\n[objectparam]: https://tnfe.github.io/bbo/#objectparam\n[httpget]: https://tnfe.github.io/bbo/#httpget\n[httppost]: https://tnfe.github.io/bbo/#httppost\n[settimesout]: https://tnfe.github.io/bbo/#settimesout\n[cleartimesout]: https://tnfe.github.io/bbo/#cleartimesout\n[getdate]: https://tnfe.github.io/bbo/#getdate\n[formatpasstime]: https://tnfe.github.io/bbo/#formatpasstime\n[formatremaintime]: https://tnfe.github.io/bbo/#formatremaintime\n[formatduration]: https://tnfe.github.io/bbo/#formatduration\n[sleep]: https://tnfe.github.io/bbo/#sleep\n[fill0]: https://tnfe.github.io/bbo/#fill0\n[floor]: https://tnfe.github.io/bbo/#floor\n[chainasync]: https://tnfe.github.io/bbo/#chainasync\n[numberformat]: https://tnfe.github.io/bbo/#numberformat\n[modulo]: https://tnfe.github.io/bbo/#modulo\n[randomcolor]: https://tnfe.github.io/bbo/#randomcolor\n[randoma2b]: https://tnfe.github.io/bbo/#randoma2b\n[randomkey]: https://tnfe.github.io/bbo/#randomkey\n[trigger]: https://tnfe.github.io/bbo/#trigger\n[locktouch]: https://tnfe.github.io/bbo/#locktouch\n[copytoclipboard]: https://tnfe.github.io/bbo/#copytoclipboard\n[checkimagesize]: https://tnfe.github.io/bbo/#checkimagesize\n[imageoptimization]: https://tnfe.github.io/bbo/#imageoptimization\n[todataurl]: https://tnfe.github.io/bbo/#todataurl\n[gettag]: https://tnfe.github.io/bbo/#gettag\n[hasownproperty]: https://tnfe.github.io/bbo/#hasownproperty\n[is]: https://tnfe.github.io/bbo/#is\n[isobject]: https://tnfe.github.io/bbo/#isobject\n[isarray]: https://tnfe.github.io/bbo/#isarray\n[isstring]: https://tnfe.github.io/bbo/#isstring\n[isboolean]: https://tnfe.github.io/bbo/#isboolean\n[isnumber]: https://tnfe.github.io/bbo/#isnumber\n[ismap]: https://tnfe.github.io/bbo/#ismap\n[isset]: https://tnfe.github.io/bbo/#isset\n[isfunction]: https://tnfe.github.io/bbo/#isfunction\n[isempty]: https://tnfe.github.io/bbo/#isempty\n[isshallowequal]: https://tnfe.github.io/bbo/#isshallowequal\n[has]: https://tnfe.github.io/bbo/#has\n[reduce]: https://tnfe.github.io/bbo/#reduce\n[foreach]: https://tnfe.github.io/bbo/#foreach\n[map]: https://tnfe.github.io/bbo/#map\n[findindex]: https://tnfe.github.io/bbo/#findindex\n[find]: https://tnfe.github.io/bbo/#find\n[topath]: https://tnfe.github.io/bbo/#topath\n[get]: https://tnfe.github.io/bbo/#get\n[set]: https://tnfe.github.io/bbo/#set\n[debounce]: https://tnfe.github.io/bbo/#debounce\n[throttle]: https://tnfe.github.io/bbo/#throttle\n[pick]: https://tnfe.github.io/bbo/#pick\n[omit]: https://tnfe.github.io/bbo/#omit\n[issymbol]: https://tnfe.github.io/bbo/#issymbol\n[clone]: https://tnfe.github.io/bbo/#clone\n[values]: https://tnfe.github.io/bbo/#values\n[entries]: https://tnfe.github.io/bbo/#entries\n[flush]: https://tnfe.github.io/bbo/#flush\n[extend]: https://tnfe.github.io/bbo/#extend\n[size]: https://tnfe.github.io/bbo/#size\n[trim]: https://tnfe.github.io/bbo/#trim\n[fillzero]: https://tnfe.github.io/bbo/#fillzero\n[longunique]: https://tnfe.github.io/bbo/#longunique\n[striptags]: https://tnfe.github.io/bbo/#striptags\n[capitalize]: https://tnfe.github.io/bbo/#capitalize\n[decapitalize]: https://tnfe.github.io/bbo/#decapitalize\n[isabsoluteurl]: https://tnfe.github.io/bbo/#isabsoluteurl\n[mapstring]: https://tnfe.github.io/bbo/#mapstring\n[mask]: https://tnfe.github.io/bbo/#mask\n[splitlines]: https://tnfe.github.io/bbo/#splitlines\n[camelize]: https://tnfe.github.io/bbo/#camelize\n[underscored]: https://tnfe.github.io/bbo/#underscored\n[dasherize]: https://tnfe.github.io/bbo/#dasherize\n[truncate]: https://tnfe.github.io/bbo/#truncate\n[bytesize]: https://tnfe.github.io/bbo/#bytesize\n[bytelen]: https://tnfe.github.io/bbo/#bytelen\n[repeat]: https://tnfe.github.io/bbo/#repeat\n[endswith]: https://tnfe.github.io/bbo/#endswith\n[startswith]: https://tnfe.github.io/bbo/#startswith\n[containswith]: https://tnfe.github.io/bbo/#containswith\n[xssfilter]: https://tnfe.github.io/bbo/#xssfilter\n[effortindex]: https://tnfe.github.io/bbo/#effortindex\n[capwords]: https://tnfe.github.io/bbo/#capwords\n[unique]: https://tnfe.github.io/bbo/#unique\n[uniqueby]: https://tnfe.github.io/bbo/#uniqueby\n[uniquefrom]: https://tnfe.github.io/bbo/#uniquefrom\n[random]: https://tnfe.github.io/bbo/#random\n[randomsize]: https://tnfe.github.io/bbo/#randomsize\n[shuffle]: https://tnfe.github.io/bbo/#shuffle\n[contains]: https://tnfe.github.io/bbo/#contains\n[includesall]: https://tnfe.github.io/bbo/#includesall\n[includesany]: https://tnfe.github.io/bbo/#includesany\n[removeat]: https://tnfe.github.io/bbo/#removeat\n[remove]: https://tnfe.github.io/bbo/#remove\n[compact]: https://tnfe.github.io/bbo/#compact\n[pluck]: https://tnfe.github.io/bbo/#pluck\n[union]: https://tnfe.github.io/bbo/#union\n[unionby]: https://tnfe.github.io/bbo/#unionby\n[unionwith]: https://tnfe.github.io/bbo/#unionwith\n[intersect]: https://tnfe.github.io/bbo/#intersect\n[intersectby]: https://tnfe.github.io/bbo/#intersectby\n[difference]: https://tnfe.github.io/bbo/#difference\n[differenceby]: https://tnfe.github.io/bbo/#differenceby\n[max]: https://tnfe.github.io/bbo/#max\n[min]: https://tnfe.github.io/bbo/#min\n[equal]: https://tnfe.github.io/bbo/#equal\n[allequal]: https://tnfe.github.io/bbo/#allequal\n[all]: https://tnfe.github.io/bbo/#all\n[any]: https://tnfe.github.io/bbo/#any\n[chunk]: https://tnfe.github.io/bbo/#chunk\n[countby]: https://tnfe.github.io/bbo/#countby\n[countoccurrences]: https://tnfe.github.io/bbo/#countoccurrences\n[drop]: https://tnfe.github.io/bbo/#drop\n[dropright]: https://tnfe.github.io/bbo/#dropright\n[dropwhile]: https://tnfe.github.io/bbo/#dropwhile\n[droprightwhile]: https://tnfe.github.io/bbo/#droprightwhile\n[column]: https://tnfe.github.io/bbo/#column\n[search]: https://tnfe.github.io/bbo/#search\n[unary]: https://tnfe.github.io/bbo/#unary\n[indexby]: https://tnfe.github.io/bbo/#indexby\n[split]: https://tnfe.github.io/bbo/#split\n[isdate]: https://tnfe.github.io/bbo/#isdate\n[mapvalues]: https://tnfe.github.io/bbo/#mapvalues\n[properobject]: https://tnfe.github.io/bbo/#properobject\n[objectdiff]: https://tnfe.github.io/bbo/#objectdiff\n[deleteddiff]: https://tnfe.github.io/bbo/#deleteddiff\n[detaileddiff]: https://tnfe.github.io/bbo/#detaileddiff\n[addeddiff]: https://tnfe.github.io/bbo/#addeddiff\n[updateddiff]: https://tnfe.github.io/bbo/#updateddiff\n[retry]: https://tnfe.github.io/bbo/#retry\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftnfe%2Fbbo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftnfe%2Fbbo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftnfe%2Fbbo/lists"}