{"id":22706793,"url":"https://github.com/bigbinary/neeto-cist","last_synced_at":"2025-04-13T12:12:51.079Z","repository":{"id":196195086,"uuid":"687632153","full_name":"bigbinary/neeto-cist","owner":"bigbinary","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-11T02:50:16.000Z","size":1070,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-13T12:12:39.365Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bigbinary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-09-05T17:15:12.000Z","updated_at":"2025-04-11T02:49:13.000Z","dependencies_parsed_at":"2023-09-22T22:22:26.736Z","dependency_job_id":"3a7e23ef-7f01-4a04-8934-68b7c4b48523","html_url":"https://github.com/bigbinary/neeto-cist","commit_stats":null,"previous_names":["bigbinary/neeto-cist","bigbinary/neeto-utils"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbinary%2Fneeto-cist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbinary%2Fneeto-cist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbinary%2Fneeto-cist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbinary%2Fneeto-cist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bigbinary","download_url":"https://codeload.github.com/bigbinary/neeto-cist/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248710448,"owners_count":21149191,"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":[],"created_at":"2024-12-10T10:09:45.063Z","updated_at":"2025-04-13T12:12:51.069Z","avatar_url":"https://github.com/bigbinary.png","language":"JavaScript","readme":"# neeto-cist\n\n[![BuildStatus](https://neeto-engineering.neetoci.com/badges/neeto-cist/workflows/default.svg)](https://neeto-engineering.neetoci.com/projects/neeto-cist)\n\nA collection of common utility functions used across all our\n[neeto](https://neeto.com) products. Try out the utility functions live at\n[neetoCommons REPL](https://neeto-cist.neeto.com/). \n\n## Contents\n  - [Installation](#installation)\n  - [Usage](#usage)\n  - [Available functions](#available-functions)\n  - [Development](#development)\n\n## Installation\n\nInstall from npm:\n\n```bash\nyarn add @bigbinary/neeto-cist@latest\n```\n\nInstall the peer dependencies:\n\n```bash\nyarn add ramda\n```\n\n## Usage\n\nYou can import all functions from `@bigbinary/neeto-cist`.\n\n```js\nimport { slugify } from \"@bigbinary/neeto-cist\";\n```\n\nExports several general utility functions that are used throughout neeto\nproducts. The functions are structured in a manner reminiscent of Ramda,\nenabling seamless interoperability among them.\n\nPure functions were designed to be fail fast. If you call `findById(10, null)`,\nit will throw error saying that it can't iterate through `null`.\n\nBut for most such pure functions, there is a failsafe alternative available. The\nfailsafe alternative function will be prefixed with `_`. Example:\n`_findById(10, null)` returns `null`, `_findById(10, undefined)` returns\n`undefined` and `_findById(10, [{ id: 10 }])` returns `{ id: 10 }`.\n\n## Available functions\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e\n\nArray operations\n\n\u003c/th\u003e\n\u003cth\u003e\n\nObject operations\n\n\u003c/th\u003e\n\u003cth\u003e\n\nString operations\n\n\u003c/th\u003e\n\u003cth\u003e\n\nGeneral utility functions\n\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"vertical-align: top;\"\u003e\n\n- [findById](docs/pure/arrays/findById.md)\n- [findIndexById](docs/pure/arrays/findIndexById.md)\n- [removeById](docs/pure/arrays/removeById.md)\n- [replaceById](docs/pure/arrays/replaceById.md)\n- [modifyById](docs/pure/arrays/modifyById.md)\n- [existsById](docs/pure/arrays/existsById.md)\n\n---\n\n- [findBy](docs/pure/arrays/findBy.md)\n- [findIndexBy](docs/pure/arrays/findIndexBy.md)\n- [removeBy](docs/pure/arrays/removeBy.md)\n- [replaceBy](docs/pure/arrays/replaceBy.md)\n- [modifyBy](docs/pure/arrays/modifyBy.md)\n- [existsBy](docs/pure/arrays/existsBy.md)\n- [findLastBy](docs/pure/arrays/findLastBy.md)\n- [findLastIndexBy](docs/pure/arrays/findLastIndexBy.md)\n- [filterBy](docs/pure/arrays/filterBy.md)\n- [countBy](docs/pure/arrays/countBy.md)\n\n---\n\n- [renameKeys](docs/pure/arrays/renameKeys.md)\n- [copyKeys](docs/pure/arrays/copyKeys.md)\n- [copyKeysDeep](docs/pure/arrays/copyKeysDeep.md)\n\n\u003c/td\u003e\n\u003ctd  style=\"vertical-align: top;\"\u003e\n\n- [matchesImpl](docs/pure/objects/matchesImpl.md)\n- [transformObjectDeep](docs/pure/objects/transformObjectDeep.md)\n- [keysToCamelCase](docs/pure/objects/keysToCamelCase.md)\n- [keysToSnakeCase](docs/pure/objects/keysToSnakeCase.md)\n- [serializeKeysToSnakeCase](docs/pure/objects/serializeKeysToSnakeCase.md)\n- [preprocessForSerialization](docs/pure/objects/preprocessForSerialization.md)\n- [deepFreezeObject](docs/pure/objects/deepFreezeObject.md)\n- [matches](docs/pure/objects/matches.md)\n- [filterNonNull](docs/pure/objects/filterNonNull.md)\n\n\u003c/td\u003e\n\u003ctd  style=\"vertical-align: top;\"\u003e\n\n- [slugify](docs/pure/strings/slugify.md)\n- [humanize](docs/pure/strings/humanize.md)\n- [snakeToCamelCase](docs/pure/strings/snakeToCamelCase.md)\n- [camelToSnakeCase](docs/pure/strings/camelToSnakeCase.md)\n- [capitalize](docs/pure/strings/capitalize.md)\n- [hyphenate](docs/pure/strings/hyphenate.md)\n- [truncate](docs/pure/strings/truncate.md)\n\n\u003c/td\u003e\n\u003ctd  style=\"vertical-align: top;\"\u003e\n\n- [nullSafe](docs/pure/general/nullSafe.md)\n- [noop](docs/pure/general/noop.md)\n- [toLabelAndValue](docs/pure/general/toLabelAndValue.md)\n- [getRandomInt](docs/pure/general/getRandomInt.md)\n- [randomPick](docs/pure/general/randomPick.md)\n- [dynamicArray](docs/pure/general/dynamicArray.md)\n- [isNotEmpty](docs/pure/general/isNotEmpty.md)\n- [isNot (notEquals)](docs/pure/general/isNot.md)\n- [isNotPresent](docs/pure/general/isNotPresent.md)\n- [isPresent](docs/pure/general/isPresent.md)\n- [isNotEqualDeep (alias notEqualsDeep)](docs/pure/general/isNotEqualDeep.md)\n- [modifyWithImmer](docs/pure/general/modifyWithImmer.md)\n\u003c/td\u003e\n\u003ctr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Development\n\n- [Development instructions](./docs/general/development-instructions.md)\n- [API documentation logistics](./docs/general/api-documentation-logistics.md)\n- [Building and releasing](./docs/general/building-and-releasing.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigbinary%2Fneeto-cist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigbinary%2Fneeto-cist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigbinary%2Fneeto-cist/lists"}