{"id":18989273,"url":"https://github.com/danielvigaru/truncate-text-between-words","last_synced_at":"2026-02-15T17:04:51.988Z","repository":{"id":44557277,"uuid":"512393837","full_name":"danielvigaru/truncate-text-between-words","owner":"danielvigaru","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-15T19:25:28.000Z","size":401,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-13T03:44:13.349Z","etag":null,"topics":["npm","truncate-text"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/truncate-text-between-words","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielvigaru.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,"zenodo":null}},"created_at":"2022-07-10T09:26:01.000Z","updated_at":"2025-09-09T16:12:19.000Z","dependencies_parsed_at":"2024-09-16T19:48:56.058Z","dependency_job_id":"40a7c735-ad3f-43a1-9a06-2e542fdfe82d","html_url":"https://github.com/danielvigaru/truncate-text-between-words","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danielvigaru/truncate-text-between-words","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvigaru%2Ftruncate-text-between-words","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvigaru%2Ftruncate-text-between-words/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvigaru%2Ftruncate-text-between-words/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvigaru%2Ftruncate-text-between-words/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielvigaru","download_url":"https://codeload.github.com/danielvigaru/truncate-text-between-words/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielvigaru%2Ftruncate-text-between-words/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29485021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T15:33:17.885Z","status":"ssl_error","status_checked_at":"2026-02-15T15:32:53.698Z","response_time":118,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["npm","truncate-text"],"created_at":"2024-11-08T17:06:08.773Z","updated_at":"2026-02-15T17:04:51.973Z","avatar_url":"https://github.com/danielvigaru.png","language":"TypeScript","funding_links":["https://ko-fi.com/Y8Y1DZBZU"],"categories":[],"sub_categories":[],"readme":"Truncates the text at the last space found before the given length. Adds \"...\" to indicate that the text is truncated.\n\n[![CI](https://github.com/danielvigaru/truncate-text-between-words/actions/workflows/node.js.yml/badge.svg)](https://github.com/danielvigaru/truncate-text-between-words/actions/workflows/node.js.yml)\n[![npm](https://img.shields.io/badge/npm-FFF?style=flat\u0026logo=npm\u0026logoColor=fff\u0026color=CB3837)](https://www.npmjs.com/package/truncate-text-between-words)\n[![Ko-fi](https://img.shields.io/badge/Ko--fi-FF5E5B?style=flat\u0026logo=ko-fi\u0026logoColor=white\u0026color=D34F4C)](https://ko-fi.com/Y8Y1DZBZU)\n\n## Usage\n\n```javascript\nimport {\n    truncateText,\n    getPositionOfLastSpaceBeforeIndex,\n} from 'truncate-text-between-words';\n```\n\n### Let's use this text as example:\n\n```javascript\n// Lenght:        5    10   15   20   25\n//                ↓    ↓    ↓    ↓    ↓\nconst TEXT = 'Lorem ipsum dolor sit amet.';\n```\n\n## truncateText\n\nParameters:\n\n```typescript\ntype TruncateTextOptions = {\n    hideIfNoWords?: boolean;\n    dotsInsteadOfEllipsis?: boolean;\n};\n\ntruncateText(text: string, maxLength: number, options?: TruncateTextOptions);\n```\n\n### Options\n\n`hideIfNoWords` - default: `false` - Hide the ellipsis if there are no words to show\n\n```javascript\ntruncateText(TEXT, 3);\n// Output: ...\n\ntruncateText(TEXT, 3, { hideIfNoWords: true });\n// Output:\n```\n\n`dotsInsteadOfEllipsis` - default: `false` - Use three dots instead of the ellipsis unicode character U+2026\n\n### Other examples\n\n```javascript\ntruncateText(TEXT, 6);\n// Output: Lorem...\n\ntruncateText(TEXT, 15);\n// Output: Lorem ipsum...\n\ntruncateText(TEXT, 50);\n// Output: Lorem ipsum dolor sit amet.\n```\n\n## getPositionOfLastSpaceBeforeIndex\n\n```typescript\ngetPositionOfLastSpaceBeforeIndex(text: string, index: number);\n\n```\n\n```javascript\ngetPositionOfLastSpaceBeforeIndex(TEXT, 3);\n// Output: -1\n\ngetPositionOfLastSpaceBeforeIndex(TEXT, 6);\n// Output: 5\n\ngetPositionOfLastSpaceBeforeIndex(TEXT, 15);\n// Output: 11\n\ngetPositionOfLastSpaceBeforeIndex(TEXT, 50);\n// Output: 21\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielvigaru%2Ftruncate-text-between-words","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielvigaru%2Ftruncate-text-between-words","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielvigaru%2Ftruncate-text-between-words/lists"}