{"id":16666943,"url":"https://github.com/joshk2/jotils","last_synced_at":"2025-04-09T19:17:12.721Z","repository":{"id":51732806,"uuid":"153616247","full_name":"JoshK2/jotils","owner":"JoshK2","description":"jotils is a JavaScript utility library.","archived":false,"fork":false,"pushed_at":"2023-01-07T09:21:49.000Z","size":612,"stargazers_count":7,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T19:17:05.298Z","etag":null,"topics":["array","array-manipulations","javascript","string","typescript","utility","utils"],"latest_commit_sha":null,"homepage":"https://bit.dev/joshk/jotils","language":"TypeScript","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/JoshK2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-18T11:56:19.000Z","updated_at":"2020-06-08T10:00:25.000Z","dependencies_parsed_at":"2023-02-06T19:09:28.160Z","dependency_job_id":null,"html_url":"https://github.com/JoshK2/jotils","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshK2%2Fjotils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshK2%2Fjotils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshK2%2Fjotils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoshK2%2Fjotils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoshK2","download_url":"https://codeload.github.com/JoshK2/jotils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248094988,"owners_count":21046770,"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":["array","array-manipulations","javascript","string","typescript","utility","utils"],"created_at":"2024-10-12T11:12:31.980Z","updated_at":"2025-04-09T19:17:12.702Z","avatar_url":"https://github.com/JoshK2.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jotils - JavaScript utility functions library\n[![CircleCI](https://circleci.com/gh/JoshK2/jotils.svg?style=svg)](https://circleci.com/gh/JoshK2/jotils)\n[![bit components](https://img.shields.io/badge/dynamic/json.svg?color=6e3991\u0026label=bit%20components\u0026query=payload.totalComponents\u0026url=https%3A%2F%2Fapi.bit.dev%2Fscope%2Fjoshk%2Fjotils)](https://bit.dev/joshk/jotils) [![npm version](https://badge.fury.io/js/jotils.svg)](http://badge.fury.io/js/jotils) \n[![GitHub stars](https://img.shields.io/github/stars/joshk2/jotils)](https://github.com/JoshK2/jotils/stargazers)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/JoshK2/jotils/master/LICENSE)\n[![Twitter Follow](https://img.shields.io/twitter/follow/joshkuttler)](https://twitter.com/JoshKuttler)\n\nJotils is a JavaScript utility functions library.  \nThe library is published to npm as a pacakge, and also exported to [bit.dev](https://bit.dev) as a collection of components, so you can install a specific function of the project without having to install the whole project, you can do it from [here](https://bit.dev/joshk/jotils).  \nThe project has 29 functions for the moment and continues to grow, you can [contribute](CONTRIBUTING.md) to this with pleasure.  \n\n- ✂️Zero dependencies\n- 📦Functions can be installing separately\n- ✅Functions are tested\n\n##  [Live Demo](https://bit.dev/joshk/jotils)\nBrowse components and explore their props with [Bit](https://bit.dev/joshk/jotils).    \n[Install components and live demo](https://bit.dev/joshk/jotils)  \n\u003ca href=\"https://bit.dev/joshk/jotils\" target=\"_blank\"\u003e\u003cimg width=\"200\" height=\"39\" src=\"https://i.imagesup.co/images2/4a64f008951cd66e56d4f1e0141a27df584a1e94.png\"\u003e\u003c/a\u003e\n\n## 🚀 List of functions\nEvery function have a live demo with docs and tests.\n- [array-diff](https://bit.dev/joshk/jotils/array-diff)\n- [async-for-each](https://bit.dev/joshk/jotils/async-for-each)\n- [async-sleep](https://bit.dev/joshk/jotils/async-sleep)\n- [create-array](https://bit.dev/joshk/jotils/create-array)\n- [degrees-to-radians](https://bit.dev/joshk/jotils/degrees-to-radians)\n- [get-file-extension](https://bit.dev/joshk/jotils/get-file-extension)\n- [get-file-name](https://bit.dev/joshk/jotils/get-file-name)\n- [get-longest-word](https://bit.dev/joshk/jotils/get-longest-word)\n- [get-longest-word-length](https://bit.dev/joshk/jotils/get-longest-word-length)\n- [get-random-color](https://bit.dev/joshk/jotils/get-random-color)\n- [includes](https://bit.dev/joshk/jotils/includes)\n- [is-array](https://bit.dev/joshk/jotils/is-array)\n- [is-boolean](https://bit.dev/joshk/jotils/is-boolean)\n- [is-number](https://bit.dev/joshk/jotils/is-number)\n- [is-object](https://bit.dev/joshk/jotils/is-object)\n- [is-string](https://bit.dev/joshk/jotils/is-string)\n- [is-undefined](https://bit.dev/joshk/jotils/is-undefined)\n- [is-unique-in-array](https://bit.dev/joshk/jotils/is-unique-in-array)\n- [letter-count](https://bit.dev/joshk/jotils/letter-count)\n- [linear-interpolation](https://bit.dev/joshk/jotils/linear-interpolation)\n- [percentage-calculator](https://bit.dev/joshk/jotils/percentage-calculator)\n- [radians-to-degrees](https://bit.dev/joshk/jotils/radians-to-degrees)\n- [random](https://bit.dev/joshk/jotils/random)\n- [random-between](https://bit.dev/joshk/jotils/random-between)\n- [random-value-from-array](https://bit.dev/joshk/jotils/random-value-from-array)\n- [remove-duplicates-in-array](https://bit.dev/joshk/jotils/remove-duplicates-in-array)\n- [remove-value-from-array](https://bit.dev/joshk/jotils/remove-value-from-array)\n- [shuffle-array](https://bit.dev/joshk/jotils/shuffle-array)\n- [sum-array](https://bit.dev/joshk/jotils/sum-array)\n\n\n## 💻 Installation and Usage Examples\nUsing [npm](https://www.npmjs.com/package/jotils) to install jotils:  \n\n```bash\n$ npm i --save jotils\n```  \n```js\nconst J = require('jotils');\n```\n  \nUsing [bit](https://bit.dev/joshk/jotils/letter-count) to install a specific function:  \nset npm regisetry config(one time action)\n```bash \nnpm config set '@bit:registry' https://node.bit.dev\n``` \n```bash\n$ npm i @bit/joshk.jotils.letter-count\n```\n\n```js\nconst { letterCount } = require('@bit/joshk.jotils.letter-count');\n```\n\n## 👾🙌 Contributing\n- Pull requests and ⭐ stars are always welcome.\n- For bugs and feature requests, please create an issue.  \n- For major changes, please open an issue first to discuss what you would like to change.\n- Please make sure to update tests as appropriate.\n\n**Steps to contribute**\n1) Fork the project and clone.\n2) Create folder for your function in this [folder](https://github.com/JoshK2/jotils/tree/master/src/components), name the folder and the function file in lower case, and the function with upper case.\nSee example of naming in this folder [folder](https://github.com/JoshK2/jotils/tree/master/src/components/letter-count).\n3) The function need to be exported with index file inside the folder function, so create index.ts file to export your function. (NOT USE EXPORT DEFAULT)\n3) Run `npm run createindexfile` to generate the main index.ts file in components folder that export all the functions.\n4) Run `npm run build` to generate the build folder folder.\n5) Run `npm run test` to check the functions.\n6) Share with the community by submitting a PR.\n\n## 📄 License\n[MIT](https://github.com/JoshK2/jotils/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshk2%2Fjotils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshk2%2Fjotils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshk2%2Fjotils/lists"}