TransformerKit
A block-based API for NSValueTransformer, with a growing collection of useful examples.
Install / Use
/learn @mattt/TransformerKitREADME
TransformerKit
A block-based API for NSValueTransformer, with a growing collection of useful examples.
NSValueTransformer,
while perhaps obscure to most iOS programmers,
remains a staple of OS X development.
Before Objective-C APIs got in the habit of
flinging block parameters hither and thither with reckless abandon, NSValueTransformer was the go-to way to encapsulate mutation functionality --- especially when it came to Bindings.
NSValueTransformer is convenient to use but a pain to set up.
To create a value transformer you have to
create a subclass,
implement a handful of required methods,
and register a singleton instance by name.
TransformerKit breathes new life into NSValueTransformer
by making them dead-simple to define and register:
NSString * const TTTCapitalizedStringTransformerName = @"TTTCapitalizedStringTransformerName";
[NSValueTransformer registerValueTransformerWithName:TTTCapitalizedStringTransformerName
transformedValueClass:[NSString class]
returningTransformedValueWithBlock:^id(id value) {
return [value capitalizedString];
}];
TransformerKit pairs nicely with InflectorKit and FormatterKit, providing well-designed APIs for manipulating user-facing content.
TransformerKit also contains a growing number of convenient transformers that your apps will love and cherish:
String Transformers
- Capitalized
- UPPERCASE
- lowercase
- CamelCase
- llamaCase
- snake_case
- train-case
- esreveR* (Reverse)
- Rémövê Dîaçritics (Remove accents and combining marks)
- ट्रांस्लितेराते स्ट्रिंग (Transliterate to Latin)
- Any Valid ICU Transform*
Image Transformers
- PNG Representation*
- JPEG Representation*
- GIF Representation (macOS)
- TIFF Representation (macOS)
Date Transformers
JSON Data Transformers
- JSON Transformer*
Data Transformers (macOS)
- Base16 String Encode / Decode
- Base32 String Encode / Decode
- Base64 String Encode / Decode
- Base85 String Encode / Decode
Cryptographic Transformers (macOS)
- MD5, SHA-1, SHA-256, et al. Digests
* - Reversible
Contact
Mattt (@mattt)
License
TransformerKit is released under the MIT license. See the LICENSE file for more info.
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
