lazy val queryOperationDef: PackratParser[Seq[Expression]] = | |
"?" ~> repsep(filter | select | top | skip | orderBy, "&") | |
lazy val filter: PackratParser[Expression] = | |
"$filter" ~> "=" ~> predicate ^^ Filter | |
lazy val top: PackratParser[Expression] = | |
"$top" ~> "=" ~> number ^^ Top | |
lazy val skip: PackratParser[Expression] = | |
"$skip" ~> "=" ~> number ^^ Skip | |
lazy val orderBy: PackratParser[Expression] = ( | |
"$orderby" ~> "="~> propertyList <~ "asc" ^^ OrderByAsc | |
| "$orderby" ~> "="~> propertyList <~ "desc" ^^ OrderByDesc | |
| "$orderby" ~> "="~> propertyList ^^ OrderByAsc | |
) | |
lazy val select: PackratParser[Expression] = | |
"$select"~>"="~> propertyList ^^ Select |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment