mirror of
https://github.com/codex-storage/nim-json-rpc.git
synced 2025-02-24 00:48:12 +00:00
Minor comment tidy up
This commit is contained in:
parent
9b4e373633
commit
d0c34ba834
@ -130,13 +130,6 @@ proc setupParams(parameters, paramsIdent: NimNode): NimNode =
|
|||||||
result.add(quote do:
|
result.add(quote do:
|
||||||
var `paramName` = `unpackArg`(`pos`, `paramNameStr`, `paramType`, `paramsIdent`)
|
var `paramName` = `unpackArg`(`pos`, `paramNameStr`, `paramType`, `paramsIdent`)
|
||||||
)
|
)
|
||||||
else:
|
|
||||||
# no parameters expected
|
|
||||||
result.add(quote do:
|
|
||||||
if `paramsIdent`.len != 0:
|
|
||||||
raise newException(ValueError, "Expected no parameters but got " & $`paramsIdent`.len)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
macro multiRemove(s: string, values: varargs[string]): untyped =
|
macro multiRemove(s: string, values: varargs[string]): untyped =
|
||||||
## Wrapper for multiReplace
|
## Wrapper for multiReplace
|
||||||
@ -159,22 +152,22 @@ macro on*(server: var RpcServer, path: string, body: untyped): untyped =
|
|||||||
let
|
let
|
||||||
parameters = body.findChild(it.kind == nnkFormalParams)
|
parameters = body.findChild(it.kind == nnkFormalParams)
|
||||||
paramsIdent = ident"params"
|
paramsIdent = ident"params"
|
||||||
var setup = setupParams(parameters, paramsIdent)
|
|
||||||
|
|
||||||
# wrapping proc
|
|
||||||
let
|
|
||||||
pathStr = $path
|
pathStr = $path
|
||||||
procName = ident(pathStr.multiRemove(".", "/")) # TODO: Make this unique to avoid potential clashes, or allow people to know the name for calling?
|
procName = ident(pathStr.multiRemove(".", "/"))
|
||||||
var procBody: NimNode
|
var
|
||||||
|
setup = setupParams(parameters, paramsIdent)
|
||||||
|
procBody: NimNode
|
||||||
if body.kind == nnkStmtList: procBody = body
|
if body.kind == nnkStmtList: procBody = body
|
||||||
else: procBody = body.body
|
else: procBody = body.body
|
||||||
|
|
||||||
|
# wrapping async proc
|
||||||
result = quote do:
|
result = quote do:
|
||||||
proc `procName`*(`paramsIdent`: JsonNode): Future[JsonNode] {.async.} =
|
proc `procName`*(`paramsIdent`: JsonNode): Future[JsonNode] {.async.} =
|
||||||
`setup`
|
`setup`
|
||||||
`procBody`
|
`procBody`
|
||||||
`server`.register(`path`, `procName`)
|
`server`.register(`path`, `procName`)
|
||||||
when defined(nimDumpRpcs):
|
when defined(nimDumpRpcs):
|
||||||
echo pathStr, ": ", result.repr
|
echo "\n", pathStr, ": ", result.repr
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
import unittest
|
import unittest
|
||||||
|
Loading…
x
Reference in New Issue
Block a user