# Module: `nupp.fieldcodec` Type-directed keyed codecs materialized from semantic reflection. ## Types ### `Blueprint` _record_ ```nupp record Blueprint end ``` ### `KeyedCodec` _record_ ```nupp record KeyedCodec encode: function(self, value: T): {[string]: any} decode: function(self, value: {[string]: any}): (T?, string?) fingerprint: string end ``` #### Type parameters | Name | Description | | --- | --- | | `T` | | #### Methods ##### `encode` ```nupp encode: function(self, value: T): {[string]: any} ``` ###### Arguments | Name | Type | Description | | --- | --- | --- | | `?` | `self` | | | `value` | `T` | | ###### Returns | Type | Description | | --- | --- | | `{\[string\]: any}` | | ##### `decode` ```nupp decode: function(self, value: {[string]: any}): (T?, string?) ``` ###### Arguments | Name | Type | Description | | --- | --- | --- | | `?` | `self` | | | `value` | `{\[string\]: any}` | | ###### Returns | Type | Description | | --- | --- | | `T?` | | | `string?` | | #### Fields | Name | Type | Description | | --- | --- | --- | | `fingerprint` | `string` | | ## Functions ### `compile` _function_ ```nupp local compile: function(info: TypeInfo): Blueprint ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `info` | `TypeInfo` | | #### Returns | Type | Description | | --- | --- | | `Blueprint` | |