{"id":13992720,"url":"https://github.com/mattt/TransformerKit","last_synced_at":"2025-07-22T16:31:30.442Z","repository":{"id":5430030,"uuid":"6622224","full_name":"mattt/TransformerKit","owner":"mattt","description":"A block-based API for NSValueTransformer, with a growing collection of useful examples.","archived":false,"fork":false,"pushed_at":"2021-10-01T08:35:17.000Z","size":147,"stargazers_count":842,"open_issues_count":2,"forks_count":101,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-05-23T05:12:22.322Z","etag":null,"topics":["data-transformation","nsvaluetransformer","objective-c","swift"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","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/mattt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-11-09T23:36:56.000Z","updated_at":"2025-01-17T15:53:57.000Z","dependencies_parsed_at":"2022-07-06T17:30:22.847Z","dependency_job_id":null,"html_url":"https://github.com/mattt/TransformerKit","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/mattt/TransformerKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattt%2FTransformerKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattt%2FTransformerKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattt%2FTransformerKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattt%2FTransformerKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattt","download_url":"https://codeload.github.com/mattt/TransformerKit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattt%2FTransformerKit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266531083,"owners_count":23944041,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["data-transformation","nsvaluetransformer","objective-c","swift"],"created_at":"2024-08-09T14:02:06.294Z","updated_at":"2025-07-22T16:31:29.999Z","avatar_url":"https://github.com/mattt.png","language":"Objective-C","funding_links":[],"categories":["Objective-C"],"sub_categories":[],"readme":"# TransformerKit\n\n**A block-based API for NSValueTransformer,\nwith a growing collection of useful examples.**\n\n[`NSValueTransformer`](https://nshipster.com/nsvaluetransformer/),\nwhile perhaps obscure to most iOS programmers,\nremains a staple of OS X development.\nBefore Objective-C APIs got in the habit of\nflinging block parameters hither and thither with reckless abandon, `NSValueTransformer` was the go-to way to encapsulate mutation functionality --- especially when it came to Bindings.\n\n`NSValueTransformer` is convenient to use but a pain to set up.\nTo create a value transformer you have to\ncreate a subclass,\nimplement a handful of required methods,\nand register a singleton instance by name.\n\nTransformerKit breathes new life into `NSValueTransformer`\nby making them dead-simple to define and register:\n\n```objective-c\nNSString * const TTTCapitalizedStringTransformerName = @\"TTTCapitalizedStringTransformerName\";\n\n[NSValueTransformer registerValueTransformerWithName:TTTCapitalizedStringTransformerName\n                               transformedValueClass:[NSString class]\n                  returningTransformedValueWithBlock:^id(id value) {\n  return [value capitalizedString];\n}];\n```\n\n\u003e TransformerKit pairs nicely with\n\u003e [InflectorKit](https://github.com/mattt/InflectorKit) and\n\u003e [FormatterKit](https://github.com/mattt/FormatterKit),\n\u003e providing well-designed APIs for manipulating user-facing content.\n\n---\n\nTransformerKit also contains a _growing_ number of convenient transformers\nthat your apps will love and cherish:\n\n### String Transformers\n\n- Capitalized\n- UPPERCASE\n- lowercase\n- CamelCase\n- llamaCase\n- snake_case\n- train-case\n- esreveR\\* _(Reverse)_\n- Rémövê Dîaçritics _(Remove accents and combining marks)_\n- ट्रांस्लितेराते स्ट्रिंग _(Transliterate to Latin)_\n- Any Valid [ICU Transform](http://userguide.icu-project.org/transforms/general)\\*\n\n### Image Transformers\n\n- PNG Representation\\*\n- JPEG Representation\\*\n- GIF Representation _(macOS)_\n- TIFF Representation _(macOS)_\n\n### Date Transformers\n\n- [ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm) Timestamp\\*\n- [RFC 2822](https://www.ietf.org/rfc/rfc2822) Timestamp\\*\n\n### JSON Data Transformers\n\n- JSON Transformer\\*\n\n### Data Transformers _(macOS)_\n\n- Base16 String Encode / Decode\n- Base32 String Encode / Decode\n- Base64 String Encode / Decode\n- Base85 String Encode / Decode\n\n\n### Cryptographic Transformers _(macOS)_\n\n- MD5, SHA-1, SHA-256, et al. Digests\n\n\u003e \\* - **Reversible**\n\n## Contact\n\nMattt ([@mattt](https://twitter.com/mattt))\n\n## License\n\nTransformerKit is released under the MIT license.\nSee the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattt%2FTransformerKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattt%2FTransformerKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattt%2FTransformerKit/lists"}