mirror of
https://github.com/codex-storage/nim-json-rpc.git
synced 2025-02-24 08:58:18 +00:00
Updated multiRemove macro
This commit is contained in:
parent
f15a48b1c2
commit
4acd6b3ee6
@ -66,16 +66,20 @@ proc sharedRpcServer*(): RpcServer =
|
|||||||
result = sharedServer
|
result = sharedServer
|
||||||
|
|
||||||
macro multiRemove(s: string, values: varargs[string]): untyped =
|
macro multiRemove(s: string, values: varargs[string]): untyped =
|
||||||
## wrapper for multiReplace
|
## Wrapper for multiReplace
|
||||||
result = newStmtList()
|
var
|
||||||
var call = newNimNode(nnkCall)
|
body = newStmtList()
|
||||||
call.add(ident"multiReplace")
|
multiReplaceCall = newCall(ident"multiReplace", s)
|
||||||
call.add(s)
|
|
||||||
|
body.add(newVarStmt(ident"eStr", newStrLitNode("")))
|
||||||
|
let emptyStr = ident"eStr"
|
||||||
for item in values:
|
for item in values:
|
||||||
|
# generate tuples of values with the empty string `eStr`
|
||||||
let sItem = $item
|
let sItem = $item
|
||||||
# generate tuples with empty strings
|
multiReplaceCall.add(newPar(newStrLitNode(sItem), emptyStr))
|
||||||
call.add(newPar(newStrLitNode(sItem), newStrLitNode("")))
|
|
||||||
result.add call
|
body.add multiReplaceCall
|
||||||
|
result = newBlockStmt(body)
|
||||||
|
|
||||||
macro on*(server: var RpcServer, path: string, body: untyped): untyped =
|
macro on*(server: var RpcServer, path: string, body: untyped): untyped =
|
||||||
var paramTemplates = newStmtList()
|
var paramTemplates = newStmtList()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user