{"id":18307788,"url":"https://github.com/exceptionless/ng-filters","last_synced_at":"2025-12-12T04:04:03.020Z","repository":{"id":21401082,"uuid":"24718997","full_name":"exceptionless/ng-filters","owner":"exceptionless","description":"Awesome generic angular filters","archived":false,"fork":false,"pushed_at":"2016-09-26T22:57:07.000Z","size":24,"stargazers_count":28,"open_issues_count":1,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-21T08:05:48.181Z","etag":null,"topics":["angular","angularjs","bytes","filter","javascript","join","ng-filters","percent","percentage","replace","reverse"],"latest_commit_sha":null,"homepage":null,"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/exceptionless.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}},"created_at":"2014-10-02T13:02:09.000Z","updated_at":"2024-06-29T19:50:56.000Z","dependencies_parsed_at":"2022-08-19T18:20:21.135Z","dependency_job_id":null,"html_url":"https://github.com/exceptionless/ng-filters","commit_stats":null,"previous_names":["niemyjski/angular-filters"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exceptionless%2Fng-filters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exceptionless%2Fng-filters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exceptionless%2Fng-filters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exceptionless%2Fng-filters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exceptionless","download_url":"https://codeload.github.com/exceptionless/ng-filters/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247374904,"owners_count":20928907,"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":["angular","angularjs","bytes","filter","javascript","join","ng-filters","percent","percentage","replace","reverse"],"created_at":"2024-11-05T16:05:28.793Z","updated_at":"2025-12-12T04:04:02.701Z","avatar_url":"https://github.com/exceptionless.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ng-filters\n[![Bower version](https://img.shields.io/bower/v/ng-filters.svg)](http://bower.io/search/?q=ng-filters)\n[![Slack Status](https://slack.exceptionless.com/badge.svg)](https://slack.exceptionless.com)\n[![Donate](https://img.shields.io/badge/donorbox-donate-blue.svg)](https://donorbox.org/exceptionless)\n\nUseful filters for AngularJS\n\nInstall\n-------\n```html\nbower install ng-filters --save-dev\n```\n\nUsage\n-------\n\n###bytes\nPrints a number in a friendly byte representation\u003cbr/\u003e\n\n```html\n{{1536 | bytes}}\n{{'1536' | bytes}}\n{{1536 | bytes:2}}\n\nResult:\n1.5 kB\n1.5 kB\n1.50 kB\n```\n\n###join\nJoins an array into a string\u003cbr/\u003e\n\n```html\n{{[1, 2] | join}}\n{{[1, null, 2, undefined] | join}}\n{{[1, 2] | join:', '}}\n\nResult:\n1,2\n1,2\n1, 2\n```\n\n###percentage\nReturns a number formatted as a percentage. Numbers between 0 and 1 will be rounded up to 10th decimal place.\u003cbr/\u003e\n\n```html\n{{123 | percentage}}\n{{null | percentage}}\n{{60.0 | percentage}}\n{{0 | percentage}}\n{{0.000001 | percentage}}\n{{100.000001 | percentage:100}}\n\nResult:\n123%\n0%\n60%\n0%\n0.1%\n100%\n```\n\n###replace\nReplaces string content\u003cbr/\u003e\n\n```html\n{{'blake' | replace:'b':'B'}}\n\nResult:\nBlake\n```\n\n###reverse\nReverses as string or array\u003cbr/\u003e\n\n```html\n{{'blake' | reverse}}\n{{[1, 2] | reverse}}\n\nResult:\nekalb\n[2, 1]\n```\n\n###toSpacedWords\nSplits a single word into multiple words\u003cbr/\u003e\n\n```html\n{{'blake' | toSpacedWords}}\n{{'blakeIsAwesome' | toSpacedWords}}\n\nResult:\nBlake\nBlake Is Awesome\n```\n\nAcknowledgements\n-------\nI used [Restangular](https://github.com/mgonto/restangular) as a template for this project as no one has yet to create a project template for new projects.\nThe bytes filter originated from [Thom Seddon](https://gist.github.com/thomseddon/3511330) before some improvements were made.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexceptionless%2Fng-filters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexceptionless%2Fng-filters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexceptionless%2Fng-filters/lists"}