All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.json4s.FormatFunctions.scala Maven / Gradle / Ivy

There is a newer version: 4.1.0-M8
Show newest version
package org.json4s

trait FormatFunctions { self: JsonFormat.type =>
  def format[A1, A2, X](
    apply: (A1, A2) => X, unapply: X => (A1, A2)
  )(key1: String, key2: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2]
  ): JsonFormat[X] =
    format2[A1, A2, X](apply, unapply)(key1, key2)

  def format2[A1, A2, X](
    apply: (A1, A2) => X, unapply: X => (A1, A2)
  )(key1: String, key2: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader2(apply)(key1, key2),
    writer = Writer.writer2(unapply)(key1, key2)
  )

  def format[A1, A2, A3, X](
    apply: (A1, A2, A3) => X, unapply: X => (A1, A2, A3)
  )(key1: String, key2: String, key3: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3]
  ): JsonFormat[X] =
    format3[A1, A2, A3, X](apply, unapply)(key1, key2, key3)

  def format3[A1, A2, A3, X](
    apply: (A1, A2, A3) => X, unapply: X => (A1, A2, A3)
  )(key1: String, key2: String, key3: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader3(apply)(key1, key2, key3),
    writer = Writer.writer3(unapply)(key1, key2, key3)
  )

  def format[A1, A2, A3, A4, X](
    apply: (A1, A2, A3, A4) => X, unapply: X => (A1, A2, A3, A4)
  )(key1: String, key2: String, key3: String, key4: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4]
  ): JsonFormat[X] =
    format4[A1, A2, A3, A4, X](apply, unapply)(key1, key2, key3, key4)

  def format4[A1, A2, A3, A4, X](
    apply: (A1, A2, A3, A4) => X, unapply: X => (A1, A2, A3, A4)
  )(key1: String, key2: String, key3: String, key4: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader4(apply)(key1, key2, key3, key4),
    writer = Writer.writer4(unapply)(key1, key2, key3, key4)
  )

  def format[A1, A2, A3, A4, A5, X](
    apply: (A1, A2, A3, A4, A5) => X, unapply: X => (A1, A2, A3, A4, A5)
  )(key1: String, key2: String, key3: String, key4: String, key5: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5]
  ): JsonFormat[X] =
    format5[A1, A2, A3, A4, A5, X](apply, unapply)(key1, key2, key3, key4, key5)

  def format5[A1, A2, A3, A4, A5, X](
    apply: (A1, A2, A3, A4, A5) => X, unapply: X => (A1, A2, A3, A4, A5)
  )(key1: String, key2: String, key3: String, key4: String, key5: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader5(apply)(key1, key2, key3, key4, key5),
    writer = Writer.writer5(unapply)(key1, key2, key3, key4, key5)
  )

  def format[A1, A2, A3, A4, A5, A6, X](
    apply: (A1, A2, A3, A4, A5, A6) => X, unapply: X => (A1, A2, A3, A4, A5, A6)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6]
  ): JsonFormat[X] =
    format6[A1, A2, A3, A4, A5, A6, X](apply, unapply)(key1, key2, key3, key4, key5, key6)

  def format6[A1, A2, A3, A4, A5, A6, X](
    apply: (A1, A2, A3, A4, A5, A6) => X, unapply: X => (A1, A2, A3, A4, A5, A6)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader6(apply)(key1, key2, key3, key4, key5, key6),
    writer = Writer.writer6(unapply)(key1, key2, key3, key4, key5, key6)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, X](
    apply: (A1, A2, A3, A4, A5, A6, A7) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7]
  ): JsonFormat[X] =
    format7[A1, A2, A3, A4, A5, A6, A7, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7)

  def format7[A1, A2, A3, A4, A5, A6, A7, X](
    apply: (A1, A2, A3, A4, A5, A6, A7) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader7(apply)(key1, key2, key3, key4, key5, key6, key7),
    writer = Writer.writer7(unapply)(key1, key2, key3, key4, key5, key6, key7)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8]
  ): JsonFormat[X] =
    format8[A1, A2, A3, A4, A5, A6, A7, A8, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8)

  def format8[A1, A2, A3, A4, A5, A6, A7, A8, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader8(apply)(key1, key2, key3, key4, key5, key6, key7, key8),
    writer = Writer.writer8(unapply)(key1, key2, key3, key4, key5, key6, key7, key8)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9]
  ): JsonFormat[X] =
    format9[A1, A2, A3, A4, A5, A6, A7, A8, A9, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9)

  def format9[A1, A2, A3, A4, A5, A6, A7, A8, A9, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader9(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9),
    writer = Writer.writer9(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10]
  ): JsonFormat[X] =
    format10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10)

  def format10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader10(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10),
    writer = Writer.writer10(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11]
  ): JsonFormat[X] =
    format11[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11)

  def format11[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader11(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11),
    writer = Writer.writer11(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12]
  ): JsonFormat[X] =
    format12[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12)

  def format12[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader12(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12),
    writer = Writer.writer12(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13]
  ): JsonFormat[X] =
    format13[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13)

  def format13[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader13(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13),
    writer = Writer.writer13(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14]
  ): JsonFormat[X] =
    format14[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14)

  def format14[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader14(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14),
    writer = Writer.writer14(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15]
  ): JsonFormat[X] =
    format15[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15)

  def format15[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader15(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15),
    writer = Writer.writer15(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16]
  ): JsonFormat[X] =
    format16[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16)

  def format16[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader16(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16),
    writer = Writer.writer16(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17]
  ): JsonFormat[X] =
    format17[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17)

  def format17[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader17(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17),
    writer = Writer.writer17(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18]
  ): JsonFormat[X] =
    format18[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18)

  def format18[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader18(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18),
    writer = Writer.writer18(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19]
  ): JsonFormat[X] =
    format19[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19)

  def format19[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader19(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19),
    writer = Writer.writer19(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String, key20: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19], A20: JsonFormat[A20]
  ): JsonFormat[X] =
    format20[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20)

  def format20[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String, key20: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19], A20: JsonFormat[A20]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader20(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20),
    writer = Writer.writer20(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String, key20: String, key21: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19], A20: JsonFormat[A20], A21: JsonFormat[A21]
  ): JsonFormat[X] =
    format21[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20, key21)

  def format21[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String, key20: String, key21: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19], A20: JsonFormat[A20], A21: JsonFormat[A21]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader21(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20, key21),
    writer = Writer.writer21(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20, key21)
  )

  def format[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String, key20: String, key21: String, key22: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19], A20: JsonFormat[A20], A21: JsonFormat[A21], A22: JsonFormat[A22]
  ): JsonFormat[X] =
    format22[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, X](apply, unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20, key21, key22)

  def format22[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, X](
    apply: (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22) => X, unapply: X => (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22)
  )(key1: String, key2: String, key3: String, key4: String, key5: String, key6: String, key7: String, key8: String, key9: String, key10: String, key11: String, key12: String, key13: String, key14: String, key15: String, key16: String, key17: String, key18: String, key19: String, key20: String, key21: String, key22: String)(implicit
    A1: JsonFormat[A1], A2: JsonFormat[A2], A3: JsonFormat[A3], A4: JsonFormat[A4], A5: JsonFormat[A5], A6: JsonFormat[A6], A7: JsonFormat[A7], A8: JsonFormat[A8], A9: JsonFormat[A9], A10: JsonFormat[A10], A11: JsonFormat[A11], A12: JsonFormat[A12], A13: JsonFormat[A13], A14: JsonFormat[A14], A15: JsonFormat[A15], A16: JsonFormat[A16], A17: JsonFormat[A17], A18: JsonFormat[A18], A19: JsonFormat[A19], A20: JsonFormat[A20], A21: JsonFormat[A21], A22: JsonFormat[A22]
  ): JsonFormat[X] = JsonFormat.GenericFormat(
    reader = Reader.reader22(apply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20, key21, key22),
    writer = Writer.writer22(unapply)(key1, key2, key3, key4, key5, key6, key7, key8, key9, key10, key11, key12, key13, key14, key15, key16, key17, key18, key19, key20, key21, key22)
  )

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy