forProduct8<A, B, C, D, E, F, G, H, I> static method

Codec<A> forProduct8<A, B, C, D, E, F, G, H, I>(
  1. Codec<B> codecB,
  2. Codec<C> codecC,
  3. Codec<D> codecD,
  4. Codec<E> codecE,
  5. Codec<F> codecF,
  6. Codec<G> codecG,
  7. Codec<H> codecH,
  8. Codec<I> codecI,
  9. A apply(
    1. B,
    2. C,
    3. D,
    4. E,
    5. F,
    6. G,
    7. H,
    8. I,
    ),
  10. Tuple8<B, C, D, E, F, G, H, I> tupled(
    1. A
    ),
)

Implementation

static Codec<A> forProduct8<A, B, C, D, E, F, G, H, I>(
  Codec<B> codecB,
  Codec<C> codecC,
  Codec<D> codecD,
  Codec<E> codecE,
  Codec<F> codecF,
  Codec<G> codecG,
  Codec<H> codecH,
  Codec<I> codecI,
  A Function(B, C, D, E, F, G, H, I) apply,
  Tuple8<B, C, D, E, F, G, H, I> Function(A) tupled,
) =>
    Codec(
      Decoder.forProduct8(
          codecB.decoder,
          codecC.decoder,
          codecD.decoder,
          codecE.decoder,
          codecF.decoder,
          codecG.decoder,
          codecH.decoder,
          codecI.decoder,
          apply),
      Encoder.forProduct8(
          codecB.encoder,
          codecC.encoder,
          codecD.encoder,
          codecE.encoder,
          codecF.encoder,
          codecG.encoder,
          codecH.encoder,
          codecI.encoder,
          tupled),
    );