Section navigation

Public classSealed RecordBuilder<T>

Namespace
Rowles.LeanCorpus.Codecs.CodecKit.Codecs
Assembly
Rowles.LeanCorpus.dll

Fluent builder for composing multiple field codecs into a single record codec. Fields are decoded/encoded in registration order.

public sealed class RecordBuilder<T>

Type Parameters

T
Inheritance
RecordBuilder<T>

Public method Build(Func<FieldValues, T>)

Builds a record codec using a FieldValues accessor, supporting any number of fields. Access decoded values by name — f["fieldName"] — and cast to the expected type.

Public method Build<T1>(Func<T1, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T>)

Public method Build<T1, T2>(Func<T1, T2, T>)

Public method Build<T1, T2, T3>(Func<T1, T2, T3, T>)

Public method Build<T1, T2, T3, T4>(Func<T1, T2, T3, T4, T>)

Public method Build<T1, T2, T3, T4, T5>(Func<T1, T2, T3, T4, T5, T>)

Public method Build<T1, T2, T3, T4, T5, T6>(Func<T1, T2, T3, T4, T5, T6, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7>(Func<T1, T2, T3, T4, T5, T6, T7, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T>)

Public method Build<T1, T2, T3, T4, T5, T6, T7, T8, T9>(Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T>)

Public method Constant(string, ICodec<Unit>)

Adds a constant field (e.g. magic, padding). Not passed to Build factory.

Public method Field<TField>(string, Func<T, TField>, ICodec<TField>)

Adds a regular field.

Public method Field<TDep, TField>(string, Func<T, TField>, DependentFieldFactory<TDep, TField>)

Adds a dependent field whose codec is produced by a factory keyed on a previously decoded field.