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 21 package common.indexed 22 23 import com.sksamuel.elastic4s.requests.searches.sort.SortOrder 24 import org.make.core.SprayJsonFormatters._ 25 import spray.json.DefaultJsonProtocol._ 26 import spray.json.{DefaultJsonProtocol, RootJsonFormat} 27 28 final case class Sort(field: Option[String], mode: Option[SortOrder]) 29 30 object Sort { 31 32 def parse(sort: Option[String], order: Option[Order]): Option[Sort] = (sort, order) match { 33 case (None, None) => None 34 case _ => Some(Sort(sort, order.map(_.sortOrder))) 35 } 36 37 implicit val sortFormatted: RootJsonFormat[Sort] = 38 DefaultJsonProtocol.jsonFormat2(Sort.apply) 39 }
| Line | Stmt Id | Pos | Tree | Symbol | Tests | Code |
|---|---|---|---|---|---|---|
| 33 | 1047 | 1199 - 1203 | Select | scala.None | scala.None | |
| 34 | 4212 | 1255 - 1266 | Select | org.make.core.Order.sortOrder | x$1.sortOrder | |
| 34 | 5477 | 1234 - 1268 | Apply | org.make.core.common.indexed.Sort.apply | Sort.apply(sort, order.map[com.sksamuel.elastic4s.requests.searches.sort.SortOrder](((x$1: org.make.core.Order) => x$1.sortOrder))) | |
| 34 | 2094 | 1245 - 1267 | Apply | scala.Option.map | order.map[com.sksamuel.elastic4s.requests.searches.sort.SortOrder](((x$1: org.make.core.Order) => x$1.sortOrder)) | |
| 34 | 4609 | 1229 - 1269 | Apply | scala.Some.apply | scala.Some.apply[org.make.core.common.indexed.Sort](Sort.apply(sort, order.map[com.sksamuel.elastic4s.requests.searches.sort.SortOrder](((x$1: org.make.core.Order) => x$1.sortOrder)))) | |
| 38 | 4345 | 1332 - 1375 | ApplyToImplicitArgs | spray.json.ProductFormatsInstances.jsonFormat2 | spray.json.DefaultJsonProtocol.jsonFormat2[Option[String], Option[com.sksamuel.elastic4s.requests.searches.sort.SortOrder], org.make.core.common.indexed.Sort](((field: Option[String], mode: Option[com.sksamuel.elastic4s.requests.searches.sort.SortOrder]) => Sort.apply(field, mode)))(spray.json.DefaultJsonProtocol.optionFormat[String](spray.json.DefaultJsonProtocol.StringJsonFormat), spray.json.DefaultJsonProtocol.optionFormat[com.sksamuel.elastic4s.requests.searches.sort.SortOrder](org.make.core.SprayJsonFormatters.sortOrderFormatted), (ClassTag.apply[org.make.core.common.indexed.Sort](classOf[org.make.core.common.indexed.Sort]): scala.reflect.ClassTag[org.make.core.common.indexed.Sort])) | |
| 38 | 2697 | 1364 - 1374 | Apply | org.make.core.common.indexed.Sort.apply | Sort.apply(field, mode) | |
| 38 | 3752 | 1363 - 1363 | ApplyToImplicitArgs | spray.json.StandardFormats.optionFormat | spray.json.DefaultJsonProtocol.optionFormat[String](spray.json.DefaultJsonProtocol.StringJsonFormat) | |
| 38 | 447 | 1363 - 1363 | Select | spray.json.BasicFormats.StringJsonFormat | spray.json.DefaultJsonProtocol.StringJsonFormat | |
| 38 | 1881 | 1363 - 1363 | Select | org.make.core.SprayJsonFormatters.sortOrderFormatted | org.make.core.SprayJsonFormatters.sortOrderFormatted | |
| 38 | 984 | 1363 - 1363 | ApplyToImplicitArgs | spray.json.StandardFormats.optionFormat | spray.json.DefaultJsonProtocol.optionFormat[com.sksamuel.elastic4s.requests.searches.sort.SortOrder](org.make.core.SprayJsonFormatters.sortOrderFormatted) |