Skip to content

Instantly share code, notes, and snippets.

@hhutch
Created November 11, 2011 19:38
Show Gist options
  • Save hhutch/1358999 to your computer and use it in GitHub Desktop.
Save hhutch/1358999 to your computer and use it in GitHub Desktop.
NodeJS + Node Multimeter in Clojurescript
(ns cljs-demo.multimeter
(:require [cljs.nodejs :as node]))
(def multimeter (node/require "multimeter"))
(defn start [& _]
(let [multi (multimeter. node/process)]
(. multi (on "^C"
#((. (.charm multi) (cursor true))
(.. multi (write "\n") (destroy))
(. node/process (exit)) )))
(. (.charm multi) (cursor false))
(. multi (drop (fn [bar]
(def iv (js/setInterval
#(let [p (. bar (percent))]
(. bar (percent (+ p 1)))
(if (>= p 100)
(do
(js/clearInterval. iv)
(. (.charm multi) (cursor true))
(.. multi (write "\n") (destroy)))) )
25)))) )))
(set! *main-cli-fn* start)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment