├── 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 | "