Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Nim 0.87 KB | None | 0 0
  1. import tables
  2. import moustachu
  3.  
  4. type Param*[T] = object
  5.     value*: T
  6.  
  7. type Params* = Table[string, Param]
  8.  
  9. type CustomTemplate* = ref object
  10.     path*: string
  11.     params*: Params
  12.  
  13. proc generateContextFromParams(params: Params): Context =
  14.     var c: Context = newContext()
  15.     for key, val in params:
  16.         c[key] = val
  17.     return c
  18.  
  19. proc generateTemplate*(this: CustomTemplate): string =
  20.     var oTemplate: string = open(this.path).readAll.string
  21.     var c: Context = generateContextFromParams(this.params)
  22.     return render(oTemplate, c)
  23.  
  24. # Error message:
  25. # type mismatch: got <template.Params>
  26. # but expected one of:
  27. # proc generateContextFromParams(params: Params): Context
  28. # first type mismatch at position: 1
  29. # required type for params: Params
  30. # but expression 'this.params' is of type: Params
  31.  
  32. # expression: generateContextFromParams(this.params)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement