prefs.nim 532 B

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