def decode()

in multiversion/src/main/scala/multiversion/configs/ForceVersionsConfig.scala [31:59]


      def decode(
          context: DecodingContext
      ): Result[ForceVersionsConfig] = {
        context.json match {
          case JsonArray(elements) =>
            val overrides = elements.map {
              case j @ JsonString(OrgArtifact(org, artifact, version)) =>
                ValueResult(
                  ModuleConfig(
                    JsonString(org)
                      .withPosition(j.position)
                      // NOTE(olafur): sob, avoid this cast upstream
                      .asInstanceOf[JsonString],
                    JsonString(artifact)
                      .withPosition(j.position)
                      .asInstanceOf[JsonString]
                  ) -> version
                )
              case _ =>
                ErrorResult(Diagnostic.typeMismatch("ORG:ARTIFACT", context))

            }
            Result
              .fromResults(overrides)
              .map(x => ForceVersionsConfig(x.toMap))
          case _ =>
            ErrorResult(new TypeMismatchDiagnostic("Object", context))
        }
      }