From 4598d7092b2bdc23a8976ac26e91d9072513820b Mon Sep 17 00:00:00 2001 From: Brian Picciano Date: Mon, 12 Nov 2018 15:29:37 -0500 Subject: add viz 1 post --- .../viz/1/quil/middlewares/deprecated_options.cljc | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 assets/viz/1/quil/middlewares/deprecated_options.cljc (limited to 'assets/viz/1/quil/middlewares/deprecated_options.cljc') diff --git a/assets/viz/1/quil/middlewares/deprecated_options.cljc b/assets/viz/1/quil/middlewares/deprecated_options.cljc new file mode 100644 index 0000000..6ed40d2 --- /dev/null +++ b/assets/viz/1/quil/middlewares/deprecated_options.cljc @@ -0,0 +1,26 @@ +(ns quil.middlewares.deprecated-options) + +(def ^:private deprecated + {:decor ["2.0" "Try :features [:present] for similar effect"] + :target ["2.0" "Use :features [:keep-on-top] instead."] + :safe-draw-fn ["2.0" "Use :features [:no-safe-fns] instead."]}) + +(defn- check-features-vector [features] + (let [features (set features)] + (when (features :no-safe-draw) + (println "Feature :no-safe-draw was renamed to :no-safe-fns in Quil 2.1." + "Use :feature [:no-safe-fns] now.")) + (disj features :no-safe-draw))) + +(defn deprecated-options + "Checks if options map contains deprected options and removes them. + Prints messages how to fix deprecated functions." + [options] + (let [options (update-in options [:features] check-features-vector)] + (->> (for [[name value] options] + (if-let [[version message] (deprecated name)] + (do (println name "option was removed in Quil" version "." message) + nil) + [name value])) + (remove nil?) + (into {})))) -- cgit v1.2.3