├── LICENSE ├── resources └── public │ ├── css │ └── styles.css │ ├── js │ ├── out │ │ ├── .figwheel-compile-stamp │ │ ├── devtools │ │ │ ├── version.cljs │ │ │ ├── context.cljs │ │ │ ├── preload.js.map │ │ │ ├── version.js.map │ │ │ ├── context.js.map │ │ │ ├── version.js │ │ │ ├── protocols.cljs │ │ │ ├── context.js │ │ │ ├── preload.js │ │ │ ├── preload.cljs.cache.json │ │ │ ├── preload.cljs │ │ │ ├── version.cljs.cache.json │ │ │ ├── prefs.cljs │ │ │ ├── context.cljs.cache.json │ │ │ ├── reporter.cljs.cache.json │ │ │ ├── protocols.js.map │ │ │ ├── reporter.cljs │ │ │ ├── toolbox.cljs │ │ │ ├── async.js.map │ │ │ ├── async.cljs │ │ │ ├── reporter.js.map │ │ │ ├── prefs.js.map │ │ │ ├── toolbox.js.map │ │ │ ├── formatters │ │ │ │ ├── state.js.map │ │ │ │ ├── state.cljs │ │ │ │ ├── budgeting.cljs │ │ │ │ ├── budgeting.js.map │ │ │ │ └── core.cljs │ │ │ ├── protocols.js │ │ │ ├── reporter.js │ │ │ ├── format.cljs │ │ │ ├── prefs.js │ │ │ ├── async.js │ │ │ ├── protocols.cljs.cache.json │ │ │ ├── formatters.cljs │ │ │ ├── defaults.js.map │ │ │ └── formatters.js.map │ │ ├── process │ │ │ ├── env.js │ │ │ ├── env.js.map │ │ │ ├── env.cljs │ │ │ └── env.cljs.cache.json │ │ ├── cljsc_opts.edn │ │ ├── figwheel │ │ │ ├── connect.js.map │ │ │ ├── connect.cljs │ │ │ ├── connect.js │ │ │ ├── connect.cljs.cache.json │ │ │ └── client │ │ │ │ ├── socket.js.map │ │ │ │ ├── socket.cljs │ │ │ │ └── socket.cljs.cache.json │ │ ├── reagent │ │ │ ├── debug.cljs │ │ │ ├── debug.js.map │ │ │ ├── debug.cljs.cache.json │ │ │ ├── dom.cljs │ │ │ ├── dom.js.map │ │ │ ├── debug.js │ │ │ └── impl │ │ │ │ ├── batching.cljs │ │ │ │ └── batching.js.map │ │ ├── cljs │ │ │ ├── core │ │ │ │ └── async │ │ │ │ │ └── impl │ │ │ │ │ ├── dispatch.cljs │ │ │ │ │ ├── dispatch.js.map │ │ │ │ │ ├── protocols.cljs │ │ │ │ │ ├── dispatch.js │ │ │ │ │ ├── dispatch.cljs.cache.json │ │ │ │ │ └── buffers.cljs │ │ │ └── tools │ │ │ │ └── reader │ │ │ │ └── impl │ │ │ │ ├── inspect.cljs │ │ │ │ ├── utils.cljs │ │ │ │ ├── inspect.cljs.cache.json │ │ │ │ ├── inspect.js.map │ │ │ │ └── commons.js.map │ │ ├── goog │ │ │ ├── dom │ │ │ │ ├── htmlelement.js │ │ │ │ ├── tags.js │ │ │ │ ├── nodetype.js │ │ │ │ └── browserfeature.js │ │ │ ├── promise │ │ │ │ └── resolver.js │ │ │ ├── string │ │ │ │ ├── typedstring.js │ │ │ │ └── stringbuffer.js │ │ │ ├── debug │ │ │ │ └── error.js │ │ │ ├── async │ │ │ │ ├── freelist.js │ │ │ │ └── workqueue.js │ │ │ └── fs │ │ │ │ └── url.js │ │ ├── learn_numbers │ │ │ ├── core.js.map │ │ │ ├── core.cljs │ │ │ └── core.cljs.cache.json │ │ ├── cider │ │ │ └── nrepl │ │ │ │ └── inlined_deps │ │ │ │ └── suitable │ │ │ │ └── v0v4v0 │ │ │ │ └── suitable │ │ │ │ ├── js_introspection.cljs │ │ │ │ ├── js_introspection.cljs.cache.json │ │ │ │ └── js_introspection.js.map │ │ └── clojure │ │ │ ├── walk.js.map │ │ │ └── walk.cljs │ └── main.js │ ├── flags │ ├── de-DE.png │ ├── en-US.png │ ├── es-ES.png │ ├── it-IT.png │ ├── pl-PL.png │ └── salwador.png │ ├── index.html │ └── sw.js ├── .lsp └── sqlite.db ├── README.org ├── Procfile ├── dev └── dev │ └── repl.clj ├── scripts └── server ├── .gitignore ├── src └── learn_numbers │ ├── web.clj │ └── core.cljs └── project.clj /LICENSE: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/public/css/styles.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/public/js/out/.figwheel-compile-stamp: -------------------------------------------------------------------------------- 1 | 1293988716 -------------------------------------------------------------------------------- /.lsp/sqlite.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/.lsp/sqlite.db -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- 1 | * learn-numbers 2 | FIXME: description 3 | 4 | * To start 5 | =(figwheel-up)= 6 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: java $JVM_OPTS -cp target/learn_numbers.jar clojure.main -m learn-numbers.web 2 | -------------------------------------------------------------------------------- /resources/public/flags/de-DE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/resources/public/flags/de-DE.png -------------------------------------------------------------------------------- /resources/public/flags/en-US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/resources/public/flags/en-US.png -------------------------------------------------------------------------------- /resources/public/flags/es-ES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/resources/public/flags/es-ES.png -------------------------------------------------------------------------------- /resources/public/flags/it-IT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/resources/public/flags/it-IT.png -------------------------------------------------------------------------------- /resources/public/flags/pl-PL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/resources/public/flags/pl-PL.png -------------------------------------------------------------------------------- /resources/public/flags/salwador.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gs/LearnNumbers/main/resources/public/flags/salwador.png -------------------------------------------------------------------------------- /dev/dev/repl.clj: -------------------------------------------------------------------------------- 1 | (ns dev.repl 2 | (:require [figwheel-sidecar.repl-api :as repl-api])) 3 | 4 | (defn figwheel-up [] 5 | (do (repl-api/start-figwheel!) 6 | (repl-api/cljs-repl))) 7 | -------------------------------------------------------------------------------- /scripts/server: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Starting server..." 4 | echo "You'll need to manually start a figwheel repl (See README.org for details)..." 5 | 6 | lein run -m learn-numbers.web 7 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/version.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.version 2 | (:require-macros [devtools.version :refer [get-current-version]])) 3 | 4 | (def current-version (get-current-version)) 5 | 6 | (defn get-current-version [] 7 | current-version) -------------------------------------------------------------------------------- /resources/public/js/out/process/env.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('process.env'); 3 | goog.require('cljs.core'); 4 | 5 | /** @define {string} */ 6 | goog.define("process.env.NODE_ENV","development"); 7 | 8 | //# sourceMappingURL=env.js.map?rel=1620067001681 9 | -------------------------------------------------------------------------------- /resources/public/js/out/process/env.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/process\/env.js","sources":["env.cljs?rel=1620067001681"],"lineCount":8,"mappings":";AAQA;;AAGA,AAAA,AAAA;AAAA;AAAA,AAAAA,YAAA,uBAAA","names":["goog\/define"]} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /resources/public/js/compiled/** 2 | figwheel_server.log 3 | pom.xml 4 | *jar 5 | /lib/ 6 | /classes/ 7 | /out/ 8 | /target/ 9 | node_modules/ 10 | .lein-deps-sum 11 | .lein-repl-history 12 | .lein-plugins/ 13 | .repl 14 | .nrepl-port 15 | .DS_Store 16 | /resources/public/js/out/ -------------------------------------------------------------------------------- /resources/public/js/out/devtools/context.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.context) 2 | 3 | ; default root javascript context, typically js/window in browser, or the root javascript object in node.js 4 | (defn ^:dynamic get-root [] 5 | goog/global) 6 | 7 | (defn ^:dynamic get-console [] 8 | (.-console (get-root))) 9 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/preload.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/preload.js","sources":["preload.cljs?rel=1620066999410"],"lineCount":11,"mappings":";AAAA;;;;AASA,GAAA,AAAAA,wBAAQ,8BAAA,9BAACC;AACP,AAACC;;AADH","names":["cljs.core\/not","devtools.prefs\/pref","devtools.core\/install!"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/version.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/version.js","sources":["version.cljs?rel=1620066997889"],"lineCount":9,"mappings":";AAAA;;AAGA,AAAKA,mCAAgB;AAErB,uCAAA,vCAAMC;AAAN,AACED","names":["devtools.version\/current-version","devtools.version\/get-current-version"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/context.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/context.js","sources":["context.cljs?rel=1620066997204"],"lineCount":11,"mappings":";AAAA;;AAGA,4BAAA,5BAAgBA;AAAhB,AACEC;;AAEF,+BAAA,\/BAAgBC;AAAhB,AACE,OAAW,AAACF","names":["devtools.context\/get-root","goog\/global","devtools.context\/get-console"]} -------------------------------------------------------------------------------- /resources/public/js/out/cljsc_opts.edn: -------------------------------------------------------------------------------- 1 | {:output-dir "resources/public/js/out", :optimizations :none, :recompile-dependents true, :preloads [devtools.preload figwheel.connect], :output-to "resources/public/js/main.js", :source-map-timestamp true, :asset-path "js/out", :source-map true, :external-config #:figwheel{:config {:build-id "dev", :websocket-url "ws://localhost:3450/figwheel-ws"}}, :main "learn-numbers.core"} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/version.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.version'); 3 | goog.require('cljs.core'); 4 | devtools.version.current_version = "0.9.10"; 5 | devtools.version.get_current_version = (function devtools$version$get_current_version(){ 6 | return devtools.version.current_version; 7 | }); 8 | 9 | //# sourceMappingURL=version.js.map?rel=1620066997889 10 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/protocols.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.protocols) 2 | 3 | (defprotocol ITemplate 4 | "Marker protocol indicating a devtools template.") 5 | 6 | (defprotocol IGroup 7 | "Marker protocol indicating a devtools group.") 8 | 9 | (defprotocol ISurrogate 10 | "Marker protocol indicating a devtools surrogate object.") 11 | 12 | (defprotocol IFormat 13 | (-header [value]) 14 | (-has-body [value]) 15 | (-body [value])) 16 | -------------------------------------------------------------------------------- /resources/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | learn-numbers 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/context.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.context'); 3 | goog.require('cljs.core'); 4 | devtools.context.get_root = (function devtools$context$get_root(){ 5 | return goog.global; 6 | }); 7 | devtools.context.get_console = (function devtools$context$get_console(){ 8 | return devtools.context.get_root.call(null).console; 9 | }); 10 | 11 | //# sourceMappingURL=context.js.map?rel=1620066997204 12 | -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/connect.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/figwheel\/connect.js","sources":["connect.cljs?rel=1620918628432"],"lineCount":17,"mappings":";AAGA;;;AAIA,yBAAA,zBAAeA;AAAf,AACE,IAAMC,SAAO,2CAAA,6DAAA,MAAA,uEAAA;AAAb,AACE,AAACC,gCAAsBD;;AACvB,oBAAM,AAAA,0FAAWA;AAAjB,AACE,OAACE;;AADH","names":["figwheel.connect\/start","config","figwheel.client\/start","js\/devcards.core.start-devcard-ui!*"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/preload.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.preload'); 3 | goog.require('cljs.core'); 4 | goog.require('devtools.prefs'); 5 | goog.require('devtools.core'); 6 | if(cljs.core.not.call(null,devtools.prefs.pref.call(null,new cljs.core.Keyword(null,"suppress-preload-install","suppress-preload-install",1724845090)))){ 7 | devtools.core.install_BANG_.call(null); 8 | } else { 9 | } 10 | 11 | //# sourceMappingURL=preload.js.map?rel=1620066999410 12 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/preload.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$devtools.preload","~:imports",null,"~:requires",["^ ","~$prefs","~$devtools.prefs","^:","^:","~$core","~$devtools.core","^<","^<"],"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ "],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^9","^:","^:","^:"],"~:cljs.analyzer/constants",["^ ","~:seen",["^4",["~:suppress-preload-install"]],"~:order",["^D"]],"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/connect.cljs: -------------------------------------------------------------------------------- 1 | ;; This namespace was created to add to the :preloads clojureScript 2 | ;; compile option. This will allow you to start the figwheel client with the 3 | ;; options that you supplied in :external-config > :figwheel/config 4 | (ns figwheel.connect 5 | (:require [figwheel.client]) 6 | (:require-macros [figwheel.env-config :refer [external-tooling-config]])) 7 | 8 | (defn ^:export start [] 9 | (let [config (external-tooling-config)] 10 | (figwheel.client/start config) 11 | (when (:devcards config) 12 | (js/devcards.core.start-devcard-ui!*)))) 13 | -------------------------------------------------------------------------------- /resources/public/sw.js: -------------------------------------------------------------------------------- 1 | self.addEventListener('install', function(e) { 2 | console.log('[ServiceWorker] Install'); 3 | e.waitUntil( 4 | caches.open('learn-numbers').then(function(cache) { 5 | return cache.addAll([ 6 | '/', 7 | '/css/styles.css', 8 | '/js/main.js' 9 | ]); 10 | }) 11 | ); 12 | }); 13 | 14 | self.addEventListener('fetch', function(event) { 15 | console.log(`[ServiceWorker] fetch ${event.request.url}`); 16 | event.respondWith( 17 | caches.match(event.request).then(function(response) { 18 | return response || fetch(event.request); 19 | }) 20 | ); 21 | }); 22 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/preload.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.preload 2 | (:require [devtools.prefs :as prefs] 3 | [devtools.core :as core])) 4 | 5 | ; this namespace is intended to be included in cljs compiler :preloads 6 | ; overrides for default configuration can be specified in :external-config > :devtools/config 7 | ; see https://github.com/binaryage/cljs-devtools/blob/master/docs/installation.md#install-it-via-preloads 8 | ; https://github.com/binaryage/cljs-devtools/blob/master/docs/configuration.md#configuration-via-preloads 9 | 10 | (if-not (prefs/pref :suppress-preload-install) 11 | (core/install!)) 12 | -------------------------------------------------------------------------------- /resources/public/js/out/process/env.cljs: -------------------------------------------------------------------------------- 1 | ;; Copyright (c) Rich Hickey. All rights reserved. 2 | ;; The use and distribution terms for this software are covered by the 3 | ;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 4 | ;; which can be found in the file epl-v10.html at the root of this distribution. 5 | ;; By using this software in any fashion, you are agreeing to be bound by 6 | ;; the terms of this license. 7 | ;; You must not remove this notice, or any other, from this software. 8 | 9 | (ns process.env 10 | "A shim namespace for the Node.js process library") 11 | 12 | (goog-define NODE_ENV "development") 13 | -------------------------------------------------------------------------------- /resources/public/js/out/process/env.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$process.env","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$NODE_ENV",["^ ","~:meta",["^ ","~:file","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/process/env.cljs","~:line",12,"~:column",14,"~:end-line",12,"~:end-column",22,"~:tag","~$string","~:declared",true],"^5","~$process.env/NODE_ENV","^>","resources/public/js/out/process/env.cljs","^B",22,"^@",1,"^?",12,"^E",true,"^A",12,"^C","^D"]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:doc","A shim namespace for the Node.js process library"] -------------------------------------------------------------------------------- /src/learn_numbers/web.clj: -------------------------------------------------------------------------------- 1 | (ns learn-numbers.web 2 | (:require [compojure.core :refer [defroutes GET ANY]] 3 | [compojure.handler :refer [site]] 4 | [compojure.route :as route] 5 | [clojure.java.io :as io] 6 | [ring.adapter.jetty :as jetty] 7 | [ring.middleware.ssl :as ssl] 8 | [environ.core :refer [env]])) 9 | 10 | (defroutes app 11 | (GET "/" [] 12 | (slurp (io/resource "public/index.html"))) 13 | (route/resources "/") 14 | (ANY "*" [] 15 | (route/not-found "

404 Not found

"))) 16 | 17 | (defn -main [& [port]] 18 | (let [port (Integer. (or port (env :port) 5000))] 19 | (jetty/run-jetty (site #'app) 20 | {:port port :join? false}))) 21 | -------------------------------------------------------------------------------- /resources/public/js/out/reagent/debug.cljs: -------------------------------------------------------------------------------- 1 | (ns reagent.debug 2 | (:require-macros [reagent.debug])) 3 | 4 | (def ^:const has-console (exists? js/console)) 5 | 6 | (def ^boolean tracking false) 7 | 8 | (defonce warnings (atom nil)) 9 | 10 | (defonce track-console 11 | (let [o #js{}] 12 | (set! (.-warn o) 13 | (fn [& args] 14 | (swap! warnings update-in [:warn] conj (apply str args)))) 15 | (set! (.-error o) 16 | (fn [& args] 17 | (swap! warnings update-in [:error] conj (apply str args)))) 18 | o)) 19 | 20 | (defn track-warnings [f] 21 | (set! tracking true) 22 | (reset! warnings nil) 23 | (f) 24 | (let [warns @warnings] 25 | (reset! warnings nil) 26 | (set! tracking false) 27 | warns)) 28 | -------------------------------------------------------------------------------- /resources/public/js/main.js: -------------------------------------------------------------------------------- 1 | var CLOSURE_UNCOMPILED_DEFINES = {}; 2 | var CLOSURE_NO_DEPS = true; 3 | if(typeof goog == "undefined") document.write(''); 4 | document.write(''); 5 | document.write(''); 6 | document.write(''); 7 | document.write(''); 8 | document.write(''); 9 | document.write(''); 10 | document.write(''); 11 | 12 | document.write(""); -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/connect.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('figwheel.connect'); 3 | goog.require('cljs.core'); 4 | goog.require('figwheel.client'); 5 | figwheel.connect.start = (function figwheel$connect$start(){ 6 | var config = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"build-id","build-id",1642831089),"dev",new cljs.core.Keyword(null,"websocket-url","websocket-url",-490444938),"ws://localhost:3450/figwheel-ws"], null); 7 | figwheel.client.start.call(null,config); 8 | 9 | if(cljs.core.truth_(new cljs.core.Keyword(null,"devcards","devcards",365747130).cljs$core$IFn$_invoke$arity$1(config))){ 10 | return devcards.core.start_devcard_ui_BANG__STAR_(); 11 | } else { 12 | return null; 13 | } 14 | }); 15 | goog.exportSymbol('figwheel.connect.start', figwheel.connect.start); 16 | 17 | //# sourceMappingURL=connect.js.map?rel=1620918628432 18 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/core/async/impl/dispatch.cljs: -------------------------------------------------------------------------------- 1 | (ns cljs.core.async.impl.dispatch 2 | (:require [cljs.core.async.impl.buffers :as buffers] 3 | [goog.async.nextTick])) 4 | 5 | (def tasks (buffers/ring-buffer 32)) 6 | (def running? false) 7 | (def queued? false) 8 | 9 | (def TASK_BATCH_SIZE 1024) 10 | 11 | (declare queue-dispatcher) 12 | 13 | (defn process-messages [] 14 | (set! running? true) 15 | (set! queued? false) 16 | (loop [count 0] 17 | (let [m (.pop tasks)] 18 | (when-not (nil? m) 19 | (m) 20 | (when (< count TASK_BATCH_SIZE) 21 | (recur (inc count)))))) 22 | (set! running? false) 23 | (when (> (.-length tasks) 0) 24 | (queue-dispatcher))) 25 | 26 | (defn queue-dispatcher [] 27 | (when-not (and queued? running?) 28 | (set! queued? true) 29 | (goog.async.nextTick process-messages))) 30 | 31 | (defn run [f] 32 | (.unbounded-unshift tasks f) 33 | (queue-dispatcher)) 34 | 35 | (defn queue-delay [f delay] 36 | (js/setTimeout f delay)) 37 | 38 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/version.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ ","~$get-current-version","~$devtools.version"],"~:excludes",["~#set",[]],"~:name","^4","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$current-version",["^ ","^7","~$devtools.version/current-version","~:file","resources/public/js/out/devtools/version.cljs","~:line",4,"~:column",1,"~:end-line",4,"~:end-column",21,"~:meta",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/version.cljs","^@",4,"^A",6,"^B",4,"^C",21],"~:tag","~$string"],"^3",["^ ","~:protocol-inline",null,"^D",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/version.cljs","^@",6,"^A",7,"^B",6,"^C",26,"~:arglists",["~#list",["~$quote",["^I",[[]]]]]],"^7","~$devtools.version/get-current-version","^?","resources/public/js/out/devtools/version.cljs","^C",26,"~:method-params",["^I",[[]]],"~:protocol-impl",null,"~:arglists-meta",["^I",[null,null]],"^A",1,"~:variadic?",false,"^@",6,"~:ret-tag","^F","^B",6,"~:max-fixed-arity",0,"~:fn-var",true,"^H",["^I",["^J",["^I",[[]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^4","^4"],"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/connect.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$devcards",["^ ","~$core",["^ ","~$start-devcard-ui!*",["^ "]]]],"~:use-macros",["^ ","~$external-tooling-config","~$figwheel.env-config"],"~:excludes",["~#set",[]],"~:name","~$figwheel.connect","~:imports",null,"~:requires",["^ ","~$figwheel.client","^?"],"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$start",["^ ","~:protocol-inline",null,"~:meta",["^ ","~:file","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/connect.cljs","~:line",8,"~:column",16,"~:end-line",8,"~:end-column",21,"~:export",true,"~:arglists",["~#list",["~$quote",["^M",[[]]]]]],"^;","~$figwheel.connect/start","^F","resources/public/js/out/figwheel/connect.cljs","^J",21,"~:method-params",["^M",[[]]],"~:protocol-impl",null,"^K",true,"~:arglists-meta",["^M",[null,null]],"^H",1,"~:variadic?",false,"^G",8,"~:ret-tag",["^:",["~$js","~$clj-nil"]],"^I",8,"~:max-fixed-arity",0,"~:fn-var",true,"^L",["^M",["^N",["^M",[[]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^8","^8"],"~:cljs.analyzer/constants",["^ ","~:seen",["^:",["~:build-id","~:websocket-url","~:devcards"]],"~:order",["^11","^12","^13"]],"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/devtools/prefs.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.prefs 2 | (:require-macros [devtools.prefs :refer [emit-external-config emit-env-config]]) 3 | (:require [devtools.defaults :as defaults])) 4 | 5 | ; we use delay for DCE, see https://github.com/binaryage/cljs-devtools/issues/37 6 | (def default-config (delay @defaults/config)) 7 | (def external-config (delay (emit-external-config))) 8 | (def env-config (delay (emit-env-config))) 9 | (def initial-config (delay (merge @default-config @external-config @env-config))) 10 | 11 | (def ^:dynamic *current-config* (delay @initial-config)) 12 | 13 | ; -- public api ------------------------------------------------------------------------------------------------------------- 14 | 15 | (defn set-prefs! [new-prefs] 16 | (set! *current-config* new-prefs)) 17 | 18 | (defn get-prefs [] 19 | (when (delay? *current-config*) 20 | (set-prefs! @*current-config*)) 21 | *current-config*) 22 | 23 | (defn pref [key] 24 | (key (get-prefs))) 25 | 26 | (defn set-pref! [key val] 27 | (set-prefs! (assoc (get-prefs) key val))) 28 | 29 | (defn merge-prefs! [m] 30 | (set-prefs! (merge (get-prefs) m))) 31 | 32 | (defn update-pref! [key f & args] 33 | (let [new-val (apply f (pref key) args)] 34 | (set-pref! key new-val))) 35 | -------------------------------------------------------------------------------- /resources/public/js/out/goog/dom/htmlelement.js: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | goog.provide('goog.dom.HtmlElement'); 16 | 17 | 18 | 19 | /** 20 | * This subclass of HTMLElement is used when only a HTMLElement is possible and 21 | * not any of its subclasses. Normally, a type can refer to an instance of 22 | * itself or an instance of any subtype. More concretely, if HTMLElement is used 23 | * then the compiler must assume that it might still be e.g. HTMLScriptElement. 24 | * With this, the type check knows that it couldn't be any special element. 25 | * 26 | * @constructor 27 | * @extends {HTMLElement} 28 | */ 29 | goog.dom.HtmlElement = function() {}; 30 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/core/async/impl/dispatch.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/cljs\/core\/async\/impl\/dispatch.js","sources":["dispatch.cljs?rel=1620066998533"],"lineCount":58,"mappings":";AAAA;;;;AAIA,AAAKA,sCAAM,mDAAA,nDAACC;AACZ,+CAAA,\/CAAKC;AACL,8CAAA,9CAAKC;AAEL,gDAAA,hDAAKC;AAEL,AAAA,AAEA,iDAAA,jDAAMC;AAAN,AACE,+CAAA,\/CAAMH;;AACN,8CAAA,9CAAMC;;AACN,kBAAA,dAAOG;;AAAP,AACE,IAAMC,UAAE,AAAMP;AAAd,AACE,GAAU,YAAA,XAAMO;AAAhB;AAAA,AACE,AAACA;;AACD,GAAM,CAAGD,cAAMF;AAAf,AACE,eAAO,eAAA,dAAKE;;;;AADd;;;;;AAEN,+CAAA,\/CAAMJ;;AACN,GAAM,8CAAA,7CAAG,AAAUF;AAAnB,AACE,OAACQ;;AADH;;;AAGF,iDAAA,jDAAMA;AAAN,AACE,GAAU,EAAKL,iDAAQD;AAAvB;;AAAA,AACE,8CAAA,9CAAMC;;AACN,OAAC,AAAAM,8BAAoBJ;;;AAEzB,oCAAA,pCAAMK,gFAAKC;AAAX,AACE,AAAoBX,sDAAMW;;AAC1B,OAACH;;AAEH,4CAAA,5CAAMI,gGAAaD,EAAEE;AAArB,AACE,OAACC,WAAcH,EAAEE","names":["cljs.core.async.impl.dispatch\/tasks","cljs.core.async.impl.buffers\/ring-buffer","cljs.core.async.impl.dispatch\/running?","cljs.core.async.impl.dispatch\/queued?","cljs.core.async.impl.dispatch\/TASK_BATCH_SIZE","cljs.core.async.impl.dispatch\/process-messages","count","m","cljs.core.async.impl.dispatch\/queue-dispatcher","goog\/async","cljs.core.async.impl.dispatch\/run","f","cljs.core.async.impl.dispatch\/queue-delay","delay","js\/setTimeout"]} -------------------------------------------------------------------------------- /resources/public/js/out/reagent/debug.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/reagent\/debug.js","sources":["debug.cljs?rel=1620066994827"],"lineCount":79,"mappings":";AAAA;;AAGA,AAAaA,4BAAY,QAAAC;AAEzB,yBAAA,zBAAcC;AAEd,GAAA,QAAAC,oCAAAC,0CAAAC;AAAA;AAAA,AAAA,AAASC,yBAAS,yBAAA,zBAACC;;AAEnB,GAAA,QAAAJ,oCAAAC,0CAAAI;AAAA;AAAA,AAAA,AAASC,8BACP,qBAAA,JAAMC;AAAN,AACE,AAAM,AAAQA,SACR;;mCAAOC;AAAP,AACE,iFAAA,mFAAA,7JAACC,+BAAMN,uBAASO,oKAAkBC,eAAK,AAACC,0BAAMC,cAAIL;;;IAD7CA;;;;EAAAA;;oCAAAA;;;IAAAA;0BAAAA;;;;;;;;AAEb,AAAM,AAASD,UACT;;mCAAOC;AAAP,AACE,iFAAA,mFAAA,7JAACC,+BAAMN,uBAASO,sKAAmBC,eAAK,AAACC,0BAAMC,cAAIL;;;IAD9CA;;;;EAAAA;;oCAAAA;;;IAAAA;0BAAAA;;;;;;;;AAEbD;;;AAEJ,+BAAA,\/BAAMO,sEAAgBC;AAAtB,AACE,yBAAA,zBAAMhB;;AACN,uDAAA,vDAACiB,gCAAOb;;AACR,AAACY;;AACD,YAAA,AAAAE,RAAMC,kCAAOf;AAAb,AACE,uDAAA,vDAACa,gCAAOb;;AACR,yBAAA,zBAAMJ;;AACNmB","names":["reagent.debug\/has-console","js\/console","reagent.debug\/tracking","js\/reagent","js\/reagent.debug","js\/reagent.debug.warnings","reagent.debug\/warnings","cljs.core\/atom","js\/reagent.debug.track-console","reagent.debug\/track-console","o","args","cljs.core\/swap!","cljs.core\/update-in","cljs.core\/conj","cljs.core\/apply","cljs.core\/str","reagent.debug\/track-warnings","f","cljs.core\/reset!","cljs.core\/deref","warns"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/context.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$devtools.context","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$get-root",["^ ","~:protocol-inline",null,"~:meta",["^ ","~:file","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/context.cljs","~:line",4,"~:column",17,"~:end-line",4,"~:end-column",25,"~:dynamic",true,"~:arglists",["~#list",["~$quote",["^F",[[]]]]]],"^5","~$devtools.context/get-root","^?","resources/public/js/out/devtools/context.cljs","^C",25,"~:method-params",["^F",[[]]],"~:protocol-impl",null,"~:arglists-meta",["^F",[null,null]],"^A",1,"~:variadic?",false,"^D",true,"^@",4,"^B",4,"~:max-fixed-arity",0,"~:fn-var",true,"^E",["^F",["^G",["^F",[[]]]]]],"~$get-console",["^ ","^=",null,"^>",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/context.cljs","^@",7,"^A",17,"^B",7,"^C",28,"^D",true,"^E",["^F",["^G",["^F",[[]]]]]],"^5","~$devtools.context/get-console","^?","resources/public/js/out/devtools/context.cljs","^C",28,"^I",["^F",[[]]],"^J",null,"^K",["^F",[null,null]],"^A",1,"^L",false,"^D",true,"^@",7,"~:ret-tag","~$any","^B",7,"^M",0,"^N",true,"^E",["^F",["^G",["^F",[[]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/goog/dom/tags.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Utilities for HTML element tag names. 17 | */ 18 | goog.provide('goog.dom.tags'); 19 | 20 | goog.require('goog.object'); 21 | 22 | 23 | /** 24 | * The void elements specified by 25 | * http://www.w3.org/TR/html-markup/syntax.html#void-elements. 26 | * @const @private {!Object} 27 | */ 28 | goog.dom.tags.VOID_TAGS_ = goog.object.createSet( 29 | 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 30 | 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'); 31 | 32 | 33 | /** 34 | * Checks whether the tag is void (with no contents allowed and no legal end 35 | * tag), for example 'br'. 36 | * @param {string} tagName The tag name in lower case. 37 | * @return {boolean} 38 | */ 39 | goog.dom.tags.isVoidTag = function(tagName) { 40 | return goog.dom.tags.VOID_TAGS_[tagName] === true; 41 | }; 42 | -------------------------------------------------------------------------------- /resources/public/js/out/goog/promise/resolver.js: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | goog.provide('goog.promise.Resolver'); 16 | 17 | 18 | 19 | /** 20 | * Resolver interface for promises. The resolver is a convenience interface that 21 | * bundles the promise and its associated resolve and reject functions together, 22 | * for cases where the resolver needs to be persisted internally. 23 | * 24 | * @interface 25 | * @template TYPE 26 | */ 27 | goog.promise.Resolver = function() {}; 28 | 29 | 30 | /** 31 | * The promise that created this resolver. 32 | * @type {!goog.Promise} 33 | */ 34 | goog.promise.Resolver.prototype.promise; 35 | 36 | 37 | /** 38 | * Resolves this resolver with the specified value. 39 | * @type {function((TYPE|goog.Promise|Thenable)=)} 40 | */ 41 | goog.promise.Resolver.prototype.resolve; 42 | 43 | 44 | /** 45 | * Rejects this resolver with the specified reason. 46 | * @type {function(*=): void} 47 | */ 48 | goog.promise.Resolver.prototype.reject; 49 | -------------------------------------------------------------------------------- /resources/public/js/out/goog/dom/nodetype.js: -------------------------------------------------------------------------------- 1 | // Copyright 2006 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Definition of goog.dom.NodeType. 17 | */ 18 | 19 | goog.provide('goog.dom.NodeType'); 20 | 21 | 22 | /** 23 | * Constants for the nodeType attribute in the Node interface. 24 | * 25 | * These constants match those specified in the Node interface. These are 26 | * usually present on the Node object in recent browsers, but not in older 27 | * browsers (specifically, early IEs) and thus are given here. 28 | * 29 | * In some browsers (early IEs), these are not defined on the Node object, 30 | * so they are provided here. 31 | * 32 | * See http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247 33 | * @enum {number} 34 | */ 35 | goog.dom.NodeType = { 36 | ELEMENT: 1, 37 | ATTRIBUTE: 2, 38 | TEXT: 3, 39 | CDATA_SECTION: 4, 40 | ENTITY_REFERENCE: 5, 41 | ENTITY: 6, 42 | PROCESSING_INSTRUCTION: 7, 43 | COMMENT: 8, 44 | DOCUMENT: 9, 45 | DOCUMENT_TYPE: 10, 46 | DOCUMENT_FRAGMENT: 11, 47 | NOTATION: 12 48 | }; 49 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/reporter.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$Error",["^ "]],"~:use-macros",["^ ","~$oget","~$devtools.oops"],"~:excludes",["~#set",[]],"~:name","~$devtools.reporter","~:imports",null,"~:requires",["^ ","~$util","~$devtools.util","^>","^>","~$context","~$devtools.context","^@","^@"],"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$issues-url",["^ ","^9","~$devtools.reporter/issues-url","~:file","resources/public/js/out/devtools/reporter.cljs","~:line",6,"~:column",1,"~:end-line",6,"~:end-column",16,"~:meta",["^ ","^F","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/reporter.cljs","^G",6,"^H",6,"^I",6,"^J",16],"~:tag","~$string"],"~$report-internal-error!",["^ ","~:protocol-inline",null,"^K",["^ ","^F","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/reporter.cljs","^G",10,"^H",7,"^I",10,"^J",29,"~:arglists",["~#list",["~$quote",["^Q",[["~$e","~$&",["^?","~$footer"]]]]]],"~:top-fn",["^ ","~:variadic?",true,"~:fixed-arity",1,"~:max-fixed-arity",1,"~:method-params",[["^Q",["~$e",["^?","^S"]]]],"^P",["^Q",[["~$e","~$&",["^?","^S"]]]],"~:arglists-meta",["^Q",[null]]]],"^9","~$devtools.reporter/report-internal-error!","^F","resources/public/js/out/devtools/reporter.cljs","^J",29,"^T",["^ ","^U",true,"^V",1,"^W",1,"^X",[["^Q",["~$e",["^?","^S"]]]],"^P",["^Q",[["~$e","~$&",["^?","^S"]]]],"^Y",["^Q",[null]]],"^X",[["^Q",["~$e",["^?","^S"]]]],"~:protocol-impl",null,"^V",1,"^Y",["^Q",[null]],"^H",1,"^U",true,"~:methods",[["^ ","^V",1,"^U",true]],"^G",10,"~:ret-tag","~$any","^I",10,"^W",1,"~:fn-var",true,"^P",["^Q",[["~$e","~$&",["^?","^S"]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^6","^6"],"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/devtools/protocols.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/protocols.js","sources":["protocols.cljs?rel=1620066997199"],"lineCount":89,"mappings":";AAAA;;AAEA,AAAA;AAAA;;;;+BAAA,\/BAAaA;;AAAb,AAGA,AAAA;AAAA;;;;4BAAA,5BAAaC;;AAAb,AAGA,AAAA;AAAA;;;;gCAAA,hCAAaC;;AAAb,AAGA,AAAA;AAAA;;;6BAAA,7BAAaS;;AAAb,6BAAA,7BACGN,kEAASO;AADZ,AAAA,GAAA,EAAA,GAAA,UAAA,aAAA,GAAA,CAAA,oDAAA,9EACYA,0BAAAA;AADZ,OACYA,iDAAAA;;AADZ,IAAAT,kBAAA,EAAA,UAAA,OAAA,hBACYS,qBAAAA;IADZR,kBAAA,CAAAC,2BAAA,AAAAC,YAAAH;AAAA,AAAA,GAAA,GAAA,CAAAC,mBAAA;AAAA,OAAAA,0BACYQ;;AADZ,IAAAL,kBAAA,CAAAF,2BAAA;AAAA,AAAA,GAAA,GAAA,CAAAE,mBAAA;AAAA,OAAAA,0BACYK;;AADZ,MAAA,AAAAJ,qCAAA,kBACYI;;;;;;AADZ,+BAAA,\/BAEGH,sEAAWG;AAFd,AAAA,GAAA,EAAA,GAAA,UAAA,aAAA,GAAA,CAAA,sDAAA,hFAEcA,0BAAAA;AAFd,OAEcA,mDAAAA;;AAFd,IAAAT,kBAAA,EAAA,UAAA,OAAA,hBAEcS,qBAAAA;IAFdR,kBAAA,CAAAK,6BAAA,AAAAH,YAAAH;AAAA,AAAA,GAAA,GAAA,CAAAC,mBAAA;AAAA,OAAAA,0BAEcQ;;AAFd,IAAAL,kBAAA,CAAAE,6BAAA;AAAA,AAAA,GAAA,GAAA,CAAAF,mBAAA;AAAA,OAAAA,0BAEcK;;AAFd,MAAA,AAAAJ,qCAAA,oBAEcI;;;;;;AAFd,2BAAA,3BAGGF,8DAAOE;AAHV,AAAA,GAAA,EAAA,GAAA,UAAA,aAAA,GAAA,CAAA,kDAAA,5EAGUA,0BAAAA;AAHV,OAGUA,+CAAAA;;AAHV,IAAAT,kBAAA,EAAA,UAAA,OAAA,hBAGUS,qBAAAA;IAHVR,kBAAA,CAAAM,yBAAA,AAAAJ,YAAAH;AAAA,AAAA,GAAA,GAAA,CAAAC,mBAAA;AAAA,OAAAA,0BAGUQ;;AAHV,IAAAL,kBAAA,CAAAG,yBAAA;AAAA,AAAA,GAAA,GAAA,CAAAH,mBAAA;AAAA,OAAAA,0BAGUK;;AAHV,MAAA,AAAAJ,qCAAA,gBAGUI;;;;;;AAHV","names":["devtools.protocols\/ITemplate","devtools.protocols\/IGroup","devtools.protocols\/ISurrogate","x__4433__auto__","m__4434__auto__","devtools.protocols\/-header","goog\/typeOf","m__4431__auto__","cljs.core\/missing-protocol","devtools.protocols\/-has-body","devtools.protocols\/-body","devtools.protocols\/IFormat","value"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/reporter.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.reporter 2 | (:require-macros [devtools.oops :refer [oget]]) 3 | (:require [devtools.util :as util] 4 | [devtools.context :as context])) 5 | 6 | (def issues-url "https://github.com/binaryage/cljs-devtools/issues") 7 | 8 | ; -- internal errors ------------------------------------------------------------------------------------------------------- 9 | 10 | (defn report-internal-error! [e & [context footer]] 11 | (let [console (context/get-console)] 12 | (try 13 | (let [message (if (instance? js/Error e) 14 | (or (.-message e) e) 15 | e) 16 | header #js ["%cCLJS DevTools Error%c%s" 17 | "background-color:red;color:white;font-weight:bold;padding:0px 3px;border-radius:2px;" 18 | "color:red" 19 | (str " " message)] 20 | context-msg (str "In " (util/get-lib-info) (if context (str ", " context ".") ".") "\n\n") 21 | footer-msg (if (some? footer) 22 | footer 23 | (str "\n\n" "---\n" "Please report the issue here: " issues-url)) 24 | details #js [context-msg e footer-msg]] 25 | (let [group-collapsed (oget console "groupCollapsed") 26 | log (oget console "log") 27 | group-end (oget console "groupEnd")] 28 | (assert group-collapsed) 29 | (assert log) 30 | (assert group-end) 31 | (.apply group-collapsed console header) 32 | (.apply log console details) 33 | (.call group-end console))) 34 | (catch :default e 35 | (.error console "FATAL: report-internal-error! failed" e))))) 36 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/toolbox.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.toolbox 2 | (:require-macros [devtools.toolbox]) 3 | (:require [devtools.protocols :refer [IFormat]] 4 | [devtools.formatters.templating :refer [render-markup]] 5 | [devtools.formatters.markup :refer [ ]])) 6 | 7 | (defn envelope 8 | "This is a simple wrapper for logging \"busy\" objects. 9 | This is especially handy when you happen to be logging javascript objects with many properties. 10 | Standard javascript console renderer tends to print a lot of infomation in the header in some cases and that can make 11 | console output pretty busy. By using envelope you can force your own short header and let the details expand on demand 12 | via disclosure triangle. The header can be styled and you can optionally specify preferred wrapping tag (advanced)." 13 | ([obj] 14 | (envelope obj :default-envelope-header)) 15 | ([obj header] 16 | (envelope obj header :default-envelope-style)) 17 | ([obj header style] 18 | (envelope obj header style :span)) 19 | ([obj header style tag] 20 | (reify 21 | IFormat 22 | (-header [_] (render-markup [[tag style] (if (fn? header) (header obj) header)])) 23 | (-has-body [_] true) 24 | (-body [_] (render-markup ( ( obj))))))) 25 | 26 | (defn force-format 27 | "Forces object to be rendered by cljs-devtools during console logging. 28 | 29 | Unfortunately custom formatters subsystem in DevTools is not applied to primitive values like numbers, strings, null, etc. 30 | This wrapper can be used as a workaround if you really need to force cljs-devtools rendering: 31 | 32 | (.log js/console nil) ; will render 'null' 33 | (.log js/console (force-format nil)) ; will render 'nil' and not 'null' 34 | 35 | See https://github.com/binaryage/cljs-devtools/issues/17 36 | " 37 | [obj] 38 | (render-markup ( obj))) 39 | 40 | -------------------------------------------------------------------------------- /resources/public/js/out/learn_numbers/core.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/learn_numbers\/core.js","sources":["core.cljs?rel=1620919449194"],"lineCount":46,"mappings":";AAAA;;;;AAKA,AAACA;AAED,GAAA,QAAAC,0CAAAC,+CAAAC;AAAA;AAAA,AAAA,AAASC,4BAAO,AAACC,4BAAK,6BAAA,7BAACC;;AAEvB,qCAAA,2CAAA,QAAA,oBAAA,QAAA,kBAAA,QAAA,mBAAA,QAAA,sBAAA,QAAA,vMAAKC;AAOL;;;8BAAA,9BAAMC,oEAEHC;AAFH,AAGE,IAAMC,aAAW,AAAmBC;AAApC,AACE,AAAKC,yBAAI,KAAAC,yBAAA,AAAAC,0BAA+BV;;AACxC,wBAAA,vBAAMQ,iCAAWH;;AACjB,OAAQC,iBAAWE;;AAEvB,+BAAA,\/BAAMG;AAAN,AACE,oCAAA,7BAACT;;AAEH;;;kCAAA,lCAAMU,4EAEHP;AAFH,AAGE,AAAKQ,8BAAS,CAAA,2DAAA,NAAcR;;AAH9B,0FAAA,4IAAA,2CAAA,2DAAA,iFAAA,mFAAA,mDAAA,2CAAA,gFAAA,uDAAA,QAAA,yDAAA,QAAA,6DAAA,jfAIqF,AAACF,6CAAgBE,2OAEvFQ;AANf,AASqB,OAACT,sCAASC;GAT\/B,iDAUeA;;AAEf,mCAAA,nCAAMS;AAAN,AAAA,0FAAA,mEAAA,mFAAA,qEAAA,mFAAA,mEAAA,mFAAA,qGAAA,mFAAA,8DAAA,wEAAA,mFAAA,wDAAA,mFAAA,wDAAA,mFAAA,mEAAA,mFAAA,0JAAA,mFAAA,+EAAA,2CAAA,uDAAA,2CAAA,gEAAA,wBAAA,AAAAJ,qEAAA,mFAAA,kEAAA,mFAAA,mEAAA,mFAAA,sDAAA,2CAAA,qDAAA,SAAA,wDAAA,oBAAA,sDAAA,0BAAA,6DAAA,jyBASwDV;AATxD,AAa0B,OAACe,+BAAMf,0BAAOW;2CAbxC,mFAAA,mEAAA,mFAAA,6HAAA,mFAAA,6HAAA,mFAAA,6HAAA,mFAAA,6HAAA,mFAAA,6HAAA,mFAAA,uDAAA,2CAAA,kDAAA,SAAA,oDAAA,\/pCAgBM,0CAAA,1CAACC,gNAEF,0CAAA,1CAACA,gNAED,0CAAA,1CAACA,gNAED,0CAAA,1CAACA,gNAED,0CAAA,1CAACA;;AAGN,6BAAA,7BAACI,gHAAWF,yCACD,wBAAA,xBAAGG;AAEd,kCAAA,lCAAMC;AAAN,AAAA","names":["cljs.core\/enable-console-print!","js\/learn-numbers","js\/learn-numbers.core","js\/learn-numbers.core.number","learn-numbers.core\/number","reagent.core\/atom","cljs.core\/rand-int","learn-numbers.core\/lang-to-country","learn-numbers.core\/speak-it","lang","speech-syn","js\/window","learn-numbers.core\/msg","js\/SpeechSynthesisUtterance","cljs.core\/deref","learn-numbers.core\/change-me","learn-numbers.core\/flag-element","learn-numbers.core\/filename","learn-numbers.core\/app-container","cljs.core\/swap!","reagent.dom\/render","js\/document","learn-numbers.core\/on-js-reload"]} -------------------------------------------------------------------------------- /resources/public/js/out/goog/string/typedstring.js: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | goog.provide('goog.string.TypedString'); 16 | 17 | 18 | 19 | /** 20 | * Wrapper for strings that conform to a data type or language. 21 | * 22 | * Implementations of this interface are wrappers for strings, and typically 23 | * associate a type contract with the wrapped string. Concrete implementations 24 | * of this interface may choose to implement additional run-time type checking, 25 | * see for example {@code goog.html.SafeHtml}. If available, client code that 26 | * needs to ensure type membership of an object should use the type's function 27 | * to assert type membership, such as {@code goog.html.SafeHtml.unwrap}. 28 | * @interface 29 | */ 30 | goog.string.TypedString = function() {}; 31 | 32 | 33 | /** 34 | * Interface marker of the TypedString interface. 35 | * 36 | * This property can be used to determine at runtime whether or not an object 37 | * implements this interface. All implementations of this interface set this 38 | * property to {@code true}. 39 | * @type {boolean} 40 | */ 41 | goog.string.TypedString.prototype.implementsGoogStringTypedString; 42 | 43 | 44 | /** 45 | * Retrieves this wrapped string's value. 46 | * @return {string} The wrapped string's value. 47 | */ 48 | goog.string.TypedString.prototype.getTypedStringValue; 49 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/core/async/impl/protocols.cljs: -------------------------------------------------------------------------------- 1 | ;; Copyright (c) Rich Hickey and contributors. All rights reserved. 2 | ;; The use and distribution terms for this software are covered by the 3 | ;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 4 | ;; which can be found in the file epl-v10.html at the root of this distribution. 5 | ;; By using this software in any fashion, you are agreeing to be bound by 6 | ;; the terms of this license. 7 | ;; You must not remove this notice, or any other, from this software. 8 | 9 | (ns cljs.core.async.impl.protocols) 10 | 11 | (def ^:const MAX-QUEUE-SIZE 1024) 12 | 13 | (defprotocol ReadPort 14 | (take! [port fn1-handler] "derefable val if taken, nil if take was enqueued")) 15 | 16 | (defprotocol WritePort 17 | (put! [port val fn1-handler] "derefable boolean (false if already closed) if handled, nil if put was enqueued. 18 | Must throw on nil val.")) 19 | 20 | (defprotocol Channel 21 | (close! [chan]) 22 | (closed? [chan])) 23 | 24 | (defprotocol Handler 25 | (active? [h] "returns true if has callback. Must work w/o lock") 26 | (blockable? [h] "returns true if this handler may be blocked, otherwise it must not block") 27 | #_(lock-id [h] "a unique id for lock acquisition order, 0 if no lock") 28 | (commit [h] "commit to fulfilling its end of the transfer, returns cb. Must be called within lock")) 29 | 30 | (defprotocol Buffer 31 | (full? [b] "returns true if buffer cannot accept put") 32 | (remove! [b] "remove and return next item from buffer, called under chan mutex") 33 | (add!* [b itm] "if room, add item to the buffer, returns b, called under chan mutex") 34 | (close-buf! [b] "called on chan closed under chan mutex, return ignored")) 35 | 36 | (defn add! 37 | ([b] b) 38 | ([b itm] 39 | (assert (not (nil? itm))) 40 | (add!* b itm))) 41 | 42 | ;; Defines a buffer that will never block (return true to full?) 43 | (defprotocol UnblockingBuffer) 44 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/async.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/async.js","sources":["async.cljs?rel=1620066999302"],"lineCount":87,"mappings":";AAAA;;;;;AAMA,kCAAA,lCAAgBA;AAAhB,AACE,eAAAC;;AAEF,gDAAA,hDAAeC;AAEf,+BAAA,\/BAAgBC;AAAhB,AACE,OAACC,wBAAI,iBAAAC,oBAAK,AAACC;AAAN,AAAA,oBAAAD;AAAmB,OAACE,8CAAqBL;;AAAzCG;;;;AAEP,wCAAA,xCAAgBG;AAAhB,AACE,QAAA,oHAAA,KAAA,nDAA2EN;;AAG7E,uCAAA,vCAAeO;AACf,oDAAA,pDAAeC;AAGf,yCAAA,zCAAMC,0FAAyBC;AAA\/B,AACE,kBAAA,XAACC;AAAD,AAAgB,MAAOD;GAAvB;;AAEF,6CAAA,7CAAME,kGAA6BC;AAAnC,iEACM,iBAAAC,mBAAOf,xEACP,iBAAAe,9CACA,IAAAA;AAFA,AAAA,OAAA,CAAAA,iBAAA,iBAAAA;;AACA,AAAA,OAAA,CAAAA,iBAAA,cAAAA,iBAAcD;;AACd,AAAA,AAAA,CAAAC,uBAAA,eAAAA,uBAAeL;;AAHrB;;AAMA,mDAAA,nDAAMM;AAAN,AACE,AAAMP,oDAAyBQ;;AAC\/B,OAAMA,oCAAwBJ;;AAEhC,qDAAA,rDAAMK;AAAN,AACE,OAAMD,oCAAwBR;;AAIhC,kCAAA,lCAAMU;AAAN,AACEX;;AAEF,+BAAA,\/BAAMY;AAAN,AACE,GAAUZ;AAAV;;AAAA,AACE,uCAAA,vCAAMA;;AACN,IAAAa,iBAAME;IAAND,8BAAAD;AAAA,AAAA,oBAAAC;AAAA;AAAA,AAAA,MAAA,KAAAC,MAAA,CAAA,kBAAA,CAAA,gCAAA,KAAA,mDAAAF,0BAAA,KAAA;;;AAAA,CAAAC,4BAAA,qBAAmCE;;AAAnCH;AACA,AAACL;;AACD,GAAU,AAACd;AAAX;AAAA,AACE,AAAO,AAACuB,6CAAqB,AAAClB;;;AALlC;;;AAQF,iCAAA,jCAAMmB;AAAN,AACE,GAAMlB;AAAN,AACE,uCAAA,vCAAMA;;AACN,OAACU;;AAFH","names":["devtools.async\/available?","js\/Promise","devtools.async\/fixed-chrome-version-for-async","devtools.async\/needed?","cljs.core\/not","and__4120__auto__","goog.labs.userAgent.browser\/isChrome","goog.labs.userAgent.browser\/isVersionOrHigher","devtools.async\/get-not-needed-message","devtools.async\/*installed*","devtools.async\/*original-set-immediate*","devtools.async\/rethrow-outside-promise","e","js\/setTimeout","devtools.async\/promise-based-set-immediate","callback","o__32841__auto__","devtools.async\/install-async-set-immediate!","goog.async.nextTick\/setImmediate_","devtools.async\/uninstall-async-set-immediate!","devtools.async\/installed?","devtools.async\/install!","G__36079","target__32846__auto__","js\/Error","js\/Infinity","devtools.context\/get-console","devtools.async\/uninstall!"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/async.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.async 2 | (:require-macros [devtools.oops :refer [oset ocall]]) 3 | (:require [goog.async.nextTick :as next-tick] 4 | [goog.labs.userAgent.browser :as ua] 5 | [devtools.context :as context])) 6 | 7 | (defn ^:dynamic available? [] 8 | (exists? js/Promise)) 9 | 10 | (def ^:dynamic fixed-chrome-version-for-async "65.0.3321") 11 | 12 | (defn ^:dynamic needed? [] 13 | (not (and (ua/isChrome) (ua/isVersionOrHigher fixed-chrome-version-for-async)))) 14 | 15 | (defn ^:dynamic get-not-needed-message [] 16 | (str "cljs-devtools: the :async feature is no longer needed since Chrome " fixed-chrome-version-for-async ", " 17 | "see https://github.com/binaryage/cljs-devtools/issues/20")) 18 | 19 | (def ^:dynamic *installed* false) 20 | (def ^:dynamic *original-set-immediate* nil) 21 | 22 | ; see http://stackoverflow.com/a/30741722/84283 23 | (defn rethrow-outside-promise [e] 24 | (js/setTimeout #(throw e) 0)) 25 | 26 | (defn promise-based-set-immediate [callback] 27 | (-> (ocall js/Promise "resolve") 28 | (ocall "then" callback) 29 | (ocall "catch" rethrow-outside-promise)) 30 | nil) 31 | 32 | (defn install-async-set-immediate! [] 33 | (set! *original-set-immediate* next-tick/setImmediate_) 34 | (set! next-tick/setImmediate_ promise-based-set-immediate)) 35 | 36 | (defn uninstall-async-set-immediate! [] 37 | (set! next-tick/setImmediate_ *original-set-immediate*)) 38 | 39 | ; -- installation ----------------------------------------------------------------------------------------------------------- 40 | 41 | (defn installed? [] 42 | *installed*) 43 | 44 | (defn install! [] 45 | (when-not *installed* 46 | (set! *installed* true) 47 | (oset js/Error ["stackTraceLimit"] js/Infinity) 48 | (install-async-set-immediate!) 49 | (when-not (needed?) 50 | (.info (context/get-console) (get-not-needed-message))) 51 | true)) 52 | 53 | (defn uninstall! [] 54 | (when *installed* 55 | (set! *installed* false) 56 | (uninstall-async-set-immediate!))) 57 | -------------------------------------------------------------------------------- /resources/public/js/out/goog/debug/error.js: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Provides a base class for custom Error objects such that the 17 | * stack is correctly maintained. 18 | * 19 | * You should never need to throw goog.debug.Error(msg) directly, Error(msg) is 20 | * sufficient. 21 | * 22 | */ 23 | 24 | goog.provide('goog.debug.Error'); 25 | 26 | 27 | 28 | /** 29 | * Base class for custom error objects. 30 | * @param {*=} opt_msg The message associated with the error. 31 | * @constructor 32 | * @extends {Error} 33 | */ 34 | goog.debug.Error = function(opt_msg) { 35 | 36 | // Attempt to ensure there is a stack trace. 37 | if (Error.captureStackTrace) { 38 | Error.captureStackTrace(this, goog.debug.Error); 39 | } else { 40 | var stack = new Error().stack; 41 | if (stack) { 42 | this.stack = stack; 43 | } 44 | } 45 | 46 | if (opt_msg) { 47 | this.message = String(opt_msg); 48 | } 49 | 50 | /** 51 | * Whether to report this error to the server. Setting this to false will 52 | * cause the error reporter to not report the error back to the server, 53 | * which can be useful if the client knows that the error has already been 54 | * logged on the server. 55 | * @type {boolean} 56 | */ 57 | this.reportErrorToServer = true; 58 | }; 59 | goog.inherits(goog.debug.Error, Error); 60 | 61 | 62 | /** @override */ 63 | goog.debug.Error.prototype.name = 'CustomError'; 64 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/reporter.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/reporter.js","sources":["reporter.cljs?rel=1620066998405"],"lineCount":81,"mappings":";AAAA;;;;AAKA,+BAAA,\/BAAKA;AAIL,AAAA,gDAAA,wDAAAC,xGAAMM;AAAN,AAAA,IAAAL,qBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,wBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,EAAA,CAAA,MAAA,AAAAH,4BAAA,AAAA,KAAAI,qBAAA,AAAAJ,yBAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,mFAAA,CAAA,UAAA,MAAAF;;;AAAA,AAAA,AAAA,qFAAA,aAAAG,lGAAMD,gGAAwBS;AAA9B,AAAA,IAAAP,aAAAD;cAAA,AAAAE,wBAAAD,WAAA,IAAA,jDAAmCQ;aAAnC,AAAAP,wBAAAD,WAAA,IAAA,hDAA2CS;AAA3C,AACE,IAAMC,UAAQ,AAACC;AAAf,AACE,IAAA,AACE,IAAME,UAAQ,EAAI,cAAWC,bAASP,qBACtB,iBAAAQ,mBAAI,AAAWR;AAAf,AAAA,oBAAAQ;AAAAA;;AAAkBR;;KAClBA;aAFhB,CAAA,4BAAA,uFAAA,7HAGMS,yIAGY,CAAA,gDAASH;IACrBI,cAAY,CAAA,qJAAA,\/IAAW,AAACC,sCAAmB,oGAAA,lFAAIV,SAAQ,CAAA,0DAAA,TAAUA;IACjEW,aAAW,EAAI,GAAA,WAAA,VAAOV,mBACTA,OACA,CAAA,OAAA,QAAA,iCAAqDlB;cAVxE,VAWM6B,WAAaH,YAAYV,EAAEY;AAXjC,AAYE,IAAME,kBAAgB,SAAA,RAAMX;IACtBY,MAAI,SAAA,RAAMZ;IACVa,YAAU,SAAA,RAAMb;AAFtB,AAGE,oBAAQW;AAAR;AAAA,AAAA,MAAA,KAAAP,MAAA;;;AACA,oBAAQQ;AAAR;AAAA,AAAA,MAAA,KAAAR,MAAA;;;AACA,oBAAQS;AAAR;AAAA,AAAA,MAAA,KAAAT,MAAA;;;AACA,AAAQO,sBAAgBX,QAAQM;;AAChC,AAAQM,UAAIZ,QAAQU;;AACpB,OAAOG,eAAUb;gBArBvB,YAAAE,RAsBkBL;AAtBlB,AAuBI,qBAAA,dAAQG,qDAA+CH;;;AAzB\/D,AAAA,wEAAA,xEAAMT;;AAAN;AAAA,AAAA,kEAAA,WAAAI,7EAAMJ;AAAN,AAAA,IAAAK,WAAA,AAAAC,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;AAAA,AAAA,IAAAI,qBAAA;AAAA,AAAA,OAAAA,wDAAAH,SAAAD;;;AAAA","names":["devtools.reporter\/issues-url","var_args","args__4736__auto__","len__4730__auto__","i__4731__auto__","argseq__4737__auto__","cljs.core\/IndexedSeq","devtools.reporter\/report-internal-error!","p__34846","vec__34847","cljs.core\/nth","seq34844","G__34845","cljs.core\/first","cljs.core\/next","self__4717__auto__","e","context","footer","console","devtools.context\/get-console","e34850","message","js\/Error","or__4131__auto__","header","context-msg","devtools.util\/get-lib-info","footer-msg","details","group-collapsed","log","group-end"]} -------------------------------------------------------------------------------- /resources/public/js/out/reagent/debug.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$console",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$reagent.debug","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$has-console",["^ ","~:meta",["^ ","~:file","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/reagent/debug.cljs","~:line",4,"~:column",14,"~:end-line",4,"~:end-column",25,"~:const",true],"^7","~$reagent.debug/has-console","^@","resources/public/js/out/reagent/debug.cljs","^D",25,"^B",1,"^E",true,"^A",4,"^C",4,"~:tag","~$boolean"],"~$tracking",["^ ","^7","~$reagent.debug/tracking","^@","resources/public/js/out/reagent/debug.cljs","^A",6,"^B",1,"^C",6,"^D",23,"^G","^H","^?",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/reagent/debug.cljs","^A",6,"^B",15,"^C",6,"^D",23,"^G","^H"]],"~$warnings",["^ ","^7","~$reagent.debug/warnings","^@","resources/public/js/out/reagent/debug.cljs","^A",8,"^B",1,"^C",8,"^D",18,"^?",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/reagent/debug.cljs","^A",8,"^B",10,"^C",8,"^D",18],"^G","~$cljs.core/Atom"],"~$track-console",["^ ","^7","~$reagent.debug/track-console","^@","resources/public/js/out/reagent/debug.cljs","^A",10,"^B",1,"^C",10,"^D",23,"^?",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/reagent/debug.cljs","^A",10,"^B",10,"^C",10,"^D",23],"^G","~$object"],"~$track-warnings",["^ ","~:protocol-inline",null,"^?",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/reagent/debug.cljs","^A",20,"^B",7,"^C",20,"^D",21,"~:arglists",["~#list",["~$quote",["^T",[["~$f"]]]]]],"^7","~$reagent.debug/track-warnings","^@","resources/public/js/out/reagent/debug.cljs","^D",21,"~:method-params",["^T",[["~$f"]]],"~:protocol-impl",null,"~:arglists-meta",["^T",[null,null]],"^B",1,"~:variadic?",false,"^A",20,"~:ret-tag","~$any","^C",20,"~:max-fixed-arity",1,"~:fn-var",true,"^S",["^T",["^U",["^T",[["~$f"]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^8","^8"],"~:cljs.analyzer/constants",["^ ","~:seen",["^6",["~:warn","~:error"]],"~:order",["^17","^18"]],"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/cljs/core/async/impl/dispatch.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('cljs.core.async.impl.dispatch'); 3 | goog.require('cljs.core'); 4 | goog.require('cljs.core.async.impl.buffers'); 5 | goog.require('goog.async.nextTick'); 6 | cljs.core.async.impl.dispatch.tasks = cljs.core.async.impl.buffers.ring_buffer.call(null,(32)); 7 | cljs.core.async.impl.dispatch.running_QMARK_ = false; 8 | cljs.core.async.impl.dispatch.queued_QMARK_ = false; 9 | cljs.core.async.impl.dispatch.TASK_BATCH_SIZE = (1024); 10 | cljs.core.async.impl.dispatch.process_messages = (function cljs$core$async$impl$dispatch$process_messages(){ 11 | cljs.core.async.impl.dispatch.running_QMARK_ = true; 12 | 13 | cljs.core.async.impl.dispatch.queued_QMARK_ = false; 14 | 15 | var count_34964 = (0); 16 | while(true){ 17 | var m_34965 = cljs.core.async.impl.dispatch.tasks.pop(); 18 | if((m_34965 == null)){ 19 | } else { 20 | m_34965.call(null); 21 | 22 | if((count_34964 < cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){ 23 | var G__34966 = (count_34964 + (1)); 24 | count_34964 = G__34966; 25 | continue; 26 | } else { 27 | } 28 | } 29 | break; 30 | } 31 | 32 | cljs.core.async.impl.dispatch.running_QMARK_ = false; 33 | 34 | if((cljs.core.async.impl.dispatch.tasks.length > (0))){ 35 | return cljs.core.async.impl.dispatch.queue_dispatcher.call(null); 36 | } else { 37 | return null; 38 | } 39 | }); 40 | cljs.core.async.impl.dispatch.queue_dispatcher = (function cljs$core$async$impl$dispatch$queue_dispatcher(){ 41 | if(((cljs.core.async.impl.dispatch.queued_QMARK_) && (cljs.core.async.impl.dispatch.running_QMARK_))){ 42 | return null; 43 | } else { 44 | cljs.core.async.impl.dispatch.queued_QMARK_ = true; 45 | 46 | return goog.async.nextTick.call(null,cljs.core.async.impl.dispatch.process_messages); 47 | } 48 | }); 49 | cljs.core.async.impl.dispatch.run = (function cljs$core$async$impl$dispatch$run(f){ 50 | cljs.core.async.impl.dispatch.tasks.unbounded_unshift(f); 51 | 52 | return cljs.core.async.impl.dispatch.queue_dispatcher.call(null); 53 | }); 54 | cljs.core.async.impl.dispatch.queue_delay = (function cljs$core$async$impl$dispatch$queue_delay(f,delay){ 55 | return setTimeout(f,delay); 56 | }); 57 | 58 | //# sourceMappingURL=dispatch.js.map?rel=1620066998533 59 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/prefs.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/prefs.js","sources":["prefs.cljs?rel=1620066997544"],"lineCount":78,"mappings":";AAAA;;;AAKA,AAAKA,gCAAe,KAAAC,gBAAA;AAAA,AAAA,OAAAC,0BAAQC;GAAR;AACpB,AAAKC,iCAAgB,KAAAH,gBAAA;AAAA,AAAO,AAAA;GAAP;AACrB,AAAKI,4BAAW,KAAAJ,gBAAA;AAAA,AAAO,AAAA;GAAP;AAChB,AAAKK,gCAAe,KAAAL,gBAAA;AAAA,AAAO,iCAAA,AAAAC,yDAAA,AAAAA,0DAAA,AAAAA,7IAACK,oDAAOP,yDAAgBI,0DAAiBC;GAAhD;AAEpB,AAAeG,4CAAiB,KAAAP,gBAAA;AAAA,AAAA,OAAAC,0BAAQI;GAAR;AAIhC,iCAAA,jCAAMG,0EAAYC;AAAlB,AACE,OAAMF,4CAAiBE;;AAEzB,2BAAA,3BAAMC;AAAN,AACE,GAAM,AAACC,iCAAOJ;AAAd,AACE,yCAAA,AAAAN,zCAACO,mEAAYD;;AADf;;AAEAA;;AAEF,sBAAA,tBAAMK,oDAAMC;AAAZ,AACE,OAACA,cAAI,AAACH;;AAER,gCAAA,hCAAMI,wEAAWD,IAAIE;AAArB,AACE,OAACP,yCAAW,AAACQ,0BAAM,AAACN,oCAAWG,IAAIE;;AAErC,mCAAA,nCAAME,8EAAcC;AAApB,AACE,OAACV,yCAAW,AAACF,0BAAM,AAACI,oCAAWQ;;AAEjC,AAAA,mCAAA,2CAAAC,9EAAMM;AAAN,AAAA,IAAAL,qBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,wBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,EAAA,CAAA,MAAA,AAAAH,4BAAA,AAAA,KAAAI,qBAAA,AAAAJ,yBAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,sEAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAAF;;;AAAA,AAAA,AAAA,wEAAA,xEAAME,mFAAcZ,IAAImB,EAAIC;AAA5B,AACE,IAAMC,UAAQ,AAACC,0BAAMH,EAAE,AAACpB,8BAAKC,KAAKoB;AAAlC,AACE,OAACnB,wCAAUD,IAAIqB;;;AAFnB,AAAA,2DAAA,3DAAMT;;AAAN;AAAA,AAAA,qDAAA,WAAAC,hEAAMD;AAAN,AAAA,IAAAE,WAAA,AAAAC,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;IAAAI,WAAA,AAAAF,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;AAAA,AAAA,IAAAK,qBAAA;AAAA,AAAA,OAAAA,wDAAAJ,SAAAG,SAAAJ;;;AAAA","names":["devtools.prefs\/default-config","cljs.core\/Delay","cljs.core\/deref","devtools.defaults\/config","devtools.prefs\/external-config","devtools.prefs\/env-config","devtools.prefs\/initial-config","cljs.core\/merge","devtools.prefs\/*current-config*","devtools.prefs\/set-prefs!","new-prefs","devtools.prefs\/get-prefs","cljs.core\/delay?","devtools.prefs\/pref","key","devtools.prefs\/set-pref!","val","cljs.core\/assoc","devtools.prefs\/merge-prefs!","m","var_args","args__4736__auto__","len__4730__auto__","i__4731__auto__","argseq__4737__auto__","cljs.core\/IndexedSeq","devtools.prefs\/update-pref!","seq33679","G__33680","cljs.core\/first","cljs.core\/next","G__33681","self__4717__auto__","f","args","new-val","cljs.core\/apply"]} -------------------------------------------------------------------------------- /src/learn_numbers/core.cljs: -------------------------------------------------------------------------------- 1 | (ns learn-numbers.core 2 | (:require 3 | [reagent.core :as reagent :refer [atom]] 4 | [reagent.dom :as rd])) 5 | 6 | (enable-console-print!) 7 | 8 | (defonce number (atom (rand-int 100))) 9 | 10 | (def lang-to-country 11 | {"en-US" "Ameryka / America", 12 | "pl-PL" "Polska / Poland", 13 | "de-DE" "Niemcy / Germany", 14 | "it-IT" "Włochy / Italy", 15 | "es-ES" "Kostaryka / Costa Rica"}) 16 | 17 | (defn speak-it 18 | "Call the google translate with language and value of the atom" 19 | [lang] 20 | (let [speech-syn (.-speechSynthesis js/window) 21 | msg (js/SpeechSynthesisUtterance. @number)] 22 | (aset msg "lang" lang) 23 | (.speak speech-syn msg))) 24 | 25 | (defn change-me [] 26 | (rand-int 101)) 27 | 28 | (defn flag-element 29 | "render the flag element" 30 | [lang] 31 | [:span.has-text-white.has-background-primary-dark {:padding "10px 10px 10px 10px"} 32 | (lang-to-country lang) 33 | [:img {:src (str "flags/" lang ".png") 34 | :width "250px" 35 | :height "250px" 36 | :on-click #(speak-it lang) 37 | :alt lang}]]) 38 | 39 | (defn app-container [] 40 | [:div.section 41 | [:div.container 42 | [:div.columns 43 | [:div.column.has-text-centered 44 | [:h1.title "Naucz sie cyfr / Learn numbers"]]]] 45 | [:br][:br] 46 | [:div.columns 47 | [:div.column.has-background-danger-dark.has-text-centered 48 | [:h1.has-text-white {:style {:font-size "14rem"}} @number]] 49 | [:div.column 50 | [:div.buttons 51 | [:input {:type "button" :class "button is-success" :value "Nowa cyfra / New number" 52 | :on-click #(swap! number change-me)}]]]] 53 | [:div.columns 54 | [:div.column 55 | (flag-element "pl-PL")] 56 | [:div.column 57 | (flag-element "de-DE")] 58 | [:div.column 59 | (flag-element "en-US")] 60 | [:div.column 61 | (flag-element "it-IT")] 62 | [:div.column 63 | (flag-element "es-ES")] 64 | [:audio {:id "audio1" :src ""}]]]) 65 | 66 | (rd/render [app-container] 67 | (. js/document (getElementById "app"))) 68 | 69 | (defn on-js-reload []) 70 | ;; optionally touch your app-state to force rerendering depending on 71 | ;; your application 72 | ;; (swap! app-state update-in [:__figwheel_counter] inc) 73 | -------------------------------------------------------------------------------- /resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs: -------------------------------------------------------------------------------- 1 | (ns ^{:mranderson/inlined true} cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection 2 | (:require [clojure.string :refer [starts-with?]] 3 | [goog.object :refer [get] :rename {get oget}])) 4 | 5 | (def own-property-descriptors 6 | (if (js-in "getOwnPropertyDescriptors" js/Object) 7 | ;; ES 6+ version 8 | (fn [obj] (js/Object.getOwnPropertyDescriptors obj)) 9 | ;; ES 5.1 version 10 | (fn [obj] (->> obj 11 | js/Object.getOwnPropertyNames 12 | (map (fn [key] [key (js/Object.getOwnPropertyDescriptor obj key)])) 13 | (into {}) 14 | clj->js)))) 15 | 16 | (defn properties-by-prototype 17 | "" 18 | [obj] 19 | (loop [obj obj protos []] 20 | (if obj 21 | (recur 22 | (js/Object.getPrototypeOf obj) 23 | (conj protos {:obj obj :props (own-property-descriptors obj)})) 24 | protos))) 25 | 26 | (defn property-names-and-types 27 | ([js-obj] (property-names-and-types js-obj nil)) 28 | ([js-obj prefix] 29 | (let [seen (transient #{})] 30 | (for [[i {:keys [obj props]}] (map-indexed vector (properties-by-prototype js-obj)) 31 | key (js-keys props) 32 | :when (and (not (get seen key)) 33 | (or (empty? prefix) 34 | (starts-with? key prefix)))] 35 | (let [prop (oget props key)] 36 | (conj! seen key) 37 | {:name key 38 | :hierarchy i 39 | :type (try 40 | (if-let [value (or (oget prop "value") 41 | (-> prop (oget "get") 42 | (apply [])))] 43 | (if (fn? value) "function" "var") 44 | "var") 45 | (catch js/Error e "var"))}))))) 46 | 47 | (comment 48 | (require '[cljs.pprint :refer [pprint]]) 49 | ;; (-> js/console property-names-and-types pprint) 50 | (-> js/document.body property-names-and-types pprint) 51 | 52 | (let [obj (new (fn [x] (this-as this (goog.object/set this "foo" 23))))] 53 | (pprint (property-names-and-types obj))) 54 | 55 | (oget js/console "log") 56 | (-> js/console property-names-and-types pprint) 57 | (-> js/window property-names-and-types pprint)) 58 | -------------------------------------------------------------------------------- /resources/public/js/out/learn_numbers/core.cljs: -------------------------------------------------------------------------------- 1 | (ns learn-numbers.core 2 | (:require 3 | [reagent.core :as reagent :refer [atom]] 4 | [reagent.dom :as rd])) 5 | 6 | (enable-console-print!) 7 | 8 | (defonce number (atom (rand-int 100))) 9 | 10 | (def lang-to-country 11 | {"en-US" "Ameryka / America", 12 | "pl-PL" "Polska / Poland", 13 | "de-DE" "Niemcy / Germany", 14 | "it-IT" "Włochy / Italy", 15 | "es-ES" "Kostarica / Costa Rica"}) 16 | 17 | (defn speak-it 18 | "Call the google translate with language and value of the atom" 19 | [lang] 20 | (let [speech-syn (.-speechSynthesis js/window)] 21 | (def msg (js/SpeechSynthesisUtterance. @number)) 22 | (aset msg "lang" lang) 23 | (.speak speech-syn msg))) 24 | 25 | (defn change-me [] 26 | (rand-int 101)) 27 | 28 | (defn flag-element 29 | "render the flag element" 30 | [lang] 31 | (def filename (str "flags/" lang ".png")) 32 | [:span.has-text-white.has-background-primary-dark {:padding "10px 10px 10px 10px"} (lang-to-country lang) 33 | [:img { 34 | :src filename 35 | :width "250px" 36 | :height "250px" 37 | :on-click #(speak-it lang) 38 | :alt lang}]]) 39 | 40 | (defn app-container [] 41 | [:div.section 42 | [:div.container 43 | [:div.columns 44 | [:div.column.has-text-centered 45 | [:h1.title "Naucz sie cyfrów / Learn numbers"]]]] 46 | [:br][:br] 47 | [:div.columns 48 | [:div.column.has-background-danger-dark.has-text-centered 49 | [:h1.has-text-white {:style {:font-size "14rem"}} @number]] 50 | [:div.column 51 | [:div.buttons 52 | [:input {:type "button" :class "button is-success" :value "Nowa cyfra / New number" 53 | :on-click #(swap! number change-me)}]]]] 54 | [:div.columns 55 | [:div.column 56 | (flag-element "pl-PL")] 57 | [:div.column 58 | (flag-element "de-DE")] 59 | [:div.column 60 | (flag-element "en-US")] 61 | [:div.column 62 | (flag-element "it-IT")] 63 | [:div.column 64 | (flag-element "es-ES")] 65 | [:audio {:id "audio1" :src ""}]]]) 66 | 67 | (rd/render [app-container] 68 | (. js/document (getElementById "app"))) 69 | 70 | (defn on-js-reload []) 71 | ;; optionally touch your app-state to force rerendering depending on 72 | ;; your application 73 | ;; (swap! app-state update-in [:__figwheel_counter] inc) 74 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/toolbox.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/toolbox.js","sources":["toolbox.cljs?rel=1620066998846"],"lineCount":144,"mappings":";AAAA;;;;;AAMA,AAAA;;;;;;;4BAAA,oCAAAA,hEAAME;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,wDAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,wDAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,wDAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,wDAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,MAAA,KAAAC,MAAA,CAAA,8DAAA,AAAA;;;;;AAAA,AAAA,0DAAA,1DAAMD,qEAMFE;AANJ,AAOG,+CAAA,xCAACF,oCAASE;;;AAPb,AAAA,0DAAA,1DAAMF,qEAQFE,IAAIC;AARR,AASG,sDAAA,\/CAACH,oCAASE,IAAIC;;;AATjB,AAAA,0DAAA,1DAAMH,qEAUFE,IAAIC,OAAOC;AAVf,AAWG,4DAAA,rDAACJ,oCAASE,IAAIC,OAAOC;;;AAXxB,AAAA,0DAAA,1DAAMJ,qEAYFE,IAAIC,OAAOC,MAAMC;AAZrB,AAaG,AAAA,GAAA,QAAAC,qCAAAC,6CAAAC;AAAA;AAAA,AAAA,AAAA;;;;;;;;;;;;;;;;AAAA,AAAA,AAAA,AAAA,AAAAC,4FAAA,WAAAC,OAAAC;;AAAA,AAAA,IAAAD,aAAA;qDADCR,WAAIC,cAAOC,aAAMC,3FAClB,AAAA,YAAAI,0FAAAE;;;AAAA,AAAA,AAAA,AAAAF,mFAAA,WAAAC;;AAAA,AAAA,IAAAA,aAAA;AAAA,AAAAC;;;AAAA,AAAA,AAAA,AAAAF,iFAAAG;;AAAA,AAAA,AAAA,AAAAH,gGAAA,WAEYS;;AAFZ,AAAA,YAAA,RAEYA;AAFZ,AAEe,8DAAA,mFAAA,1IAACC,6NAAgBd,WAAID,qBAAO,EAAI,AAACgB,8BAAIjB,gBAAQ,AAACA,wBAAOD,YAAKC;;;AAFzE,AAAA,AAAA,AAAAM,kGAAA,WAGcS;;AAHd,AAAA,YAAA,RAGcA;AAHd,AAAA;;;AAAA,AAAA,AAAA,AAAAT,8FAAA,WAIUS;;AAJV,AAAA,YAAA,RAIUA;AAJV,AAIa,OAACC,uDAAc,AAACE,kDAAO,AAACC,qEAA0BpB;;;AAJ\/D,AAAA,AAAAO,oDAAA;AAAA,AAAA,AAAA;;;AAAA,AAAA,AAAAA,0DAAA;;AAAA,AAAA,AAAAA,6DAAA;;AAAA,AAAA,AAAAA,kEAAA,WAAAI,mBAAAC,qBAAAC;AAAA,AAAA,OAAAC,2BAAAF,qBAAA;;;AAAA;;;wGADCZ,QAAIC,WAAOC,UAAMC,rIAClBY,gDAAA,6FAAAN;qDADCT,QAAIC,WAAOC,UAAMC,lFAClB,AAAA,YAAAI,8EAAAE;;;AAAAF;;qDADCP,IAAIC,OAAOC,MAAMC,tEAClB,YAAAI,8DAAA;;;AAbH,AAAA,oDAAA,pDAAMT;;AAAN,AAmBA;;;;;;;;;;;;gCAAA,hCAAMuB,wEAWHrB;AAXH,AAYE,OAACiB,uDAAc,AAACK,uDAAYtB","names":["var_args","G__35320","devtools.toolbox\/envelope","js\/Error","obj","header","style","tag","js\/devtools","js\/devtools.toolbox","js\/devtools.toolbox.t_devtools$toolbox35321","devtools.toolbox\/t_devtools$toolbox35321","_35323","meta35322","cljs.core\/PROTOCOL_SENTINEL","this__4374__auto__","writer__4375__auto__","opt__4376__auto__","cljs.core\/-write","devtools.toolbox\/->t_devtools$toolbox35321","_","devtools.formatters.templating\/render-markup","cljs.core\/fn?","devtools.formatters.markup\/","devtools.formatters.markup\/","devtools.toolbox\/force-format","devtools.formatters.markup\/"]} -------------------------------------------------------------------------------- /resources/public/js/out/goog/async/freelist.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Simple freelist. 17 | * 18 | * An anterative to goog.structs.SimplePool, it imposes the requirement that the 19 | * objects in the list contain a "next" property that can be used to maintain 20 | * the pool. 21 | */ 22 | 23 | goog.provide('goog.async.FreeList'); 24 | 25 | 26 | /** 27 | * @template ITEM 28 | */ 29 | goog.async.FreeList = goog.defineClass(null, { 30 | /** 31 | * @param {function():ITEM} create 32 | * @param {function(ITEM):void} reset 33 | * @param {number} limit 34 | */ 35 | constructor: function(create, reset, limit) { 36 | /** @private @const {number} */ 37 | this.limit_ = limit; 38 | /** @private @const {function()} */ 39 | this.create_ = create; 40 | /** @private @const {function(ITEM):void} */ 41 | this.reset_ = reset; 42 | 43 | /** @private {number} */ 44 | this.occupants_ = 0; 45 | /** @private {ITEM} */ 46 | this.head_ = null; 47 | }, 48 | 49 | /** 50 | * @return {ITEM} 51 | */ 52 | get: function() { 53 | var item; 54 | if (this.occupants_ > 0) { 55 | this.occupants_--; 56 | item = this.head_; 57 | this.head_ = item.next; 58 | item.next = null; 59 | } else { 60 | item = this.create_(); 61 | } 62 | return item; 63 | }, 64 | 65 | /** 66 | * @param {ITEM} item An item available for possible future reuse. 67 | */ 68 | put: function(item) { 69 | this.reset_(item); 70 | if (this.occupants_ < this.limit_) { 71 | this.occupants_++; 72 | item.next = this.head_; 73 | this.head_ = item; 74 | } 75 | }, 76 | 77 | /** 78 | * Visible for testing. 79 | * @package 80 | * @return {number} 81 | */ 82 | occupants: function() { return this.occupants_; } 83 | }); 84 | -------------------------------------------------------------------------------- /resources/public/js/out/reagent/dom.cljs: -------------------------------------------------------------------------------- 1 | (ns reagent.dom 2 | (:require [react-dom :as react-dom] 3 | [reagent.impl.util :as util] 4 | [reagent.impl.template :as tmpl] 5 | [reagent.impl.batching :as batch] 6 | [reagent.ratom :as ratom] 7 | [reagent.debug :refer-macros [dbg]])) 8 | 9 | (defonce ^:private imported nil) 10 | 11 | (defonce ^:private roots (atom {})) 12 | 13 | (defn- unmount-comp [container] 14 | (swap! roots dissoc container) 15 | (react-dom/unmountComponentAtNode container)) 16 | 17 | (defn- render-comp [comp container callback] 18 | (binding [util/*always-update* true] 19 | (react-dom/render (comp) container 20 | (fn [] 21 | (binding [util/*always-update* false] 22 | (swap! roots assoc container [comp container]) 23 | (batch/flush-after-render) 24 | (if (some? callback) 25 | (callback))))))) 26 | 27 | (defn- re-render-component [comp container] 28 | (render-comp comp container nil)) 29 | 30 | (defn render 31 | "Render a Reagent component into the DOM. The first argument may be 32 | either a vector (using Reagent's Hiccup syntax), or a React element. The second argument should be a DOM node. 33 | 34 | Optionally takes a callback that is called when the component is in place. 35 | 36 | Returns the mounted component instance." 37 | ([comp container] 38 | (render comp container nil)) 39 | ([comp container callback] 40 | (ratom/flush!) 41 | (let [f (fn [] 42 | (tmpl/as-element (if (fn? comp) (comp) comp)))] 43 | (render-comp f container callback)))) 44 | 45 | (defn unmount-component-at-node [container] 46 | (unmount-comp container)) 47 | 48 | (defn dom-node 49 | "Returns the root DOM node of a mounted component." 50 | [this] 51 | (react-dom/findDOMNode this)) 52 | 53 | (set! tmpl/find-dom-node dom-node) 54 | 55 | (defn force-update-all 56 | "Force re-rendering of all mounted Reagent components. This is 57 | probably only useful in a development environment, when you want to 58 | update components in response to some dynamic changes to code. 59 | 60 | Note that force-update-all may not update root components. This 61 | happens if a component 'foo' is mounted with `(render [foo])` (since 62 | functions are passed by value, and not by reference, in 63 | ClojureScript). To get around this you'll have to introduce a layer 64 | of indirection, for example by using `(render [#'foo])` instead." 65 | [] 66 | (ratom/flush!) 67 | (doseq [v (vals @roots)] 68 | (apply re-render-component v)) 69 | "Updated") 70 | -------------------------------------------------------------------------------- /resources/public/js/out/clojure/walk.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/clojure\/walk.js","sources":["walk.cljs?rel=1620066995492"],"lineCount":127,"mappings":";AAsBA;;AAcA;;;;;;oBAAA,pBAAMA,gDAOHC,MAAMC,MAAMC;AAPf,AAQE,GACE,AAACC,gCAAMD;AAAW,OAACD,gBAAM,AAACG,0BAAMC,eAAK,AAACC,wBAAIN,MAAME;;AADlD,GAEE,AAACK,qCAAWL;AACZ,OAACD,gBAAM,KAAAO,iHAAA,9FAAW,AAACR,gBAAM,AAACS,wBAAIP,OAAO,AAACF,gBAAM,AAACU,wBAAIR;;AAHnD,GAIE,AAACS,+BAAKT;AAAY,OAACD,gBAAM,AAACW,0BAAM,AAACN,wBAAIN,MAAME;;AAJ7C,GAKE,AAACW,kCAAQX;AAAS,OAACD,gBAAM,AAACa,2BAAO,WAAKC,EAAEC;AAAP,AAAU,OAACC,yBAAKF,EAAE,AAACf,gBAAMgB;GAAKd,KAAKA;;AALtE,GAME,AAACgB,gCAAMhB;AAAW,OAACD,gBAAM,AAACkB,yBAAK,AAACC,0BAAMlB,MAAM,AAACI,wBAAIN,MAAME;;AANzD,AAOoB,OAACD,gBAAMC;;;;;;;;AAE7B;;;;;wBAAA,xBAAMmB,wDAKHC,EAAEpB;AALL,AAME,OAACH,4BAAK,AAACwB,4BAAQF,sBAASC,GAAGA,EAAEpB;;AAE\/B;;;uBAAA,vBAAMsB,sDAGHF,EAAEpB;AAHL,AAIE,OAACH,4BAAK,AAACwB,4BAAQC,qBAAQF,GAAGG,mBAAS,AAACH,YAAEpB;;AAExC;;;+BAAA,\/BAAMwB,sEAGHC;AAHH,AAIE,IAAML,IAAE,WAAAM;AAAA,AAAA,IAAAC,aAAAD;QAAA,AAAAE,wBAAAD,WAAA,IAAA,3CAAME;QAAN,AAAAD,wBAAAD,WAAA,IAAA,3CAAQG;AAAR,AAAY,GAAI,OAASD;AAAb,0FAAiB,AAACE,4BAAQF,GAAGC;;AAA7B,0FAAiCD,EAAEC;;;AAAvD,AAEE,OAACX,gCAAS;kBAAKL;AAAL,AAAQ,GAAI,AAACkB,+BAAKlB;AAAG,gCAAA,zBAACG,4DAAQ,AAACb,wBAAIgB,EAAEN;;AAAIA;;;CAAIW;;AAE3D;;;8BAAA,9BAAMQ,oEAGHR;AAHH,AAIE,IAAML,IAAE,WAAAc;AAAA,AAAA,IAAAC,aAAAD;QAAA,AAAAN,wBAAAO,WAAA,IAAA,3CAAMN;QAAN,AAAAD,wBAAAO,WAAA,IAAA,3CAAQL;AAAR,AAAY,GAAI,cAAAM,bAAUP;AAAd,0FAAkB,AAACQ,yBAAKR,GAAGC;;AAA3B,0FAA+BD,EAAEC;;;AAArD,AAEE,OAACX,gCAAS;kBAAKL;AAAL,AAAQ,GAAI,AAACkB,+BAAKlB;AAAG,gCAAA,zBAACG,4DAAQ,AAACb,wBAAIgB,EAAEN;;AAAIA;;;CAAIW;;AAE3D;;;;;+BAAA,\/BAAMa,sEAKHC,KAAKvC;AALR,AAME,OAACsB,+BAAQ,WAAKR;AAAL,AAAQ,GAAI,AAAC0B,oCAAUD,KAAKzB;AAAG,OAACyB,eAAKzB;;AAAGA;;GAAId;;AAEvD;;;;;gCAAA,hCAAMyC,wEAKHF,KAAKvC;AALR,AAME,OAACmB,gCAAS,WAAKL;AAAL,AAAQ,GAAI,AAAC0B,oCAAUD,KAAKzB;AAAG,OAACyB,eAAKzB;;AAAGA;;GAAId","names":["clojure.walk\/walk","inner","outer","form","cljs.core\/list?","cljs.core\/apply","cljs.core\/list","cljs.core\/map","cljs.core\/map-entry?","cljs.core\/MapEntry","cljs.core\/key","cljs.core\/val","cljs.core\/seq?","cljs.core\/doall","cljs.core\/record?","cljs.core\/reduce","r","x","cljs.core\/conj","cljs.core\/coll?","cljs.core\/into","cljs.core\/empty","clojure.walk\/postwalk","f","cljs.core\/partial","clojure.walk\/prewalk","cljs.core\/identity","clojure.walk\/keywordize-keys","m","p__30040","vec__30041","cljs.core\/nth","k","v","cljs.core\/keyword","cljs.core\/map?","clojure.walk\/stringify-keys","p__30044","vec__30045","cljs.core\/Keyword","cljs.core\/name","clojure.walk\/prewalk-replace","smap","cljs.core\/contains?","clojure.walk\/postwalk-replace"]} -------------------------------------------------------------------------------- /resources/public/js/out/goog/dom/browserfeature.js: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Browser capability checks for the dom package. 17 | * 18 | */ 19 | 20 | 21 | goog.provide('goog.dom.BrowserFeature'); 22 | 23 | goog.require('goog.userAgent'); 24 | 25 | 26 | /** 27 | * Enum of browser capabilities. 28 | * @enum {boolean} 29 | */ 30 | goog.dom.BrowserFeature = { 31 | /** 32 | * Whether attributes 'name' and 'type' can be added to an element after it's 33 | * created. False in Internet Explorer prior to version 9. 34 | */ 35 | CAN_ADD_NAME_OR_TYPE_ATTRIBUTES: 36 | !goog.userAgent.IE || goog.userAgent.isDocumentModeOrHigher(9), 37 | 38 | /** 39 | * Whether we can use element.children to access an element's Element 40 | * children. Available since Gecko 1.9.1, IE 9. (IE<9 also includes comment 41 | * nodes in the collection.) 42 | */ 43 | CAN_USE_CHILDREN_ATTRIBUTE: !goog.userAgent.GECKO && !goog.userAgent.IE || 44 | goog.userAgent.IE && goog.userAgent.isDocumentModeOrHigher(9) || 45 | goog.userAgent.GECKO && goog.userAgent.isVersionOrHigher('1.9.1'), 46 | 47 | /** 48 | * Opera, Safari 3, and Internet Explorer 9 all support innerText but they 49 | * include text nodes in script and style tags. Not document-mode-dependent. 50 | */ 51 | CAN_USE_INNER_TEXT: 52 | (goog.userAgent.IE && !goog.userAgent.isVersionOrHigher('9')), 53 | 54 | /** 55 | * MSIE, Opera, and Safari>=4 support element.parentElement to access an 56 | * element's parent if it is an Element. 57 | */ 58 | CAN_USE_PARENT_ELEMENT_PROPERTY: 59 | goog.userAgent.IE || goog.userAgent.OPERA || goog.userAgent.WEBKIT, 60 | 61 | /** 62 | * Whether NoScope elements need a scoped element written before them in 63 | * innerHTML. 64 | * MSDN: http://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx#1 65 | */ 66 | INNER_HTML_NEEDS_SCOPED_ELEMENT: goog.userAgent.IE, 67 | 68 | /** 69 | * Whether we use legacy IE range API. 70 | */ 71 | LEGACY_IE_RANGES: 72 | goog.userAgent.IE && !goog.userAgent.isDocumentModeOrHigher(9) 73 | }; 74 | -------------------------------------------------------------------------------- /project.clj: -------------------------------------------------------------------------------- 1 | (defproject learn-numbers "0.1.0-SNAPSHOT" 2 | :description "FIXME: write description" 3 | :url "http://example.com/FIXME" 4 | :license {:name "" 5 | :url ""} 6 | :clean-targets ^{:protect false} [:target-path "out" "resources/public/js"] 7 | :min-lein-version "2.5.3" 8 | :repl-options {:init-ns dev.repl} 9 | :dependencies [[org.clojure/clojure "1.10.1"] 10 | [org.clojure/clojurescript "1.10.520"] 11 | [reagent "0.9.0-rc1"] 12 | [compojure "1.6.1"] 13 | [ring/ring-jetty-adapter "1.7.1"] 14 | [ring/ring-ssl "0.3.0"] 15 | [environ "1.1.0"]] 16 | :plugins [[lein-environ "1.1.0" :hooks false] 17 | [lein-cljsbuild "1.1.7"] 18 | [lein-figwheel "0.5.19"]] 19 | :figwheel {:css-dirs ["resources/public/css"] 20 | :server-port 3450} 21 | :uberjar-name "learn_numbers.jar" 22 | :profiles {:dev {:dependencies [[cider/piggieback "0.4.1"] 23 | [figwheel-sidecar "0.5.18"] 24 | [binaryage/devtools "0.9.10"]] 25 | :source-paths ["src" "dev"] 26 | :cljsbuild {:builds [{:id "dev" 27 | :source-paths ["src"] 28 | :figwheel true 29 | :compiler {:main "learn-numbers.core" 30 | :preloads [devtools.preload] 31 | :asset-path "js/out" 32 | :output-to "resources/public/js/main.js" 33 | :output-dir "resources/public/js/out" 34 | :optimizations :none 35 | :recompile-dependents true 36 | :source-map true}}]}} 37 | :uberjar {:env {:production true} 38 | :source-paths ["src"] 39 | :prep-tasks ["compile" ["cljsbuild" "once"]] 40 | :cljsbuild {:builds [{:id "production" 41 | :source-paths ["src"] 42 | :jar true 43 | :compiler {:main "learn-numbers.core" 44 | :asset-path "js/out" 45 | :output-to "resources/public/js/main.js" 46 | :output-dir "resources/public/js/out" 47 | :optimizations :advanced 48 | :pretty-print false}}]}}}) 49 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters/state.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/formatters\/state.js","sources":["state.cljs?rel=1620066997812"],"lineCount":106,"mappings":";AAAA;;AAiBA,sDAAA,tDAAeA;AAEf,uDAAA,vDAAMC;AAAN,AACE,UAAA,wDAAA,vDAAOD;;AAET,8CAAA,9CAAME;AAAN,AAAA;;AAGA,8CAAA,9CAAME;AAAN,AAAA,GACS,AAACH;AADV;AAAA,AAAA,MAAA,KAAAE,MAAA;;;AAEEH;;AAEF,AAAA,uDAAA,+DAAAK,tHAAMM;AAAN,AAAA,IAAAL,qBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,wBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,EAAA,CAAA,MAAA,AAAAH,4BAAA,AAAA,KAAAI,qBAAA,AAAAJ,yBAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,0FAAA,CAAA,UAAA,MAAAF;;;AAAA,AAAA,AAAA,4FAAA,5FAAME,uGAAuBM,EAAIC;AAAjC,AAAA,GACS,AAACjB;AADV;AAAA,AAAA,MAAA,KAAAE,MAAA;;;AAEE,OAAMH,sDAAgB,AAACmB,0BAAMF,EAAEjB,oDAAgBkB;;;AAFjD,AAAA,+EAAA,\/EAAMP;;AAAN;AAAA,AAAA,yEAAA,WAAAC,pFAAMD;AAAN,AAAA,IAAAE,WAAA,AAAAC,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;AAAA,AAAA,IAAAI,qBAAA;AAAA,AAAA,OAAAA,wDAAAH,SAAAD;;;AAAA,AAMA,iEAAA,jEAAMQ,0IAAiCC;AAAvC,AACE,uFAAA,hFAACV,+DAAsBW,4EAAgBC,eAAKF;;AAE9C,gDAAA,hDAAMG;AAAN,AACE,OAAA,yFAAU,AAACpB;;AAEb,+CAAA,\/CAAMqB,sGAAcJ;AAApB,AACE,IAAMK,UAAQ,AAACF;AAAf,AACE,gCAAA,zBAACI;kBAADD;AAAA,AAAO,QAAAA,qBAAcN;;CAAQK;;AAEjC,qDAAA,rDAAYG;AAAZ,AACE,OAACC,6BAAQ,AAAA,8GAAoB,AAAC1B;;AAEhC,kDAAA,lDAAM2B,4GAAuBC,MAAMC;AAAnC,AACE,GAAI,GAAA,QAAA,PAAOA;AACT,uCAAA,hCAACC,0BAAMF,sFAAyBC;;AAChC,wCAAA,jCAACE,2BAAOH;;;AAEZ,oDAAA,pDAAMI;AAAN,AACE,OAAA,iHAAsB,AAAChC;;AAEzB,oDAAA,pDAAMiC,gHAAyBL,MAAMC;AAArC,AACE,GAAI,GAAA,QAAA,PAAOA;AACT,uCAAA,hCAACC,0BAAMF,yFAA2BC;;AAClC,wCAAA,jCAACE,2BAAOH;;;AAEZ,6CAAA,7CAAMM;AAAN,AACE,OAAA,mGAAe,AAAClC;;AAElB,6CAAA,7CAAMmC,kGAAkBP,MAAMC;AAA9B,AACE,GAAI,GAAA,QAAA,PAAOA;AACT,uCAAA,hCAACC,0BAAMF,2EAAoBC;;AAC3B,wCAAA,jCAACE,2BAAOH;;;AAEZ,+CAAA,\/CAAMQ,sGAAoBR;AAA1B,wHACMA,rDACA,2DAAA,3DAACO,nEACD,oIAAA,7HAACF","names":["devtools.formatters.state\/*current-state*","devtools.formatters.state\/valid-current-state?","devtools.formatters.state\/get-default-state","js\/Error","devtools.formatters.state\/get-current-state","var_args","args__4736__auto__","len__4730__auto__","i__4731__auto__","argseq__4737__auto__","cljs.core\/IndexedSeq","devtools.formatters.state\/update-current-state!","seq33975","G__33976","cljs.core\/first","cljs.core\/next","self__4717__auto__","f","args","cljs.core\/apply","devtools.formatters.state\/push-object-to-current-history!","object","cljs.core\/update","cljs.core\/conj","devtools.formatters.state\/get-current-history","devtools.formatters.state\/is-circular?","history","p1__33980#","cljs.core\/some","devtools.formatters.state\/prevent-recursion?","cljs.core\/boolean","devtools.formatters.state\/set-prevent-recursion","state","val","cljs.core\/assoc","cljs.core\/dissoc","devtools.formatters.state\/get-managed-print-level","devtools.formatters.state\/set-managed-print-level","devtools.formatters.state\/get-depth-budget","devtools.formatters.state\/set-depth-budget","devtools.formatters.state\/reset-depth-limits"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters/state.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.formatters.state) 2 | 3 | ; - state management -------------------------------------------------------------------------------------------------------- 4 | ; 5 | ; we have to maintain some state: 6 | ; a) to prevent infinite recursion in some pathological cases (https://github.com/binaryage/cljs-devtools/issues/2) 7 | ; b) to keep track of printed objects to visually signal circular data structures 8 | ; 9 | ; We dynamically bind *current-config* to the config passed from "outside" when entering calls to our API methods. 10 | ; Initially the state is empty, but we accumulate there a history of seen values when rendering individual values 11 | ; in depth-first traversal order. See alt-printer-impl where we re-bind *current-config* for each traversal level. 12 | ; But there is a catch. For larger data structures our printing methods usually do not print everything at once. 13 | ; We can include so called "object references" which are just placeholders which can be expanded later 14 | ; by DevTools UI (when user clicks a disclosure triangle). 15 | ; For proper continuation in rendering of those references we have to carry our existing state over. 16 | ; We use "config" feature of custom formatters system to pass current state to future API calls. 17 | 18 | (def ^:dynamic *current-state* nil) 19 | 20 | (defn valid-current-state? [] 21 | (some? *current-state*)) 22 | 23 | (defn get-default-state [] 24 | {}) 25 | 26 | (defn get-current-state [] 27 | {:pre [(valid-current-state?)]} 28 | *current-state*) 29 | 30 | (defn update-current-state! [f & args] 31 | {:pre [(valid-current-state?)]} 32 | (set! *current-state* (apply f *current-state* args))) 33 | 34 | ; -- high level API --------------------------------------------------------------------------------------------------------- 35 | 36 | (defn push-object-to-current-history! [object] 37 | (update-current-state! update :history conj object)) 38 | 39 | (defn get-current-history [] 40 | (:history (get-current-state))) 41 | 42 | (defn is-circular? [object] 43 | (let [history (get-current-history)] 44 | (some #(identical? % object) history))) 45 | 46 | (defn ^bool prevent-recursion? [] 47 | (boolean (:prevent-recursion (get-current-state)))) 48 | 49 | (defn set-prevent-recursion [state val] 50 | (if (some? val) 51 | (assoc state :prevent-recursion val) 52 | (dissoc state :prevent-recursion))) 53 | 54 | (defn get-managed-print-level [] 55 | (:managed-print-level (get-current-state))) 56 | 57 | (defn set-managed-print-level [state val] 58 | (if (some? val) 59 | (assoc state :managed-print-level val) 60 | (dissoc state :managed-print-level))) 61 | 62 | (defn get-depth-budget [] 63 | (:depth-budget (get-current-state))) 64 | 65 | (defn set-depth-budget [state val] 66 | (if (some? val) 67 | (assoc state :depth-budget val) 68 | (dissoc state :depth-budget))) 69 | 70 | (defn reset-depth-limits [state] 71 | (-> state 72 | (set-depth-budget nil) 73 | (set-managed-print-level nil))) 74 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/protocols.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.protocols'); 3 | goog.require('cljs.core'); 4 | 5 | /** 6 | * Marker protocol indicating a devtools template. 7 | * @interface 8 | */ 9 | devtools.protocols.ITemplate = function(){}; 10 | 11 | 12 | /** 13 | * Marker protocol indicating a devtools group. 14 | * @interface 15 | */ 16 | devtools.protocols.IGroup = function(){}; 17 | 18 | 19 | /** 20 | * Marker protocol indicating a devtools surrogate object. 21 | * @interface 22 | */ 23 | devtools.protocols.ISurrogate = function(){}; 24 | 25 | 26 | /** 27 | * @interface 28 | */ 29 | devtools.protocols.IFormat = function(){}; 30 | 31 | devtools.protocols._header = (function devtools$protocols$_header(value){ 32 | if((((!((value == null)))) && ((!((value.devtools$protocols$IFormat$_header$arity$1 == null)))))){ 33 | return value.devtools$protocols$IFormat$_header$arity$1(value); 34 | } else { 35 | var x__4433__auto__ = (((value == null))?null:value); 36 | var m__4434__auto__ = (devtools.protocols._header[goog.typeOf(x__4433__auto__)]); 37 | if((!((m__4434__auto__ == null)))){ 38 | return m__4434__auto__.call(null,value); 39 | } else { 40 | var m__4431__auto__ = (devtools.protocols._header["_"]); 41 | if((!((m__4431__auto__ == null)))){ 42 | return m__4431__auto__.call(null,value); 43 | } else { 44 | throw cljs.core.missing_protocol.call(null,"IFormat.-header",value); 45 | } 46 | } 47 | } 48 | }); 49 | 50 | devtools.protocols._has_body = (function devtools$protocols$_has_body(value){ 51 | if((((!((value == null)))) && ((!((value.devtools$protocols$IFormat$_has_body$arity$1 == null)))))){ 52 | return value.devtools$protocols$IFormat$_has_body$arity$1(value); 53 | } else { 54 | var x__4433__auto__ = (((value == null))?null:value); 55 | var m__4434__auto__ = (devtools.protocols._has_body[goog.typeOf(x__4433__auto__)]); 56 | if((!((m__4434__auto__ == null)))){ 57 | return m__4434__auto__.call(null,value); 58 | } else { 59 | var m__4431__auto__ = (devtools.protocols._has_body["_"]); 60 | if((!((m__4431__auto__ == null)))){ 61 | return m__4431__auto__.call(null,value); 62 | } else { 63 | throw cljs.core.missing_protocol.call(null,"IFormat.-has-body",value); 64 | } 65 | } 66 | } 67 | }); 68 | 69 | devtools.protocols._body = (function devtools$protocols$_body(value){ 70 | if((((!((value == null)))) && ((!((value.devtools$protocols$IFormat$_body$arity$1 == null)))))){ 71 | return value.devtools$protocols$IFormat$_body$arity$1(value); 72 | } else { 73 | var x__4433__auto__ = (((value == null))?null:value); 74 | var m__4434__auto__ = (devtools.protocols._body[goog.typeOf(x__4433__auto__)]); 75 | if((!((m__4434__auto__ == null)))){ 76 | return m__4434__auto__.call(null,value); 77 | } else { 78 | var m__4431__auto__ = (devtools.protocols._body["_"]); 79 | if((!((m__4431__auto__ == null)))){ 80 | return m__4431__auto__.call(null,value); 81 | } else { 82 | throw cljs.core.missing_protocol.call(null,"IFormat.-body",value); 83 | } 84 | } 85 | } 86 | }); 87 | 88 | 89 | //# sourceMappingURL=protocols.js.map?rel=1620066997199 90 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/tools/reader/impl/inspect.cljs: -------------------------------------------------------------------------------- 1 | ;; Copyright (c) Russ Olsen, Nicola Mometto, Rich Hickey & contributors. 2 | ;; The use and distribution terms for this software are covered by the 3 | ;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 4 | ;; which can be found in the file epl-v10.html at the root of this distribution. 5 | ;; By using this software in any fashion, you are agreeing to be bound by 6 | ;; the terms of this license. 7 | ;; You must not remove this notice, or any other, from this software. 8 | 9 | (ns cljs.tools.reader.impl.inspect) 10 | 11 | (declare inspect*) 12 | 13 | (defn- inspect*-col [truncate col start end] 14 | (let [n (count col) 15 | l (if truncate 0 (min 10 n)) 16 | elements (map (partial inspect* true) (take l col)) 17 | content (apply str (interpose " " elements)) 18 | suffix (if (< l n) "...")] 19 | (str start content suffix end))) 20 | 21 | (defn- dispatch-inspect 22 | [_ x] 23 | (cond 24 | (nil? x) :nil 25 | (string? x) :string 26 | (keyword? x) :strable 27 | (number? x) :strable 28 | (symbol? x) :strable 29 | (vector? x) :vector 30 | (list? x) :list 31 | (map? x) :map 32 | (set? x) :set 33 | (= x true) :strable 34 | (= x false) :strable 35 | :default (type x))) 36 | 37 | (defmulti inspect* dispatch-inspect) 38 | 39 | (defmethod inspect* :string [truncate ^String x] 40 | (let [n (if truncate 5 20) 41 | suffix (if (> (.-length x) n) "...\"" "\"")] 42 | (str 43 | \" 44 | (.substring ^String x 0 (min n (.-length x))) 45 | suffix))) 46 | 47 | (defmethod inspect* :strable [truncate x] (str x)) 48 | 49 | (defmethod inspect* cljs.core/IndexedSeq [truncate x] 50 | "") 51 | 52 | (defmethod inspect* cljs.core/PersistentArrayMapSeq [truncate x] 53 | "") 54 | 55 | (defmethod inspect* cljs.core/NodeSeq [truncate x] 56 | "") 57 | 58 | (defmethod inspect* cljs.core/Cons [truncate x] "") 59 | 60 | (defmethod inspect* cljs.core/LazySeq [truncate x] "") 61 | 62 | (defmethod inspect* :nil [_ _] "nil") 63 | 64 | (defmethod inspect* :list [truncate col] 65 | (inspect*-col truncate col \( \))) 66 | 67 | (defmethod inspect* :map [truncate m] 68 | (let [len (count m) 69 | n-shown (if truncate 0 len) 70 | contents (apply concat (take n-shown m)) 71 | suffix (if (> len n-shown) "...}" \})] 72 | (inspect*-col truncate contents \{ suffix))) 73 | 74 | (defmethod inspect* :set [truncate col] 75 | (inspect*-col truncate col "#{" \})) 76 | 77 | (defmethod inspect* :vector [truncate col] 78 | (inspect*-col truncate col \[ \])) 79 | 80 | (defmethod inspect* :default [truncate x] 81 | (pr-str (type x))) 82 | 83 | (defn inspect 84 | "Return a string description of the value supplied. 85 | May be the a string version of the value itself (e.g. \"true\") 86 | or it may be a description (e.g. \"an instance of Foo\"). 87 | If truncate is true then return a very terse version of 88 | the inspection." 89 | ([x] (inspect* false x)) 90 | ([truncate x] (inspect* truncate x))) 91 | -------------------------------------------------------------------------------- /resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ ","~$oget","~$goog.object/get"],"~:externs",["^ ","~$Object",["^ ","~$getOwnPropertyDescriptors",["^ "],"~$getOwnPropertyDescriptor",["^ "],"~$getOwnPropertyNames",["^ "],"~$getPrototypeOf",["^ "]],"~$Error",["^ "]],"~:use-macros",["^ ","~$starts-with?","~$clojure.string"],"~:excludes",["~#set",[]],"~:name","~$cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection","~:imports",null,"~:requires",["^ ","^=","^=","~$goog.object","^D"],"~:cljs.spec/speced-vars",[],"~:uses",["^ ","^<","^="],"~:defs",["^ ","~$own-property-descriptors",["^ ","^@","~$cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection/own-property-descriptors","~:file","resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs","~:line",5,"~:column",1,"~:end-line",5,"~:end-column",30,"~:meta",["^ ","^J","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs","^K",5,"^L",6,"^M",5,"^N",30],"~:tag","~$function"],"~$properties-by-prototype",["^ ","~:protocol-inline",null,"^O",["^ ","^J","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs","^K",16,"^L",7,"^M",16,"^N",30,"~:arglists",["~#list",["~$quote",["^U",[["~$obj"]]]]],"~:doc",""],"^@","~$cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection/properties-by-prototype","^J","resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs","^N",30,"~:method-params",["^U",[["^W"]]],"~:protocol-impl",null,"~:arglists-meta",["^U",[null,null]],"^L",1,"~:variadic?",false,"^K",16,"~:ret-tag",["^?",["~$clj","~$cljs.core/IVector"]],"^M",16,"~:max-fixed-arity",1,"~:fn-var",true,"^T",["^U",["^V",["^U",[["^W"]]]]],"^X",""],"~$property-names-and-types",["^ ","^S",null,"^O",["^ ","^J","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs","^K",26,"^L",7,"^M",26,"^N",31,"^T",["^U",["^V",["^U",[["~$js-obj"],["^18","~$prefix"]]]]],"~:top-fn",["^ ","^11",false,"~:fixed-arity",2,"^15",2,"^Z",["^U",[["^18"],["^18","^19"]]],"^T",["^U",[["^18"],["^18","^19"]]],"^10",["^U",[null,null]]]],"^@","~$cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection/property-names-and-types","^J","resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.cljs","^N",31,"^1:",["^ ","^11",false,"^1;",2,"^15",2,"^Z",["^U",[["^18"],["^18","^19"]]],"^T",["^U",[["^18"],["^18","^19"]]],"^10",["^U",[null,null]]],"^Z",["^U",[["^18"],["^18","^19"]]],"^[",null,"^1;",2,"^10",["^U",[null,null]],"^L",1,"^11",false,"~:methods",[["^ ","^1;",1,"^11",false,"^P","~$any"],["^ ","^1;",2,"^11",false,"^P","~$cljs.core/LazySeq"]],"^K",26,"^M",26,"^15",2,"^16",true,"^T",["^U",[["^18"],["^18","^19"]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:cljs.analyzer/constants",["^ ","~:seen",["^?",["~:else","^@","~:type","~:obj","~:hierarchy","~:props"]],"~:order",["^@","^1G","^1E","^1D","^1F","^1H"]],"^X",null] -------------------------------------------------------------------------------- /resources/public/js/out/cljs/tools/reader/impl/utils.cljs: -------------------------------------------------------------------------------- 1 | ;; Copyright (c) Nicola Mometto, Rich Hickey & contributors. 2 | ;; The use and distribution terms for this software are covered by the 3 | ;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 4 | ;; which can be found in the file epl-v10.html at the root of this distribution. 5 | ;; By using this software in any fashion, you are agreeing to be bound by 6 | ;; the terms of this license. 7 | ;; You must not remove this notice, or any other, from this software. 8 | 9 | (ns cljs.tools.reader.impl.utils 10 | (:refer-clojure :exclude [char]) 11 | (:require 12 | [clojure.string :as string] 13 | [goog.string :as gstring])) 14 | 15 | (defn char [x] 16 | (when-not (nil? x) 17 | (cljs.core/char x))) 18 | 19 | (defn ^boolean ex-info? [ex] 20 | (instance? cljs.core.ExceptionInfo ex)) 21 | 22 | (defrecord ReaderConditional [splicing? form]) 23 | 24 | (defn ^boolean reader-conditional? 25 | "Return true if the value is the data representation of a reader conditional" 26 | [value] 27 | (instance? ReaderConditional value)) 28 | 29 | (defn reader-conditional 30 | "Construct a data representation of a reader conditional. 31 | If true, splicing? indicates read-cond-splicing." 32 | [form splicing?] 33 | (ReaderConditional. splicing? form)) 34 | 35 | (extend-protocol IPrintWithWriter 36 | ReaderConditional 37 | (-pr-writer [coll writer opts] 38 | (-write writer (str "#?" (when (:splicing? coll) "@"))) 39 | (pr-writer (:form coll) writer opts))) 40 | 41 | (def ws-rx #"[\s]") 42 | 43 | (defn ^boolean whitespace? 44 | "Checks whether a given character is whitespace" 45 | [ch] 46 | (when-not (nil? ch) 47 | (if (identical? ch \,) 48 | true 49 | (.test ws-rx ch)))) 50 | 51 | (defn ^boolean numeric? 52 | "Checks whether a given character is numeric" 53 | [ch] 54 | (when-not (nil? ch) 55 | (gstring/isNumeric ch))) 56 | 57 | (defn ^boolean newline? 58 | "Checks whether the character is a newline" 59 | [c] 60 | (or (identical? \newline c) 61 | (identical? "\n" c) 62 | (nil? c))) 63 | 64 | (defn desugar-meta 65 | "Resolves syntactical sugar in metadata" ;; could be combined with some other desugar? 66 | [f] 67 | (cond 68 | (keyword? f) {f true} 69 | (symbol? f) {:tag f} 70 | (string? f) {:tag f} 71 | :else f)) 72 | 73 | (def last-id (atom 0)) 74 | 75 | (defn next-id 76 | [] 77 | (swap! last-id inc)) 78 | 79 | (defn namespace-keys [ns keys] 80 | (for [key keys] 81 | (if (or (symbol? key) 82 | (keyword? key)) 83 | (let [[key-ns key-name] ((juxt namespace name) key) 84 | ->key (if (symbol? key) symbol keyword)] 85 | (cond 86 | (nil? key-ns) 87 | (->key ns key-name) 88 | 89 | (= "_" key-ns) 90 | (->key key-name) 91 | 92 | :else 93 | key)) 94 | key))) 95 | 96 | (defn second' [[a b]] 97 | (when-not a b)) 98 | 99 | (defn char-code [ch base] 100 | (let [code (js/parseInt ch base)] 101 | (if (js/isNaN code) 102 | -1 103 | code))) 104 | -------------------------------------------------------------------------------- /resources/public/js/out/goog/string/stringbuffer.js: -------------------------------------------------------------------------------- 1 | // Copyright 2006 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Utility for fast string concatenation. 17 | */ 18 | 19 | goog.provide('goog.string.StringBuffer'); 20 | 21 | 22 | 23 | /** 24 | * Utility class to facilitate string concatenation. 25 | * 26 | * @param {*=} opt_a1 Optional first initial item to append. 27 | * @param {...*} var_args Other initial items to 28 | * append, e.g., new goog.string.StringBuffer('foo', 'bar'). 29 | * @constructor 30 | */ 31 | goog.string.StringBuffer = function(opt_a1, var_args) { 32 | if (opt_a1 != null) { 33 | this.append.apply(this, arguments); 34 | } 35 | }; 36 | 37 | 38 | /** 39 | * Internal buffer for the string to be concatenated. 40 | * @type {string} 41 | * @private 42 | */ 43 | goog.string.StringBuffer.prototype.buffer_ = ''; 44 | 45 | 46 | /** 47 | * Sets the contents of the string buffer object, replacing what's currently 48 | * there. 49 | * 50 | * @param {*} s String to set. 51 | */ 52 | goog.string.StringBuffer.prototype.set = function(s) { 53 | this.buffer_ = '' + s; 54 | }; 55 | 56 | 57 | /** 58 | * Appends one or more items to the buffer. 59 | * 60 | * Calling this with null, undefined, or empty arguments is an error. 61 | * 62 | * @param {*} a1 Required first string. 63 | * @param {*=} opt_a2 Optional second string. 64 | * @param {...?} var_args Other items to append, 65 | * e.g., sb.append('foo', 'bar', 'baz'). 66 | * @return {!goog.string.StringBuffer} This same StringBuffer object. 67 | * @suppress {duplicate} 68 | */ 69 | goog.string.StringBuffer.prototype.append = function(a1, opt_a2, var_args) { 70 | // Use a1 directly to avoid arguments instantiation for single-arg case. 71 | this.buffer_ += String(a1); 72 | if (opt_a2 != null) { // second argument is undefined (null == undefined) 73 | for (var i = 1; i < arguments.length; i++) { 74 | this.buffer_ += arguments[i]; 75 | } 76 | } 77 | return this; 78 | }; 79 | 80 | 81 | /** 82 | * Clears the internal buffer. 83 | */ 84 | goog.string.StringBuffer.prototype.clear = function() { 85 | this.buffer_ = ''; 86 | }; 87 | 88 | 89 | /** 90 | * @return {number} the length of the current contents of the buffer. 91 | */ 92 | goog.string.StringBuffer.prototype.getLength = function() { 93 | return this.buffer_.length; 94 | }; 95 | 96 | 97 | /** 98 | * @return {string} The concatenated string. 99 | * @override 100 | */ 101 | goog.string.StringBuffer.prototype.toString = function() { 102 | return this.buffer_; 103 | }; 104 | -------------------------------------------------------------------------------- /resources/public/js/out/reagent/dom.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/reagent\/dom.js","sources":["dom.cljs?rel=1620066995626"],"lineCount":174,"mappings":";AAAA;;;;;;;;;AAQA,GAAA,QAAAA,oCAAAC,wCAAAC;AAAA;AAAA,AAAA,uBAAA,vBAAmBC;;AAEnB,GAAA,QAAAH,oCAAAC,wCAAAG;AAAA;AAAA,AAAA,AAAmBC,oBAAM,yBAAA,zBAACC;;AAE1B,2BAAA,3BAAOC,8DAAcC;AAArB,AACE,AAACC,+BAAMJ,kBAAMK,iBAAOF;;AACpB,OAACG,qEAAiCH;;AAEpC,0BAAA,1BAAOI,4DAAaC,KAAKL,UAAUM;AAAnC,AACE,IAAAC,4CAAUE;IAAVD,4CAAA;AAAA,AAAA,8CAAAA,9CAAUC;;AAAV,IAAA,AACE,OAACC,qDAAiB,AAACL,gBAAML,UACvB;;AAAA,AACE,IAAAW,4CAAUF;IAAVG,4CAAA;AAAA,AAAA,8CAAAA,9CAAUH;;AAAV,IAAA,AACE,2EAAA,3EAACR,+BAAMJ,kBAAMgB,gBAAMb,6FAAWK,KAAKL;;AACnC,AAACc;;AACD,GAAI,GAAA,aAAA,ZAAOR;AACT,OAACA;;AADH;;UAHF,AAAA,8CAAAK,9CAAUF;;;UAHhB,AAAA,8CAAAF,9CAAUE;;AASZ,kCAAA,lCAAOM,4EAAqBV,KAAKL;AAAjC,AACE,wDAAA,jDAACI,kCAAYC,KAAKL;;AAEpB,AAAA;;;;;;;;qBAAA,6BAAAgB,lDAAME;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,iDAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,iDAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,MAAA,KAAAC,MAAA,CAAA,8DAAA,AAAA;;;;;AAAA,AAAA,mDAAA,nDAAMD,8DAOFb,KAAKL;AAPT,AAQG,mDAAA,5CAACkB,6BAAOb,KAAKL;;;AARhB,AAAA,mDAAA,nDAAMkB,8DASFb,KAAKL,UAAUM;AATnB,AAUG,AAACc;;AACD,IAAMC,IAAE;AAAA,AACE,OAACC,2CAAgB,EAAI,AAACC,8BAAIlB,OAAM,AAACA,gBAAMA;;AADjD,AAEE,OAACD,kCAAYiB,EAAErB,UAAUM;;;AAb9B,AAAA,6CAAA,7CAAMY;;AAAN,AAeA,wCAAA,xCAAMM,wFAA2BxB;AAAjC,AACE,OAACD,mCAAaC;;AAEhB;;;uBAAA,vBAAMyB,sDAEHC;AAFH,AAGE,OAACC,0DAAsBD;;AAEzB,AAAME,sCAAmBH;AAEzB;;;;;;;;;;;+BAAA,\/BAAMI;AAAN,AAWE,AAACT;;AACD,IAAAU,mBAAA,AAAAC,wBAAU,yBAAA,AAAAc,zBAACC,mDAAMjD;IAAjBmC,qBAAA;IAAAC,qBAAA;IAAAC,iBAAA;;AAAA,AAAA,GAAA,AAAA,CAAAA,iBAAAD;AAAA,cAAA,AAAAE,yBAAAH,mBAAAE,tDAAQU;AAAR,AAAA,AACE,AAACG,0BAAMhC,gCAAoB6B;;AAD7B;AAAA,eAAAd;eAAAE;eAAAC;eAAA,CAAAC,iBAAA;;;;;;;AAAA,IAAAE,2BAAA,AAAAL,wBAAAD;AAAA,AAAA,GAAAM;AAAA,AAAA,IAAAN,uBAAAM;AAAA,AAAA,GAAA,AAAAC,uCAAAP;AAAA,IAAAQ,wBAAA,AAAAC,gCAAAT;AAAA,AAAA,eAAA,AAAAU,+BAAAV;eAAAQ;eAAA,AAAAG,0BAAAH;eAAA;;;;;;;AAAA,cAAA,AAAAI,0BAAAZ,pCAAQc;AAAR,AAAA,AACE,AAACG,0BAAMhC,gCAAoB6B;;AAD7B;AAAA,eAAA,AAAAD,yBAAAb;eAAA;eAAA;eAAA;;;;;;;;AAAA;;;;;AAZF","names":["js\/reagent","js\/reagent.dom","js\/reagent.dom.imported","reagent.dom\/imported","js\/reagent.dom.roots","reagent.dom\/roots","cljs.core\/atom","reagent.dom\/unmount-comp","container","cljs.core\/swap!","cljs.core\/dissoc","reagent.dom\/global$module$react_dom.unmountComponentAtNode","reagent.dom\/render-comp","comp","callback","*always-update*-orig-val__30174","*always-update*-temp-val__30175","reagent.impl.util\/*always-update*","reagent.dom\/global$module$react_dom.render","*always-update*-orig-val__30176","*always-update*-temp-val__30177","cljs.core\/assoc","reagent.impl.batching\/flush-after-render","reagent.dom\/re-render-component","var_args","G__30179","reagent.dom\/render","js\/Error","reagent.ratom\/flush!","f","reagent.impl.template\/as-element","cljs.core\/fn?","reagent.dom\/unmount-component-at-node","reagent.dom\/dom-node","this","reagent.dom\/global$module$react_dom.findDOMNode","reagent.impl.template\/find-dom-node","reagent.dom\/force-update-all","seq__30181","cljs.core\/seq","chunk__30182","count__30183","i__30184","cljs.core\/-nth","temp__5735__auto__","cljs.core\/chunked-seq?","c__4550__auto__","cljs.core\/chunk-first","cljs.core\/chunk-rest","cljs.core\/count","cljs.core\/first","cljs.core\/next","v","cljs.core\/deref","cljs.core\/vals","cljs.core\/apply"]} -------------------------------------------------------------------------------- /resources/public/js/out/reagent/debug.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('reagent.debug'); 3 | goog.require('cljs.core'); 4 | reagent.debug.has_console = (typeof console !== 'undefined'); 5 | reagent.debug.tracking = false; 6 | if((typeof reagent !== 'undefined') && (typeof reagent.debug !== 'undefined') && (typeof reagent.debug.warnings !== 'undefined')){ 7 | } else { 8 | reagent.debug.warnings = cljs.core.atom.call(null,null); 9 | } 10 | if((typeof reagent !== 'undefined') && (typeof reagent.debug !== 'undefined') && (typeof reagent.debug.track_console !== 'undefined')){ 11 | } else { 12 | reagent.debug.track_console = (function (){var o = ({}); 13 | o.warn = ((function (o){ 14 | return (function() { 15 | var G__29074__delegate = function (args){ 16 | return cljs.core.swap_BANG_.call(null,reagent.debug.warnings,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"warn","warn",-436710552)], null),cljs.core.conj,cljs.core.apply.call(null,cljs.core.str,args)); 17 | }; 18 | var G__29074 = function (var_args){ 19 | var args = null; 20 | if (arguments.length > 0) { 21 | var G__29075__i = 0, G__29075__a = new Array(arguments.length - 0); 22 | while (G__29075__i < G__29075__a.length) {G__29075__a[G__29075__i] = arguments[G__29075__i + 0]; ++G__29075__i;} 23 | args = new cljs.core.IndexedSeq(G__29075__a,0,null); 24 | } 25 | return G__29074__delegate.call(this,args);}; 26 | G__29074.cljs$lang$maxFixedArity = 0; 27 | G__29074.cljs$lang$applyTo = (function (arglist__29076){ 28 | var args = cljs.core.seq(arglist__29076); 29 | return G__29074__delegate(args); 30 | }); 31 | G__29074.cljs$core$IFn$_invoke$arity$variadic = G__29074__delegate; 32 | return G__29074; 33 | })() 34 | ;})(o)) 35 | ; 36 | 37 | o.error = ((function (o){ 38 | return (function() { 39 | var G__29077__delegate = function (args){ 40 | return cljs.core.swap_BANG_.call(null,reagent.debug.warnings,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"error","error",-978969032)], null),cljs.core.conj,cljs.core.apply.call(null,cljs.core.str,args)); 41 | }; 42 | var G__29077 = function (var_args){ 43 | var args = null; 44 | if (arguments.length > 0) { 45 | var G__29078__i = 0, G__29078__a = new Array(arguments.length - 0); 46 | while (G__29078__i < G__29078__a.length) {G__29078__a[G__29078__i] = arguments[G__29078__i + 0]; ++G__29078__i;} 47 | args = new cljs.core.IndexedSeq(G__29078__a,0,null); 48 | } 49 | return G__29077__delegate.call(this,args);}; 50 | G__29077.cljs$lang$maxFixedArity = 0; 51 | G__29077.cljs$lang$applyTo = (function (arglist__29079){ 52 | var args = cljs.core.seq(arglist__29079); 53 | return G__29077__delegate(args); 54 | }); 55 | G__29077.cljs$core$IFn$_invoke$arity$variadic = G__29077__delegate; 56 | return G__29077; 57 | })() 58 | ;})(o)) 59 | ; 60 | 61 | return o; 62 | })(); 63 | } 64 | reagent.debug.track_warnings = (function reagent$debug$track_warnings(f){ 65 | reagent.debug.tracking = true; 66 | 67 | cljs.core.reset_BANG_.call(null,reagent.debug.warnings,null); 68 | 69 | f.call(null); 70 | 71 | var warns = cljs.core.deref.call(null,reagent.debug.warnings); 72 | cljs.core.reset_BANG_.call(null,reagent.debug.warnings,null); 73 | 74 | reagent.debug.tracking = false; 75 | 76 | return warns; 77 | }); 78 | 79 | //# sourceMappingURL=debug.js.map?rel=1620066994826 80 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/reporter.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.reporter'); 3 | goog.require('cljs.core'); 4 | goog.require('devtools.util'); 5 | goog.require('devtools.context'); 6 | devtools.reporter.issues_url = "https://github.com/binaryage/cljs-devtools/issues"; 7 | devtools.reporter.report_internal_error_BANG_ = (function devtools$reporter$report_internal_error_BANG_(var_args){ 8 | var args__4736__auto__ = []; 9 | var len__4730__auto___34851 = arguments.length; 10 | var i__4731__auto___34852 = (0); 11 | while(true){ 12 | if((i__4731__auto___34852 < len__4730__auto___34851)){ 13 | args__4736__auto__.push((arguments[i__4731__auto___34852])); 14 | 15 | var G__34853 = (i__4731__auto___34852 + (1)); 16 | i__4731__auto___34852 = G__34853; 17 | continue; 18 | } else { 19 | } 20 | break; 21 | } 22 | 23 | var argseq__4737__auto__ = ((((1) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((1)),(0),null)):null); 24 | return devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4737__auto__); 25 | }); 26 | 27 | devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (e,p__34846){ 28 | var vec__34847 = p__34846; 29 | var context = cljs.core.nth.call(null,vec__34847,(0),null); 30 | var footer = cljs.core.nth.call(null,vec__34847,(1),null); 31 | var console = devtools.context.get_console.call(null); 32 | try{var message = (((e instanceof Error))?(function (){var or__4131__auto__ = e.message; 33 | if(cljs.core.truth_(or__4131__auto__)){ 34 | return or__4131__auto__; 35 | } else { 36 | return e; 37 | } 38 | })():e); 39 | var header = ["%cCLJS DevTools Error%c%s","background-color:red;color:white;font-weight:bold;padding:0px 3px;border-radius:2px;","color:red",[" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(message)].join('')]; 40 | var context_msg = ["In ",devtools.util.get_lib_info.call(null),(cljs.core.truth_(context)?[", ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(context),"."].join(''):"."),"\n\n"].join(''); 41 | var footer_msg = (((!((footer == null))))?footer:["\n\n","---\n","Please report the issue here: ",devtools.reporter.issues_url].join('')); 42 | var details = [context_msg,e,footer_msg]; 43 | var group_collapsed = (console["groupCollapsed"]); 44 | var log = (console["log"]); 45 | var group_end = (console["groupEnd"]); 46 | if(cljs.core.truth_(group_collapsed)){ 47 | } else { 48 | throw (new Error("Assert failed: group-collapsed")); 49 | } 50 | 51 | if(cljs.core.truth_(log)){ 52 | } else { 53 | throw (new Error("Assert failed: log")); 54 | } 55 | 56 | if(cljs.core.truth_(group_end)){ 57 | } else { 58 | throw (new Error("Assert failed: group-end")); 59 | } 60 | 61 | group_collapsed.apply(console,header); 62 | 63 | log.apply(console,details); 64 | 65 | return group_end.call(console); 66 | }catch (e34850){var e__$1 = e34850; 67 | return console.error("FATAL: report-internal-error! failed",e__$1); 68 | }}); 69 | 70 | devtools.reporter.report_internal_error_BANG_.cljs$lang$maxFixedArity = (1); 71 | 72 | /** @this {Function} */ 73 | devtools.reporter.report_internal_error_BANG_.cljs$lang$applyTo = (function (seq34844){ 74 | var G__34845 = cljs.core.first.call(null,seq34844); 75 | var seq34844__$1 = cljs.core.next.call(null,seq34844); 76 | var self__4717__auto__ = this; 77 | return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__34845,seq34844__$1); 78 | }); 79 | 80 | 81 | //# sourceMappingURL=reporter.js.map?rel=1620066998405 82 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/format.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.format 2 | (:require-macros [devtools.oops :refer [oget]]) 3 | (:require [devtools.context :as context])) 4 | 5 | ; WARNING this namespace is here for legacy reasons, it will be removed in future! 6 | 7 | ; --------------------------------------------------------------------------------------------------------------------------- 8 | ; PROTOCOL SUPPORT 9 | 10 | (defprotocol ^:deprecated IDevtoolsFormat ; use IFormat instead 11 | (-header [value]) 12 | (-has-body [value]) 13 | (-body [value])) 14 | 15 | ; -- helpers ---------------------------------------------------------------------------------------------------------------- 16 | 17 | (def ^:dynamic *setup-done*) 18 | 19 | (defn setup! [] 20 | (when-not *setup-done* 21 | (set! *setup-done* true) 22 | 23 | ; note: we cannote require devtools.formatters.templating or .markup because that would lead to circular requires 24 | (def make-template-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_template")) 25 | (def make-group-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_group")) 26 | (def make-reference-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_reference")) 27 | (def make-surrogate-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_surrogate")) 28 | (def render-markup-fn (oget (context/get-root) "devtools" "formatters" "templating" "render_markup")) 29 | (def
-fn (oget (context/get-root) "devtools" "formatters" "markup" "_LT_header_GT_")) 30 | (def -fn (oget (context/get-root) "devtools" "formatters" "markup" "_LT_standard_body_GT_")) 31 | 32 | (assert make-template-fn) 33 | (assert make-group-fn) 34 | (assert make-reference-fn) 35 | (assert make-surrogate-fn) 36 | (assert render-markup-fn) 37 | (assert
-fn) 38 | (assert -fn))) 39 | 40 | (defn- render-markup [& args] 41 | (setup!) 42 | (apply render-markup-fn args)) 43 | 44 | ; --------------------------------------------------------------------------------------------------------------------------- 45 | 46 | ; deprecated functionality, implemented for easier transition from v0.7.x to v0.8 47 | 48 | (defn ^:deprecated make-template [& args] 49 | (setup!) 50 | (apply make-template-fn args)) 51 | 52 | (defn ^:deprecated make-group [& args] 53 | (setup!) 54 | (apply make-group-fn args)) 55 | 56 | (defn ^:deprecated make-surrogate [& args] 57 | (setup!) 58 | (apply make-surrogate-fn args)) 59 | 60 | (defn ^:deprecated template [& args] 61 | (setup!) 62 | (apply make-template-fn args)) 63 | 64 | (defn ^:deprecated group [& args] 65 | (setup!) 66 | (apply make-group-fn args)) 67 | 68 | (defn ^:deprecated surrogate [& args] 69 | (setup!) 70 | (apply make-surrogate-fn args)) 71 | 72 | (defn ^:deprecated reference [object & [state-override]] 73 | (setup!) 74 | (apply make-reference-fn [object #(merge % state-override)])) 75 | 76 | (defn ^:deprecated standard-reference [target] 77 | (setup!) 78 | (make-template-fn :ol :standard-ol-style (make-template-fn :li :standard-li-style (make-reference-fn target)))) 79 | 80 | (defn ^:deprecated build-header [& args] 81 | (setup!) 82 | (render-markup (apply
-fn args))) 83 | 84 | (defn ^:deprecated standard-body-template [lines & rest] 85 | (setup!) 86 | (let [args (concat [(map (fn [x] [x]) lines)] rest)] 87 | (render-markup (apply -fn args)))) 88 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/tools/reader/impl/inspect.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$Error",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$cljs.tools.reader.impl.inspect","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$inspect*",["^ ","^7","~$cljs.tools.reader.impl.inspect/inspect*","~:file","resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","~:line",37,"~:column",1,"~:end-line",37,"~:end-column",19,"~:meta",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^A",37,"^B",11,"^C",37,"^D",19],"~:tag","~$cljs.core/MultiFn"],"~$inspect*-col",["^ ","~:protocol-inline",null,"^E",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^A",13,"^B",8,"^C",13,"^D",20,"~:private",true,"~:arglists",["~#list",["~$quote",["^L",[["~$truncate","~$col","~$start","~$end"]]]]]],"^J",true,"^7","~$cljs.tools.reader.impl.inspect/inspect*-col","^@","resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^D",20,"~:method-params",["^L",[["^N","^O","^P","^Q"]]],"~:protocol-impl",null,"~:arglists-meta",["^L",[null,null]],"^B",1,"~:variadic?",false,"^A",13,"~:ret-tag","~$string","^C",13,"~:max-fixed-arity",4,"~:fn-var",true,"^K",["^L",["^M",["^L",[["^N","^O","^P","^Q"]]]]]],"~$dispatch-inspect",["^ ","^I",null,"^E",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^A",21,"^B",8,"^C",21,"^D",24,"^J",true,"^K",["^L",["^M",["^L",[["~$_","~$x"]]]]]],"^J",true,"^7","~$cljs.tools.reader.impl.inspect/dispatch-inspect","^@","resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^D",24,"^S",["^L",[["~$_","~$x"]]],"^T",null,"^U",["^L",[null,null]],"^B",1,"^V",false,"^A",21,"^W",["^6",["~$any","~$cljs.core/Keyword","~$clj-nil"]],"^C",21,"^Y",2,"^Z",true,"^K",["^L",["^M",["^L",[["~$_","~$x"]]]]]],"~$inspect",["^ ","^I",null,"^E",["^ ","^@","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^A",83,"^B",7,"^C",83,"^D",14,"^K",["^L",["^M",["^L",[["~$x"],["^N","~$x"]]]]],"~:doc","Return a string description of the value supplied.\n May be the a string version of the value itself (e.g. \"true\")\n or it may be a description (e.g. \"an instance of Foo\").\n If truncate is true then return a very terse version of\n the inspection.","~:top-fn",["^ ","^V",false,"~:fixed-arity",2,"^Y",2,"^S",["^L",[["~$x"],["^N","~$x"]]],"^K",["^L",[["~$x"],["^N","~$x"]]],"^U",["^L",[null,null]]]],"^7","~$cljs.tools.reader.impl.inspect/inspect","^@","resources/public/js/out/cljs/tools/reader/impl/inspect.cljs","^D",14,"^16",["^ ","^V",false,"^17",2,"^Y",2,"^S",["^L",[["~$x"],["^N","~$x"]]],"^K",["^L",[["~$x"],["^N","~$x"]]],"^U",["^L",[null,null]]],"^S",["^L",[["~$x"],["^N","~$x"]]],"^T",null,"^17",2,"^U",["^L",[null,null]],"^B",1,"^V",false,"~:methods",[["^ ","^17",1,"^V",false,"^F","^11"],["^ ","^17",2,"^V",false,"^F","^11"]],"^A",83,"^C",83,"^Y",2,"^Z",true,"^K",["^L",[["~$x"],["^N","~$x"]]],"^15","Return a string description of the value supplied.\n May be the a string version of the value itself (e.g. \"true\")\n or it may be a description (e.g. \"an instance of Foo\").\n If truncate is true then return a very terse version of\n the inspection."]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:cljs.analyzer/constants",["^ ","~:seen",["^6",["~:default","~:string","~:vector","~:strable","~:list","~:nil","~:set","~:hierarchy","~:map"]],"~:order",["^1C","^1?","^1A","^1@","^1B","^1F","^1D","^1>","^1E"]],"^15",null] -------------------------------------------------------------------------------- /resources/public/js/out/devtools/prefs.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.prefs'); 3 | goog.require('cljs.core'); 4 | goog.require('devtools.defaults'); 5 | devtools.prefs.default_config = (new cljs.core.Delay((function (){ 6 | return cljs.core.deref.call(null,devtools.defaults.config); 7 | }),null)); 8 | devtools.prefs.external_config = (new cljs.core.Delay((function (){ 9 | return cljs.core.PersistentArrayMap.EMPTY; 10 | }),null)); 11 | devtools.prefs.env_config = (new cljs.core.Delay((function (){ 12 | return cljs.core.PersistentArrayMap.EMPTY; 13 | }),null)); 14 | devtools.prefs.initial_config = (new cljs.core.Delay((function (){ 15 | return cljs.core.merge.call(null,cljs.core.deref.call(null,devtools.prefs.default_config),cljs.core.deref.call(null,devtools.prefs.external_config),cljs.core.deref.call(null,devtools.prefs.env_config)); 16 | }),null)); 17 | devtools.prefs._STAR_current_config_STAR_ = (new cljs.core.Delay((function (){ 18 | return cljs.core.deref.call(null,devtools.prefs.initial_config); 19 | }),null)); 20 | devtools.prefs.set_prefs_BANG_ = (function devtools$prefs$set_prefs_BANG_(new_prefs){ 21 | return devtools.prefs._STAR_current_config_STAR_ = new_prefs; 22 | }); 23 | devtools.prefs.get_prefs = (function devtools$prefs$get_prefs(){ 24 | if(cljs.core.delay_QMARK_.call(null,devtools.prefs._STAR_current_config_STAR_)){ 25 | devtools.prefs.set_prefs_BANG_.call(null,cljs.core.deref.call(null,devtools.prefs._STAR_current_config_STAR_)); 26 | } else { 27 | } 28 | 29 | return devtools.prefs._STAR_current_config_STAR_; 30 | }); 31 | devtools.prefs.pref = (function devtools$prefs$pref(key){ 32 | return key.call(null,devtools.prefs.get_prefs.call(null)); 33 | }); 34 | devtools.prefs.set_pref_BANG_ = (function devtools$prefs$set_pref_BANG_(key,val){ 35 | return devtools.prefs.set_prefs_BANG_.call(null,cljs.core.assoc.call(null,devtools.prefs.get_prefs.call(null),key,val)); 36 | }); 37 | devtools.prefs.merge_prefs_BANG_ = (function devtools$prefs$merge_prefs_BANG_(m){ 38 | return devtools.prefs.set_prefs_BANG_.call(null,cljs.core.merge.call(null,devtools.prefs.get_prefs.call(null),m)); 39 | }); 40 | devtools.prefs.update_pref_BANG_ = (function devtools$prefs$update_pref_BANG_(var_args){ 41 | var args__4736__auto__ = []; 42 | var len__4730__auto___33682 = arguments.length; 43 | var i__4731__auto___33683 = (0); 44 | while(true){ 45 | if((i__4731__auto___33683 < len__4730__auto___33682)){ 46 | args__4736__auto__.push((arguments[i__4731__auto___33683])); 47 | 48 | var G__33684 = (i__4731__auto___33683 + (1)); 49 | i__4731__auto___33683 = G__33684; 50 | continue; 51 | } else { 52 | } 53 | break; 54 | } 55 | 56 | var argseq__4737__auto__ = ((((2) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((2)),(0),null)):null); 57 | return devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4737__auto__); 58 | }); 59 | 60 | devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (key,f,args){ 61 | var new_val = cljs.core.apply.call(null,f,devtools.prefs.pref.call(null,key),args); 62 | return devtools.prefs.set_pref_BANG_.call(null,key,new_val); 63 | }); 64 | 65 | devtools.prefs.update_pref_BANG_.cljs$lang$maxFixedArity = (2); 66 | 67 | /** @this {Function} */ 68 | devtools.prefs.update_pref_BANG_.cljs$lang$applyTo = (function (seq33679){ 69 | var G__33680 = cljs.core.first.call(null,seq33679); 70 | var seq33679__$1 = cljs.core.next.call(null,seq33679); 71 | var G__33681 = cljs.core.first.call(null,seq33679__$1); 72 | var seq33679__$2 = cljs.core.next.call(null,seq33679__$1); 73 | var self__4717__auto__ = this; 74 | return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__33680,G__33681,seq33679__$2); 75 | }); 76 | 77 | 78 | //# sourceMappingURL=prefs.js.map?rel=1620066997544 79 | -------------------------------------------------------------------------------- /resources/public/js/out/goog/fs/url.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | /** 16 | * @fileoverview Wrapper for URL and its createObjectUrl and revokeObjectUrl 17 | * methods that are part of the HTML5 File API. 18 | */ 19 | 20 | goog.provide('goog.fs.url'); 21 | 22 | 23 | /** 24 | * Creates a blob URL for a blob object. 25 | * Throws an error if the browser does not support Object Urls. 26 | * 27 | * @param {!Blob} blob The object for which to create the URL. 28 | * @return {string} The URL for the object. 29 | */ 30 | goog.fs.url.createObjectUrl = function(blob) { 31 | return goog.fs.url.getUrlObject_().createObjectURL(blob); 32 | }; 33 | 34 | 35 | /** 36 | * Revokes a URL created by {@link goog.fs.url.createObjectUrl}. 37 | * Throws an error if the browser does not support Object Urls. 38 | * 39 | * @param {string} url The URL to revoke. 40 | */ 41 | goog.fs.url.revokeObjectUrl = function(url) { 42 | goog.fs.url.getUrlObject_().revokeObjectURL(url); 43 | }; 44 | 45 | 46 | /** 47 | * @typedef {{createObjectURL: (function(!Blob): string), 48 | * revokeObjectURL: function(string): void}} 49 | */ 50 | goog.fs.url.UrlObject_; 51 | 52 | 53 | /** 54 | * Get the object that has the createObjectURL and revokeObjectURL functions for 55 | * this browser. 56 | * 57 | * @return {goog.fs.url.UrlObject_} The object for this browser. 58 | * @private 59 | */ 60 | goog.fs.url.getUrlObject_ = function() { 61 | var urlObject = goog.fs.url.findUrlObject_(); 62 | if (urlObject != null) { 63 | return urlObject; 64 | } else { 65 | throw Error('This browser doesn\'t seem to support blob URLs'); 66 | } 67 | }; 68 | 69 | 70 | /** 71 | * Finds the object that has the createObjectURL and revokeObjectURL functions 72 | * for this browser. 73 | * 74 | * @return {?goog.fs.url.UrlObject_} The object for this browser or null if the 75 | * browser does not support Object Urls. 76 | * @private 77 | */ 78 | goog.fs.url.findUrlObject_ = function() { 79 | // This is what the spec says to do 80 | // http://dev.w3.org/2006/webapi/FileAPI/#dfn-createObjectURL 81 | if (goog.isDef(goog.global.URL) && 82 | goog.isDef(goog.global.URL.createObjectURL)) { 83 | return /** @type {goog.fs.url.UrlObject_} */ (goog.global.URL); 84 | // This is what Chrome does (as of 10.0.648.6 dev) 85 | } else if ( 86 | goog.isDef(goog.global.webkitURL) && 87 | goog.isDef(goog.global.webkitURL.createObjectURL)) { 88 | return /** @type {goog.fs.url.UrlObject_} */ (goog.global.webkitURL); 89 | // This is what the spec used to say to do 90 | } else if (goog.isDef(goog.global.createObjectURL)) { 91 | return /** @type {goog.fs.url.UrlObject_} */ (goog.global); 92 | } else { 93 | return null; 94 | } 95 | }; 96 | 97 | 98 | /** 99 | * Checks whether this browser supports Object Urls. If not, calls to 100 | * createObjectUrl and revokeObjectUrl will result in an error. 101 | * 102 | * @return {boolean} True if this browser supports Object Urls. 103 | */ 104 | goog.fs.url.browserSupportsObjectUrls = function() { 105 | return goog.fs.url.findUrlObject_() != null; 106 | }; 107 | -------------------------------------------------------------------------------- /resources/public/js/out/reagent/impl/batching.cljs: -------------------------------------------------------------------------------- 1 | (ns reagent.impl.batching 2 | (:refer-clojure :exclude [flush]) 3 | (:require [reagent.debug :refer-macros [assert-some]] 4 | [reagent.impl.util :refer [is-client]])) 5 | 6 | ;;; Update batching 7 | 8 | (defonce mount-count 0) 9 | 10 | (defn next-mount-count [] 11 | (set! mount-count (inc mount-count))) 12 | 13 | (defn fake-raf [f] 14 | (js/setTimeout f 16)) 15 | 16 | (def next-tick 17 | (if-not is-client 18 | fake-raf 19 | (let [w js/window] 20 | (or (.-requestAnimationFrame w) 21 | (.-webkitRequestAnimationFrame w) 22 | (.-mozRequestAnimationFrame w) 23 | (.-msRequestAnimationFrame w) 24 | fake-raf)))) 25 | 26 | (defn compare-mount-order 27 | [c1 c2] 28 | ;; Mount order is now set in DidMount method. I.e. the 29 | ;; top-most component is mounted last and gets largest 30 | ;; number. This is reverse compared to WillMount where method 31 | ;; for top component gets called first. 32 | (- (.-cljsMountOrder c2) 33 | (.-cljsMountOrder c1))) 34 | 35 | (defn run-queue [a] 36 | ;; sort components by mount order, to make sure parents 37 | ;; are rendered before children 38 | (.sort a compare-mount-order) 39 | (dotimes [i (alength a)] 40 | (let [c (aget a i)] 41 | (when (true? (.-cljsIsDirty c)) 42 | (.forceUpdate c))))) 43 | 44 | 45 | ;; Set from ratom.cljs 46 | (defonce ratom-flush (fn [])) 47 | 48 | (defn run-funs [fs] 49 | (dotimes [i (alength fs)] 50 | ((aget fs i)))) 51 | 52 | (defn enqueue [queue fs f] 53 | (assert-some f "Enqueued function") 54 | (.push fs f) 55 | (.schedule queue)) 56 | 57 | (deftype RenderQueue [^:mutable ^boolean scheduled?] 58 | Object 59 | (schedule [this] 60 | (when-not scheduled? 61 | (set! scheduled? true) 62 | (next-tick #(.run-queues this)))) 63 | 64 | (queue-render [this c] 65 | (when (nil? (.-componentQueue this)) 66 | (set! (.-componentQueue this) (array))) 67 | (enqueue this (.-componentQueue this) c)) 68 | 69 | (add-before-flush [this f] 70 | (when (nil? (.-beforeFlush this)) 71 | (set! (.-beforeFlush this) (array))) 72 | (enqueue this (.-beforeFlush this) f)) 73 | 74 | (add-after-render [this f] 75 | (when (nil? (.-afterRender this)) 76 | (set! (.-afterRender this) (array))) 77 | (enqueue this (.-afterRender this) f)) 78 | 79 | (run-queues [this] 80 | (set! scheduled? false) 81 | (.flush-queues this)) 82 | 83 | (flush-before-flush [this] 84 | (when-some [fs (.-beforeFlush this)] 85 | (set! (.-beforeFlush this) nil) 86 | (run-funs fs))) 87 | 88 | (flush-render [this] 89 | (when-some [fs (.-componentQueue this)] 90 | (set! (.-componentQueue this) nil) 91 | (run-queue fs))) 92 | 93 | (flush-after-render [this] 94 | (when-some [fs (.-afterRender this)] 95 | (set! (.-afterRender this) nil) 96 | (run-funs fs))) 97 | 98 | (flush-queues [this] 99 | (.flush-before-flush this) 100 | (ratom-flush) 101 | (.flush-render this) 102 | (.flush-after-render this))) 103 | 104 | (defonce render-queue (->RenderQueue false)) 105 | 106 | (defn flush [] 107 | (.flush-queues render-queue)) 108 | 109 | (defn flush-after-render [] 110 | (.flush-after-render render-queue)) 111 | 112 | (defn queue-render [c] 113 | (when-not (.-cljsIsDirty c) 114 | (set! (.-cljsIsDirty c) true) 115 | (.queue-render render-queue c))) 116 | 117 | (defn mark-rendered [c] 118 | (set! (.-cljsIsDirty c) false)) 119 | 120 | (defn do-before-flush [f] 121 | (.add-before-flush render-queue f)) 122 | 123 | (defn do-after-render [f] 124 | (.add-after-render render-queue f)) 125 | 126 | (defn schedule [] 127 | (when (false? (.-scheduled? render-queue)) 128 | (.schedule render-queue))) 129 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/async.js: -------------------------------------------------------------------------------- 1 | // Compiled by ClojureScript 1.10.520 {} 2 | goog.provide('devtools.async'); 3 | goog.require('cljs.core'); 4 | goog.require('goog.async.nextTick'); 5 | goog.require('goog.labs.userAgent.browser'); 6 | goog.require('devtools.context'); 7 | devtools.async.available_QMARK_ = (function devtools$async$available_QMARK_(){ 8 | return (typeof Promise !== 'undefined'); 9 | }); 10 | devtools.async.fixed_chrome_version_for_async = "65.0.3321"; 11 | devtools.async.needed_QMARK_ = (function devtools$async$needed_QMARK_(){ 12 | return cljs.core.not.call(null,(function (){var and__4120__auto__ = goog.labs.userAgent.browser.isChrome(); 13 | if(cljs.core.truth_(and__4120__auto__)){ 14 | return goog.labs.userAgent.browser.isVersionOrHigher(devtools.async.fixed_chrome_version_for_async); 15 | } else { 16 | return and__4120__auto__; 17 | } 18 | })()); 19 | }); 20 | devtools.async.get_not_needed_message = (function devtools$async$get_not_needed_message(){ 21 | return ["cljs-devtools: the :async feature is no longer needed since Chrome ",devtools.async.fixed_chrome_version_for_async,", ","see https://github.com/binaryage/cljs-devtools/issues/20"].join(''); 22 | }); 23 | devtools.async._STAR_installed_STAR_ = false; 24 | devtools.async._STAR_original_set_immediate_STAR_ = null; 25 | devtools.async.rethrow_outside_promise = (function devtools$async$rethrow_outside_promise(e){ 26 | return setTimeout((function (){ 27 | throw e; 28 | }),(0)); 29 | }); 30 | devtools.async.promise_based_set_immediate = (function devtools$async$promise_based_set_immediate(callback){ 31 | var o__32841__auto___36078 = (function (){var o__32841__auto__ = (function (){var o__32841__auto__ = Promise; 32 | return (o__32841__auto__["resolve"]).call(o__32841__auto__); 33 | })(); 34 | return (o__32841__auto__["then"]).call(o__32841__auto__,callback); 35 | })(); 36 | (o__32841__auto___36078["catch"]).call(o__32841__auto___36078,devtools.async.rethrow_outside_promise); 37 | 38 | return null; 39 | }); 40 | devtools.async.install_async_set_immediate_BANG_ = (function devtools$async$install_async_set_immediate_BANG_(){ 41 | devtools.async._STAR_original_set_immediate_STAR_ = goog.async.nextTick.setImmediate_; 42 | 43 | return goog.async.nextTick.setImmediate_ = devtools.async.promise_based_set_immediate; 44 | }); 45 | devtools.async.uninstall_async_set_immediate_BANG_ = (function devtools$async$uninstall_async_set_immediate_BANG_(){ 46 | return goog.async.nextTick.setImmediate_ = devtools.async._STAR_original_set_immediate_STAR_; 47 | }); 48 | devtools.async.installed_QMARK_ = (function devtools$async$installed_QMARK_(){ 49 | return devtools.async._STAR_installed_STAR_; 50 | }); 51 | devtools.async.install_BANG_ = (function devtools$async$install_BANG_(){ 52 | if(devtools.async._STAR_installed_STAR_){ 53 | return null; 54 | } else { 55 | devtools.async._STAR_installed_STAR_ = true; 56 | 57 | var G__36079_36080 = Error; 58 | var target__32846__auto___36081 = G__36079_36080; 59 | if(cljs.core.truth_(target__32846__auto___36081)){ 60 | } else { 61 | throw (new Error(["Assert failed: ",["unable to locate object path ",null," in ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__36079_36080)].join(''),"\n","target__32846__auto__"].join(''))); 62 | } 63 | 64 | (target__32846__auto___36081["stackTraceLimit"] = Infinity); 65 | 66 | 67 | devtools.async.install_async_set_immediate_BANG_.call(null); 68 | 69 | if(devtools.async.needed_QMARK_.call(null)){ 70 | } else { 71 | devtools.context.get_console.call(null).info(devtools.async.get_not_needed_message.call(null)); 72 | } 73 | 74 | return true; 75 | } 76 | }); 77 | devtools.async.uninstall_BANG_ = (function devtools$async$uninstall_BANG_(){ 78 | if(devtools.async._STAR_installed_STAR_){ 79 | devtools.async._STAR_installed_STAR_ = false; 80 | 81 | return devtools.async.uninstall_async_set_immediate_BANG_.call(null); 82 | } else { 83 | return null; 84 | } 85 | }); 86 | 87 | //# sourceMappingURL=async.js.map?rel=1620066999302 88 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/core/async/impl/dispatch.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$setTimeout",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$cljs.core.async.impl.dispatch","~:imports",null,"~:requires",["^ ","~$buffers","~$cljs.core.async.impl.buffers","^<","^<","~$goog.async.nextTick","^="],"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$tasks",["^ ","^7","~$cljs.core.async.impl.dispatch/tasks","~:file","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","~:line",5,"~:column",1,"~:end-line",5,"~:end-column",11,"~:meta",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",5,"^E",6,"^F",5,"^G",11],"~:tag","~$cljs.core.async.impl.buffers/RingBuffer"],"~$running?",["^ ","^7","~$cljs.core.async.impl.dispatch/running?","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",6,"^E",1,"^F",6,"^G",14,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",6,"^E",6,"^F",6,"^G",14],"^I","~$boolean"],"~$queued?",["^ ","^7","~$cljs.core.async.impl.dispatch/queued?","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",7,"^E",1,"^F",7,"^G",13,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",7,"^E",6,"^F",7,"^G",13],"^I","^M"],"~$TASK_BATCH_SIZE",["^ ","^7","~$cljs.core.async.impl.dispatch/TASK_BATCH_SIZE","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",9,"^E",1,"^F",9,"^G",21,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",9,"^E",6,"^F",9,"^G",21],"^I","~$number"],"~$queue-dispatcher",["^ ","~:protocol-inline",null,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",26,"^E",7,"^F",26,"^G",23,"~:arglists",["~#list",["~$quote",["^V",[[]]]]]],"^7","~$cljs.core.async.impl.dispatch/queue-dispatcher","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^G",23,"~:method-params",["^V",[[]]],"~:protocol-impl",null,"~:arglists-meta",["^V",[null,null]],"^E",1,"~:variadic?",false,"^D",26,"~:ret-tag",["^6",["~$any","~$clj-nil"]],"^F",26,"~:max-fixed-arity",0,"~:fn-var",true,"^U",["^V",["^W",["^V",[[]]]]]],"~$process-messages",["^ ","^T",null,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",13,"^E",7,"^F",13,"^G",23,"^U",["^V",["^W",["^V",[[]]]]]],"^7","~$cljs.core.async.impl.dispatch/process-messages","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^G",23,"^Y",["^V",[[]]],"^Z",null,"^[",["^V",[null,null]],"^E",1,"^10",false,"^D",13,"^11",["^6",["^12","^13"]],"^F",13,"^14",0,"^15",true,"^U",["^V",["^W",["^V",[[]]]]]],"~$run",["^ ","^T",null,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",31,"^E",7,"^F",31,"^G",10,"^U",["^V",["^W",["^V",[["~$f"]]]]]],"^7","~$cljs.core.async.impl.dispatch/run","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^G",10,"^Y",["^V",[["~$f"]]],"^Z",null,"^[",["^V",[null,null]],"^E",1,"^10",false,"^D",31,"^11",["^6",["^12","^13"]],"^F",31,"^14",1,"^15",true,"^U",["^V",["^W",["^V",[["~$f"]]]]]],"~$queue-delay",["^ ","^T",null,"^H",["^ ","^C","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^D",35,"^E",7,"^F",35,"^G",18,"^U",["^V",["^W",["^V",[["~$f","~$delay"]]]]]],"^7","~$cljs.core.async.impl.dispatch/queue-delay","^C","resources/public/js/out/cljs/core/async/impl/dispatch.cljs","^G",18,"^Y",["^V",[["~$f","^1;"]]],"^Z",null,"^[",["^V",[null,null]],"^E",1,"^10",false,"^D",35,"^11","~$js","^F",35,"^14",2,"^15",true,"^U",["^V",["^W",["^V",[["~$f","^1;"]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:doc",null] -------------------------------------------------------------------------------- /resources/public/js/out/clojure/walk.cljs: -------------------------------------------------------------------------------- 1 | ; Copyright (c) Rich Hickey. All rights reserved. 2 | ; The use and distribution terms for this software are covered by the 3 | ; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 4 | ; which can be found in the file epl-v10.html at the root of this distribution. 5 | ; By using this software in any fashion, you are agreeing to be bound by 6 | ; the terms of this license. 7 | ; You must not remove this notice, or any other, from this software. 8 | 9 | ;;; walk.cljs - generic tree walker with replacement 10 | 11 | ;; by Stuart Sierra 12 | ;; Jul5 17, 2011 13 | 14 | ;; CHANGE LOG: 15 | ;; 16 | ;; * July 17, 2011: Port to ClojureScript 17 | ;; 18 | ;; * December 15, 2008: replaced 'walk' with 'prewalk' & 'postwalk' 19 | ;; 20 | ;; * December 9, 2008: first version 21 | 22 | 23 | (ns 24 | ^{:author "Stuart Sierra", 25 | :doc "This file defines a generic tree walker for Clojure data 26 | structures. It takes any data structure (list, vector, map, set, 27 | seq), calls a function on every element, and uses the return value 28 | of the function in place of the original. This makes it fairly 29 | easy to write recursive search-and-replace functions, as shown in 30 | the examples. 31 | 32 | Note: \"walk\" supports all Clojure data structures EXCEPT maps 33 | created with sorted-map-by. There is no (obvious) way to retrieve 34 | the sorting function."} 35 | clojure.walk) 36 | 37 | (defn walk 38 | "Traverses form, an arbitrary data structure. inner and outer are 39 | functions. Applies inner to each element of form, building up a 40 | data structure of the same type, then applies outer to the result. 41 | Recognizes all Clojure data structures. Consumes seqs as with doall." 42 | 43 | {:added "1.1"} 44 | [inner outer form] 45 | (cond 46 | (list? form) (outer (apply list (map inner form))) 47 | (map-entry? form) 48 | (outer (MapEntry. (inner (key form)) (inner (val form)) nil)) 49 | (seq? form) (outer (doall (map inner form))) 50 | (record? form) (outer (reduce (fn [r x] (conj r (inner x))) form form)) 51 | (coll? form) (outer (into (empty form) (map inner form))) 52 | :else (outer form))) 53 | 54 | (defn postwalk 55 | "Performs a depth-first, post-order traversal of form. Calls f on 56 | each sub-form, uses f's return value in place of the original. 57 | Recognizes all Clojure data structures. Consumes seqs as with doall." 58 | {:added "1.1"} 59 | [f form] 60 | (walk (partial postwalk f) f form)) 61 | 62 | (defn prewalk 63 | "Like postwalk, but does pre-order traversal." 64 | {:added "1.1"} 65 | [f form] 66 | (walk (partial prewalk f) identity (f form))) 67 | 68 | (defn keywordize-keys 69 | "Recursively transforms all map keys from strings to keywords." 70 | {:added "1.1"} 71 | [m] 72 | (let [f (fn [[k v]] (if (string? k) [(keyword k) v] [k v]))] 73 | ;; only apply to maps 74 | (postwalk (fn [x] (if (map? x) (into {} (map f x)) x)) m))) 75 | 76 | (defn stringify-keys 77 | "Recursively transforms all map keys from keywords to strings." 78 | {:added "1.1"} 79 | [m] 80 | (let [f (fn [[k v]] (if (keyword? k) [(name k) v] [k v]))] 81 | ;; only apply to maps 82 | (postwalk (fn [x] (if (map? x) (into {} (map f x)) x)) m))) 83 | 84 | (defn prewalk-replace 85 | "Recursively transforms form by replacing keys in smap with their 86 | values. Like clojure/replace but works on any data structure. Does 87 | replacement at the root of the tree first." 88 | {:added "1.1"} 89 | [smap form] 90 | (prewalk (fn [x] (if (contains? smap x) (smap x) x)) form)) 91 | 92 | (defn postwalk-replace 93 | "Recursively transforms form by replacing keys in smap with their 94 | values. Like clojure/replace but works on any data structure. Does 95 | replacement at the leaves of the tree first." 96 | {:added "1.1"} 97 | [smap form] 98 | (postwalk (fn [x] (if (contains? smap x) (smap x) x)) form)) 99 | -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/client/socket.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/figwheel\/client\/socket.js","sources":["socket.cljs?rel=1620918628023"],"lineCount":161,"mappings":"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\/IAAI,AAAC1C","names":["figwheel.client.socket\/get-websocket-imp","or__4131__auto__","goog.object\/get","goog\/global","figwheel.client.utils\/html-or-react-native-env?","js\/window","figwheel.client.utils\/node-env?","e32421","js\/require","js\/Error","e","figwheel.client.utils\/worker-env?","js\/self","js\/figwheel","js\/figwheel.client","js\/figwheel.client.socket","js\/figwheel.client.socket.message-history-atom","figwheel.client.socket\/message-history-atom","cljs.core\/atom","js\/figwheel.client.socket.socket-atom","figwheel.client.socket\/socket-atom","figwheel.client.socket\/send!","msg","cljs.core\/deref","cljs.core\/pr-str","figwheel.client.socket\/close!","cljs.core\/identity","figwheel.client.socket\/handle-incoming-message","figwheel.client.utils\/debug-prn","and__4120__auto__","cljs.core\/map?","cljs.core\/not=","cljs.core\/swap!","cljs.core\/conj","p__32422","map__32423","cljs.core\/PROTOCOL_SENTINEL","cljs.core\/apply","cljs.core\/hash-map","cljs.core\/get","figwheel.client.socket\/open","retry-count","retried-count","websocket-url","build-id","opts","temp__5733__auto__","WebSocket","figwheel.client.utils\/log","url","socket","msg-str","temp__5735__auto__","cljs.reader\/read-string","x","cljs.core\/reset!","figwheel.client.utils\/html-env?","js\/setTimeout","cljs.core\/assoc","x__4222__auto__","y__4223__auto__","cljs.core\/List"]} -------------------------------------------------------------------------------- /resources/public/js/out/goog/async/workqueue.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Closure Library Authors. All Rights Reserved. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS-IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | goog.provide('goog.async.WorkItem'); 16 | goog.provide('goog.async.WorkQueue'); 17 | 18 | goog.require('goog.asserts'); 19 | goog.require('goog.async.FreeList'); 20 | 21 | 22 | // TODO(johnlenz): generalize the WorkQueue if this is used by more 23 | // than goog.async.run. 24 | 25 | 26 | 27 | /** 28 | * A low GC workqueue. The key elements of this design: 29 | * - avoids the need for goog.bind or equivalent by carrying scope 30 | * - avoids the need for array reallocation by using a linked list 31 | * - minimizes work entry objects allocation by recycling objects 32 | * @constructor 33 | * @final 34 | * @struct 35 | */ 36 | goog.async.WorkQueue = function() { 37 | this.workHead_ = null; 38 | this.workTail_ = null; 39 | }; 40 | 41 | 42 | /** @define {number} The maximum number of entries to keep for recycling. */ 43 | goog.define('goog.async.WorkQueue.DEFAULT_MAX_UNUSED', 100); 44 | 45 | 46 | /** @const @private {goog.async.FreeList} */ 47 | goog.async.WorkQueue.freelist_ = new goog.async.FreeList( 48 | function() { return new goog.async.WorkItem(); }, 49 | function(item) { item.reset(); }, goog.async.WorkQueue.DEFAULT_MAX_UNUSED); 50 | 51 | 52 | /** 53 | * @param {function()} fn 54 | * @param {Object|null|undefined} scope 55 | */ 56 | goog.async.WorkQueue.prototype.add = function(fn, scope) { 57 | var item = this.getUnusedItem_(); 58 | item.set(fn, scope); 59 | 60 | if (this.workTail_) { 61 | this.workTail_.next = item; 62 | this.workTail_ = item; 63 | } else { 64 | goog.asserts.assert(!this.workHead_); 65 | this.workHead_ = item; 66 | this.workTail_ = item; 67 | } 68 | }; 69 | 70 | 71 | /** 72 | * @return {goog.async.WorkItem} 73 | */ 74 | goog.async.WorkQueue.prototype.remove = function() { 75 | var item = null; 76 | 77 | if (this.workHead_) { 78 | item = this.workHead_; 79 | this.workHead_ = this.workHead_.next; 80 | if (!this.workHead_) { 81 | this.workTail_ = null; 82 | } 83 | item.next = null; 84 | } 85 | return item; 86 | }; 87 | 88 | 89 | /** 90 | * @param {goog.async.WorkItem} item 91 | */ 92 | goog.async.WorkQueue.prototype.returnUnused = function(item) { 93 | goog.async.WorkQueue.freelist_.put(item); 94 | }; 95 | 96 | 97 | /** 98 | * @return {goog.async.WorkItem} 99 | * @private 100 | */ 101 | goog.async.WorkQueue.prototype.getUnusedItem_ = function() { 102 | return goog.async.WorkQueue.freelist_.get(); 103 | }; 104 | 105 | 106 | 107 | /** 108 | * @constructor 109 | * @final 110 | * @struct 111 | */ 112 | goog.async.WorkItem = function() { 113 | /** @type {?function()} */ 114 | this.fn = null; 115 | /** @type {Object|null|undefined} */ 116 | this.scope = null; 117 | /** @type {?goog.async.WorkItem} */ 118 | this.next = null; 119 | }; 120 | 121 | 122 | /** 123 | * @param {function()} fn 124 | * @param {Object|null|undefined} scope 125 | */ 126 | goog.async.WorkItem.prototype.set = function(fn, scope) { 127 | this.fn = fn; 128 | this.scope = scope; 129 | this.next = null; 130 | }; 131 | 132 | 133 | /** Reset the work item so they don't prevent GC before reuse */ 134 | goog.async.WorkItem.prototype.reset = function() { 135 | this.fn = null; 136 | this.scope = null; 137 | this.next = null; 138 | }; 139 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/protocols.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$devtools.protocols","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$ITemplate",["^ ","~:meta",["^ ","~:protocol-symbol",true,"~:file","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","~:end-column",23,"~:column",14,"~:line",3,"~:protocol-info",["^ ","~:methods",["^ "]],"~:end-line",3,"~:doc","Marker protocol indicating a devtools template.","~:jsdoc",["~#list",["@interface"]]],"^>",true,"^5","~$devtools.protocols/ITemplate","^?","resources/public/js/out/devtools/protocols.cljs","^@",23,"^A",1,"^B",3,"^C",["^ ","^D",["^ "]],"~:info",null,"^E",3,"~:tag","~$any","~:impls",["^4",[]],"^F","Marker protocol indicating a devtools template.","^G",["^H",["@interface"]]],"~$IGroup",["^ ","^=",["^ ","^>",true,"^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","^@",20,"^A",14,"^B",6,"^C",["^ ","^D",["^ "]],"^E",6,"^F","Marker protocol indicating a devtools group.","^G",["^H",["@interface"]]],"^>",true,"^5","~$devtools.protocols/IGroup","^?","resources/public/js/out/devtools/protocols.cljs","^@",20,"^A",1,"^B",6,"^C",["^ ","^D",["^ "]],"^J",null,"^E",6,"^K","^L","^M",["^4",[]],"^F","Marker protocol indicating a devtools group.","^G",["^H",["@interface"]]],"~$ISurrogate",["^ ","^=",["^ ","^>",true,"^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","^@",24,"^A",14,"^B",9,"^C",["^ ","^D",["^ "]],"^E",9,"^F","Marker protocol indicating a devtools surrogate object.","^G",["^H",["@interface"]]],"^>",true,"^5","~$devtools.protocols/ISurrogate","^?","resources/public/js/out/devtools/protocols.cljs","^@",24,"^A",1,"^B",9,"^C",["^ ","^D",["^ "]],"^J",null,"^E",9,"^K","^L","^M",["^4",[]],"^F","Marker protocol indicating a devtools surrogate object.","^G",["^H",["@interface"]]],"~$IFormat",["^ ","^=",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","^B",12,"^A",14,"^E",12,"^@",21,"^>",true,"^G",["^H",["@interface"]],"^C",["^ ","^D",["^ ","~$-header",[["~$value"]],"~$-has-body",[["^T"]],"~$-body",[["^T"]]]]],"^>",true,"^5","~$devtools.protocols/IFormat","^?","resources/public/js/out/devtools/protocols.cljs","^@",21,"^A",1,"^B",12,"^C",["^ ","^D",["^ ","^S",[["^T"]],"^U",[["^T"]],"^V",[["^T"]]]],"^J",null,"^E",12,"^K","^L","^M",["^4",[]],"^G",["^H",["@interface"]]],"^S",["^ ","~:protocol-inline",null,"^=",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","^B",13,"^A",4,"^E",13,"^@",11,"~:protocol","^W","^F",null,"~:arglists",["^H",["~$quote",["^H",[["^T"]]]]]],"^Y","^W","^5","~$devtools.protocols/-header","^?","resources/public/js/out/devtools/protocols.cljs","^@",11,"~:method-params",["^H",[["^T"]]],"~:protocol-impl",null,"~:arglists-meta",["^H",[null,null]],"^A",1,"~:variadic?",false,"^B",12,"~:ret-tag","^L","^E",13,"~:max-fixed-arity",1,"~:fn-var",true,"^Z",["^H",["^[",["^H",[["^T"]]]]],"^F",null],"^U",["^ ","^X",null,"^=",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","^B",14,"^A",4,"^E",14,"^@",13,"^Y","^W","^F",null,"^Z",["^H",["^[",["^H",[["^T"]]]]]],"^Y","^W","^5","~$devtools.protocols/-has-body","^?","resources/public/js/out/devtools/protocols.cljs","^@",13,"^11",["^H",[["^T"]]],"^12",null,"^13",["^H",[null,null]],"^A",1,"^14",false,"^B",12,"^15","^L","^E",14,"^16",1,"^17",true,"^Z",["^H",["^[",["^H",[["^T"]]]]],"^F",null],"^V",["^ ","^X",null,"^=",["^ ","^?","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/devtools/protocols.cljs","^B",15,"^A",4,"^E",15,"^@",9,"^Y","^W","^F",null,"^Z",["^H",["^[",["^H",[["^T"]]]]]],"^Y","^W","^5","~$devtools.protocols/-body","^?","resources/public/js/out/devtools/protocols.cljs","^@",9,"^11",["^H",[["^T"]]],"^12",null,"^13",["^H",[null,null]],"^A",1,"^14",false,"^B",12,"^15","^L","^E",15,"^16",1,"^17",true,"^Z",["^H",["^[",["^H",[["^T"]]]]],"^F",null]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"^F",null] -------------------------------------------------------------------------------- /resources/public/js/out/cljs/tools/reader/impl/inspect.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/cljs\/tools\/reader\/impl\/inspect.js","sources":["inspect.cljs?rel=1620066998720"],"lineCount":156,"mappings":"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","names":["cljs.tools.reader.impl.inspect\/inspect*-col","truncate","col","start","end","n","cljs.core\/count","l","x__4222__auto__","y__4223__auto__","elements","cljs.core\/map","cljs.core\/partial","cljs.tools.reader.impl.inspect\/inspect*","cljs.core\/take","content","cljs.core\/apply","cljs.core\/str","cljs.core\/interpose","suffix","cljs.tools.reader.impl.inspect\/dispatch-inspect","_","x","cljs.core\/Keyword","cljs.core\/Symbol","cljs.core\/vector?","cljs.core\/list?","cljs.core\/map?","cljs.core\/set?","cljs.core\/=","cljs.core\/type","js\/cljs","js\/cljs.tools","js\/cljs.tools.reader","js\/cljs.tools.reader.impl","js\/cljs.tools.reader.impl.inspect","js\/cljs.tools.reader.impl.inspect.inspect*","method-table__4613__auto__","cljs.core\/atom","prefer-table__4614__auto__","method-cache__4615__auto__","cached-hierarchy__4616__auto__","hierarchy__4617__auto__","cljs.core\/get","cljs.core\/MultiFn","cljs.core\/symbol","cljs.core\/-add-method","cljs.core\/IndexedSeq","cljs.core\/PersistentArrayMapSeq","cljs.core\/NodeSeq","cljs.core\/Cons","cljs.core\/LazySeq","m","len","n-shown","contents","cljs.core\/concat","cljs.core\/pr-str","var_args","G__35138","cljs.tools.reader.impl.inspect\/inspect","js\/Error"]} -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/client/socket.cljs: -------------------------------------------------------------------------------- 1 | (ns figwheel.client.socket 2 | (:require 3 | [goog.object :as gobj] 4 | [figwheel.client.utils :as utils] 5 | [cljs.reader :refer [read-string]])) 6 | 7 | (defn get-websocket-imp [] 8 | (or 9 | (gobj/get goog.global "FIGWHEEL_WEBSOCKET_CLASS") 10 | (gobj/get goog.global "WebSocket") 11 | (cond 12 | ;; TODO remove 13 | (utils/html-or-react-native-env?) (gobj/get js/window "WebSocket") 14 | (utils/node-env?) (try (js/require "ws") 15 | (catch js/Error e 16 | nil)) 17 | ;; TODO remove 18 | (utils/worker-env?) (gobj/get js/self "WebSocket") 19 | :else nil))) 20 | 21 | 22 | ;; messages have the following formats 23 | 24 | ;; files-changed message 25 | ;; { :msg-name :files-changed 26 | ;; :files [{:file "/js/compiled/out/example/core.js", 27 | ;; :type :javascript, 28 | ;; :msg-name :file-changed, 29 | ;; :namespace "example.core" }] } 30 | 31 | ;; css-files-changed message 32 | ;; there should really only be one file in here at a time 33 | ;; { :msg-name :css-files-changed 34 | ;; :files [{:file "/css/example.css", 35 | ;; :type :css }] } 36 | 37 | ;; compile-failed message 38 | ;; { :msg-name :compile-failed 39 | ;; :exception-data {:cause { ... lots of exception info ... } }} 40 | ;; the exception data is nested raw info obtained for the compile time 41 | ;; exception 42 | 43 | (defonce message-history-atom (atom (list))) 44 | 45 | (defonce socket-atom (atom false)) 46 | 47 | (defn send! 48 | "Send a end message to the server." 49 | [msg] 50 | (when @socket-atom 51 | (.send @socket-atom (pr-str msg)))) 52 | 53 | (defn close! [] 54 | (set! (.-onclose @socket-atom) identity) 55 | (.close @socket-atom)) 56 | 57 | (defn handle-incoming-message [msg] 58 | (utils/debug-prn msg) 59 | (and (map? msg) 60 | (:msg-name msg) 61 | ;; don't forward pings 62 | (not= (:msg-name msg) :ping) 63 | (swap! message-history-atom 64 | conj msg))) 65 | 66 | (defn open [{:keys [retry-count retried-count websocket-url build-id] :as opts}] 67 | (if-let [WebSocket (get-websocket-imp)] 68 | (do 69 | (utils/log :debug "Figwheel: trying to open cljs reload socket") 70 | (let [url (str websocket-url (if build-id (str "/" build-id) "")) 71 | socket (WebSocket. url)] 72 | (set! (.-onmessage socket) (fn [msg-str] 73 | (when-let [msg 74 | (read-string (.-data msg-str))] 75 | (#'handle-incoming-message msg)))) 76 | (set! (.-onopen socket) (fn [x] 77 | (reset! socket-atom socket) 78 | (when (utils/html-env?) 79 | (.addEventListener js/window "beforeunload" close!)) 80 | (utils/log :debug "Figwheel: socket connection established"))) 81 | (set! (.-onclose socket) (fn [x] 82 | (let [retried-count (or retried-count 0)] 83 | (utils/debug-prn "Figwheel: socket closed or failed to open") 84 | (when (> retry-count retried-count) 85 | (js/setTimeout 86 | (fn [] 87 | (open 88 | (assoc opts :retried-count (inc retried-count)))) 89 | ;; linear back off 90 | (min 10000 (+ 2000 (* 500 retried-count)))))))) 91 | (set! (.-onerror socket) (fn [x] (utils/debug-prn "Figwheel: socket error "))) 92 | socket)) 93 | (utils/log :debug 94 | (if (utils/node-env?) 95 | "Figwheel: Can't start Figwheel!! Please make sure ws is installed\n do -> 'npm install ws'" 96 | "Figwheel: Can't start Figwheel!! This browser doesn't support WebSockets")))) 97 | -------------------------------------------------------------------------------- /resources/public/js/out/figwheel/client/socket.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$window",["^ ","~$addEventListener",["^ "]],"~$Error",["^ "],"~$require",["^ "],"~$self",["^ "],"~$setTimeout",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$figwheel.client.socket","~:imports",null,"~:requires",["^ ","~$gobj","~$goog.object","^A","^A","~$utils","~$figwheel.client.utils","^C","^C","~$cljs.reader","^D"],"~:cljs.spec/speced-vars",[],"~:uses",["^ ","~$read-string","^D"],"~:defs",["^ ","~$get-websocket-imp",["^ ","~:protocol-inline",null,"~:meta",["^ ","~:file","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","~:line",7,"~:column",7,"~:end-line",7,"~:end-column",24,"~:arglists",["~#list",["~$quote",["^R",[[]]]]]],"^<","~$figwheel.client.socket/get-websocket-imp","^L","resources/public/js/out/figwheel/client/socket.cljs","^P",24,"~:method-params",["^R",[[]]],"~:protocol-impl",null,"~:arglists-meta",["^R",[null,null]],"^N",1,"~:variadic?",false,"^M",7,"~:ret-tag",["^;",[null,"~$any","~$clj-nil"]],"^O",7,"~:max-fixed-arity",0,"~:fn-var",true,"^Q",["^R",["^S",["^R",[[]]]]]],"~$message-history-atom",["^ ","^<","~$figwheel.client.socket/message-history-atom","^L","resources/public/js/out/figwheel/client/socket.cljs","^M",43,"^N",1,"^O",43,"^P",30,"^K",["^ ","^L","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","^M",43,"^N",10,"^O",43,"^P",30],"~:tag","~$cljs.core/Atom"],"~$socket-atom",["^ ","^<","~$figwheel.client.socket/socket-atom","^L","resources/public/js/out/figwheel/client/socket.cljs","^M",45,"^N",1,"^O",45,"^P",21,"^K",["^ ","^L","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","^M",45,"^N",10,"^O",45,"^P",21],"^14","^15"],"~$send!",["^ ","^J",null,"^K",["^ ","^L","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","^M",47,"^N",7,"^O",47,"^P",12,"^Q",["^R",["^S",["^R",[["~$msg"]]]]],"~:doc","Send a end message to the server."],"^<","~$figwheel.client.socket/send!","^L","resources/public/js/out/figwheel/client/socket.cljs","^P",12,"^U",["^R",[["^19"]]],"^V",null,"^W",["^R",[null,null]],"^N",1,"^X",false,"^M",47,"^Y",["^;",["^Z","^["]],"^O",47,"^10",1,"^11",true,"^Q",["^R",["^S",["^R",[["^19"]]]]],"^1:","Send a end message to the server."],"~$close!",["^ ","^J",null,"^K",["^ ","^L","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","^M",53,"^N",7,"^O",53,"^P",13,"^Q",["^R",["^S",["^R",[[]]]]]],"^<","~$figwheel.client.socket/close!","^L","resources/public/js/out/figwheel/client/socket.cljs","^P",13,"^U",["^R",[[]]],"^V",null,"^W",["^R",[null,null]],"^N",1,"^X",false,"^M",53,"^Y","^Z","^O",53,"^10",0,"^11",true,"^Q",["^R",["^S",["^R",[[]]]]]],"~$handle-incoming-message",["^ ","^J",null,"^K",["^ ","^L","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","^M",57,"^N",7,"^O",57,"^P",30,"^Q",["^R",["^S",["^R",[["^19"]]]]]],"^<","~$figwheel.client.socket/handle-incoming-message","^L","resources/public/js/out/figwheel/client/socket.cljs","^P",30,"^U",["^R",[["^19"]]],"^V",null,"^W",["^R",[null,null]],"^N",1,"^X",false,"^M",57,"^Y",["^;",[null,"~$boolean","^Z"]],"^O",57,"^10",1,"^11",true,"^Q",["^R",["^S",["^R",[["^19"]]]]]],"~$open",["^ ","^J",null,"^K",["^ ","^L","/Users/sfistak/Code/clojure/learn-numbers/resources/public/js/out/figwheel/client/socket.cljs","^M",66,"^N",7,"^O",66,"^P",11,"^Q",["^R",["^S",["^R",[[["^ ","~:keys",["~$retry-count","~$retried-count","~$websocket-url","~$build-id"],"~:as","~$opts"]]]]]]],"^<","~$figwheel.client.socket/open","^L","resources/public/js/out/figwheel/client/socket.cljs","^P",11,"^U",["^R",[["~$p__32422"]]],"^V",null,"^W",["^R",[null,null]],"^N",1,"^X",false,"^M",66,"^Y",["^;",["~$WebSocket","^Z"]],"^O",66,"^10",1,"^11",true,"^Q",["^R",["^S",["^R",[[["^ ","^1B",["^1C","^1D","^1E","^1F"],"^1G","^1H"]]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^B","^C","^C","^C","^D","^D"],"~:cljs.analyzer/constants",["^ ","~:seen",["^;",["~:ping","~:retried-count","~:else","~:ns","^1>","^<","^1?","^L","^P","~:debug","^N","~:build-id","^M","^19","~:websocket-url","^O","~:msg-name","^Q","^=","^1:","~:retry-count","~:test"]],"~:order",["^1R","^1W","^1P","^1X","^1Q","^1V","^1U","^1T","^1?","^1S","^<","^L","^P","^N","^M","^O","^Q","^1:","^1Y","^=","^1>","^19"]],"^1:",null] -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters/budgeting.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.formatters.budgeting 2 | (:require-macros [devtools.oops :refer [oget oset ocall]]) 3 | (:require [devtools.formatters.templating :refer [render-markup]] 4 | [devtools.formatters.state :refer [get-depth-budget set-depth-budget]] 5 | [devtools.formatters.helpers :refer [pref]] 6 | [devtools.formatters.markup :refer []])) 7 | 8 | ; This functionality provides a workaround to issue #22 (https://github.com/binaryage/cljs-devtools/issues/22). 9 | ; The idea is to track hierarchy depth for json-ml(s) we are generating. 10 | ; If we are about to cross the depth limit hardcoded in WebKit, 11 | ; instead we render simple expandable placeholders which resume full rendering in their bodies (when expanded by user). 12 | ; Note that this technique has some quirks, it may break styling in some pathological cases. 13 | 14 | ; we need to reserve some depth levels for our expander symbol markup 15 | (def header-expander-depth-cost 2) 16 | 17 | ; -- tracking over-budget values ------------------------------------------------------------------------------------------- 18 | 19 | ; note: phantomjs does not have WeakSet, so we have to emulate it when testing 20 | (def over-budget-values (if (exists? js/WeakSet) (js/WeakSet.) (volatile! #{}))) 21 | 22 | (defn add-over-budget-value! [value] 23 | (if (volatile? over-budget-values) 24 | (vreset! over-budget-values (conj @over-budget-values value)) 25 | (ocall over-budget-values "add" value))) 26 | 27 | (defn delete-over-budget-value! [value] 28 | (if (volatile? over-budget-values) 29 | (vreset! over-budget-values (disj @over-budget-values value)) 30 | (ocall over-budget-values "delete" value))) 31 | 32 | (defn has-over-budget-value? [value] 33 | (if (volatile? over-budget-values) 34 | (contains? @over-budget-values value) 35 | (ocall over-budget-values "has" value))) 36 | 37 | ; -- depth budget accounting ------------------------------------------------------------------------------------------------ 38 | 39 | (defn object-reference? [json-ml] 40 | (= (first json-ml) "object")) 41 | 42 | (defn determine-depth [json-ml] 43 | (if (array? json-ml) 44 | (inc (apply max (map determine-depth json-ml))) 45 | 0)) 46 | 47 | (defn has-any-object-reference? [json-ml] 48 | (if (array? json-ml) 49 | (if (object-reference? json-ml) 50 | true 51 | (some has-any-object-reference? json-ml)))) 52 | 53 | (defn transfer-remaining-depth-budget! [object-reference depth-budget] 54 | {:pre [(not (neg? depth-budget))]} 55 | (let [data (second object-reference) 56 | _ (assert (object? data)) 57 | config (oget data "config")] 58 | (oset data ["config"] (set-depth-budget config depth-budget)))) 59 | 60 | (defn distribute-budget! [json-ml depth-budget] 61 | {:pre [(not (neg? depth-budget))]} 62 | (if (array? json-ml) 63 | (let [new-depth-budget (dec depth-budget)] 64 | (if (object-reference? json-ml) 65 | (transfer-remaining-depth-budget! json-ml new-depth-budget) 66 | (doseq [item json-ml] 67 | (distribute-budget! item new-depth-budget))))) 68 | json-ml) 69 | 70 | ; -- api -------------------------------------------------------------------------------------------------------------------- 71 | 72 | (defn was-over-budget?! [value] 73 | (when (has-over-budget-value? value) 74 | (delete-over-budget-value! value) 75 | true)) 76 | 77 | (defn alter-json-ml-to-fit-in-remaining-budget! [value json-ml] 78 | (if-let [initial-hierarchy-depth-budget (pref :initial-hierarchy-depth-budget)] ; this is hardcoded in InjectedScriptSource.js in WebKit, look for maxCustomPreviewRecursionDepth 79 | (let [remaining-depth-budget (or (get-depth-budget) (dec initial-hierarchy-depth-budget)) 80 | depth (determine-depth json-ml) 81 | final? (not (has-any-object-reference? json-ml)) 82 | needed-depth (if final? depth (+ depth header-expander-depth-cost))] 83 | (if (>= remaining-depth-budget needed-depth) 84 | (distribute-budget! json-ml remaining-depth-budget) 85 | (let [expander-ml (render-markup ( value))] 86 | (add-over-budget-value! value) ; we need to record over-budget values to for later was-over-budget?! check, see has-body* in formatters.core 87 | expander-ml))) 88 | json-ml)) 89 | -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters/budgeting.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/formatters\/budgeting.js","sources":["budgeting.cljs?rel=1620066998436"],"lineCount":182,"mappings":"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","names":["devtools.formatters.budgeting\/header-expander-depth-cost","devtools.formatters.budgeting\/over-budget-values","js\/WeakSet","cljs.core\/volatile!","devtools.formatters.budgeting\/add-over-budget-value!","value","cljs.core\/volatile?","cljs.core\/vreset!","cljs.core\/deref","cljs.core\/conj","o__32841__auto__","devtools.formatters.budgeting\/delete-over-budget-value!","cljs.core\/disj","devtools.formatters.budgeting\/has-over-budget-value?","cljs.core\/contains?","devtools.formatters.budgeting\/object-reference?","json-ml","cljs.core\/=","cljs.core\/first","devtools.formatters.budgeting\/determine-depth","cljs.core\/array?","cljs.core\/apply","cljs.core\/max","cljs.core\/map","devtools.formatters.budgeting\/has-any-object-reference?","cljs.core\/some","js\/Error","devtools.formatters.budgeting\/transfer-remaining-depth-budget!","object-reference","depth-budget","data","cljs.core\/second","_","cljs.core\/object?","config","G__34885","target__32846__auto__","devtools.formatters.state\/set-depth-budget","devtools.formatters.budgeting\/distribute-budget!","new-depth-budget","seq__34886","cljs.core\/seq","chunk__34887","count__34888","i__34889","cljs.core\/-nth","temp__5735__auto__","cljs.core\/chunked-seq?","c__4550__auto__","cljs.core\/chunk-first","cljs.core\/chunk-rest","cljs.core\/count","cljs.core\/next","item","devtools.formatters.budgeting\/was-over-budget?!","devtools.formatters.budgeting\/alter-json-ml-to-fit-in-remaining-budget!","temp__5733__auto__","initial-hierarchy-depth-budget","devtools.formatters.helpers\/pref","remaining-depth-budget","or__4131__auto__","devtools.formatters.state\/get-depth-budget","depth","final?","cljs.core\/not","needed-depth","expander-ml","devtools.formatters.templating\/render-markup","devtools.formatters.markup\/"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.formatters 2 | (:require-macros [devtools.oops :refer [unchecked-aget unchecked-aset]]) 3 | (:require [goog.labs.userAgent.browser :as ua] 4 | [devtools.prefs :as prefs] 5 | [devtools.util :refer [get-formatters-safe set-formatters-safe! in-node-context?]] 6 | [devtools.context :as context] 7 | [devtools.formatters.core :refer [header-api-call has-body-api-call body-api-call]])) 8 | 9 | (def ^:dynamic *installed* false) 10 | (def ^:dynamic *sanitizer-enabled* true) 11 | (def ^:dynamic *monitor-enabled* false) 12 | 13 | (def obsolete-formatter-key "devtoolsFormatter") 14 | 15 | (defn ^:dynamic available? [] 16 | (or (in-node-context?) ; node.js or Chrome 47+ 17 | (and (ua/isChrome) (ua/isVersionOrHigher 47)))) 18 | 19 | (deftype CLJSDevtoolsFormatter []) 20 | 21 | ; devtools.debug namespace may not be present => no debugging 22 | (defn- find-fn-in-debug-ns [fn-name] 23 | (try 24 | (unchecked-aget (context/get-root) "devtools" "debug" fn-name) 25 | (catch :default _ 26 | nil))) 27 | 28 | (defn- monitor-api-call-if-avail [name api-call args] 29 | (if-let [monitor-api-call (find-fn-in-debug-ns "monitor_api_call")] 30 | (monitor-api-call name api-call args) 31 | (apply api-call args))) 32 | 33 | (defn- log-exception-if-avail [& args] 34 | (if-let [log-exception (find-fn-in-debug-ns "log_exception")] 35 | (apply log-exception args))) 36 | 37 | ; monitors api calls in a separate debug console if debug namespace is available 38 | (defn- monitor-api-calls [name api-call] 39 | (fn [& args] 40 | (if-not *monitor-enabled* 41 | (apply api-call args) 42 | (monitor-api-call-if-avail name api-call args)))) 43 | 44 | ; wraps our api calls in a try-catch block to prevent leaking of exceptions in case something went wrong 45 | (defn- sanitize [name api-call] 46 | (fn [& args] 47 | (if-not *sanitizer-enabled* 48 | (apply api-call args) ; raw API call 49 | (try 50 | (apply api-call args) ; wrapped API call 51 | (catch :default e 52 | (log-exception-if-avail (str name ": " e)) 53 | nil))))) 54 | 55 | (defn- build-cljs-formatter [] 56 | (let [wrap (fn [name api-call] 57 | (let [monitor (partial monitor-api-calls name) 58 | sanitizer (partial sanitize name)] 59 | ((comp monitor sanitizer) api-call) 60 | api-call)) 61 | formatter (CLJSDevtoolsFormatter.) 62 | define! (fn [name fn] 63 | (unchecked-aset formatter name (wrap name fn)))] 64 | (define! "header" header-api-call) 65 | (define! "hasBody" has-body-api-call) 66 | (define! "body" body-api-call) 67 | formatter)) 68 | 69 | (defn- is-ours? [o] 70 | (instance? CLJSDevtoolsFormatter o)) 71 | 72 | (defn- present? [] 73 | (let [formatters (get-formatters-safe)] 74 | (boolean (some is-ours? formatters)))) 75 | 76 | (defn- install-our-formatter! [formatter] 77 | (let [formatters (.slice (get-formatters-safe))] ; slice effectively duplicates the array 78 | (.push formatters formatter) ; acting on duplicated array 79 | (set-formatters-safe! formatters) 80 | (if (prefs/pref :legacy-formatter) 81 | (unchecked-aset (context/get-root) obsolete-formatter-key formatter)))) 82 | 83 | (defn- uninstall-our-formatters! [] 84 | (let [new-formatters (remove is-ours? (vec (get-formatters-safe))) 85 | new-formatters-js (if (empty? new-formatters) nil (into-array new-formatters))] 86 | (set-formatters-safe! new-formatters-js))) 87 | 88 | ; -- installation ----------------------------------------------------------------------------------------------------------- 89 | 90 | (defn installed? [] 91 | *installed*) 92 | 93 | (defn install! [] 94 | (when-not *installed* 95 | (set! *installed* true) 96 | (install-our-formatter! (build-cljs-formatter)) 97 | true)) 98 | 99 | (defn uninstall! [] 100 | (when *installed* 101 | (set! *installed* false) 102 | (uninstall-our-formatters!))) 103 | -------------------------------------------------------------------------------- /resources/public/js/out/reagent/impl/batching.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/reagent\/impl\/batching.js","sources":["batching.cljs?rel=1620066995083"],"lineCount":270,"mappings":"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","names":["js\/reagent","js\/reagent.impl","js\/reagent.impl.batching","js\/reagent.impl.batching.mount-count","reagent.impl.batching\/mount-count","reagent.impl.batching\/next-mount-count","reagent.impl.batching\/fake-raf","f","js\/setTimeout","reagent.impl.batching\/next-tick","reagent.impl.util\/is-client","w","js\/window","or__4131__auto__","reagent.impl.batching\/compare-mount-order","c1","c2","reagent.impl.batching\/run-queue","a","n__4607__auto__","i","c","js\/reagent.impl.batching.ratom-flush","reagent.impl.batching\/ratom-flush","reagent.impl.batching\/run-funs","fs","reagent.impl.batching\/enqueue","queue","js\/Error","this__4374__auto__","writer__4375__auto__","opt__4376__auto__","cljs.core\/-write","reagent.impl.batching\/RenderQueue","reagent.impl.batching\/->RenderQueue","scheduled?","this","temp__5739__auto__","js\/reagent.impl.batching.render-queue","reagent.impl.batching\/render-queue","reagent.impl.batching\/flush","reagent.impl.batching\/flush-after-render","reagent.impl.batching\/queue-render","reagent.impl.batching\/mark-rendered","reagent.impl.batching\/do-before-flush","reagent.impl.batching\/do-after-render","reagent.impl.batching\/schedule"]} -------------------------------------------------------------------------------- /resources/public/js/out/learn_numbers/core.cljs.cache.json: -------------------------------------------------------------------------------- 1 | ["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$window",["^ ","~$speechSynthesis",["^ ","~$speak",["^ "]]],"~$SpeechSynthesisUtterance",["^ "],"~$document",["^ ","~$getElementById",["^ "]]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$learn-numbers.core","~:imports",null,"~:requires",["^ ","~$reagent","~$reagent.core","^A","^A","~$rd","~$reagent.dom","^C","^C"],"~:cljs.spec/speced-vars",[],"~:uses",["^ ","~$atom","^A"],"~:defs",["^ ","~$speak-it",["^ ","~:protocol-inline",null,"~:meta",["^ ","~:file","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","~:line",17,"~:column",7,"~:end-line",17,"~:end-column",15,"~:arglists",["~#list",["~$quote",["^Q",[["~$lang"]]]]],"~:doc","Call the google translate with language and value of the atom"],"^<","~$learn-numbers.core/speak-it","^K","src/learn_numbers/core.cljs","^O",15,"~:method-params",["^Q",[["^S"]]],"~:protocol-impl",null,"~:arglists-meta",["^Q",[null,null]],"^M",1,"~:variadic?",false,"^L",17,"~:ret-tag","~$js","^N",17,"~:max-fixed-arity",1,"~:fn-var",true,"^P",["^Q",["^R",["^Q",[["^S"]]]]],"^T","Call the google translate with language and value of the atom"],"~$change-me",["^ ","^I",null,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",25,"^M",7,"^N",25,"^O",16,"^P",["^Q",["^R",["^Q",[[]]]]]],"^<","~$learn-numbers.core/change-me","^K","src/learn_numbers/core.cljs","^O",16,"^V",["^Q",[[]]],"^W",null,"^X",["^Q",[null,null]],"^M",1,"^Y",false,"^L",25,"^Z","~$any","^N",25,"^10",0,"^11",true,"^P",["^Q",["^R",["^Q",[[]]]]]],"~$number",["^ ","^<","~$learn-numbers.core/number","^K","src/learn_numbers/core.cljs","^L",8,"^M",1,"^N",8,"^O",16,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",8,"^M",10,"^N",8,"^O",16],"~:tag","~$reagent.ratom/RAtom"],"~$flag-element",["^ ","^I",null,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",28,"^M",7,"^N",28,"^O",19,"^P",["^Q",["^R",["^Q",[["^S"]]]]],"^T","render the flag element"],"^<","~$learn-numbers.core/flag-element","^K","src/learn_numbers/core.cljs","^O",19,"^V",["^Q",[["^S"]]],"^W",null,"^X",["^Q",[null,null]],"^M",1,"^Y",false,"^L",28,"^Z","~$cljs.core/IVector","^N",28,"^10",1,"^11",true,"^P",["^Q",["^R",["^Q",[["^S"]]]]],"^T","render the flag element"],"~$lang-to-country",["^ ","^<","~$learn-numbers.core/lang-to-country","^K","src/learn_numbers/core.cljs","^L",10,"^M",1,"^N",10,"^O",21,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",10,"^M",6,"^N",10,"^O",21],"^17","~$cljs.core/IMap"],"~$msg",["^ ","^<","~$learn-numbers.core/msg","^K","src/learn_numbers/core.cljs","^L",21,"^M",5,"^N",21,"^O",13,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",21,"^M",10,"^N",21,"^O",13],"^17","~$js/SpeechSynthesisUtterance"],"~$filename",["^ ","^<","~$learn-numbers.core/filename","^K","src/learn_numbers/core.cljs","^L",31,"^M",3,"^N",31,"^O",16,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",31,"^M",8,"^N",31,"^O",16],"^17","~$string"],"~$app-container",["^ ","^I",null,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",40,"^M",7,"^N",40,"^O",20,"^P",["^Q",["^R",["^Q",[[]]]]]],"^<","~$learn-numbers.core/app-container","^K","src/learn_numbers/core.cljs","^O",20,"^V",["^Q",[[]]],"^W",null,"^X",["^Q",[null,null]],"^M",1,"^Y",false,"^L",40,"^Z","^1;","^N",40,"^10",0,"^11",true,"^P",["^Q",["^R",["^Q",[[]]]]]],"~$on-js-reload",["^ ","^I",null,"^J",["^ ","^K","/Users/sfistak/Code/clojure/learn-numbers/src/learn_numbers/core.cljs","^L",70,"^M",7,"^N",70,"^O",19,"^P",["^Q",["^R",["^Q",[[]]]]]],"^<","~$learn-numbers.core/on-js-reload","^K","src/learn_numbers/core.cljs","^O",19,"^V",["^Q",[[]]],"^W",null,"^X",["^Q",[null,null]],"^M",1,"^Y",false,"^L",70,"^Z","~$clj-nil","^N",70,"^10",0,"^11",true,"^P",["^Q",["^R",["^Q",[[]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",["^ ","^@","^A","^A","^A"],"~:cljs.analyzer/constants",["^ ","~:seen",["^;",["~:div.columns","~:div.section","~:font-size","~:h1.has-text-white","~:alt","~:value","~:width","~:type","~:src","~:on-click","~:div.column.has-background-danger-dark.has-text-centered","~:style","~:div.column","~:div.container","~:id","~:class","~:padding","~:div.buttons","~:br","~:h1.title","~:span.has-text-white.has-background-primary-dark","~:audio","~:input","~:img","~:div.column.has-text-centered","~:height"]],"~:order",["^26","^22","^29","^1V","^1T","^2;","^1W","^1R","^1O","^1[","^1N","^2:","^25","^24","^1X","^1Q","^1Y","^1P","^1Z","^23","^28","^1U","^21","^1S","^27","^20"]],"^T",null] -------------------------------------------------------------------------------- /resources/public/js/out/devtools/defaults.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/defaults.js","sources":["defaults.cljs?rel=1620066997435"],"lineCount":17,"mappings":";AAAA;;AAIA,AAAKA,mCAAe,KAAAC,gBAAA;AAAA,AAAA,0FAAA,kEAAA,uDAAA;GAAA;AACpB,AAAKC,qCAAiB,KAAAD,gBAAA;AAAA,AAAA,0FAAA;GAAA;AACtB,AAAKE,mCAAe,KAAAF,gBAAA;AAAA,AAAA,kDAAA,kDAAA,AAAAG,4DAAA,4DAAA,AAAAA,9FAAkBJ,wHACAE;GADlB;AAGpB,AAAKG,2BACH,KAAAJ,gBAAA;AAAA,AAAA,+CAAA,sFAAA,iGAAA,sFAAA,qEAAA,gFAAA,gEAAA,oGAAA,yFAAA,4FAAA,6EAAA,yGAAA,kFAAA,sFAAA,6FAAA,6FAAA,mFAAA,gFAAA,2FAAA,sFAAA,mFAAA,yEAAA,8FAAA,iEAAA,2EAAA,wEAAA,mEAAA,sEAAA,qEAAA,+EAAA,wEAAA,iHAAA,0FAAA,uDAAA,0EAAA,wFAAA,uEAAA,4DAAA,uFAAA,+DAAA,qFAAA,oFAAA,mHAAA,qFAAA,8DAAA,mEAAA,+EAAA,iGAAA,4DAAA,qEAAA,iFAAA,iGAAA,kFAAA,mEAAA,yGAAA,yEAAA,iGAAA,wEAAA,wEAAA,iDAAA,gGAAA,gDAAA,+EAAA,0EAAA,oFAAA,yFAAA,2EAAA,0EAAA,kEAAA,iEAAA,wFAAA,6EAAA,8FAAA,wFAAA,kFAAA,kDAAA,uFAAA,oEAAA,0EAAA,8EAAA,uFAAA,kEAAA,0FAAA,8EAAA,mEAAA,iEAAA,8EAAA,2EAAA,iFAAA,qEAAA,kDAAA,0GAAA,+DAAA,8EAAA,qFAAA,+EAAA,yFAAA,iFAAA,oGAAA,wHAAA,oEAAA,iEAAA,6EAAA,oEAAA,4GAAA,kJAAA,iEAAA,kEAAA,+EAAA,mEAAA,4DAAA,qFAAA,uEAAA,kEAAA,iFAAA,wFAAA,mDAAA,yEAAA,gFAAA,kEAAA,iEAAA,kFAAA,oFAAA,kEAAA,0FAAA,+EAAA,oEAAA,uFAAA,uEAAA,mHAAA,uEAAA,mGAAA,2FAAA,0FAAA,iGAAA,gDAAA,yGAAA,qGAAA,kFAAA,8FAAA,yDAAA,oFAAA,6EAAA,qFAAA,0EAAA,+FAAA,6DAAA,8GAAA,gFAAA,mGAAA,iGAAA,mFAAA,qEAAA,8EAAA,sFAAA,iGAAA,iEAAA,uIAAA,mFAAA,iEAAA,gFAAA,0EAAA,oFAAA,kFAAA,4DAAA,kEAAA,qFAAA,8FAAA,6DAAA,kFAAA,6FAAA,6EAAA,2EAAA,8GAAA,0EAAA,gFAAA,8EAAA,2EAAA,4EAAA,oGAAA,uFAAA,sFAAA,yEAAA,wGAAA,8EAAA,+EAAA,0GAAA,wEAAA,gHAAA,iGAAA,qEAAA,2EAAA,kFAAA,iFAAA,mEAAA,4EAAA,yFAAA,+EAAA,8EAAA,mFAAA,4EAAA,qGAAA,iGAAA,mFAAA,0FAAA,qHAAA,+EAAA,0EAAA,kFAAA,2EAAA,qFAAA,mFAAA,kFAAA,0DAAA,oFAAA,8FAAA,wFAAA,uEAAA,wFAAA,qDAAA,4JAAA,MAAA,6BAAA,mFAAA,qDAAA,2HAAA,mFAAA,qDAAA,8cAAA,GAAA,kBAAA,mFAAA,qDAAA,+FAAA,GAAA,MAAA,yCAAA,4pCAAA,mFAAA,gDAAA,4GAAA,mFAAA,qDAAA,6EAAA,KAAA,mFAAA,qDAAA,kFAAA,mFAAA,qDAAA,qGAAA,KAAA,mFAAA,qDAAA,sHAAA,wBAAA,aAAA,yDAAA,mFAAA,qDAAA,mLAAA,mFAAA,qDAAA,0EAAA,mFAAA,qDAAA,2MAAA,SAAA,KAAA,mFAAA,qDAAA,yEAAA,MAAA,mFAAA,qDAAA,4FAAA,KAAA,mFAAA,qDAAA,yEAAA,mFAAA,qDAAA,kFAAA,IAAA,WAAA,0eAAA,mFAAA,uDAAA,sHAAA,kDAAA,mFAAA,qDAAA,kFAAA,IAAA,iRAAA,KAAA,mFAAA,qDAAA,4FAAA,KAAA,mFAAA,qDAAA,2HAAA,mFAAA,qDAAA,upBAAA,MAAA,KAAA,sBAAA,KAAA,oPAAA,SAAA,qMAAA,mFAAA,qDAAA,+EAAA,mFAAA,qDAAA,qwBAAA,mFAAA,qDAAA,yFAAA,mFAAA,gDAAA,8IAAA,KAAA,oVAAA,MAAA,mIAAA,IAAA,mFAAA,iDAAA,4NAAA,SAAA,mFAAA,qDAAA,4EAAA,mFAAA,qDAAA,+jBAAA,IAAA,8eAAA,mFAAA,qDAAA,0KAAA,KAAA,mFAAA,qDAAA,0EAAA,mFAAA,qDAAA,kGAAA,mFAAA,qDAAA,8GAAA,mFAAA,qDAAA,4IAAA,MAAA,mFAAA,qDAAA,oFAAA,KAAA,SAAA,mFAAA,qDAAA,8EAAA,mFAAA,qDAAA,+FAAA,mFAAA,qDAAA,+HAAA,mFAAA,qDAAA,iJAAA,mFAAA,qDAAA,61BAAA,uHAAA,8CAAA,uBAAA,mFAAA,qDAAA,yGAAA,sDAAA,mFAAA,kDAAA,2FAAA,mFAAA,qDAAA,wHAAA,mFAAA,gDAAA,yGAAA,mFAAA,qDAAA,8JAAA,mFAAA,iDAAA,4FAAA,mJAAA,KAAA,IAAA,KAAA,4IAAA,IAAA,mFAAA,qDAAA,yUAAA,GAAA,KAAA,mFAAA,qDAAA,msCAAA,mFAAA,qDAAA,+EAAA,mFAAA,qDAAA,+FAAA,mFAAA,qDAAA,yGAAA,mFAAA,qDAAA,yEAAA,mFAAA,qDAAA,yIAAA,kFAAA,wBAAA,8BAAA,sBAAA,gCAAA,sBAAA,uCAAA,wBAAA,mCAAA,wBAAA,2BAAA,2BAAA,oCAAA,iCAAA,sCAAA,0BAAA,oCAAA,yBAAA,uBAAA,sBAAA,4BAAA,wBAAA,sBAAA,wBAAA,kCAAA,mCAAA,0BAAA,yBAAA,yBAAA,+BAAA,mCAAA,mCAAA,yBAAA,4BAAA,6BAAA,olBAAA,mFAAA,gDAAA,oHAAA,mFAAA,qDAAA,8GAAA,KAAA,mFAAA,qDAAA,kGAAA,mFAAA,gDAAA,4HAAA,KAAA,GAAA,mFAAA,qDAAA,sHAAA,mFAAA,qDAAA,qFAAA,mFAAA,qDAAA,8HAAA,IAAA,mFAAA,qDAAA,kFAAA,2FAAA,SAAA,KAAA,mFAAA,qDAAA,yEAAA,MAAA,mFAAA,qDAAA,2FAAA,mFAAA,qDAAA,0FAAA,2KAAA,mFAAA,qDAAA,gHAAA,GAAA,uEAAA,mFAAA,qDAAA,gIAAA,mFAAA,iDAAA,6FAAA,mFAAA,qDAAA,sFAAA,+FAAA,mFAAA,qDAAA,qIAAA,mFAAA,qDAAA,4lBAAA,IAAA,mFAAA,qDAAA,qYAAA,vk1BAyCuD,CAAA,OAAA,k5KA+CA,mFAAA,mFAAA,0FAAA,rCAAM,t0KACN,mFAAA,mFAAA,0FAAA,rCAAM,o\/QAMN,mFAAA,mFAAA,qDAAA,mGAAA,0+PAeA,mFAAA,mFAAA,kEAAA,bAAM,8EAAkB,mFAAA,mFAAA,qDAAA,gGAAA,y8QAExB,mFAAA,mFAAA,kEAAA,bAAM,xrZAIN,mFAAA,mFAAA,qDAAA,t7cACA,mFAAA,mFAAA,qDAAA,i5cACA,mFAAA,mFAAA,qDAAA,v2bACA,mFAAA,mFAAA,qDAAA,g5TAKA,mFAAA,mFAAA,qDAAA,8PAAA,vuUACA,mFAAA,mFAAA,qDAAA,8PAAA,o9MACA,mFAAA,mFAAA,qDAAA,8PAAA,25DACA,mFAAA,mFAAA,qDAAA,8PAAA,u2dACA,mFAAA,mFAAA,qDAAA,gQAAA,rnrBACA,mFAAA,mFAAA,qDAAA,8PAAA,+kDACA,mFAAA,mFAAA,qDAAA,8PAAA,mgWACA,mFAAA,mFAAA,qDAAA,8PAAA,mxEACA,mFAAA,mFAAA,qDAAA,4PAAA,hvdAsFA,1jIAIA,uriBACA,15hBAEA,k4bACA,t2bAMA,+lJACA,\/0PACA,k71BACA,1kYACA,hlEACA,u8CACA,59cACA,ytcACA,4tRAMA,gqEAEA,jyeAKA,8rXAGA,pwWACA,urMAEA,0kLACA,ttRACA,gobAEA,xntBACA,o7ZAEA,k9RAEA,rrmBAEA,uzBACA,8sNAEA,3rNACA,gqPACA,4cACA,1tLAGA,hlSAEA,6nFAEA,2mhBAEA,38oBACA,wtfACA,x+JAEA,23JAEA,i3CAEA,vtCAIA,9pTAEA,u6jBAGA,t\/sBAGA,mh0BAEA,vxFAGA,l9EAOA,9tlBACA,9EAEA,4ikBACA,7rSACA,\/uDAKA,v1DAKA,w9QAEA,wuRAEA,jkkBAGA,84CAWA,89QAMA,hnTAWA,+pMAOA;GAtXvD","names":["devtools.defaults\/known-features","cljs.core\/Delay","devtools.defaults\/default-features","devtools.defaults\/feature-groups","cljs.core\/deref","devtools.defaults\/config"]} -------------------------------------------------------------------------------- /resources/public/js/out/cljs/tools/reader/impl/commons.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/cljs\/tools\/reader\/impl\/commons.js","sources":["commons.cljs?rel=1620066998821"],"lineCount":193,"mappings":";AAQA;;;;;AAWA;;;uDAAA,vDAAeA,sHAEAC,OAAOC;AAFtB,AAGE,SAAI,AAACC,sDAASD,aACV,EAAK,EAAI,CAAA,QAAeA,aAAQ,CAAA,QAAgBA,eAC3C,AAACC,sDAAS,AAACC,mDAAUH;;AAEhC;;;;2CAAA,3CAAMI,8FAGHC,KAAiBC;AAHpB,AAIE,IAAOC,KAAG,AAACC,mDAAUF;;AAArB,AACE,GAAI,AAAUD,eAAKE;AACjB,eAAO,AAACC,mDAAUF;;;;AAClBC;;;;;AAEN;;;2CAAA,3CAAME,8FAEST;AAFf,AAGE;AAAA,AACE,GAAU,AAACU,sDAAS,AAACF,mDAAUR;AAA\/B;AAAA,AACE;;;;;AACJA;;AAEF,6CAAA,7CAAKW;AACL,+CAAA,\/CAAKC;AACL,+CAAA,\/CAAKC;AAEL,2CAAA,3CAAOC,8FACJC;AADH,AAEE,IAAMC,IAAE,AAACC,wBAAI,AAACC,4BAAQP,2CAAYI;AAAlC,AACE,GAAA,GAAQ,qBAAA,pBAAM,YAAA,ZAACC;AAAf;;AAEE,IAAeG,gBAAQ,CAAA,QAAgB,YAAA,ZAACH;IAClCI,IAAE,mCAAA,oGAAA,aAAA,mCAAA,oGAAA,aAAA,mCAAA,oGAAA,YAAA,mCAAA,uIAAA,AAAA,mFAAA,KAAA,3rBACC,GAAK,qBAAA,pBAAM,YAAA,ZAACJ,gHAAQ,YAAA,ZAACA,gCACrB,GAAK,qBAAA,pBAAM,YAAA,ZAACA,gHAAQ,YAAA,ZAACA,gCACrB,GAAK,qBAAA,pBAAM,YAAA,ZAACA,gHAAQ,YAAA,ZAACA,+BACrB,GAAK,qBAAA,pBAAM,YAAA,ZAACA,gHAAQ,YAAA,ZAACA,iBAAK,AAACK,SAAY,YAAA,ZAACL;;IAE3CM,IAAE,YAAA,ZAACF;AAPT,AAQE,GAAU,MAAA,LAAME;AAAhB;;AAAA,AACE,IAAMC,KAAG,AAACF,SAAYC,EAAE,YAAA,ZAACF;IACnBG,SAAG,EAAIJ,eAAQ,CAAA,OAAMI,IAAIA;AAD\/B,AAEE,oBAAU,AAACC,MAASD;AAApB;;AAAA,AACEA;;;;;AAEd,6CAAA,7CAAOE,kGACJV;AADH,AAEE,IAAMC,IAAE,AAACC,wBAAI,AAACC,4BAAQN,6CAAcG;IAC9BW,YAAU,YAAA,ZAACV;IACXW,cAAY,YAAA,ZAACX;IACbU,gBAAU,kBAAI,4BAAA,5BAACR,kCAAeQ,YAClB,mCAAA,nCAACE,yBAAKF,eACNA;AALlB,AAME,QAAG,SAAIA,TAAYL,0BAChB,SAAIM,TAAYN;;AAEvB,6CAAA,7CAAOQ,kGACJd;AADH,AAEE,IAAMC,IAAE,AAACC,wBAAI,AAACC,4BAAQL,6CAAcE;AAApC,AACE,GAAA,GAAQ,qBAAA,pBAAM,YAAA,ZAACC;AACb,OAACc,WAAc,YAAA,ZAACd;;AAChB,OAACc,WAAcf;;;AAErB,gDAAA,hDAAegB,wGAAUC,QAAQjB;AAAjC,AACE,IAAAkB,aAAc,AAACf,4BAAQc,QAAQjB;YAA\/B,AAAAmB,wBAAAD,WAAA,IAAA,\/CAAOE;AAAP,AACE,QAAYA,UAAMpB;;AAEtB,8CAAA,9CAAMqB,oGAAcrB;AAApB,AACE,GAAI,AAACgB,wDAASpB,2CAAYI;AACxB,OAACD,mDAAUC;;AACX,GAAI,AAACgB,wDAASlB,6CAAcE;AAC1B,OAACc,qDAAYd;;AACb,GAAM,AAACgB,wDAASnB,6CAAcG;AAA9B,AACE,OAACU,qDAAYV;;AADf;;;;;AAGN;;;8CAAA,9CAAMsB,oGAEHC;AAFH,AAGE,GAAU,EAAI,CAAA,OAAeA,YACf,AAAO,AAAA,UAAaA,qBACpB,AAAO,AAAA,WAAcA;AAFnC;;AAAA,AAGE,IAAMC,SAAO,cAAA,dAAUD;IACjBE,KAAG,kBAAA,2CAAA,3DAAM,UAAA,TAAMD,eACV,+BAAA,\/BAACX,yBAAKU,UAAQC;AAFzB,AAGE,GAAA,GAAQ,OAAA,NAAMC;AACZ,IAAMD,aAAO,UAAA,TAAKA;AAAlB,AACE,GAAU,CAAIA,eAAO,AAACE,0BAAMH;AAA5B;;AAAA,AACE,IAAMI,MAAI,AAACd,yBAAKU,MAAMC;AAAtB,AACE,GAAM,EAAK,GAAK,AAACrC,sDAAS,4BAAA,5BAACgC,wBAAIQ,iBACpB,GAAK,CAAA,OAAeA,YACpB,AAAQ,AAAA,UAAaF,mBACrB,EAAI,SAAA,RAAYE,kBACZ,CAAA,SAAO,YAAA,ZAAUA;AAJhC,AAAA,0FAKGF,GAAGE;;AALN;;;;AAMN,GAAM,EAAI,WAAA,VAAYJ,oBACZ,CAAA,SAAO,cAAA,dAAUA;AAD3B,AAAA,0FAAA,KAEOA;;AAFP;;;;;AAQR,AAAA,8CAAA,sDAAAK,pGAAMM;AAAN,AAAA,IAAAL,qBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,wBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,EAAA,CAAA,MAAA,AAAAH,4BAAA,AAAA,KAAAI,qBAAA,AAAAJ,yBAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,iFAAA,CAAA,UAAA,MAAAF;;;AAAA,AAAA,AAAA,mFAAA,nFAAME,8FACH3C,IAAMiD;AADT,AAEE,OAAC9C,mDAAUH;;;AAFb,AAAA,sEAAA,tEAAM2C;;AAAN;AAAA,AAAA,gEAAA,WAAAC,3EAAMD;AAAN,AAAA,IAAAE,WAAA,AAAAC,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;AAAA,AAAA,IAAAI,qBAAA;AAAA,AAAA,OAAAA,wDAAAH,SAAAD;;;AAAA,AAIA,iDAAA,jDAAMM,0GACHC;AADH,AAEE;mCAAKnD,IAAMiD;AAAX,AACE,OAACG,qDAAapD,IAAImD;;yBADfnD;IAAMiD;;;;EAAAA;;oCAANjD,IAAMiD;;;IAANjD;IAAMiD;0BAANjD,IAAMiD","names":["cljs.tools.reader.impl.commons\/number-literal?","reader","initch","cljs.tools.reader.impl.utils\/numeric?","cljs.tools.reader.reader-types\/peek-char","cljs.tools.reader.impl.commons\/read-past","pred","rdr","ch","cljs.tools.reader.reader-types\/read-char","cljs.tools.reader.impl.commons\/skip-line","cljs.tools.reader.impl.utils\/newline?","cljs.tools.reader.impl.commons\/int-pattern","cljs.tools.reader.impl.commons\/ratio-pattern","cljs.tools.reader.impl.commons\/float-pattern","cljs.tools.reader.impl.commons\/match-int","s","m","cljs.core\/vec","cljs.core\/re-find","negate?","a","js\/parseInt","n","bn","js\/isNaN","cljs.tools.reader.impl.commons\/match-ratio","numerator","denominator","cljs.core\/subs","cljs.tools.reader.impl.commons\/match-float","js\/parseFloat","cljs.tools.reader.impl.commons\/matches?","pattern","vec__35271","cljs.core\/nth","match","cljs.tools.reader.impl.commons\/match-number","cljs.tools.reader.impl.commons\/parse-symbol","token","ns-idx","ns","cljs.core\/count","sym","var_args","args__4736__auto__","len__4730__auto__","i__4731__auto__","argseq__4737__auto__","cljs.core\/IndexedSeq","cljs.tools.reader.impl.commons\/read-comment","seq35274","G__35275","cljs.core\/first","cljs.core\/next","self__4717__auto__","_","cljs.tools.reader.impl.commons\/throwing-reader","msg","cljs.tools.reader.impl.errors\/reader-error"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/devtools\/formatters.js","sources":["formatters.cljs?rel=1620066999330"],"lineCount":232,"mappings":"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","names":["devtools.formatters\/*installed*","devtools.formatters\/*sanitizer-enabled*","devtools.formatters\/*monitor-enabled*","devtools.formatters\/obsolete-formatter-key","devtools.formatters\/available?","or__4131__auto__","devtools.util\/in-node-context?","and__4120__auto__","goog.labs.userAgent.browser\/isChrome","goog.labs.userAgent.browser\/isVersionOrHigher","this__4374__auto__","writer__4375__auto__","opt__4376__auto__","cljs.core\/-write","devtools.formatters\/CLJSDevtoolsFormatter","devtools.formatters\/->CLJSDevtoolsFormatter","devtools.formatters\/find-fn-in-debug-ns","fn-name","e36098","devtools.context\/get-root","_","devtools.formatters\/monitor-api-call-if-avail","name","api-call","args","temp__5733__auto__","monitor-api-call","cljs.core\/apply","var_args","args__4736__auto__","len__4730__auto__","i__4731__auto__","argseq__4737__auto__","cljs.core\/IndexedSeq","devtools.formatters\/log-exception-if-avail","seq36099","self__4718__auto__","cljs.core\/seq","log-exception","devtools.formatters\/monitor-api-calls","devtools.formatters\/sanitize","e36106","e","devtools.formatters\/build-cljs-formatter","wrap","monitor","cljs.core\/partial","sanitizer","cljs.core\/comp","formatter","define!","fn","devtools.formatters.core\/header-api-call","devtools.formatters.core\/has-body-api-call","devtools.formatters.core\/body-api-call","devtools.formatters\/is-ours?","o","devtools.formatters\/present?","formatters","devtools.util\/get-formatters-safe","cljs.core\/boolean","cljs.core\/some","devtools.formatters\/install-our-formatter!","devtools.util\/set-formatters-safe!","devtools.prefs\/pref","devtools.formatters\/uninstall-our-formatters!","new-formatters","cljs.core\/remove","cljs.core\/vec","new-formatters-js","cljs.core\/empty?","cljs.core\/into-array","devtools.formatters\/installed?","devtools.formatters\/install!","devtools.formatters\/uninstall!"]} -------------------------------------------------------------------------------- /resources/public/js/out/devtools/formatters/core.cljs: -------------------------------------------------------------------------------- 1 | (ns devtools.formatters.core 2 | (:require-macros [devtools.oops :refer [safe-call]]) 3 | (:require [devtools.prefs :refer [pref]] 4 | [devtools.format :refer [IDevtoolsFormat]] 5 | [devtools.protocols :refer [IFormat]] 6 | [devtools.reporter :as reporter] 7 | [devtools.formatters.templating :refer [surrogate? render-markup get-surrogate-body]] 8 | [devtools.formatters.helpers :refer [cljs-value?]] 9 | [devtools.formatters.state :refer [prevent-recursion? *current-state* get-default-state update-current-state! 10 | reset-depth-limits]] 11 | [devtools.formatters.markup :refer [
]] 12 | [devtools.formatters.budgeting :refer [was-over-budget?! alter-json-ml-to-fit-in-remaining-budget!]])) 13 | 14 | ; -- RAW API ---------------------------------------------------------------------------------------------------------------- 15 | 16 | (defn want-value?* [value] 17 | (and (not (prevent-recursion?)) 18 | (or (cljs-value? value) (surrogate? value)))) 19 | 20 | (defn header* [value] 21 | (let [json-ml (cond 22 | (surrogate? value) (render-markup ( value)) 23 | (safe-call satisfies? false IDevtoolsFormat value) (devtools.format/-header value) 24 | (safe-call satisfies? false IFormat value) (devtools.protocols/-header value) 25 | :else (render-markup (
value)))] 26 | (alter-json-ml-to-fit-in-remaining-budget! value json-ml))) ; see issue #22 27 | 28 | (defn has-body* [value] 29 | ; note: body is emulated using surrogate references 30 | (if (was-over-budget?! value) ; see issue #22 31 | false ; see alter-json-ml-to-fit-in-remaining-budget!, in case we didn't fit into budget, a header-expander placeholder with body was added in place 32 | (boolean 33 | (cond 34 | (surrogate? value) (some? (get-surrogate-body value)) 35 | (safe-call satisfies? false IDevtoolsFormat value) (devtools.format/-has-body value) 36 | (safe-call satisfies? false IFormat value) (devtools.protocols/-has-body value) 37 | :else false)))) 38 | 39 | (defn body* [value] 40 | (update-current-state! reset-depth-limits) 41 | (cond 42 | (surrogate? value) (render-markup ( value)) 43 | (safe-call satisfies? false IDevtoolsFormat value) (devtools.format/-body value) 44 | (safe-call satisfies? false IFormat value) (devtools.protocols/-body value))) 45 | 46 | ; --------------------------------------------------------------------------------------------------------------------------- 47 | ; config-aware RAW API, see state management documentation state.cljs 48 | 49 | (defn config-wrapper [raw-fn] 50 | (fn [value config] 51 | (binding [*current-state* (or config (get-default-state))] 52 | (raw-fn value)))) 53 | 54 | (def want-value? (config-wrapper want-value?*)) 55 | (def header (config-wrapper header*)) 56 | (def has-body (config-wrapper has-body*)) 57 | (def body (config-wrapper body*)) 58 | 59 | ; -- API CALLS -------------------------------------------------------------------------------------------------------------- 60 | 61 | (defn wrap-with-exception-guard [f] 62 | (fn [& args] 63 | (try 64 | (apply f args) 65 | (catch :default e 66 | (reporter/report-internal-error! e "an exception was raised during value formatting") 67 | nil)))) 68 | 69 | (defn build-api-call [raw-fn pre-handler-key post-handler-key] 70 | "Wraps raw API call in a function which calls pre-handler and post-handler. 71 | 72 | pre-handler gets a chance to pre-process value before it is passed to cljs-devtools 73 | post-handler gets a chance to post-process value returned by cljs-devtools." 74 | (let [handler (fn [value config] 75 | (let [pre-handler (or (pref pre-handler-key) identity) 76 | post-handler (or (pref post-handler-key) identity) 77 | preprocessed-value (pre-handler value) 78 | result (if (want-value? preprocessed-value config) 79 | (raw-fn preprocessed-value config))] 80 | (post-handler result)))] 81 | (wrap-with-exception-guard handler))) 82 | 83 | (def header-api-call (build-api-call header :header-pre-handler :header-post-handler)) 84 | (def has-body-api-call (build-api-call has-body :has-body-pre-handler :has-body-post-handler)) 85 | (def body-api-call (build-api-call body :body-pre-handler :body-post-handler)) 86 | -------------------------------------------------------------------------------- /resources/public/js/out/cljs/core/async/impl/buffers.cljs: -------------------------------------------------------------------------------- 1 | ;; Copyright (c) Rich Hickey and contributors. All rights reserved. 2 | ;; The use and distribution terms for this software are covered by the 3 | ;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) 4 | ;; which can be found in the file epl-v10.html at the root of this distribution. 5 | ;; By using this software in any fashion, you are agreeing to be bound by 6 | ;; the terms of this license. 7 | ;; You must not remove this notice, or any other, from this software. 8 | 9 | (ns cljs.core.async.impl.buffers 10 | (:require [cljs.core.async.impl.protocols :as impl])) 11 | 12 | ;; ----------------------------------------------------------------------------- 13 | ;; DO NOT USE, this is internal buffer representation 14 | 15 | (defn acopy [src src-start dest dest-start len] 16 | (loop [cnt 0] 17 | (when (< cnt len) 18 | (aset dest 19 | (+ dest-start cnt) 20 | (aget src (+ src-start cnt))) 21 | (recur (inc cnt))))) 22 | 23 | (deftype RingBuffer [^:mutable head ^:mutable tail ^:mutable length ^:mutable arr] 24 | Object 25 | (pop [_] 26 | (when-not (zero? length) 27 | (let [x (aget arr tail)] 28 | (aset arr tail nil) 29 | (set! tail (js-mod (inc tail) (alength arr))) 30 | (set! length (dec length)) 31 | x))) 32 | 33 | (unshift [_ x] 34 | (aset arr head x) 35 | (set! head (js-mod (inc head) (alength arr))) 36 | (set! length (inc length)) 37 | nil) 38 | 39 | (unbounded-unshift [this x] 40 | (if (== (inc length) (alength arr)) 41 | (.resize this)) 42 | (.unshift this x)) 43 | 44 | ;; Doubles the size of the buffer while retaining all the existing values 45 | (resize 46 | [_] 47 | (let [new-arr-size (* (alength arr) 2) 48 | new-arr (make-array new-arr-size)] 49 | (cond 50 | (< tail head) 51 | (do (acopy arr tail new-arr 0 length) 52 | (set! tail 0) 53 | (set! head length) 54 | (set! arr new-arr)) 55 | 56 | (> tail head) 57 | (do (acopy arr tail new-arr 0 (- (alength arr) tail)) 58 | (acopy arr 0 new-arr (- (alength arr) tail) head) 59 | (set! tail 0) 60 | (set! head length) 61 | (set! arr new-arr)) 62 | 63 | (== tail head) 64 | (do (set! tail 0) 65 | (set! head 0) 66 | (set! arr new-arr))))) 67 | 68 | (cleanup [this keep?] 69 | (dotimes [x length] 70 | (let [v (.pop this)] 71 | (when ^boolean (keep? v) 72 | (.unshift this v)))))) 73 | 74 | (defn ring-buffer [n] 75 | (assert (> n 0) "Can't create a ring buffer of size 0") 76 | (RingBuffer. 0 0 0 (make-array n))) 77 | 78 | ;; ----------------------------------------------------------------------------- 79 | 80 | (deftype FixedBuffer [buf n] 81 | impl/Buffer 82 | (full? [this] 83 | (== (.-length buf) n)) 84 | (remove! [this] 85 | (.pop buf)) 86 | (add!* [this itm] 87 | (.unbounded-unshift buf itm) 88 | this) 89 | (close-buf! [this]) 90 | cljs.core/ICounted 91 | (-count [this] 92 | (.-length buf))) 93 | 94 | (defn fixed-buffer [n] 95 | (FixedBuffer. (ring-buffer n) n)) 96 | 97 | (deftype DroppingBuffer [buf n] 98 | impl/UnblockingBuffer 99 | impl/Buffer 100 | (full? [this] 101 | false) 102 | (remove! [this] 103 | (.pop buf)) 104 | (add!* [this itm] 105 | (when-not (== (.-length buf) n) 106 | (.unshift buf itm)) 107 | this) 108 | (close-buf! [this]) 109 | cljs.core/ICounted 110 | (-count [this] 111 | (.-length buf))) 112 | 113 | (defn dropping-buffer [n] 114 | (DroppingBuffer. (ring-buffer n) n)) 115 | 116 | (deftype SlidingBuffer [buf n] 117 | impl/UnblockingBuffer 118 | impl/Buffer 119 | (full? [this] 120 | false) 121 | (remove! [this] 122 | (.pop buf)) 123 | (add!* [this itm] 124 | (when (== (.-length buf) n) 125 | (impl/remove! this)) 126 | (.unshift buf itm) 127 | this) 128 | (close-buf! [this]) 129 | cljs.core/ICounted 130 | (-count [this] 131 | (.-length buf))) 132 | 133 | (defn sliding-buffer [n] 134 | (SlidingBuffer. (ring-buffer n) n)) 135 | 136 | (defonce ^:private NO-VAL (js/Object.)) 137 | (defn- undelivered? [val] 138 | (identical? NO-VAL val)) 139 | 140 | (deftype PromiseBuffer [^:mutable val] 141 | impl/UnblockingBuffer 142 | impl/Buffer 143 | (full? [_] 144 | false) 145 | (remove! [_] 146 | val) 147 | (add!* [this itm] 148 | (when (undelivered? val) 149 | (set! val itm)) 150 | this) 151 | (close-buf! [_] 152 | (when (undelivered? val) 153 | (set! val nil))) 154 | cljs.core/ICounted 155 | (-count [_] 156 | (if (undelivered? val) 0 1))) 157 | 158 | (defn promise-buffer [] 159 | (PromiseBuffer. NO-VAL)) 160 | -------------------------------------------------------------------------------- /resources/public/js/out/cider/nrepl/inlined_deps/suitable/v0v4v0/suitable/js_introspection.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"\/Users\/sfistak\/Code\/clojure\/learn-numbers\/resources\/public\/js\/out\/cider\/nrepl\/inlined_deps\/suitable\/v0v4v0\/suitable\/js_introspection.js","sources":["js_introspection.cljs?rel=1620068021199"],"lineCount":206,"mappings":";AAAA;;;;AAIA,AAAKA,8FACH,kBAAI,AAAA,+BAAmCC,QAErC,WAAKC;AAAL,AAAU,OAACC,iCAAoCD;GAE\/C,WAAKA;AAAL,AAAU,kGAEK,AAACG,wBAAI,WAAKC,\/FACV,yBAAA,zBAACE,\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","names":["cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection\/own-property-descriptors","js\/Object","obj","js\/Object.getOwnPropertyDescriptors","js\/Object.getOwnPropertyNames","cljs.core\/map","key","js\/Object.getOwnPropertyDescriptor","cljs.core\/into","cljs.core\/clj->js","cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection\/properties-by-prototype","protos","js\/Object.getPrototypeOf","cljs.core\/conj","var_args","G__46166","cider.nrepl.inlined-deps.suitable.v0v4v0.suitable.js-introspection\/property-names-and-types","js\/Error","js-obj","prefix","seen","cljs.core\/transient","iter__4523__auto__","s__46168","cljs.core\/LazySeq","temp__5735__auto__","cljs.core\/seq","xs__6292__auto__","vec__46173","cljs.core\/first","cljs.core\/nth","map__46176","cljs.core\/PROTOCOL_SENTINEL","cljs.core\/apply","cljs.core\/hash-map","cljs.core\/get","iterys__4519__auto__","s__46170","cljs.core\/chunked-seq?","c__4521__auto__","size__4522__auto__","cljs.core\/count","b__46172","cljs.core\/chunk-buffer","i__46171","cljs.core\/-nth","cljs.core\/chunk-append","cljs.core\/chunk-cons","cljs.core\/chunk","iter__46169","cljs.core\/chunk-rest","cljs.core\/cons","cljs.core\/rest","fs__4520__auto__","cljs.core\/concat","iter__46167","i","props","cljs.core\/map-indexed","cljs.core\/vector","cljs.core\/js-keys","cljs.core\/not","cljs.core\/empty?","clojure.string\/starts-with?","prop","goog.object\/get","cljs.core\/conj!","e46180","e46183","temp__5733__auto__","value","or__4131__auto__","cljs.core\/fn?","e","cljs.core\/chunk-first"]} --------------------------------------------------------------------------------