{"id":15413510,"url":"https://github.com/wooorm/ccount","last_synced_at":"2025-04-19T11:40:04.183Z","repository":{"id":57195349,"uuid":"38976393","full_name":"wooorm/ccount","owner":"wooorm","description":"Count how often a substring occurs","archived":false,"fork":false,"pushed_at":"2022-11-20T09:13:25.000Z","size":63,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-11T06:51:19.484Z","etag":null,"topics":["character","count","string","value"],"latest_commit_sha":null,"homepage":"","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/wooorm.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":"funding.yml","license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"wooorm"}},"created_at":"2015-07-12T20:13:35.000Z","updated_at":"2023-03-15T11:06:47.000Z","dependencies_parsed_at":"2022-09-16T10:50:43.176Z","dependency_job_id":null,"html_url":"https://github.com/wooorm/ccount","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/wooorm%2Fccount","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fccount/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fccount/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fccount/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wooorm","download_url":"https://codeload.github.com/wooorm/ccount/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249685275,"owners_count":21310576,"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":["character","count","string","value"],"created_at":"2024-10-01T16:57:28.011Z","updated_at":"2025-04-19T11:40:04.127Z","avatar_url":"https://github.com/wooorm.png","language":"JavaScript","readme":"# ccount\n\n[![Build][build-badge]][build]\n[![Coverage][coverage-badge]][coverage]\n[![Downloads][downloads-badge]][downloads]\n[![Size][size-badge]][size]\n\nGet the count of how often `substring` occurs in `value`.\n\n## Contents\n\n*   [What is this?](#what-is-this)\n*   [When should I use this?](#when-should-i-use-this)\n*   [Install](#install)\n*   [Use](#use)\n*   [API](#api)\n    *   [`ccount(value, character)`](#ccountvalue-character)\n*   [Types](#types)\n*   [Compatibility](#compatibility)\n*   [Security](#security)\n*   [Related](#related)\n*   [Contribute](#contribute)\n*   [License](#license)\n\n## What is this?\n\nThis is a tiny package that finds the count of a substring.\n\n## When should I use this?\n\nI find this particularly useful when generating code, for example, when building\na string that can either be double or single quoted.\nI use this utility to choose single quotes when double quotes are used more\nfrequently, and double quotes otherwise.\n\n## Install\n\nThis package is [ESM only][esm].\nIn Node.js (version 14.14+, 16.0+), install with [npm][]:\n\n```sh\nnpm install ccount\n```\n\nIn Deno with [`esm.sh`][esmsh]:\n\n```js\nimport {ccount} from 'https://esm.sh/ccount@2'\n```\n\nIn browsers with [`esm.sh`][esmsh]:\n\n```html\n\u003cscript type=\"module\"\u003e\n  import {ccount} from 'https://esm.sh/ccount@2?bundle'\n\u003c/script\u003e\n```\n\n## Use\n\n```js\nimport {ccount} from 'ccount'\n\nccount('foo(bar(baz)', '(') // =\u003e 2\nccount('foo(bar(baz)', ')') // =\u003e 1\n```\n\n## API\n\nThis package exports the identifier `ccount`.\nThere is no default export.\n\n### `ccount(value, character)`\n\nGet the count of `substring` in `value`.\n\n###### Parameters\n\n*   `value` (`string`) — content to search in\n*   `substring` (`string`) — substring to look for, typically one character\n\n###### Returns\n\nCount of `substring`s in `value` (`number`).\n\n## Types\n\nThis package is fully typed with [TypeScript][].\nIt exports no additional types.\n\n## Compatibility\n\nThis package is at least compatible with all maintained versions of Node.js.\nAs of now, that is Node.js 14.14+ and 16.0+.\nIt also works in Deno and modern browsers.\n\n## Security\n\nThis package is safe.\n\n## Related\n\n*   [`wooorm/longest-streak`](https://github.com/wooorm/longest-streak)\n    — count the longest repeating streak of `substring`s in `value`\n*   [`wooorm/direction`](https://github.com/wooorm/direction)\n    — detect directionality: left-to-right, right-to-left, or neutral\n\n## Contribute\n\nYes please!\nSee [How to Contribute to Open Source][contribute].\n\n## License\n\n[MIT][license] © [Titus Wormer][author]\n\n\u003c!-- Definitions --\u003e\n\n[build-badge]: https://github.com/wooorm/ccount/workflows/main/badge.svg\n\n[build]: https://github.com/wooorm/ccount/actions\n\n[coverage-badge]: https://img.shields.io/codecov/c/github/wooorm/ccount.svg\n\n[coverage]: https://codecov.io/github/wooorm/ccount\n\n[downloads-badge]: https://img.shields.io/npm/dm/ccount.svg\n\n[downloads]: https://www.npmjs.com/package/ccount\n\n[size-badge]: https://img.shields.io/bundlephobia/minzip/ccount.svg\n\n[size]: https://bundlephobia.com/result?p=ccount\n\n[npm]: https://docs.npmjs.com/cli/install\n\n[esmsh]: https://esm.sh\n\n[license]: license\n\n[author]: https://wooorm.com\n\n[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n\n[typescript]: https://www.typescriptlang.org\n\n[contribute]: https://opensource.guide/how-to-contribute/\n","funding_links":["https://github.com/sponsors/wooorm"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwooorm%2Fccount","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwooorm%2Fccount","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwooorm%2Fccount/lists"}