Guest User

Untitled

a guest
Jul 19th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. macro `.`*(pkg: PkgInstall, field: untyped): untyped =
  2. ## ^ This makes PkgInstall types act like concatinations
  3. ## of the Pkg, PkgVer and PkgLayout types
  4. var subfields = pkg.getType.last
  5. expectKind(subfields, nnkRecList)
  6. for elm in subfields:
  7. var fields = elm.getType.last
  8. expectKind(fields, nnkRecList)
  9. var real_field = findChild(fields, eqIdent(it, $field))
  10. if real_field != nil:
  11. result = newDotExpr(pkg, elm).newDotExpr real_field
  12. return
Add Comment
Please, Sign In to add comment