X Tutup
(ns java-time.sugar (:require [clojure.string :as str] [java-time.core :as jt.c] [java-time.util :as jt.u])) (defmacro gen-sugar-fns [] (conj (map (fn [[day-name day-number]] `(defn ~(symbol (str day-name '?)) ~(str "Returns true if the given time entity with the\n" " `day-of-week` property falls on a " (str/capitalize day-name) ", otherwise false.") {:arglists '[[~'i]]} [o#] (if-let [p# (jt.c/property o# :day-of-week)] (= (jt.c/value p#) ~day-number) (throw (java.time.DateTimeException. (str "Day of week unsupported for: " (type o#))))))) [['monday 1] ['tuesday 2] ['wednesday 3] ['thursday 4] ['friday 5] ['saturday 6] ['sunday 7]]) 'do)) (gen-sugar-fns) (defn weekend? "Returns true if argument is [[saturday?]] or [[sunday?]], otherwise false." [dt] (or (saturday? dt) (sunday? dt))) (defn weekday? "Complement of [[weekend?]]." [dt] (not (weekend? dt)))
X Tutup