prefs.nim 505 B

123456789101112131415161718192021
  1. import tables
  2. import types, prefs_impl
  3. from config import get
  4. from parsecfg import nil
  5. export genUpdatePrefs, genResetPrefs
  6. var defaultPrefs* {.threadvar.}: Prefs
  7. proc updateDefaultPrefs*(cfg: parsecfg.Config) =
  8. genDefaultPrefs()
  9. proc getPrefs*(cookies: Table[string, string]): Prefs =
  10. result = defaultPrefs
  11. genCookiePrefs(cookies)
  12. template getPref*(cookies: Table[string, string], pref): untyped =
  13. bind genCookiePref
  14. var res = defaultPrefs.`pref`
  15. genCookiePref(cookies, pref, res)
  16. res