diff options
Diffstat (limited to 'src/scm/webid-oidc/parameters.scm')
-rw-r--r-- | src/scm/webid-oidc/parameters.scm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/scm/webid-oidc/parameters.scm b/src/scm/webid-oidc/parameters.scm new file mode 100644 index 0000000..3b24361 --- /dev/null +++ b/src/scm/webid-oidc/parameters.scm @@ -0,0 +1,34 @@ +(define-module (webid-oidc parameters) + #:use-module (srfi srfi-19) + #:use-module (webid-oidc jti) + #:export (data-home cache-home current-date)) + +(define data-home + (make-parameter + (format #f "~a/disfluid" + (or (getenv "XDG_DATA_HOME") + (format #f "~a/.local/share" + (getenv "HOME")))))) + +(define cache-home + (make-parameter + (format #f "~a/disfluid" + (or (getenv "XDG_CACHE_HOME") + (format #f "~a/.cache" + (getenv "HOME")))))) + +(define current-date + ;; This parameter is a thunk! + (make-parameter + (lambda () + (time-utc->date (current-time))) + (lambda (thunk) + (lambda () + (let ((date (if (thunk? thunk) + (thunk) + thunk))) + (when (integer? date) + (set! date (make-time time-utc 0 date))) + (when (time? date) + (set! date (time-utc->date date))) + date))))) |