1 /* 2 * Make.org Core API 3 * Copyright (C) 2018 Make.org 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Affero General Public License as 7 * published by the Free Software Foundation, either version 3 of the 8 * License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Affero General Public License for more details. 14 * 15 * You should have received a copy of the GNU Affero General Public License 16 * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package org.make.core.reference 21 22 import io.circe.{Decoder, Encoder, Json} 23 import org.make.core.{MakeSerializable, SprayJsonFormatters, StringValue} 24 import spray.json.JsonFormat 25 26 final case class Label(labelId: LabelId, label: String) extends MakeSerializable 27 28 final case class LabelId(value: String) extends StringValue 29 30 object LabelId { 31 implicit lazy val labelIdEncoder: Encoder[LabelId] = 32 (a: LabelId) => Json.fromString(a.value) 33 implicit lazy val labelIdDecoder: Decoder[LabelId] = 34 Decoder.decodeString.map(LabelId(_)) 35 36 implicit val labelIdFormatter: JsonFormat[LabelId] = SprayJsonFormatters.forStringValue(LabelId.apply) 37 38 }
| Line | Stmt Id | Pos | Tree | Symbol | Tests | Code |
|---|---|---|---|---|---|---|
| 36 | 1904 | 1335 - 1384 | Apply | org.make.core.SprayJsonFormatters.forStringValue | org.make.api.proposal.defaultadminproposalapicomponenttest | org.make.core.SprayJsonFormatters.forStringValue[org.make.core.reference.LabelId](((value: String) => LabelId.apply(value))) |
| 36 | 2943 | 1370 - 1383 | Apply | org.make.core.reference.LabelId.apply | LabelId.apply(value) |