Fix types for builder seq
This commit is contained in:
@@ -36,7 +36,7 @@ let linkParser* = proc(parser: Parser): ParserResult {.closure.} =
|
||||
else:
|
||||
linkValue
|
||||
|
||||
func linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string =
|
||||
proc linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string =
|
||||
case (linkUrl, linkDescription):
|
||||
of (@linkUrl, Some(@linkDescription)):
|
||||
return &"[[{linkUrl}][{linkDescription}]]"
|
||||
@@ -46,19 +46,21 @@ func linkStringifier*(linkUrl: string, linkDescription: Maybe[string]): string =
|
||||
func linkTokenizer*(parserTokens: seq[ParserToken]): OrgBuilderT =
|
||||
[@linkUrl, @linkDescription] := parserTokens.map(tokenStringValue)
|
||||
let maybeLinkDescription = linkDescription.just().notEmpty()
|
||||
OrgBuilderT(
|
||||
return OrgBuilderT(
|
||||
kind: orgLink,
|
||||
content: linkStringifier(linkUrl, maybeLinkDescription),
|
||||
linkUrl: linkUrl,
|
||||
linkDescription: maybeLinkDescription,
|
||||
)
|
||||
|
||||
let linkTokenizerSeq* = proc(parserTokens: seq[ParserToken]): seq[OrgBuilderT] {.closure.} =
|
||||
return @[linkTokenizer(parserTokens)]
|
||||
|
||||
when isMainModule:
|
||||
# echo initParser("[[https://florianschroedl.com]]").linkParser()
|
||||
echo initParser("[[https://florianschroedl.com][My blog]]")
|
||||
.linkParser()
|
||||
.foldTokens(
|
||||
onError = (x) => nothing(OrgBuilderT),
|
||||
onSuccess = xs => just(linkTokenizer(xs)),
|
||||
onError = (x) => newSeq[OrgBuilderT](),
|
||||
onSuccess = proc(xs: seq[ParserToken]): seq[OrgBuilderT] = linkTokenizerSeq(xs),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user