Overview of MetaCodable features
mainMetaCodable is a framework that uses Swift macros to supercharge Codable implementations. It provides several advanced capabilities:
- Custom Key Mapping: Use
CodedAt(_:)for single keys, orCodedIn(_:)to flatten nested keys. - Composition: Create compositions of multiple
Codabletypes usingCodedAt(_:)with no arguments. - Fallback Values: Provide defaults for missing values or decoding errors using
Default(_:),Default(ifMissing:), orDefault(ifMissing:forErrors:). - Custom Strategies: Use
HelperCoder(e.g.,LossySequenceCoder) withCodedBy(_:)to define custom encoding/decoding logic. - Enum Handling: Support enums with custom case identifiers via
CodedAs(_:_:)-8wdazor handle untagged enums withUnTagged(). - Property Control: Ignore properties during encoding/decoding with
IgnoreCoding(),IgnoreDecoding(), orIgnoreEncoding(). You can also ignore all initialized properties usingIgnoreCodingInitialized(). - Global Strategies: Apply common strategies to all properties of a type using the
commonStrategiesparameter in theCodable(commonStrategies:)macro.