Working production build in docs subdirectory.
This commit is contained in:
parent
bb7be028e6
commit
a5204c66b9
|
@ -1,12 +1,8 @@
|
|||
var CLOSURE_UNCOMPILED_DEFINES = {};
|
||||
var CLOSURE_NO_DEPS = true;
|
||||
if(typeof goog == "undefined") document.write('<script src="js/compiled/out/goog/base.js"></script>');
|
||||
document.write('<script src="js/compiled/out/goog/deps.js"></script>');
|
||||
document.write('<script src="js/compiled/out/cljs_deps.js"></script>');
|
||||
if(typeof goog == "undefined") document.write('<script src="target/cljsbuild-compiler-1/goog/base.js"></script>');
|
||||
document.write('<script src="target/cljsbuild-compiler-1/goog/deps.js"></script>');
|
||||
document.write('<script src="target/cljsbuild-compiler-1/cljs_deps.js"></script>');
|
||||
document.write('<script>if (typeof goog == "undefined") console.warn("ClojureScript could not load :main, did you forget to specify :asset-path?");</script>');
|
||||
document.write('<script>goog.require("devtools.preload");</script>');
|
||||
document.write('<script>goog.require("figwheel.connect");</script>');
|
||||
document.write('<script>goog.require("process.env");</script>');
|
||||
document.write('<script>goog.require("geocsv_lite.core");</script>');
|
||||
|
||||
document.write("<script>figwheel.connect.start();</script>");
|
|
@ -1 +0,0 @@
|
|||
-1623538622
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$setTimeout",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$cljs.core.async.impl.dispatch","~:imports",null,"~:requires",["^ ","~$buffers","~$cljs.core.async.impl.buffers","^<","^<","~$goog.async.nextTick","^="],"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$tasks",["^ ","^7","~$cljs.core.async.impl.dispatch/tasks","~:file","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","~:line",5,"~:column",1,"~:end-line",5,"~:end-column",11,"~:meta",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",5,"^E",6,"^F",5,"^G",11],"~:tag","~$cljs.core.async.impl.buffers/RingBuffer"],"~$running?",["^ ","^7","~$cljs.core.async.impl.dispatch/running?","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",6,"^E",1,"^F",6,"^G",14,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",6,"^E",6,"^F",6,"^G",14],"^I","~$boolean"],"~$queued?",["^ ","^7","~$cljs.core.async.impl.dispatch/queued?","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",7,"^E",1,"^F",7,"^G",13,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",7,"^E",6,"^F",7,"^G",13],"^I","^M"],"~$TASK_BATCH_SIZE",["^ ","^7","~$cljs.core.async.impl.dispatch/TASK_BATCH_SIZE","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",9,"^E",1,"^F",9,"^G",21,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",9,"^E",6,"^F",9,"^G",21],"^I","~$number"],"~$queue-dispatcher",["^ ","~:protocol-inline",null,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",26,"^E",7,"^F",26,"^G",23,"~:arglists",["~#list",["~$quote",["^V",[[]]]]]],"^7","~$cljs.core.async.impl.dispatch/queue-dispatcher","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^G",23,"~:method-params",["^V",[[]]],"~:protocol-impl",null,"~:arglists-meta",["^V",[null,null]],"^E",1,"~:variadic?",false,"^D",26,"~:ret-tag",["^6",["~$any","~$clj-nil"]],"^F",26,"~:max-fixed-arity",0,"~:fn-var",true,"^U",["^V",["^W",["^V",[[]]]]]],"~$process-messages",["^ ","^T",null,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",13,"^E",7,"^F",13,"^G",23,"^U",["^V",["^W",["^V",[[]]]]]],"^7","~$cljs.core.async.impl.dispatch/process-messages","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^G",23,"^Y",["^V",[[]]],"^Z",null,"^[",["^V",[null,null]],"^E",1,"^10",false,"^D",13,"^11",["^6",["^12","^13"]],"^F",13,"^14",0,"^15",true,"^U",["^V",["^W",["^V",[[]]]]]],"~$run",["^ ","^T",null,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",31,"^E",7,"^F",31,"^G",10,"^U",["^V",["^W",["^V",[["~$f"]]]]]],"^7","~$cljs.core.async.impl.dispatch/run","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^G",10,"^Y",["^V",[["~$f"]]],"^Z",null,"^[",["^V",[null,null]],"^E",1,"^10",false,"^D",31,"^11",["^6",["^12","^13"]],"^F",31,"^14",1,"^15",true,"^U",["^V",["^W",["^V",[["~$f"]]]]]],"~$queue-delay",["^ ","^T",null,"^H",["^ ","^C","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^D",35,"^E",7,"^F",35,"^G",18,"^U",["^V",["^W",["^V",[["~$f","~$delay"]]]]]],"^7","~$cljs.core.async.impl.dispatch/queue-delay","^C","resources/public/js/compiled/out/cljs/core/async/impl/dispatch.cljs","^G",18,"^Y",["^V",[["~$f","^1;"]]],"^Z",null,"^[",["^V",[null,null]],"^E",1,"^10",false,"^D",35,"^11","~$js","^F",35,"^14",2,"^15",true,"^U",["^V",["^W",["^V",[["~$f","^1;"]]]]]]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:doc",null]
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/cljs\/core\/async\/impl\/dispatch.js","sources":["dispatch.cljs?rel=1582621014460"],"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"]}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,235 +0,0 @@
|
|||
;; Copyright (c) Rich Hickey. All rights reserved.
|
||||
;; The use and distribution terms for this software are covered by the
|
||||
;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
||||
;; which can be found in the file epl-v10.html at the root of this distribution.
|
||||
;; By using this software in any fashion, you are agreeing to be bound by
|
||||
;; the terms of this license.
|
||||
;; You must not remove this notice, or any other, from this software.
|
||||
|
||||
(ns cljs.repl
|
||||
(:require-macros cljs.repl)
|
||||
(:require [cljs.spec.alpha :as spec]
|
||||
[goog.string :as gstring]
|
||||
[goog.string.format]))
|
||||
|
||||
(defn print-doc [{n :ns nm :name :as m}]
|
||||
(println "-------------------------")
|
||||
(println (or (:spec m) (str (when-let [ns (:ns m)] (str ns "/")) (:name m))))
|
||||
(when (:protocol m)
|
||||
(println "Protocol"))
|
||||
(cond
|
||||
(:forms m) (doseq [f (:forms m)]
|
||||
(println " " f))
|
||||
(:arglists m) (let [arglists (:arglists m)]
|
||||
(if (or (:macro m)
|
||||
(:repl-special-function m))
|
||||
(prn arglists)
|
||||
(prn
|
||||
(if (= 'quote (first arglists))
|
||||
(second arglists)
|
||||
arglists)))))
|
||||
(if (:special-form m)
|
||||
(do
|
||||
(println "Special Form")
|
||||
(println " " (:doc m))
|
||||
(if (contains? m :url)
|
||||
(when (:url m)
|
||||
(println (str "\n Please see http://clojure.org/" (:url m))))
|
||||
(println (str "\n Please see http://clojure.org/special_forms#"
|
||||
(:name m)))))
|
||||
(do
|
||||
(when (:macro m)
|
||||
(println "Macro"))
|
||||
(when (:spec m)
|
||||
(println "Spec"))
|
||||
(when (:repl-special-function m)
|
||||
(println "REPL Special Function"))
|
||||
(println " " (:doc m))
|
||||
(when (:protocol m)
|
||||
(doseq [[name {:keys [doc arglists]}] (:methods m)]
|
||||
(println)
|
||||
(println " " name)
|
||||
(println " " arglists)
|
||||
(when doc
|
||||
(println " " doc))))
|
||||
(when n
|
||||
(when-let [fnspec (spec/get-spec (symbol (str (ns-name n)) (name nm)))]
|
||||
(print "Spec")
|
||||
(doseq [role [:args :ret :fn]]
|
||||
(when-let [spec (get fnspec role)]
|
||||
(print (str "\n " (name role) ":") (spec/describe spec)))))))))
|
||||
|
||||
(defn Error->map
|
||||
"Constructs a data representation for a Error with keys:
|
||||
:cause - root cause message
|
||||
:phase - error phase
|
||||
:via - cause chain, with cause keys:
|
||||
:type - exception class symbol
|
||||
:message - exception message
|
||||
:data - ex-data
|
||||
:at - top stack element
|
||||
:trace - root cause stack elements"
|
||||
[o]
|
||||
(let [base (fn [t]
|
||||
(merge {:type (cond
|
||||
(instance? ExceptionInfo t) 'ExceptionInfo
|
||||
(instance? js/EvalError t) 'js/EvalError
|
||||
(instance? js/RangeError t) 'js/RangeError
|
||||
(instance? js/ReferenceError t) 'js/ReferenceError
|
||||
(instance? js/SyntaxError t) 'js/SyntaxError
|
||||
(instance? js/URIError t) 'js/URIError
|
||||
(instance? js/Error t) 'js/Error
|
||||
:else nil)}
|
||||
(when-let [msg (ex-message t)]
|
||||
{:message msg})
|
||||
(when-let [ed (ex-data t)]
|
||||
{:data ed})
|
||||
#_(let [st (extract-canonical-stacktrace t)]
|
||||
(when (pos? (count st))
|
||||
{:at st}))))
|
||||
via (loop [via [], t o]
|
||||
(if t
|
||||
(recur (conj via t) (ex-cause t))
|
||||
via))
|
||||
root (peek via)]
|
||||
(merge {:via (vec (map base via))
|
||||
:trace nil #_(extract-canonical-stacktrace (or root o))}
|
||||
(when-let [root-msg (ex-message root)]
|
||||
{:cause root-msg})
|
||||
(when-let [data (ex-data root)]
|
||||
{:data data})
|
||||
(when-let [phase (-> o ex-data :clojure.error/phase)]
|
||||
{:phase phase}))))
|
||||
|
||||
(defn ex-triage
|
||||
"Returns an analysis of the phase, error, cause, and location of an error that occurred
|
||||
based on Throwable data, as returned by Throwable->map. All attributes other than phase
|
||||
are optional:
|
||||
:clojure.error/phase - keyword phase indicator, one of:
|
||||
:read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion
|
||||
:execution :read-eval-result :print-eval-result
|
||||
:clojure.error/source - file name (no path)
|
||||
:clojure.error/line - integer line number
|
||||
:clojure.error/column - integer column number
|
||||
:clojure.error/symbol - symbol being expanded/compiled/invoked
|
||||
:clojure.error/class - cause exception class symbol
|
||||
:clojure.error/cause - cause exception message
|
||||
:clojure.error/spec - explain-data for spec error"
|
||||
[datafied-throwable]
|
||||
(let [{:keys [via trace phase] :or {phase :execution}} datafied-throwable
|
||||
{:keys [type message data]} (last via)
|
||||
{:cljs.spec.alpha/keys [problems fn] :cljs.spec.test.alpha/keys [caller]} data
|
||||
{:keys [:clojure.error/source] :as top-data} (:data (first via))]
|
||||
(assoc
|
||||
(case phase
|
||||
:read-source
|
||||
(let [{:keys [:clojure.error/line :clojure.error/column]} data]
|
||||
(cond-> (merge (-> via second :data) top-data)
|
||||
source (assoc :clojure.error/source source)
|
||||
(#{"NO_SOURCE_FILE" "NO_SOURCE_PATH"} source) (dissoc :clojure.error/source)
|
||||
message (assoc :clojure.error/cause message)))
|
||||
|
||||
(:compile-syntax-check :compilation :macro-syntax-check :macroexpansion)
|
||||
(cond-> top-data
|
||||
source (assoc :clojure.error/source source)
|
||||
(#{"NO_SOURCE_FILE" "NO_SOURCE_PATH"} source) (dissoc :clojure.error/source)
|
||||
type (assoc :clojure.error/class type)
|
||||
message (assoc :clojure.error/cause message)
|
||||
problems (assoc :clojure.error/spec data))
|
||||
|
||||
(:read-eval-result :print-eval-result)
|
||||
(let [[source method file line] (-> trace first)]
|
||||
(cond-> top-data
|
||||
line (assoc :clojure.error/line line)
|
||||
file (assoc :clojure.error/source file)
|
||||
(and source method) (assoc :clojure.error/symbol (vector #_java-loc->source source method))
|
||||
type (assoc :clojure.error/class type)
|
||||
message (assoc :clojure.error/cause message)))
|
||||
|
||||
:execution
|
||||
(let [[source method file line] (->> trace #_(drop-while #(core-class? (name (first %)))) first)
|
||||
file (first (remove #(or (nil? %) (#{"NO_SOURCE_FILE" "NO_SOURCE_PATH"} %)) [(:file caller) file]))
|
||||
err-line (or (:line caller) line)]
|
||||
(cond-> {:clojure.error/class type}
|
||||
err-line (assoc :clojure.error/line err-line)
|
||||
message (assoc :clojure.error/cause message)
|
||||
(or fn (and source method)) (assoc :clojure.error/symbol (or fn (vector #_java-loc->source source method)))
|
||||
file (assoc :clojure.error/source file)
|
||||
problems (assoc :clojure.error/spec data))))
|
||||
:clojure.error/phase phase)))
|
||||
|
||||
(defn ex-str
|
||||
"Returns a string from exception data, as produced by ex-triage.
|
||||
The first line summarizes the exception phase and location.
|
||||
The subsequent lines describe the cause."
|
||||
[{:clojure.error/keys [phase source line column symbol class cause spec] :as triage-data}]
|
||||
(let [loc (str (or source "<cljs repl>") ":" (or line 1) (if column (str ":" column) ""))
|
||||
class-name (name (or class ""))
|
||||
simple-class class-name
|
||||
cause-type (if (contains? #{"Exception" "RuntimeException"} simple-class)
|
||||
"" ;; omit, not useful
|
||||
(str " (" simple-class ")"))
|
||||
format gstring/format]
|
||||
(case phase
|
||||
:read-source
|
||||
(format "Syntax error reading source at (%s).\n%s\n" loc cause)
|
||||
|
||||
:macro-syntax-check
|
||||
(format "Syntax error macroexpanding %sat (%s).\n%s"
|
||||
(if symbol (str symbol " ") "")
|
||||
loc
|
||||
(if spec
|
||||
(with-out-str
|
||||
(spec/explain-out
|
||||
(if true #_(= s/*explain-out* s/explain-printer)
|
||||
(update spec ::spec/problems
|
||||
(fn [probs] (map #(dissoc % :in) probs)))
|
||||
spec)))
|
||||
(format "%s\n" cause)))
|
||||
|
||||
:macroexpansion
|
||||
(format "Unexpected error%s macroexpanding %sat (%s).\n%s\n"
|
||||
cause-type
|
||||
(if symbol (str symbol " ") "")
|
||||
loc
|
||||
cause)
|
||||
|
||||
:compile-syntax-check
|
||||
(format "Syntax error%s compiling %sat (%s).\n%s\n"
|
||||
cause-type
|
||||
(if symbol (str symbol " ") "")
|
||||
loc
|
||||
cause)
|
||||
|
||||
:compilation
|
||||
(format "Unexpected error%s compiling %sat (%s).\n%s\n"
|
||||
cause-type
|
||||
(if symbol (str symbol " ") "")
|
||||
loc
|
||||
cause)
|
||||
|
||||
:read-eval-result
|
||||
(format "Error reading eval result%s at %s (%s).\n%s\n" cause-type symbol loc cause)
|
||||
|
||||
:print-eval-result
|
||||
(format "Error printing return value%s at %s (%s).\n%s\n" cause-type symbol loc cause)
|
||||
|
||||
:execution
|
||||
(if spec
|
||||
(format "Execution error - invalid arguments to %s at (%s).\n%s"
|
||||
symbol
|
||||
loc
|
||||
(with-out-str
|
||||
(spec/explain-out
|
||||
(if true #_(= s/*explain-out* s/explain-printer)
|
||||
(update spec ::spec/problems
|
||||
(fn [probs] (map #(dissoc % :in) probs)))
|
||||
spec))))
|
||||
(format "Execution error%s at %s(%s).\n%s\n"
|
||||
cause-type
|
||||
(if symbol (str symbol " ") "")
|
||||
loc
|
||||
cause)))))
|
||||
|
||||
(defn error->str [error]
|
||||
(ex-str (ex-triage (Error->map error))))
|
File diff suppressed because one or more lines are too long
|
@ -1,670 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('cljs.repl');
|
||||
goog.require('cljs.core');
|
||||
goog.require('cljs.spec.alpha');
|
||||
goog.require('goog.string');
|
||||
goog.require('goog.string.format');
|
||||
cljs.repl.print_doc = (function cljs$repl$print_doc(p__30007){
|
||||
var map__30008 = p__30007;
|
||||
var map__30008__$1 = (((((!((map__30008 == null))))?(((((map__30008.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30008.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30008):map__30008);
|
||||
var m = map__30008__$1;
|
||||
var n = cljs.core.get.call(null,map__30008__$1,new cljs.core.Keyword(null,"ns","ns",441598760));
|
||||
var nm = cljs.core.get.call(null,map__30008__$1,new cljs.core.Keyword(null,"name","name",1843675177));
|
||||
cljs.core.println.call(null,"-------------------------");
|
||||
|
||||
cljs.core.println.call(null,(function (){var or__4131__auto__ = new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(m);
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return [(function (){var temp__5720__auto__ = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(m);
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var ns = temp__5720__auto__;
|
||||
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),"/"].join('');
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(m))].join('');
|
||||
}
|
||||
})());
|
||||
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"protocol","protocol",652470118).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
cljs.core.println.call(null,"Protocol");
|
||||
} else {
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"forms","forms",2045992350).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
var seq__30010_30042 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"forms","forms",2045992350).cljs$core$IFn$_invoke$arity$1(m));
|
||||
var chunk__30011_30043 = null;
|
||||
var count__30012_30044 = (0);
|
||||
var i__30013_30045 = (0);
|
||||
while(true){
|
||||
if((i__30013_30045 < count__30012_30044)){
|
||||
var f_30046 = cljs.core._nth.call(null,chunk__30011_30043,i__30013_30045);
|
||||
cljs.core.println.call(null," ",f_30046);
|
||||
|
||||
|
||||
var G__30047 = seq__30010_30042;
|
||||
var G__30048 = chunk__30011_30043;
|
||||
var G__30049 = count__30012_30044;
|
||||
var G__30050 = (i__30013_30045 + (1));
|
||||
seq__30010_30042 = G__30047;
|
||||
chunk__30011_30043 = G__30048;
|
||||
count__30012_30044 = G__30049;
|
||||
i__30013_30045 = G__30050;
|
||||
continue;
|
||||
} else {
|
||||
var temp__5720__auto___30051 = cljs.core.seq.call(null,seq__30010_30042);
|
||||
if(temp__5720__auto___30051){
|
||||
var seq__30010_30052__$1 = temp__5720__auto___30051;
|
||||
if(cljs.core.chunked_seq_QMARK_.call(null,seq__30010_30052__$1)){
|
||||
var c__4550__auto___30053 = cljs.core.chunk_first.call(null,seq__30010_30052__$1);
|
||||
var G__30054 = cljs.core.chunk_rest.call(null,seq__30010_30052__$1);
|
||||
var G__30055 = c__4550__auto___30053;
|
||||
var G__30056 = cljs.core.count.call(null,c__4550__auto___30053);
|
||||
var G__30057 = (0);
|
||||
seq__30010_30042 = G__30054;
|
||||
chunk__30011_30043 = G__30055;
|
||||
count__30012_30044 = G__30056;
|
||||
i__30013_30045 = G__30057;
|
||||
continue;
|
||||
} else {
|
||||
var f_30058 = cljs.core.first.call(null,seq__30010_30052__$1);
|
||||
cljs.core.println.call(null," ",f_30058);
|
||||
|
||||
|
||||
var G__30059 = cljs.core.next.call(null,seq__30010_30052__$1);
|
||||
var G__30060 = null;
|
||||
var G__30061 = (0);
|
||||
var G__30062 = (0);
|
||||
seq__30010_30042 = G__30059;
|
||||
chunk__30011_30043 = G__30060;
|
||||
count__30012_30044 = G__30061;
|
||||
i__30013_30045 = G__30062;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"arglists","arglists",1661989754).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
var arglists_30063 = new cljs.core.Keyword(null,"arglists","arglists",1661989754).cljs$core$IFn$_invoke$arity$1(m);
|
||||
if(cljs.core.truth_((function (){var or__4131__auto__ = new cljs.core.Keyword(null,"macro","macro",-867863404).cljs$core$IFn$_invoke$arity$1(m);
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return new cljs.core.Keyword(null,"repl-special-function","repl-special-function",1262603725).cljs$core$IFn$_invoke$arity$1(m);
|
||||
}
|
||||
})())){
|
||||
cljs.core.prn.call(null,arglists_30063);
|
||||
} else {
|
||||
cljs.core.prn.call(null,((cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),cljs.core.first.call(null,arglists_30063)))?cljs.core.second.call(null,arglists_30063):arglists_30063));
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"special-form","special-form",-1326536374).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
cljs.core.println.call(null,"Special Form");
|
||||
|
||||
cljs.core.println.call(null," ",new cljs.core.Keyword(null,"doc","doc",1913296891).cljs$core$IFn$_invoke$arity$1(m));
|
||||
|
||||
if(cljs.core.contains_QMARK_.call(null,m,new cljs.core.Keyword(null,"url","url",276297046))){
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"url","url",276297046).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
return cljs.core.println.call(null,["\n Please see http://clojure.org/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"url","url",276297046).cljs$core$IFn$_invoke$arity$1(m))].join(''));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return cljs.core.println.call(null,["\n Please see http://clojure.org/special_forms#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(''));
|
||||
}
|
||||
} else {
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"macro","macro",-867863404).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
cljs.core.println.call(null,"Macro");
|
||||
} else {
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"spec","spec",347520401).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
cljs.core.println.call(null,"Spec");
|
||||
} else {
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"repl-special-function","repl-special-function",1262603725).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
cljs.core.println.call(null,"REPL Special Function");
|
||||
} else {
|
||||
}
|
||||
|
||||
cljs.core.println.call(null," ",new cljs.core.Keyword(null,"doc","doc",1913296891).cljs$core$IFn$_invoke$arity$1(m));
|
||||
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"protocol","protocol",652470118).cljs$core$IFn$_invoke$arity$1(m))){
|
||||
var seq__30014_30064 = cljs.core.seq.call(null,new cljs.core.Keyword(null,"methods","methods",453930866).cljs$core$IFn$_invoke$arity$1(m));
|
||||
var chunk__30015_30065 = null;
|
||||
var count__30016_30066 = (0);
|
||||
var i__30017_30067 = (0);
|
||||
while(true){
|
||||
if((i__30017_30067 < count__30016_30066)){
|
||||
var vec__30028_30068 = cljs.core._nth.call(null,chunk__30015_30065,i__30017_30067);
|
||||
var name_30069 = cljs.core.nth.call(null,vec__30028_30068,(0),null);
|
||||
var map__30031_30070 = cljs.core.nth.call(null,vec__30028_30068,(1),null);
|
||||
var map__30031_30071__$1 = (((((!((map__30031_30070 == null))))?(((((map__30031_30070.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30031_30070.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30031_30070):map__30031_30070);
|
||||
var doc_30072 = cljs.core.get.call(null,map__30031_30071__$1,new cljs.core.Keyword(null,"doc","doc",1913296891));
|
||||
var arglists_30073 = cljs.core.get.call(null,map__30031_30071__$1,new cljs.core.Keyword(null,"arglists","arglists",1661989754));
|
||||
cljs.core.println.call(null);
|
||||
|
||||
cljs.core.println.call(null," ",name_30069);
|
||||
|
||||
cljs.core.println.call(null," ",arglists_30073);
|
||||
|
||||
if(cljs.core.truth_(doc_30072)){
|
||||
cljs.core.println.call(null," ",doc_30072);
|
||||
} else {
|
||||
}
|
||||
|
||||
|
||||
var G__30074 = seq__30014_30064;
|
||||
var G__30075 = chunk__30015_30065;
|
||||
var G__30076 = count__30016_30066;
|
||||
var G__30077 = (i__30017_30067 + (1));
|
||||
seq__30014_30064 = G__30074;
|
||||
chunk__30015_30065 = G__30075;
|
||||
count__30016_30066 = G__30076;
|
||||
i__30017_30067 = G__30077;
|
||||
continue;
|
||||
} else {
|
||||
var temp__5720__auto___30078 = cljs.core.seq.call(null,seq__30014_30064);
|
||||
if(temp__5720__auto___30078){
|
||||
var seq__30014_30079__$1 = temp__5720__auto___30078;
|
||||
if(cljs.core.chunked_seq_QMARK_.call(null,seq__30014_30079__$1)){
|
||||
var c__4550__auto___30080 = cljs.core.chunk_first.call(null,seq__30014_30079__$1);
|
||||
var G__30081 = cljs.core.chunk_rest.call(null,seq__30014_30079__$1);
|
||||
var G__30082 = c__4550__auto___30080;
|
||||
var G__30083 = cljs.core.count.call(null,c__4550__auto___30080);
|
||||
var G__30084 = (0);
|
||||
seq__30014_30064 = G__30081;
|
||||
chunk__30015_30065 = G__30082;
|
||||
count__30016_30066 = G__30083;
|
||||
i__30017_30067 = G__30084;
|
||||
continue;
|
||||
} else {
|
||||
var vec__30033_30085 = cljs.core.first.call(null,seq__30014_30079__$1);
|
||||
var name_30086 = cljs.core.nth.call(null,vec__30033_30085,(0),null);
|
||||
var map__30036_30087 = cljs.core.nth.call(null,vec__30033_30085,(1),null);
|
||||
var map__30036_30088__$1 = (((((!((map__30036_30087 == null))))?(((((map__30036_30087.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30036_30087.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30036_30087):map__30036_30087);
|
||||
var doc_30089 = cljs.core.get.call(null,map__30036_30088__$1,new cljs.core.Keyword(null,"doc","doc",1913296891));
|
||||
var arglists_30090 = cljs.core.get.call(null,map__30036_30088__$1,new cljs.core.Keyword(null,"arglists","arglists",1661989754));
|
||||
cljs.core.println.call(null);
|
||||
|
||||
cljs.core.println.call(null," ",name_30086);
|
||||
|
||||
cljs.core.println.call(null," ",arglists_30090);
|
||||
|
||||
if(cljs.core.truth_(doc_30089)){
|
||||
cljs.core.println.call(null," ",doc_30089);
|
||||
} else {
|
||||
}
|
||||
|
||||
|
||||
var G__30091 = cljs.core.next.call(null,seq__30014_30079__$1);
|
||||
var G__30092 = null;
|
||||
var G__30093 = (0);
|
||||
var G__30094 = (0);
|
||||
seq__30014_30064 = G__30091;
|
||||
chunk__30015_30065 = G__30092;
|
||||
count__30016_30066 = G__30093;
|
||||
i__30017_30067 = G__30094;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(n)){
|
||||
var temp__5720__auto__ = cljs.spec.alpha.get_spec.call(null,cljs.core.symbol.call(null,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name.call(null,n)),cljs.core.name.call(null,nm)));
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var fnspec = temp__5720__auto__;
|
||||
cljs.core.print.call(null,"Spec");
|
||||
|
||||
var seq__30038 = cljs.core.seq.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"args","args",1315556576),new cljs.core.Keyword(null,"ret","ret",-468222814),new cljs.core.Keyword(null,"fn","fn",-1175266204)], null));
|
||||
var chunk__30039 = null;
|
||||
var count__30040 = (0);
|
||||
var i__30041 = (0);
|
||||
while(true){
|
||||
if((i__30041 < count__30040)){
|
||||
var role = cljs.core._nth.call(null,chunk__30039,i__30041);
|
||||
var temp__5720__auto___30095__$1 = cljs.core.get.call(null,fnspec,role);
|
||||
if(cljs.core.truth_(temp__5720__auto___30095__$1)){
|
||||
var spec_30096 = temp__5720__auto___30095__$1;
|
||||
cljs.core.print.call(null,["\n ",cljs.core.name.call(null,role),":"].join(''),cljs.spec.alpha.describe.call(null,spec_30096));
|
||||
} else {
|
||||
}
|
||||
|
||||
|
||||
var G__30097 = seq__30038;
|
||||
var G__30098 = chunk__30039;
|
||||
var G__30099 = count__30040;
|
||||
var G__30100 = (i__30041 + (1));
|
||||
seq__30038 = G__30097;
|
||||
chunk__30039 = G__30098;
|
||||
count__30040 = G__30099;
|
||||
i__30041 = G__30100;
|
||||
continue;
|
||||
} else {
|
||||
var temp__5720__auto____$1 = cljs.core.seq.call(null,seq__30038);
|
||||
if(temp__5720__auto____$1){
|
||||
var seq__30038__$1 = temp__5720__auto____$1;
|
||||
if(cljs.core.chunked_seq_QMARK_.call(null,seq__30038__$1)){
|
||||
var c__4550__auto__ = cljs.core.chunk_first.call(null,seq__30038__$1);
|
||||
var G__30101 = cljs.core.chunk_rest.call(null,seq__30038__$1);
|
||||
var G__30102 = c__4550__auto__;
|
||||
var G__30103 = cljs.core.count.call(null,c__4550__auto__);
|
||||
var G__30104 = (0);
|
||||
seq__30038 = G__30101;
|
||||
chunk__30039 = G__30102;
|
||||
count__30040 = G__30103;
|
||||
i__30041 = G__30104;
|
||||
continue;
|
||||
} else {
|
||||
var role = cljs.core.first.call(null,seq__30038__$1);
|
||||
var temp__5720__auto___30105__$2 = cljs.core.get.call(null,fnspec,role);
|
||||
if(cljs.core.truth_(temp__5720__auto___30105__$2)){
|
||||
var spec_30106 = temp__5720__auto___30105__$2;
|
||||
cljs.core.print.call(null,["\n ",cljs.core.name.call(null,role),":"].join(''),cljs.spec.alpha.describe.call(null,spec_30106));
|
||||
} else {
|
||||
}
|
||||
|
||||
|
||||
var G__30107 = cljs.core.next.call(null,seq__30038__$1);
|
||||
var G__30108 = null;
|
||||
var G__30109 = (0);
|
||||
var G__30110 = (0);
|
||||
seq__30038 = G__30107;
|
||||
chunk__30039 = G__30108;
|
||||
count__30040 = G__30109;
|
||||
i__30041 = G__30110;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Constructs a data representation for a Error with keys:
|
||||
* :cause - root cause message
|
||||
* :phase - error phase
|
||||
* :via - cause chain, with cause keys:
|
||||
* :type - exception class symbol
|
||||
* :message - exception message
|
||||
* :data - ex-data
|
||||
* :at - top stack element
|
||||
* :trace - root cause stack elements
|
||||
*/
|
||||
cljs.repl.Error__GT_map = (function cljs$repl$Error__GT_map(o){
|
||||
var base = (function (t){
|
||||
return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(null,"ExceptionInfo","ExceptionInfo",294935087,null):(((t instanceof EvalError))?new cljs.core.Symbol("js","EvalError","js/EvalError",1793498501,null):(((t instanceof RangeError))?new cljs.core.Symbol("js","RangeError","js/RangeError",1703848089,null):(((t instanceof ReferenceError))?new cljs.core.Symbol("js","ReferenceError","js/ReferenceError",-198403224,null):(((t instanceof SyntaxError))?new cljs.core.Symbol("js","SyntaxError","js/SyntaxError",-1527651665,null):(((t instanceof URIError))?new cljs.core.Symbol("js","URIError","js/URIError",505061350,null):(((t instanceof Error))?new cljs.core.Symbol("js","Error","js/Error",-1692659266,null):null
|
||||
)))))))], null),(function (){var temp__5720__auto__ = cljs.core.ex_message.call(null,t);
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var msg = temp__5720__auto__;
|
||||
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"message","message",-406056002),msg], null);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})(),(function (){var temp__5720__auto__ = cljs.core.ex_data.call(null,t);
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var ed = temp__5720__auto__;
|
||||
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"data","data",-232669377),ed], null);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})());
|
||||
});
|
||||
var via = (function (){var via = cljs.core.PersistentVector.EMPTY;
|
||||
var t = o;
|
||||
while(true){
|
||||
if(cljs.core.truth_(t)){
|
||||
var G__30111 = cljs.core.conj.call(null,via,t);
|
||||
var G__30112 = cljs.core.ex_cause.call(null,t);
|
||||
via = G__30111;
|
||||
t = G__30112;
|
||||
continue;
|
||||
} else {
|
||||
return via;
|
||||
}
|
||||
break;
|
||||
}
|
||||
})();
|
||||
var root = cljs.core.peek.call(null,via);
|
||||
return cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"via","via",-1904457336),cljs.core.vec.call(null,cljs.core.map.call(null,base,via)),new cljs.core.Keyword(null,"trace","trace",-1082747415),null], null),(function (){var temp__5720__auto__ = cljs.core.ex_message.call(null,root);
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var root_msg = temp__5720__auto__;
|
||||
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"cause","cause",231901252),root_msg], null);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})(),(function (){var temp__5720__auto__ = cljs.core.ex_data.call(null,root);
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var data = temp__5720__auto__;
|
||||
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"data","data",-232669377),data], null);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})(),(function (){var temp__5720__auto__ = new cljs.core.Keyword("clojure.error","phase","clojure.error/phase",275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data.call(null,o));
|
||||
if(cljs.core.truth_(temp__5720__auto__)){
|
||||
var phase = temp__5720__auto__;
|
||||
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"phase","phase",575722892),phase], null);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})());
|
||||
});
|
||||
/**
|
||||
* Returns an analysis of the phase, error, cause, and location of an error that occurred
|
||||
* based on Throwable data, as returned by Throwable->map. All attributes other than phase
|
||||
* are optional:
|
||||
* :clojure.error/phase - keyword phase indicator, one of:
|
||||
* :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion
|
||||
* :execution :read-eval-result :print-eval-result
|
||||
* :clojure.error/source - file name (no path)
|
||||
* :clojure.error/line - integer line number
|
||||
* :clojure.error/column - integer column number
|
||||
* :clojure.error/symbol - symbol being expanded/compiled/invoked
|
||||
* :clojure.error/class - cause exception class symbol
|
||||
* :clojure.error/cause - cause exception message
|
||||
* :clojure.error/spec - explain-data for spec error
|
||||
*/
|
||||
cljs.repl.ex_triage = (function cljs$repl$ex_triage(datafied_throwable){
|
||||
var map__30115 = datafied_throwable;
|
||||
var map__30115__$1 = (((((!((map__30115 == null))))?(((((map__30115.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30115.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30115):map__30115);
|
||||
var via = cljs.core.get.call(null,map__30115__$1,new cljs.core.Keyword(null,"via","via",-1904457336));
|
||||
var trace = cljs.core.get.call(null,map__30115__$1,new cljs.core.Keyword(null,"trace","trace",-1082747415));
|
||||
var phase = cljs.core.get.call(null,map__30115__$1,new cljs.core.Keyword(null,"phase","phase",575722892),new cljs.core.Keyword(null,"execution","execution",253283524));
|
||||
var map__30116 = cljs.core.last.call(null,via);
|
||||
var map__30116__$1 = (((((!((map__30116 == null))))?(((((map__30116.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30116.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30116):map__30116);
|
||||
var type = cljs.core.get.call(null,map__30116__$1,new cljs.core.Keyword(null,"type","type",1174270348));
|
||||
var message = cljs.core.get.call(null,map__30116__$1,new cljs.core.Keyword(null,"message","message",-406056002));
|
||||
var data = cljs.core.get.call(null,map__30116__$1,new cljs.core.Keyword(null,"data","data",-232669377));
|
||||
var map__30117 = data;
|
||||
var map__30117__$1 = (((((!((map__30117 == null))))?(((((map__30117.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30117.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30117):map__30117);
|
||||
var problems = cljs.core.get.call(null,map__30117__$1,new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814));
|
||||
var fn = cljs.core.get.call(null,map__30117__$1,new cljs.core.Keyword("cljs.spec.alpha","fn","cljs.spec.alpha/fn",408600443));
|
||||
var caller = cljs.core.get.call(null,map__30117__$1,new cljs.core.Keyword("cljs.spec.test.alpha","caller","cljs.spec.test.alpha/caller",-398302390));
|
||||
var map__30118 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first.call(null,via));
|
||||
var map__30118__$1 = (((((!((map__30118 == null))))?(((((map__30118.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30118.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30118):map__30118);
|
||||
var top_data = map__30118__$1;
|
||||
var source = cljs.core.get.call(null,map__30118__$1,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397));
|
||||
return cljs.core.assoc.call(null,(function (){var G__30123 = phase;
|
||||
var G__30123__$1 = (((G__30123 instanceof cljs.core.Keyword))?G__30123.fqn:null);
|
||||
switch (G__30123__$1) {
|
||||
case "read-source":
|
||||
var map__30124 = data;
|
||||
var map__30124__$1 = (((((!((map__30124 == null))))?(((((map__30124.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30124.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30124):map__30124);
|
||||
var line = cljs.core.get.call(null,map__30124__$1,new cljs.core.Keyword("clojure.error","line","clojure.error/line",-1816287471));
|
||||
var column = cljs.core.get.call(null,map__30124__$1,new cljs.core.Keyword("clojure.error","column","clojure.error/column",304721553));
|
||||
var G__30126 = cljs.core.merge.call(null,new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second.call(null,via)),top_data);
|
||||
var G__30126__$1 = (cljs.core.truth_(source)?cljs.core.assoc.call(null,G__30126,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397),source):G__30126);
|
||||
var G__30126__$2 = (cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["NO_SOURCE_PATH",null,"NO_SOURCE_FILE",null], null), null).call(null,source))?cljs.core.dissoc.call(null,G__30126__$1,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397)):G__30126__$1);
|
||||
if(cljs.core.truth_(message)){
|
||||
return cljs.core.assoc.call(null,G__30126__$2,new cljs.core.Keyword("clojure.error","cause","clojure.error/cause",-1879175742),message);
|
||||
} else {
|
||||
return G__30126__$2;
|
||||
}
|
||||
|
||||
break;
|
||||
case "compile-syntax-check":
|
||||
case "compilation":
|
||||
case "macro-syntax-check":
|
||||
case "macroexpansion":
|
||||
var G__30127 = top_data;
|
||||
var G__30127__$1 = (cljs.core.truth_(source)?cljs.core.assoc.call(null,G__30127,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397),source):G__30127);
|
||||
var G__30127__$2 = (cljs.core.truth_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["NO_SOURCE_PATH",null,"NO_SOURCE_FILE",null], null), null).call(null,source))?cljs.core.dissoc.call(null,G__30127__$1,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397)):G__30127__$1);
|
||||
var G__30127__$3 = (cljs.core.truth_(type)?cljs.core.assoc.call(null,G__30127__$2,new cljs.core.Keyword("clojure.error","class","clojure.error/class",278435890),type):G__30127__$2);
|
||||
var G__30127__$4 = (cljs.core.truth_(message)?cljs.core.assoc.call(null,G__30127__$3,new cljs.core.Keyword("clojure.error","cause","clojure.error/cause",-1879175742),message):G__30127__$3);
|
||||
if(cljs.core.truth_(problems)){
|
||||
return cljs.core.assoc.call(null,G__30127__$4,new cljs.core.Keyword("clojure.error","spec","clojure.error/spec",2055032595),data);
|
||||
} else {
|
||||
return G__30127__$4;
|
||||
}
|
||||
|
||||
break;
|
||||
case "read-eval-result":
|
||||
case "print-eval-result":
|
||||
var vec__30128 = cljs.core.first.call(null,trace);
|
||||
var source__$1 = cljs.core.nth.call(null,vec__30128,(0),null);
|
||||
var method = cljs.core.nth.call(null,vec__30128,(1),null);
|
||||
var file = cljs.core.nth.call(null,vec__30128,(2),null);
|
||||
var line = cljs.core.nth.call(null,vec__30128,(3),null);
|
||||
var G__30131 = top_data;
|
||||
var G__30131__$1 = (cljs.core.truth_(line)?cljs.core.assoc.call(null,G__30131,new cljs.core.Keyword("clojure.error","line","clojure.error/line",-1816287471),line):G__30131);
|
||||
var G__30131__$2 = (cljs.core.truth_(file)?cljs.core.assoc.call(null,G__30131__$1,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397),file):G__30131__$1);
|
||||
var G__30131__$3 = (cljs.core.truth_((function (){var and__4120__auto__ = source__$1;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return method;
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())?cljs.core.assoc.call(null,G__30131__$2,new cljs.core.Keyword("clojure.error","symbol","clojure.error/symbol",1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__30131__$2);
|
||||
var G__30131__$4 = (cljs.core.truth_(type)?cljs.core.assoc.call(null,G__30131__$3,new cljs.core.Keyword("clojure.error","class","clojure.error/class",278435890),type):G__30131__$3);
|
||||
if(cljs.core.truth_(message)){
|
||||
return cljs.core.assoc.call(null,G__30131__$4,new cljs.core.Keyword("clojure.error","cause","clojure.error/cause",-1879175742),message);
|
||||
} else {
|
||||
return G__30131__$4;
|
||||
}
|
||||
|
||||
break;
|
||||
case "execution":
|
||||
var vec__30132 = cljs.core.first.call(null,trace);
|
||||
var source__$1 = cljs.core.nth.call(null,vec__30132,(0),null);
|
||||
var method = cljs.core.nth.call(null,vec__30132,(1),null);
|
||||
var file = cljs.core.nth.call(null,vec__30132,(2),null);
|
||||
var line = cljs.core.nth.call(null,vec__30132,(3),null);
|
||||
var file__$1 = cljs.core.first.call(null,cljs.core.remove.call(null,((function (vec__30132,source__$1,method,file,line,G__30123,G__30123__$1,map__30115,map__30115__$1,via,trace,phase,map__30116,map__30116__$1,type,message,data,map__30117,map__30117__$1,problems,fn,caller,map__30118,map__30118__$1,top_data,source){
|
||||
return (function (p1__30114_SHARP_){
|
||||
var or__4131__auto__ = (p1__30114_SHARP_ == null);
|
||||
if(or__4131__auto__){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["NO_SOURCE_PATH",null,"NO_SOURCE_FILE",null], null), null).call(null,p1__30114_SHARP_);
|
||||
}
|
||||
});})(vec__30132,source__$1,method,file,line,G__30123,G__30123__$1,map__30115,map__30115__$1,via,trace,phase,map__30116,map__30116__$1,type,message,data,map__30117,map__30117__$1,problems,fn,caller,map__30118,map__30118__$1,top_data,source))
|
||||
,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"file","file",-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));
|
||||
var err_line = (function (){var or__4131__auto__ = new cljs.core.Keyword(null,"line","line",212345235).cljs$core$IFn$_invoke$arity$1(caller);
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return line;
|
||||
}
|
||||
})();
|
||||
var G__30135 = new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("clojure.error","class","clojure.error/class",278435890),type], null);
|
||||
var G__30135__$1 = (cljs.core.truth_(err_line)?cljs.core.assoc.call(null,G__30135,new cljs.core.Keyword("clojure.error","line","clojure.error/line",-1816287471),err_line):G__30135);
|
||||
var G__30135__$2 = (cljs.core.truth_(message)?cljs.core.assoc.call(null,G__30135__$1,new cljs.core.Keyword("clojure.error","cause","clojure.error/cause",-1879175742),message):G__30135__$1);
|
||||
var G__30135__$3 = (cljs.core.truth_((function (){var or__4131__auto__ = fn;
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
var and__4120__auto__ = source__$1;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return method;
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
}
|
||||
})())?cljs.core.assoc.call(null,G__30135__$2,new cljs.core.Keyword("clojure.error","symbol","clojure.error/symbol",1544821994),(function (){var or__4131__auto__ = fn;
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));
|
||||
}
|
||||
})()):G__30135__$2);
|
||||
var G__30135__$4 = (cljs.core.truth_(file__$1)?cljs.core.assoc.call(null,G__30135__$3,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397),file__$1):G__30135__$3);
|
||||
if(cljs.core.truth_(problems)){
|
||||
return cljs.core.assoc.call(null,G__30135__$4,new cljs.core.Keyword("clojure.error","spec","clojure.error/spec",2055032595),data);
|
||||
} else {
|
||||
return G__30135__$4;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__30123__$1)].join('')));
|
||||
|
||||
}
|
||||
})(),new cljs.core.Keyword("clojure.error","phase","clojure.error/phase",275140358),phase);
|
||||
});
|
||||
/**
|
||||
* Returns a string from exception data, as produced by ex-triage.
|
||||
* The first line summarizes the exception phase and location.
|
||||
* The subsequent lines describe the cause.
|
||||
*/
|
||||
cljs.repl.ex_str = (function cljs$repl$ex_str(p__30139){
|
||||
var map__30140 = p__30139;
|
||||
var map__30140__$1 = (((((!((map__30140 == null))))?(((((map__30140.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__30140.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__30140):map__30140);
|
||||
var triage_data = map__30140__$1;
|
||||
var phase = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","phase","clojure.error/phase",275140358));
|
||||
var source = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","source","clojure.error/source",-2011936397));
|
||||
var line = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","line","clojure.error/line",-1816287471));
|
||||
var column = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","column","clojure.error/column",304721553));
|
||||
var symbol = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","symbol","clojure.error/symbol",1544821994));
|
||||
var class$ = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","class","clojure.error/class",278435890));
|
||||
var cause = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","cause","clojure.error/cause",-1879175742));
|
||||
var spec = cljs.core.get.call(null,map__30140__$1,new cljs.core.Keyword("clojure.error","spec","clojure.error/spec",2055032595));
|
||||
var loc = [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4131__auto__ = source;
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return "<cljs repl>";
|
||||
}
|
||||
})()),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4131__auto__ = line;
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return (1);
|
||||
}
|
||||
})()),(cljs.core.truth_(column)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(''):"")].join('');
|
||||
var class_name = cljs.core.name.call(null,(function (){var or__4131__auto__ = class$;
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
})());
|
||||
var simple_class = class_name;
|
||||
var cause_type = ((cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, ["RuntimeException",null,"Exception",null], null), null),simple_class))?"":[" (",simple_class,")"].join(''));
|
||||
var format = goog.string.format;
|
||||
var G__30142 = phase;
|
||||
var G__30142__$1 = (((G__30142 instanceof cljs.core.Keyword))?G__30142.fqn:null);
|
||||
switch (G__30142__$1) {
|
||||
case "read-source":
|
||||
return format.call(null,"Syntax error reading source at (%s).\n%s\n",loc,cause);
|
||||
|
||||
break;
|
||||
case "macro-syntax-check":
|
||||
return format.call(null,"Syntax error macroexpanding %sat (%s).\n%s",(cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)," "].join(''):""),loc,(cljs.core.truth_(spec)?(function (){var sb__4661__auto__ = (new goog.string.StringBuffer());
|
||||
var _STAR_print_newline_STAR__orig_val__30143_30152 = cljs.core._STAR_print_newline_STAR_;
|
||||
var _STAR_print_fn_STAR__orig_val__30144_30153 = cljs.core._STAR_print_fn_STAR_;
|
||||
var _STAR_print_newline_STAR__temp_val__30145_30154 = true;
|
||||
var _STAR_print_fn_STAR__temp_val__30146_30155 = ((function (_STAR_print_newline_STAR__orig_val__30143_30152,_STAR_print_fn_STAR__orig_val__30144_30153,_STAR_print_newline_STAR__temp_val__30145_30154,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec){
|
||||
return (function (x__4662__auto__){
|
||||
return sb__4661__auto__.append(x__4662__auto__);
|
||||
});})(_STAR_print_newline_STAR__orig_val__30143_30152,_STAR_print_fn_STAR__orig_val__30144_30153,_STAR_print_newline_STAR__temp_val__30145_30154,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec))
|
||||
;
|
||||
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__30145_30154;
|
||||
|
||||
cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__30146_30155;
|
||||
|
||||
try{cljs.spec.alpha.explain_out.call(null,cljs.core.update.call(null,spec,new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),((function (_STAR_print_newline_STAR__orig_val__30143_30152,_STAR_print_fn_STAR__orig_val__30144_30153,_STAR_print_newline_STAR__temp_val__30145_30154,_STAR_print_fn_STAR__temp_val__30146_30155,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec){
|
||||
return (function (probs){
|
||||
return cljs.core.map.call(null,((function (_STAR_print_newline_STAR__orig_val__30143_30152,_STAR_print_fn_STAR__orig_val__30144_30153,_STAR_print_newline_STAR__temp_val__30145_30154,_STAR_print_fn_STAR__temp_val__30146_30155,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec){
|
||||
return (function (p1__30137_SHARP_){
|
||||
return cljs.core.dissoc.call(null,p1__30137_SHARP_,new cljs.core.Keyword(null,"in","in",-1531184865));
|
||||
});})(_STAR_print_newline_STAR__orig_val__30143_30152,_STAR_print_fn_STAR__orig_val__30144_30153,_STAR_print_newline_STAR__temp_val__30145_30154,_STAR_print_fn_STAR__temp_val__30146_30155,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec))
|
||||
,probs);
|
||||
});})(_STAR_print_newline_STAR__orig_val__30143_30152,_STAR_print_fn_STAR__orig_val__30144_30153,_STAR_print_newline_STAR__temp_val__30145_30154,_STAR_print_fn_STAR__temp_val__30146_30155,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec))
|
||||
)
|
||||
);
|
||||
}finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__30144_30153;
|
||||
|
||||
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__30143_30152;
|
||||
}
|
||||
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4661__auto__);
|
||||
})():format.call(null,"%s\n",cause)));
|
||||
|
||||
break;
|
||||
case "macroexpansion":
|
||||
return format.call(null,"Unexpected error%s macroexpanding %sat (%s).\n%s\n",cause_type,(cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)," "].join(''):""),loc,cause);
|
||||
|
||||
break;
|
||||
case "compile-syntax-check":
|
||||
return format.call(null,"Syntax error%s compiling %sat (%s).\n%s\n",cause_type,(cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)," "].join(''):""),loc,cause);
|
||||
|
||||
break;
|
||||
case "compilation":
|
||||
return format.call(null,"Unexpected error%s compiling %sat (%s).\n%s\n",cause_type,(cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)," "].join(''):""),loc,cause);
|
||||
|
||||
break;
|
||||
case "read-eval-result":
|
||||
return format.call(null,"Error reading eval result%s at %s (%s).\n%s\n",cause_type,symbol,loc,cause);
|
||||
|
||||
break;
|
||||
case "print-eval-result":
|
||||
return format.call(null,"Error printing return value%s at %s (%s).\n%s\n",cause_type,symbol,loc,cause);
|
||||
|
||||
break;
|
||||
case "execution":
|
||||
if(cljs.core.truth_(spec)){
|
||||
return format.call(null,"Execution error - invalid arguments to %s at (%s).\n%s",symbol,loc,(function (){var sb__4661__auto__ = (new goog.string.StringBuffer());
|
||||
var _STAR_print_newline_STAR__orig_val__30147_30156 = cljs.core._STAR_print_newline_STAR_;
|
||||
var _STAR_print_fn_STAR__orig_val__30148_30157 = cljs.core._STAR_print_fn_STAR_;
|
||||
var _STAR_print_newline_STAR__temp_val__30149_30158 = true;
|
||||
var _STAR_print_fn_STAR__temp_val__30150_30159 = ((function (_STAR_print_newline_STAR__orig_val__30147_30156,_STAR_print_fn_STAR__orig_val__30148_30157,_STAR_print_newline_STAR__temp_val__30149_30158,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec){
|
||||
return (function (x__4662__auto__){
|
||||
return sb__4661__auto__.append(x__4662__auto__);
|
||||
});})(_STAR_print_newline_STAR__orig_val__30147_30156,_STAR_print_fn_STAR__orig_val__30148_30157,_STAR_print_newline_STAR__temp_val__30149_30158,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec))
|
||||
;
|
||||
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__30149_30158;
|
||||
|
||||
cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__30150_30159;
|
||||
|
||||
try{cljs.spec.alpha.explain_out.call(null,cljs.core.update.call(null,spec,new cljs.core.Keyword("cljs.spec.alpha","problems","cljs.spec.alpha/problems",447400814),((function (_STAR_print_newline_STAR__orig_val__30147_30156,_STAR_print_fn_STAR__orig_val__30148_30157,_STAR_print_newline_STAR__temp_val__30149_30158,_STAR_print_fn_STAR__temp_val__30150_30159,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec){
|
||||
return (function (probs){
|
||||
return cljs.core.map.call(null,((function (_STAR_print_newline_STAR__orig_val__30147_30156,_STAR_print_fn_STAR__orig_val__30148_30157,_STAR_print_newline_STAR__temp_val__30149_30158,_STAR_print_fn_STAR__temp_val__30150_30159,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec){
|
||||
return (function (p1__30138_SHARP_){
|
||||
return cljs.core.dissoc.call(null,p1__30138_SHARP_,new cljs.core.Keyword(null,"in","in",-1531184865));
|
||||
});})(_STAR_print_newline_STAR__orig_val__30147_30156,_STAR_print_fn_STAR__orig_val__30148_30157,_STAR_print_newline_STAR__temp_val__30149_30158,_STAR_print_fn_STAR__temp_val__30150_30159,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec))
|
||||
,probs);
|
||||
});})(_STAR_print_newline_STAR__orig_val__30147_30156,_STAR_print_fn_STAR__orig_val__30148_30157,_STAR_print_newline_STAR__temp_val__30149_30158,_STAR_print_fn_STAR__temp_val__30150_30159,sb__4661__auto__,G__30142,G__30142__$1,loc,class_name,simple_class,cause_type,format,map__30140,map__30140__$1,triage_data,phase,source,line,column,symbol,class$,cause,spec))
|
||||
)
|
||||
);
|
||||
}finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__30148_30157;
|
||||
|
||||
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__30147_30156;
|
||||
}
|
||||
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4661__auto__);
|
||||
})());
|
||||
} else {
|
||||
return format.call(null,"Execution error%s at %s(%s).\n%s\n",cause_type,(cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)," "].join(''):""),loc,cause);
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__30142__$1)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
cljs.repl.error__GT_str = (function cljs$repl$error__GT_str(error){
|
||||
return cljs.repl.ex_str.call(null,cljs.repl.ex_triage.call(null,cljs.repl.Error__GT_map.call(null,error)));
|
||||
});
|
||||
|
||||
//# sourceMappingURL=repl.js.map?rel=1582621019516
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -1,183 +0,0 @@
|
|||
; Copyright (c) Rich Hickey. All rights reserved.
|
||||
; The use and distribution terms for this software are covered by the
|
||||
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
||||
; which can be found in the file epl-v10.html at the root of this distribution.
|
||||
; By using this software in any fashion, you are agreeing to be bound by
|
||||
; the terms of this license.
|
||||
; You must not remove this notice, or any other, from this software.
|
||||
|
||||
(ns cljs.spec.gen.alpha
|
||||
(:refer-clojure :exclude [boolean cat hash-map list map not-empty set vector
|
||||
char double int keyword symbol string uuid delay shuffle])
|
||||
(:require-macros [cljs.core :as c]
|
||||
[cljs.spec.gen.alpha :as gen :refer [dynaload lazy-combinators lazy-prims]])
|
||||
(:require [cljs.core :as c])
|
||||
(:import (goog Uri)))
|
||||
|
||||
(deftype LazyVar [f ^:mutable cached]
|
||||
IDeref
|
||||
(-deref [this]
|
||||
(if-not (nil? cached)
|
||||
cached
|
||||
(let [x (f)]
|
||||
(when-not (nil? x)
|
||||
(set! cached x))
|
||||
x))))
|
||||
|
||||
(def ^:private quick-check-ref
|
||||
(dynaload 'clojure.test.check/quick-check))
|
||||
|
||||
(defn quick-check
|
||||
[& args]
|
||||
(apply @quick-check-ref args))
|
||||
|
||||
(def ^:private for-all*-ref
|
||||
(dynaload 'clojure.test.check.properties/for-all*))
|
||||
|
||||
(defn for-all*
|
||||
"Dynamically loaded clojure.test.check.properties/for-all*."
|
||||
[& args]
|
||||
(apply @for-all*-ref args))
|
||||
|
||||
(let [g? (dynaload 'clojure.test.check.generators/generator?)
|
||||
g (dynaload 'clojure.test.check.generators/generate)
|
||||
mkg (dynaload 'clojure.test.check.generators/->Generator)]
|
||||
(defn- generator?
|
||||
[x]
|
||||
(@g? x))
|
||||
(defn- generator
|
||||
[gfn]
|
||||
(@mkg gfn))
|
||||
(defn generate
|
||||
"Generate a single value using generator."
|
||||
[generator]
|
||||
(@g generator)))
|
||||
|
||||
(defn ^:skip-wiki delay-impl
|
||||
[gfnd]
|
||||
;;N.B. depends on test.check impl details
|
||||
(generator (fn [rnd size]
|
||||
((:gen @gfnd) rnd size))))
|
||||
|
||||
;(defn gen-for-name
|
||||
; "Dynamically loads test.check generator named s."
|
||||
; [s]
|
||||
; (let [g (dynaload s)]
|
||||
; (if (generator? g)
|
||||
; g
|
||||
; (throw (js/Error. (str "Var " s " is not a generator"))))))
|
||||
|
||||
(lazy-combinators hash-map list map not-empty set vector vector-distinct fmap elements
|
||||
bind choose one-of such-that tuple sample return
|
||||
large-integer* double* frequency shuffle)
|
||||
|
||||
(lazy-prims any any-printable boolean char char-alpha char-alphanumeric char-ascii double
|
||||
int keyword keyword-ns large-integer ratio simple-type simple-type-printable
|
||||
string string-ascii string-alphanumeric symbol symbol-ns uuid)
|
||||
|
||||
(defn cat
|
||||
"Returns a generator of a sequence catenated from results of
|
||||
gens, each of which should generate something sequential."
|
||||
[& gens]
|
||||
(fmap #(apply concat %)
|
||||
(apply tuple gens)))
|
||||
|
||||
(defn- ^boolean qualified? [ident] (not (nil? (namespace ident))))
|
||||
|
||||
(def ^:private
|
||||
gen-builtins
|
||||
(c/delay
|
||||
(let [simple (simple-type-printable)]
|
||||
{any? (one-of [(return nil) (any-printable)])
|
||||
some? (such-that some? (any-printable))
|
||||
number? (one-of [(large-integer) (double)])
|
||||
integer? (large-integer)
|
||||
int? (large-integer)
|
||||
pos-int? (large-integer* {:min 1})
|
||||
neg-int? (large-integer* {:max -1})
|
||||
nat-int? (large-integer* {:min 0})
|
||||
float? (double)
|
||||
double? (double)
|
||||
string? (string-alphanumeric)
|
||||
ident? (one-of [(keyword-ns) (symbol-ns)])
|
||||
simple-ident? (one-of [(keyword) (symbol)])
|
||||
qualified-ident? (such-that qualified? (one-of [(keyword-ns) (symbol-ns)]))
|
||||
keyword? (keyword-ns)
|
||||
simple-keyword? (keyword)
|
||||
qualified-keyword? (such-that qualified? (keyword-ns))
|
||||
symbol? (symbol-ns)
|
||||
simple-symbol? (symbol)
|
||||
qualified-symbol? (such-that qualified? (symbol-ns))
|
||||
uuid? (uuid)
|
||||
uri? (fmap #(Uri. (str "http://" % ".com")) (uuid))
|
||||
inst? (fmap #(js/Date. %)
|
||||
(large-integer))
|
||||
seqable? (one-of [(return nil)
|
||||
(list simple)
|
||||
(vector simple)
|
||||
(map simple simple)
|
||||
(set simple)
|
||||
(string-alphanumeric)])
|
||||
indexed? (vector simple)
|
||||
map? (map simple simple)
|
||||
vector? (vector simple)
|
||||
list? (list simple)
|
||||
seq? (list simple)
|
||||
char? (char)
|
||||
set? (set simple)
|
||||
nil? (return nil)
|
||||
false? (return false)
|
||||
true? (return true)
|
||||
boolean? (boolean)
|
||||
zero? (return 0)
|
||||
;rational? (one-of [(large-integer) (ratio)])
|
||||
coll? (one-of [(map simple simple)
|
||||
(list simple)
|
||||
(vector simple)
|
||||
(set simple)])
|
||||
empty? (elements [nil '() [] {} #{}])
|
||||
associative? (one-of [(map simple simple) (vector simple)])
|
||||
sequential? (one-of [(list simple) (vector simple)])
|
||||
;ratio? (such-that ratio? (ratio))
|
||||
})))
|
||||
|
||||
(defn gen-for-pred
|
||||
"Given a predicate, returns a built-in generator if one exists."
|
||||
[pred]
|
||||
(if (set? pred)
|
||||
(elements pred)
|
||||
(get @gen-builtins pred)))
|
||||
|
||||
(comment
|
||||
(require 'clojure.test.check)
|
||||
(require 'clojure.test.check.properties)
|
||||
(require 'cljs.spec.gen)
|
||||
(in-ns 'cljs.spec.gen)
|
||||
|
||||
;; combinators, see call to lazy-combinators above for complete list
|
||||
(generate (one-of [(gen-for-pred integer?) (gen-for-pred string?)]))
|
||||
(generate (such-that #(< 10000 %) (gen-for-pred integer?)))
|
||||
(let [reqs {:a (gen-for-pred number?)
|
||||
:b (gen-for-pred keyword?)}
|
||||
opts {:c (gen-for-pred string?)}]
|
||||
(generate (bind (choose 0 (count opts))
|
||||
#(let [args (concat (seq reqs) (c/shuffle (seq opts)))]
|
||||
(->> args
|
||||
(take (+ % (count reqs)))
|
||||
(mapcat identity)
|
||||
(apply hash-map))))))
|
||||
(generate (cat (list (gen-for-pred string?))
|
||||
(list (gen-for-pred integer?))))
|
||||
|
||||
;; load your own generator
|
||||
;(gen-for-name 'clojure.test.check.generators/int)
|
||||
|
||||
;; failure modes
|
||||
;(gen-for-name 'unqualified)
|
||||
;(gen-for-name 'clojure.core/+)
|
||||
;(gen-for-name 'clojure.core/name-does-not-exist)
|
||||
;(gen-for-name 'ns.does.not.exist/f)
|
||||
|
||||
)
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -1,716 +0,0 @@
|
|||
;; Copyright (c) Rich Hickey. All rights reserved.
|
||||
;; The use and distribution terms for this software are covered by the
|
||||
;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
||||
;; which can be found in the file epl-v10.html at the root of this distribution.
|
||||
;; By using this software in any fashion, you are agreeing to be bound by
|
||||
;; the terms of this license.
|
||||
;; You must not remove this notice, or any other, from this software.
|
||||
|
||||
(ns cljs.stacktrace
|
||||
(:require #?@(:clj [[cljs.util :as util]
|
||||
[clojure.java.io :as io]]
|
||||
:cljs [[goog.string :as gstring]])
|
||||
[clojure.string :as string])
|
||||
#?(:clj (:import [java.util.regex Pattern]
|
||||
[java.io File])))
|
||||
|
||||
(defmulti parse-stacktrace
|
||||
"Parse a JavaScript stacktrace string into a canonical data form. The
|
||||
arguments:
|
||||
|
||||
repl-env - the repl environment, an optional map with :host and :port keys
|
||||
if the stacktrace includes url, not file references
|
||||
st - the original stacktrace string to parse
|
||||
err - an error map. :ua-product key defines the type of stacktrace parser
|
||||
to use, for example :chrome
|
||||
opts - additional options. :output-dir maybe given in this argument if
|
||||
:host and :port do not apply, for example, a file path
|
||||
|
||||
The canonical stacktrace representation can easily be mapped to a
|
||||
ClojureScript one see mapped-stacktrace and mapped-stacktrace-str"
|
||||
(fn [repl-env st err opts] (:ua-product err)))
|
||||
|
||||
(defn parse-int [s]
|
||||
#?(:clj (Long/parseLong s)
|
||||
:cljs (js/parseInt s 10)))
|
||||
|
||||
(defn starts-with?
|
||||
#?(:cljs {:tag boolean})
|
||||
[^String s0 s1]
|
||||
#?(:clj (.startsWith s0 s1)
|
||||
:cljs (gstring/startsWith s0 s1)))
|
||||
|
||||
(defn ends-with?
|
||||
#?(:cljs {:tag boolean})
|
||||
[^String s0 s1]
|
||||
#?(:clj (.endsWith s0 s1)
|
||||
:cljs (gstring/endsWith s0 s1)))
|
||||
|
||||
(defn string->regex [s]
|
||||
#?(:clj (Pattern/compile s)
|
||||
:cljs (js/RegExp. s)))
|
||||
|
||||
(defn output-directory [opts]
|
||||
#?(:clj (util/output-directory opts)
|
||||
:cljs (or (:output-dir opts) "out")))
|
||||
|
||||
(defmethod parse-stacktrace :default
|
||||
[repl-env st err opts] st)
|
||||
|
||||
(defn parse-file-line-column [flc]
|
||||
(if-not (re-find #":" flc)
|
||||
[flc nil nil]
|
||||
(let [xs (string/split flc #":")
|
||||
[pre [line column]]
|
||||
(reduce
|
||||
(fn [[pre post] [x i]]
|
||||
(if (<= i 2)
|
||||
[pre (conj post x)]
|
||||
[(conj pre x) post]))
|
||||
[[] []] (map vector xs (range (count xs) 0 -1)))
|
||||
file (string/join ":" pre)]
|
||||
[(cond-> file
|
||||
(starts-with? file "(") (string/replace "(" ""))
|
||||
(parse-int
|
||||
(cond-> line
|
||||
(ends-with? line ")") (string/replace ")" "")))
|
||||
(parse-int
|
||||
(cond-> column
|
||||
(ends-with? column ")") (string/replace ")" "")))])))
|
||||
|
||||
(defn parse-file
|
||||
"Given a browser file url convert it into a relative path that can be used
|
||||
to locate the original source."
|
||||
[{:keys [host host-port port] :as repl-env} file {:keys [asset-path] :as opts}]
|
||||
(let [urlpat (if host
|
||||
(string->regex
|
||||
(str "http://" host ":" (or host-port port) "/"))
|
||||
"")
|
||||
match (if host
|
||||
(re-find urlpat file)
|
||||
(contains? opts :output-dir))]
|
||||
(if match
|
||||
(-> file
|
||||
(string/replace urlpat "")
|
||||
(string/replace
|
||||
(string->regex
|
||||
;; if :asset-path specified drop leading slash
|
||||
(str "^" (or (and asset-path (string/replace asset-path #"^/" ""))
|
||||
(output-directory opts)) "/"))
|
||||
""))
|
||||
(if-let [asset-root (:asset-root opts)]
|
||||
(string/replace file asset-root "")
|
||||
(throw
|
||||
(ex-info (str "Could not relativize URL " file)
|
||||
{:type :parse-stacktrace
|
||||
:reason :relativize-url}))))))
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Chrome Stacktrace
|
||||
|
||||
(defn chrome-st-el->frame
|
||||
[repl-env st-el opts]
|
||||
(let [xs (-> st-el
|
||||
(string/replace #"\s+at\s+" "")
|
||||
(string/split #"\s+"))
|
||||
[function flc] (if (== 1 (count xs))
|
||||
[nil (first xs)]
|
||||
[(first xs) (last xs)])
|
||||
[file line column] (parse-file-line-column flc)]
|
||||
(if (and file function line column)
|
||||
{:file (parse-file repl-env file opts)
|
||||
:function (string/replace function #"Object\." "")
|
||||
:line line
|
||||
:column column}
|
||||
(when-not (string/blank? function)
|
||||
{:file nil
|
||||
:function (string/replace function #"Object\." "")
|
||||
:line nil
|
||||
:column nil}))))
|
||||
|
||||
(comment
|
||||
(chrome-st-el->frame {:host "localhost" :port 9000}
|
||||
"\tat cljs$core$ffirst (http://localhost:9000/out/cljs/core.js:5356:34)" {})
|
||||
)
|
||||
|
||||
(defmethod parse-stacktrace :chrome
|
||||
[repl-env st err opts]
|
||||
(->> st
|
||||
string/split-lines
|
||||
(drop-while #(starts-with? % "Error"))
|
||||
(take-while #(not (starts-with? % " at eval")))
|
||||
(map #(chrome-st-el->frame repl-env % opts))
|
||||
(remove nil?)
|
||||
vec))
|
||||
|
||||
(comment
|
||||
(parse-stacktrace {:host "localhost" :port 9000}
|
||||
"Error: 1 is not ISeqable
|
||||
at Object.cljs$core$seq [as seq] (http://localhost:9000/out/cljs/core.js:4258:8)
|
||||
at Object.cljs$core$first [as first] (http://localhost:9000/out/cljs/core.js:4288:19)
|
||||
at cljs$core$ffirst (http://localhost:9000/out/cljs/core.js:5356:34)
|
||||
at http://localhost:9000/out/cljs/core.js:16971:89
|
||||
at cljs.core.map.cljs$core$map__2 (http://localhost:9000/out/cljs/core.js:16972:3)
|
||||
at http://localhost:9000/out/cljs/core.js:10981:129
|
||||
at cljs.core.LazySeq.sval (http://localhost:9000/out/cljs/core.js:10982:3)
|
||||
at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (http://localhost:9000/out/cljs/core.js:11073:10)
|
||||
at Object.cljs$core$seq [as seq] (http://localhost:9000/out/cljs/core.js:4239:13)
|
||||
at Object.cljs$core$pr_sequential_writer [as pr_sequential_writer] (http://localhost:9000/out/cljs/core.js:28706:14)"
|
||||
{:ua-product :chrome}
|
||||
nil)
|
||||
|
||||
(parse-stacktrace {:host "localhost" :port 9000}
|
||||
"Error: 1 is not ISeqable
|
||||
at Object.cljs$core$seq [as seq] (http://localhost:9000/js/cljs/core.js:4258:8)
|
||||
at Object.cljs$core$first [as first] (http://localhost:9000/js/cljs/core.js:4288:19)
|
||||
at cljs$core$ffirst (http://localhost:9000/js/cljs/core.js:5356:34)
|
||||
at http://localhost:9000/js/cljs/core.js:16971:89
|
||||
at cljs.core.map.cljs$core$map__2 (http://localhost:9000/js/cljs/core.js:16972:3)
|
||||
at http://localhost:9000/js/cljs/core.js:10981:129
|
||||
at cljs.core.LazySeq.sval (http://localhost:9000/js/cljs/core.js:10982:3)
|
||||
at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (http://localhost:9000/js/cljs/core.js:11073:10)
|
||||
at Object.cljs$core$seq [as seq] (http://localhost:9000/js/cljs/core.js:4239:13)
|
||||
at Object.cljs$core$pr_sequential_writer [as pr_sequential_writer] (http://localhost:9000/js/cljs/core.js:28706:14)"
|
||||
{:ua-product :chrome}
|
||||
{:asset-path "/js"})
|
||||
|
||||
(parse-stacktrace {:host "localhost" :port 9000}
|
||||
"Error: 1 is not ISeqable
|
||||
at Object.cljs$core$seq [as seq] (http://localhost:9000/out/cljs/core.js:4259:8)
|
||||
at Object.cljs$core$first [as first] (http://localhost:9000/out/cljs/core.js:4289:19)
|
||||
at cljs$core$ffirst (http://localhost:9000/out/cljs/core.js:5357:18)
|
||||
at eval (eval at <anonymous> (http://localhost:9000/out/clojure/browser/repl.js:23:272), <anonymous>:1:106)
|
||||
at eval (eval at <anonymous> (http://localhost:9000/out/clojure/browser/repl.js:23:272), <anonymous>:9:3)
|
||||
at eval (eval at <anonymous> (http://localhost:9000/out/clojure/browser/repl.js:23:272), <anonymous>:14:4)
|
||||
at http://localhost:9000/out/clojure/browser/repl.js:23:267
|
||||
at clojure$browser$repl$evaluate_javascript (http://localhost:9000/out/clojure/browser/repl.js:26:4)
|
||||
at Object.callback (http://localhost:9000/out/clojure/browser/repl.js:121:169)
|
||||
at goog.messaging.AbstractChannel.deliver (http://localhost:9000/out/goog/messaging/abstractchannel.js:142:13)"
|
||||
{:ua-product :chrome}
|
||||
nil)
|
||||
|
||||
;; Node.js example
|
||||
(parse-stacktrace {}
|
||||
"Error: 1 is not ISeqable
|
||||
at Object.cljs$core$seq [as seq] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:3999:8)
|
||||
at Object.cljs$core$first [as first] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:4018:19)
|
||||
at cljs$core$ffirst (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:5161:34)
|
||||
at /home/my/cool/project/.cljs_bootstrap/cljs/core.js:16006:88
|
||||
at cljs.core.map.cljs$core$IFn$_invoke$arity$2 (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:16007:3)
|
||||
at cljs.core.LazySeq.sval (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:10244:109)
|
||||
at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:10335:10)
|
||||
at Object.cljs$core$seq [as seq] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:3980:13)
|
||||
at Object.cljs$core$pr_sequential_writer [as pr_sequential_writer] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:28084:14)
|
||||
at cljs.core.LazySeq.cljs$core$IPrintWithWriter$_pr_writer$arity$3 (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:28812:18)"
|
||||
{:ua-product :chrome}
|
||||
{:output-dir "/home/my/cool/project/.cljs_bootstrap"})
|
||||
)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Safari Stacktrace
|
||||
|
||||
(defn safari-st-el->frame
|
||||
[repl-env st-el opts]
|
||||
(let [[function flc] (if (re-find #"@" st-el)
|
||||
(string/split st-el #"@")
|
||||
[nil st-el])
|
||||
[file line column] (parse-file-line-column flc)]
|
||||
(if (and file function line column)
|
||||
{:file (parse-file repl-env file opts)
|
||||
:function (string/trim function)
|
||||
:line line
|
||||
:column column}
|
||||
(when-not (string/blank? function)
|
||||
{:file nil
|
||||
:function (string/trim function)
|
||||
:line nil
|
||||
:column nil}))))
|
||||
|
||||
(comment
|
||||
(safari-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4259:17" {})
|
||||
|
||||
(safari-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs$core$seq@http://localhost:9000/js/cljs/core.js:4259:17" {:asset-path "js"})
|
||||
)
|
||||
|
||||
(defmethod parse-stacktrace :safari
|
||||
[repl-env st err opts]
|
||||
(->> st
|
||||
string/split-lines
|
||||
(drop-while #(starts-with? % "Error"))
|
||||
(take-while #(not (starts-with? % "eval code")))
|
||||
(remove string/blank?)
|
||||
(map #(safari-st-el->frame repl-env % opts))
|
||||
(remove nil?)
|
||||
vec))
|
||||
|
||||
(comment
|
||||
(parse-stacktrace {}
|
||||
"cljs$core$seq@out/cljs/core.js:3999:17
|
||||
cljs$core$first@out/cljs/core.js:4018:22
|
||||
cljs$core$ffirst@out/cljs/core.js:5161:39
|
||||
global code"
|
||||
{:ua-product :safari}
|
||||
{:output-dir "out"})
|
||||
|
||||
(parse-stacktrace {:host "localhost" :port 9000}
|
||||
"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4259:17
|
||||
cljs$core$first@http://localhost:9000/out/cljs/core.js:4289:22
|
||||
cljs$core$ffirst@http://localhost:9000/out/cljs/core.js:5357:39
|
||||
http://localhost:9000/out/cljs/core.js:16972:92
|
||||
http://localhost:9000/out/cljs/core.js:16973:3
|
||||
http://localhost:9000/out/cljs/core.js:10982:133
|
||||
sval@http://localhost:9000/out/cljs/core.js:10983:3
|
||||
cljs$core$ISeqable$_seq$arity$1@http://localhost:9000/out/cljs/core.js:11074:14
|
||||
cljs$core$seq@http://localhost:9000/out/cljs/core.js:4240:44
|
||||
cljs$core$pr_sequential_writer@http://localhost:9000/out/cljs/core.js:28707:17
|
||||
cljs$core$IPrintWithWriter$_pr_writer$arity$3@http://localhost:9000/out/cljs/core.js:29386:38
|
||||
cljs$core$pr_writer_impl@http://localhost:9000/out/cljs/core.js:28912:57
|
||||
cljs$core$pr_writer@http://localhost:9000/out/cljs/core.js:29011:32
|
||||
cljs$core$pr_seq_writer@http://localhost:9000/out/cljs/core.js:29015:20
|
||||
cljs$core$pr_sb_with_opts@http://localhost:9000/out/cljs/core.js:29078:24
|
||||
cljs$core$pr_str_with_opts@http://localhost:9000/out/cljs/core.js:29092:48
|
||||
cljs$core$pr_str__delegate@http://localhost:9000/out/cljs/core.js:29130:34
|
||||
cljs$core$pr_str@http://localhost:9000/out/cljs/core.js:29139:39
|
||||
eval code
|
||||
eval@[native code]
|
||||
http://localhost:9000/out/clojure/browser/repl.js:23:271
|
||||
clojure$browser$repl$evaluate_javascript@http://localhost:9000/out/clojure/browser/repl.js:26:4
|
||||
http://localhost:9000/out/clojure/browser/repl.js:121:173
|
||||
deliver@http://localhost:9000/out/goog/messaging/abstractchannel.js:142:21
|
||||
xpcDeliver@http://localhost:9000/out/goog/net/xpc/crosspagechannel.js:733:19
|
||||
messageReceived_@http://localhost:9000/out/goog/net/xpc/nativemessagingtransport.js:321:23
|
||||
fireListener@http://localhost:9000/out/goog/events/events.js:741:25
|
||||
handleBrowserEvent_@http://localhost:9000/out/goog/events/events.js:862:34
|
||||
http://localhost:9000/out/goog/events/events.js:276:42"
|
||||
{:ua-product :safari}
|
||||
nil)
|
||||
)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Firefox Stacktrace
|
||||
|
||||
(defn firefox-clean-function [f]
|
||||
(as-> f f
|
||||
(cond
|
||||
(string/blank? f) nil
|
||||
(not= (.indexOf f "</") -1)
|
||||
(let [idx (.indexOf f "</")]
|
||||
(.substring f (+ idx 2)))
|
||||
:else f)
|
||||
(-> f
|
||||
(string/replace #"<" "")
|
||||
(string/replace #?(:clj #"\/" :cljs (js/RegExp. "\\/")) ""))))
|
||||
|
||||
(defn firefox-st-el->frame
|
||||
[repl-env st-el opts]
|
||||
(let [[function flc] (if (re-find #"@" st-el)
|
||||
(string/split st-el #"@")
|
||||
[nil st-el])
|
||||
[file line column] (parse-file-line-column flc)]
|
||||
(if (and file function line column)
|
||||
{:file (parse-file repl-env file opts)
|
||||
:function (firefox-clean-function function)
|
||||
:line line
|
||||
:column column}
|
||||
(when-not (string/blank? function)
|
||||
{:file nil
|
||||
:function (firefox-clean-function function)
|
||||
:line nil
|
||||
:column nil}))))
|
||||
|
||||
(comment
|
||||
(firefox-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4258:8" {})
|
||||
|
||||
(firefox-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs.core.map</cljs$core$map__2/</<@http://localhost:9000/out/cljs/core.js:16971:87" {})
|
||||
|
||||
(firefox-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs.core.map</cljs$core$map__2/</<@http://localhost:9000/out/cljs/core.js:16971:87" {})
|
||||
|
||||
(firefox-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs.core.pr_str</cljs$core$pr_str@http://localhost:9000/out/cljs/core.js:29138:8" {})
|
||||
|
||||
(firefox-st-el->frame {:host "localhost" :port 9000}
|
||||
"cljs.core.pr_str</cljs$core$pr_str__delegate@http://localhost:9000/out/cljs/core.js:29129:8" {})
|
||||
)
|
||||
|
||||
(defmethod parse-stacktrace :firefox
|
||||
[repl-env st err opts]
|
||||
(->> st
|
||||
string/split-lines
|
||||
(drop-while #(starts-with? % "Error"))
|
||||
(take-while #(= (.indexOf % "> eval") -1))
|
||||
(remove string/blank?)
|
||||
(map #(firefox-st-el->frame repl-env % opts))
|
||||
(remove nil?)
|
||||
vec))
|
||||
|
||||
(comment
|
||||
(parse-stacktrace {:host "localhost" :port 9000}
|
||||
"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4258:8
|
||||
cljs$core$first@http://localhost:9000/out/cljs/core.js:4288:9
|
||||
cljs$core$ffirst@http://localhost:9000/out/cljs/core.js:5356:24
|
||||
cljs.core.map</cljs$core$map__2/</<@http://localhost:9000/out/cljs/core.js:16971:87
|
||||
cljs.core.map</cljs$core$map__2/<@http://localhost:9000/out/cljs/core.js:16970:1
|
||||
cljs.core.LazySeq.prototype.sval/self__.s<@http://localhost:9000/out/cljs/core.js:10981:119
|
||||
cljs.core.LazySeq.prototype.sval@http://localhost:9000/out/cljs/core.js:10981:13
|
||||
cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1@http://localhost:9000/out/cljs/core.js:11073:1
|
||||
cljs$core$seq@http://localhost:9000/out/cljs/core.js:4239:8
|
||||
cljs$core$pr_sequential_writer@http://localhost:9000/out/cljs/core.js:28706:4
|
||||
cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3@http://localhost:9000/out/cljs/core.js:29385:8
|
||||
cljs$core$pr_writer_impl@http://localhost:9000/out/cljs/core.js:28911:8
|
||||
cljs$core$pr_writer@http://localhost:9000/out/cljs/core.js:29010:8
|
||||
cljs$core$pr_seq_writer@http://localhost:9000/out/cljs/core.js:29014:1
|
||||
cljs$core$pr_sb_with_opts@http://localhost:9000/out/cljs/core.js:29077:1
|
||||
cljs$core$pr_str_with_opts@http://localhost:9000/out/cljs/core.js:29091:23
|
||||
cljs.core.pr_str</cljs$core$pr_str__delegate@http://localhost:9000/out/cljs/core.js:29129:8
|
||||
cljs.core.pr_str</cljs$core$pr_str@http://localhost:9000/out/cljs/core.js:29138:8
|
||||
@http://localhost:9000/out/clojure/browser/repl.js line 23 > eval:1:25
|
||||
@http://localhost:9000/out/clojure/browser/repl.js line 23 > eval:1:2
|
||||
clojure$browser$repl$evaluate_javascript/result<@http://localhost:9000/out/clojure/browser/repl.js:23:267
|
||||
clojure$browser$repl$evaluate_javascript@http://localhost:9000/out/clojure/browser/repl.js:23:15
|
||||
clojure$browser$repl$connect/</<@http://localhost:9000/out/clojure/browser/repl.js:121:128
|
||||
goog.messaging.AbstractChannel.prototype.deliver@http://localhost:9000/out/goog/messaging/abstractchannel.js:142:5
|
||||
goog.net.xpc.CrossPageChannel.prototype.xpcDeliver@http://localhost:9000/out/goog/net/xpc/crosspagechannel.js:733:7
|
||||
goog.net.xpc.NativeMessagingTransport.messageReceived_@http://localhost:9000/out/goog/net/xpc/nativemessagingtransport.js:321:1
|
||||
goog.events.fireListener@http://localhost:9000/out/goog/events/events.js:741:10
|
||||
goog.events.handleBrowserEvent_@http://localhost:9000/out/goog/events/events.js:862:1
|
||||
goog.events.getProxy/f<@http://localhost:9000/out/goog/events/events.js:276:16"
|
||||
{:ua-product :firefox}
|
||||
nil)
|
||||
)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Rhino Stacktrace
|
||||
|
||||
(defmethod parse-stacktrace :rhino
|
||||
[repl-env st err {:keys [output-dir] :as opts}]
|
||||
(letfn [(process-frame [frame-str]
|
||||
(when-not (or (string/blank? frame-str)
|
||||
(== -1 (.indexOf frame-str "\tat")))
|
||||
(let [[file-side line-fn-side] (string/split frame-str #":")
|
||||
file (string/replace file-side #"\s+at\s+" "")
|
||||
[line function] (string/split line-fn-side #"\s+")]
|
||||
{:file (string/replace file
|
||||
(str output-dir
|
||||
#?(:clj File/separator :cljs "/"))
|
||||
"")
|
||||
:function (when function
|
||||
(-> function
|
||||
(string/replace "(" "")
|
||||
(string/replace ")" "")))
|
||||
:line (when (and line (not (string/blank? line)))
|
||||
(parse-int line))
|
||||
:column 0})))]
|
||||
(->> (string/split st #"\n")
|
||||
(map process-frame)
|
||||
(remove nil?)
|
||||
vec)))
|
||||
|
||||
(comment
|
||||
(parse-stacktrace {}
|
||||
"\tat .cljs_rhino_repl/goog/../cljs/core.js:4215 (seq)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:4245 (first)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:5295 (ffirst)
|
||||
\tat <cljs repl>:1
|
||||
\tat <cljs repl>:1"
|
||||
{:ua-product :rhino}
|
||||
{:output-dir ".cljs_rhino_repl"})
|
||||
|
||||
(parse-stacktrace {}
|
||||
"org.mozilla.javascript.JavaScriptException: Error: 1 is not ISeqable (.cljs_rhino_repl/goog/../cljs/core.js#3998)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:3998 (cljs$core$seq)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:4017 (cljs$core$first)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:5160 (cljs$core$ffirst)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:16005
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:16004
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:10243
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:10334
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:3979 (cljs$core$seq)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28083 (cljs$core$pr_sequential_writer)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28811
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28267 (cljs$core$pr_writer_impl)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28349 (cljs$core$pr_writer)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28353 (cljs$core$pr_seq_writer)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28416 (cljs$core$pr_sb_with_opts)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28430 (cljs$core$pr_str_with_opts)
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28524
|
||||
\tat .cljs_rhino_repl/goog/../cljs/core.js:28520 (cljs$core$pr_str)
|
||||
at <cljs repl>:1
|
||||
"
|
||||
{:ua-product :rhino}
|
||||
{:output-dir ".cljs_rhino_repl"})
|
||||
)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Nashorn Stacktrace
|
||||
|
||||
(defmethod parse-stacktrace :nashorn
|
||||
[repl-env st err {:keys [output-dir] :as opts}]
|
||||
(letfn [(process-frame [frame-str]
|
||||
(when-not (or (string/blank? frame-str)
|
||||
(== -1 (.indexOf frame-str "\tat")))
|
||||
(let [frame-str (string/replace frame-str #"\s+at\s+" "")
|
||||
[function file-and-line] (string/split frame-str #"\s+")
|
||||
[file-part line-part] (string/split file-and-line #":")]
|
||||
{:file (string/replace (.substring file-part 1)
|
||||
(str output-dir
|
||||
#?(:clj File/separator :cljs "/"))
|
||||
"")
|
||||
:function function
|
||||
:line (when (and line-part (not (string/blank? line-part)))
|
||||
(parse-int
|
||||
(.substring line-part 0
|
||||
(dec (count line-part)))))
|
||||
:column 0})))]
|
||||
(->> (string/split st #"\n")
|
||||
(map process-frame)
|
||||
(remove nil?)
|
||||
vec)))
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Graal.JS Stacktrace
|
||||
|
||||
(defmethod parse-stacktrace :graaljs
|
||||
[repl-env st err {:keys [output-dir] :as opts}]
|
||||
(letfn [(process-frame [frame-str]
|
||||
(when-not (string/blank? frame-str)
|
||||
(let [[function file-and-line] (string/split frame-str #"\(")
|
||||
[file-part line-part] (string/split file-and-line #":")]
|
||||
{:file (string/replace file-part
|
||||
(str output-dir
|
||||
#?(:clj File/separator :cljs "/"))
|
||||
"")
|
||||
:function function
|
||||
:line (when (and line-part (not (string/blank? line-part)))
|
||||
(parse-int
|
||||
(.substring line-part 0
|
||||
(dec (count line-part)))))
|
||||
:column 0})))]
|
||||
(->> (string/split st #"\n")
|
||||
(map process-frame)
|
||||
(remove nil?)
|
||||
vec)))
|
||||
|
||||
(comment
|
||||
(parse-stacktrace {}
|
||||
"Error: 1 is not ISeqable
|
||||
\tat cljs$core$seq (.cljs_nashorn_repl/goog/../cljs/core.js:3998)
|
||||
\tat cljs$core$first (.cljs_nashorn_repl/goog/../cljs/core.js:4017)
|
||||
\tat cljs$core$ffirst (.cljs_nashorn_repl/goog/../cljs/core.js:5160)
|
||||
\tat <anonymous> (.cljs_nashorn_repl/goog/../cljs/core.js:16005)
|
||||
\tat <anonymous> (.cljs_nashorn_repl/goog/../cljs/core.js:16004)
|
||||
\tat sval (.cljs_nashorn_repl/goog/../cljs/core.js:10243)
|
||||
\tat cljs$core$ISeqable$_seq$arity$1-6 (.cljs_nashorn_repl/goog/../cljs/core.js:10334)
|
||||
\tat cljs$core$seq (.cljs_nashorn_repl/goog/../cljs/core.js:3979)
|
||||
\tat cljs$core$pr_sequential_writer (.cljs_nashorn_repl/goog/../cljs/core.js:28083)
|
||||
\tat cljs$core$IPrintWithWriter$_pr_writer$arity$3-5 (.cljs_nashorn_repl/goog/../cljs/core.js:28811)
|
||||
\tat cljs$core$pr_writer_impl (.cljs_nashorn_repl/goog/../cljs/core.js:28267)
|
||||
\tat cljs$core$pr_writer (.cljs_nashorn_repl/goog/../cljs/core.js:28349)
|
||||
\tat cljs$core$pr_seq_writer (.cljs_nashorn_repl/goog/../cljs/core.js:28353)
|
||||
\tat cljs$core$pr_sb_with_opts (.cljs_nashorn_repl/goog/../cljs/core.js:28416)
|
||||
\tat cljs$core$pr_str_with_opts (.cljs_nashorn_repl/goog/../cljs/core.js:28430)
|
||||
\tat cljs$core$IFn$_invoke$arity$variadic-71 (.cljs_nashorn_repl/goog/../cljs/core.js:28524)
|
||||
\tat cljs$core$pr_str (.cljs_nashorn_repl/goog/../cljs/core.js:28520)
|
||||
\tat <anonymous> (<eval>:1)
|
||||
\tat <program> (<eval>:1)\n"
|
||||
{:ua-product :nashorn}
|
||||
{:output-dir ".cljs_nashorn_repl"})
|
||||
)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Node.js Stacktrace
|
||||
|
||||
(defmethod parse-stacktrace :nodejs
|
||||
[repl-env st err {:keys [output-dir] :as opts}]
|
||||
(letfn [(parse-source-loc-info [x]
|
||||
(when (and x (not (string/blank? x)))
|
||||
(parse-int x)))
|
||||
(process-frame [frame-str]
|
||||
(when-not (or (string/blank? frame-str)
|
||||
(nil? (re-find #"^\s+at" frame-str)))
|
||||
(let [frame-str (string/replace frame-str #"\s+at\s+" "")]
|
||||
(when-not (string/starts-with? frame-str "repl:")
|
||||
(let [parts (string/split frame-str #"\s+")
|
||||
[function file&line] (if (== 2 (count parts))
|
||||
[(first parts)
|
||||
(subs (second parts) 1
|
||||
(dec (count (second parts))))]
|
||||
[nil (first parts)])
|
||||
[file-part line-part col-part] (string/split file&line #":")]
|
||||
{:file (if function
|
||||
(cond-> file-part
|
||||
output-dir
|
||||
(string/replace
|
||||
(str output-dir
|
||||
#?(:clj File/separator :cljs "/"))
|
||||
""))
|
||||
file-part)
|
||||
:function function
|
||||
:line (parse-source-loc-info line-part)
|
||||
:column (parse-source-loc-info col-part)})))))]
|
||||
(->> (string/split st #"\n")
|
||||
(map process-frame)
|
||||
(remove nil?)
|
||||
vec)))
|
||||
|
||||
(comment
|
||||
(parse-stacktrace {}
|
||||
"Error: 1 is not ISeqable
|
||||
at cljs$core$seq (.cljs_node_repl/cljs/core.cljs:1118:20)
|
||||
at repl:1:65
|
||||
at repl:9:4
|
||||
at repl:17:3
|
||||
at repl:22:4
|
||||
at Object.exports.runInThisContext (vm.js:54:17)
|
||||
at Domain.<anonymous> ([stdin]:41:34)
|
||||
at Domain.run (domain.js:228:14)
|
||||
at Socket.<anonymous> ([stdin]:40:25)
|
||||
at emitOne (events.js:77:13)"
|
||||
|
||||
{:ua-product :nodejs}
|
||||
{:output-dir ".cljs_node_repl"})
|
||||
)
|
||||
|
||||
;; -----------------------------------------------------------------------------
|
||||
;; Stacktrace Mapping
|
||||
|
||||
(defn remove-ext [file]
|
||||
(-> file
|
||||
(string/replace #"\.js$" "")
|
||||
(string/replace #"\.cljs$" "")
|
||||
(string/replace #"\.cljc$" "")
|
||||
(string/replace #"\.clj$" "")))
|
||||
|
||||
(defn mapped-line-column-call
|
||||
"Given a cljs.source-map source map data structure map a generated line
|
||||
and column back to the original line, column, and function called."
|
||||
[sms file line column]
|
||||
(let [source-map (get sms (symbol (string/replace (remove-ext file) "/" ".")))]
|
||||
;; source maps are 0 indexed for columns
|
||||
;; multiple segments may exist at column
|
||||
;; the last segment seems most accurate
|
||||
(letfn [(get-best-column [columns column]
|
||||
(last (or (get columns
|
||||
(last (filter #(<= % (dec column))
|
||||
(sort (keys columns)))))
|
||||
(second (first columns)))))
|
||||
(adjust [mapped]
|
||||
(vec (map #(%1 %2) [inc inc identity] mapped)))]
|
||||
(let [default [line column nil]]
|
||||
;; source maps are 0 indexed for lines
|
||||
(if-let [columns (get source-map (dec line))]
|
||||
(adjust (map (get-best-column columns column) [:line :col :name]))
|
||||
default)))))
|
||||
|
||||
(defn mapped-frame
|
||||
"Given opts and a canonicalized JavaScript stacktrace frame, return the
|
||||
ClojureScript frame."
|
||||
[{:keys [function file line column]} sms opts]
|
||||
(let [no-source-file? (if-not file true (starts-with? file "<"))
|
||||
[line' column' call] (if no-source-file?
|
||||
[line column nil]
|
||||
(mapped-line-column-call sms file line column))
|
||||
file' (when-not no-source-file?
|
||||
(if (ends-with? file ".js")
|
||||
(str (subs file 0 (- (count file) 3)) ".cljs")
|
||||
file))]
|
||||
{:function function
|
||||
:call call
|
||||
:file (if no-source-file?
|
||||
(str "NO_SOURCE_FILE" (when file (str " " file)))
|
||||
file')
|
||||
:line line'
|
||||
:column column'}))
|
||||
|
||||
(defn mapped-stacktrace
|
||||
"Given a vector representing the canonicalized JavaScript stacktrace
|
||||
return the ClojureScript stacktrace. The canonical stacktrace must be
|
||||
in the form:
|
||||
|
||||
[{:file <string>
|
||||
:function <string>
|
||||
:line <integer>
|
||||
:column <integer>}*]
|
||||
|
||||
:file must be a URL path (without protocol) relative to :output-dir or a
|
||||
identifier delimited by angle brackets. The returned mapped stacktrace will
|
||||
also contain :url entries to the original sources if it can be determined
|
||||
from the classpath."
|
||||
([stacktrace sms]
|
||||
(mapped-stacktrace stacktrace sms nil))
|
||||
([stacktrace sms opts]
|
||||
(letfn [(call->function [x]
|
||||
(if (:call x)
|
||||
(hash-map :function (:call x))
|
||||
{}))
|
||||
(call-merge [function call]
|
||||
(merge-with
|
||||
(fn [munged-fn-name unmunged-call-name]
|
||||
(if (= munged-fn-name
|
||||
(string/replace (munge unmunged-call-name) "." "$"))
|
||||
unmunged-call-name
|
||||
munged-fn-name))
|
||||
function call))]
|
||||
(let [mapped-frames (map (memoize #(mapped-frame % sms opts)) stacktrace)]
|
||||
;; take each non-nil :call and optionally merge it into :function one-level
|
||||
;; up to avoid replacing with local symbols, we only replace munged name if
|
||||
;; we can munge call symbol back to it
|
||||
(vec (map call-merge
|
||||
(map #(dissoc % :call) mapped-frames)
|
||||
(concat (rest (map call->function mapped-frames)) [{}])))))))
|
||||
|
||||
(defn mapped-stacktrace-str
|
||||
"Given a vector representing the canonicalized JavaScript stacktrace and a map
|
||||
of library names to decoded source maps, print the ClojureScript stacktrace .
|
||||
See mapped-stacktrace."
|
||||
([stacktrace sms]
|
||||
(mapped-stacktrace-str stacktrace sms nil))
|
||||
([stacktrace sms opts]
|
||||
(with-out-str
|
||||
(doseq [{:keys [function file line column]}
|
||||
(mapped-stacktrace stacktrace sms opts)]
|
||||
(println "\t"
|
||||
(str (when function (str function " "))
|
||||
"(" file (when line (str ":" line))
|
||||
(when column (str ":" column)) ")"))))))
|
||||
|
||||
(comment
|
||||
(require '[cljs.closure :as cljsc]
|
||||
'[clojure.data.json :as json]
|
||||
'[cljs.source-map :as sm]
|
||||
'[clojure.pprint :as pp])
|
||||
|
||||
(cljsc/build "samples/hello/src"
|
||||
{:optimizations :none
|
||||
:output-dir "samples/hello/out"
|
||||
:output-to "samples/hello/out/hello.js"
|
||||
:source-map true})
|
||||
|
||||
(def sms
|
||||
{'hello.core
|
||||
(sm/decode
|
||||
(json/read-str
|
||||
(slurp "samples/hello/out/hello/core.js.map")
|
||||
:key-fn keyword))})
|
||||
|
||||
(pp/pprint sms)
|
||||
|
||||
;; maps to :line 5 :column 24
|
||||
(mapped-stacktrace
|
||||
[{:file "hello/core.js"
|
||||
:function "first"
|
||||
:line 6
|
||||
:column 0}]
|
||||
sms {:output-dir "samples/hello/out"})
|
||||
|
||||
(mapped-stacktrace-str
|
||||
[{:file "hello/core.js"
|
||||
:function "first"
|
||||
:line 6
|
||||
:column 0}]
|
||||
sms {:output-dir "samples/hello/out"})
|
||||
)
|
File diff suppressed because one or more lines are too long
|
@ -1,665 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('cljs.stacktrace');
|
||||
goog.require('cljs.core');
|
||||
goog.require('goog.string');
|
||||
goog.require('clojure.string');
|
||||
if((typeof cljs !== 'undefined') && (typeof cljs.stacktrace !== 'undefined') && (typeof cljs.stacktrace.parse_stacktrace !== 'undefined')){
|
||||
} else {
|
||||
/**
|
||||
* Parse a JavaScript stacktrace string into a canonical data form. The
|
||||
* arguments:
|
||||
*
|
||||
* repl-env - the repl environment, an optional map with :host and :port keys
|
||||
* if the stacktrace includes url, not file references
|
||||
* st - the original stacktrace string to parse
|
||||
* err - an error map. :ua-product key defines the type of stacktrace parser
|
||||
* to use, for example :chrome
|
||||
* opts - additional options. :output-dir maybe given in this argument if
|
||||
* :host and :port do not apply, for example, a file path
|
||||
*
|
||||
* The canonical stacktrace representation can easily be mapped to a
|
||||
* ClojureScript one see mapped-stacktrace and mapped-stacktrace-str
|
||||
*/
|
||||
cljs.stacktrace.parse_stacktrace = (function (){var method_table__4613__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
|
||||
var prefer_table__4614__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
|
||||
var method_cache__4615__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
|
||||
var cached_hierarchy__4616__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
|
||||
var hierarchy__4617__auto__ = cljs.core.get.call(null,cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),cljs.core.get_global_hierarchy.call(null));
|
||||
return (new cljs.core.MultiFn(cljs.core.symbol.call(null,"cljs.stacktrace","parse-stacktrace"),((function (method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__,hierarchy__4617__auto__){
|
||||
return (function (repl_env,st,err,opts){
|
||||
return new cljs.core.Keyword(null,"ua-product","ua-product",938384227).cljs$core$IFn$_invoke$arity$1(err);
|
||||
});})(method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__,hierarchy__4617__auto__))
|
||||
,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__4617__auto__,method_table__4613__auto__,prefer_table__4614__auto__,method_cache__4615__auto__,cached_hierarchy__4616__auto__));
|
||||
})();
|
||||
}
|
||||
cljs.stacktrace.parse_int = (function cljs$stacktrace$parse_int(s){
|
||||
return parseInt(s,(10));
|
||||
});
|
||||
cljs.stacktrace.starts_with_QMARK_ = (function cljs$stacktrace$starts_with_QMARK_(s0,s1){
|
||||
return goog.string.startsWith(s0,s1);
|
||||
});
|
||||
cljs.stacktrace.ends_with_QMARK_ = (function cljs$stacktrace$ends_with_QMARK_(s0,s1){
|
||||
return goog.string.endsWith(s0,s1);
|
||||
});
|
||||
cljs.stacktrace.string__GT_regex = (function cljs$stacktrace$string__GT_regex(s){
|
||||
return (new RegExp(s));
|
||||
});
|
||||
cljs.stacktrace.output_directory = (function cljs$stacktrace$output_directory(opts){
|
||||
var or__4131__auto__ = new cljs.core.Keyword(null,"output-dir","output-dir",-290956991).cljs$core$IFn$_invoke$arity$1(opts);
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return "out";
|
||||
}
|
||||
});
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"default","default",-1987822328),(function (repl_env,st,err,opts){
|
||||
return st;
|
||||
}));
|
||||
cljs.stacktrace.parse_file_line_column = (function cljs$stacktrace$parse_file_line_column(flc){
|
||||
if(cljs.core.not.call(null,cljs.core.re_find.call(null,/:/,flc))){
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [flc,null,null], null);
|
||||
} else {
|
||||
var xs = clojure.string.split.call(null,flc,/:/);
|
||||
var vec__28172 = cljs.core.reduce.call(null,((function (xs){
|
||||
return (function (p__28178,p__28179){
|
||||
var vec__28180 = p__28178;
|
||||
var pre = cljs.core.nth.call(null,vec__28180,(0),null);
|
||||
var post = cljs.core.nth.call(null,vec__28180,(1),null);
|
||||
var vec__28183 = p__28179;
|
||||
var x = cljs.core.nth.call(null,vec__28183,(0),null);
|
||||
var i = cljs.core.nth.call(null,vec__28183,(1),null);
|
||||
if((i <= (2))){
|
||||
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.conj.call(null,post,x)], null);
|
||||
} else {
|
||||
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.call(null,pre,x),post], null);
|
||||
}
|
||||
});})(xs))
|
||||
,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.map.call(null,cljs.core.vector,xs,cljs.core.range.call(null,cljs.core.count.call(null,xs),(0),(-1))));
|
||||
var pre = cljs.core.nth.call(null,vec__28172,(0),null);
|
||||
var vec__28175 = cljs.core.nth.call(null,vec__28172,(1),null);
|
||||
var line = cljs.core.nth.call(null,vec__28175,(0),null);
|
||||
var column = cljs.core.nth.call(null,vec__28175,(1),null);
|
||||
var file = clojure.string.join.call(null,":",pre);
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__28186 = file;
|
||||
if(cljs.stacktrace.starts_with_QMARK_.call(null,file,"(")){
|
||||
return clojure.string.replace.call(null,G__28186,"(","");
|
||||
} else {
|
||||
return G__28186;
|
||||
}
|
||||
})(),cljs.stacktrace.parse_int.call(null,(function (){var G__28187 = line;
|
||||
if(cljs.stacktrace.ends_with_QMARK_.call(null,line,")")){
|
||||
return clojure.string.replace.call(null,G__28187,")","");
|
||||
} else {
|
||||
return G__28187;
|
||||
}
|
||||
})()),cljs.stacktrace.parse_int.call(null,(function (){var G__28188 = column;
|
||||
if(cljs.stacktrace.ends_with_QMARK_.call(null,column,")")){
|
||||
return clojure.string.replace.call(null,G__28188,")","");
|
||||
} else {
|
||||
return G__28188;
|
||||
}
|
||||
})())], null);
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Given a browser file url convert it into a relative path that can be used
|
||||
* to locate the original source.
|
||||
*/
|
||||
cljs.stacktrace.parse_file = (function cljs$stacktrace$parse_file(p__28189,file,p__28190){
|
||||
var map__28191 = p__28189;
|
||||
var map__28191__$1 = (((((!((map__28191 == null))))?(((((map__28191.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28191.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28191):map__28191);
|
||||
var repl_env = map__28191__$1;
|
||||
var host = cljs.core.get.call(null,map__28191__$1,new cljs.core.Keyword(null,"host","host",-1558485167));
|
||||
var host_port = cljs.core.get.call(null,map__28191__$1,new cljs.core.Keyword(null,"host-port","host-port",1956551772));
|
||||
var port = cljs.core.get.call(null,map__28191__$1,new cljs.core.Keyword(null,"port","port",1534937262));
|
||||
var map__28192 = p__28190;
|
||||
var map__28192__$1 = (((((!((map__28192 == null))))?(((((map__28192.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28192.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28192):map__28192);
|
||||
var opts = map__28192__$1;
|
||||
var asset_path = cljs.core.get.call(null,map__28192__$1,new cljs.core.Keyword(null,"asset-path","asset-path",1500889617));
|
||||
var urlpat = (cljs.core.truth_(host)?cljs.stacktrace.string__GT_regex.call(null,["http://",cljs.core.str.cljs$core$IFn$_invoke$arity$1(host),":",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4131__auto__ = host_port;
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return port;
|
||||
}
|
||||
})()),"/"].join('')):"");
|
||||
var match = (cljs.core.truth_(host)?cljs.core.re_find.call(null,urlpat,file):cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991)));
|
||||
if(cljs.core.truth_(match)){
|
||||
return clojure.string.replace.call(null,clojure.string.replace.call(null,file,urlpat,""),cljs.stacktrace.string__GT_regex.call(null,["^",cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__4131__auto__ = (function (){var and__4120__auto__ = asset_path;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return clojure.string.replace.call(null,asset_path,/^\//,"");
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})();
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return cljs.stacktrace.output_directory.call(null,opts);
|
||||
}
|
||||
})()),"/"].join('')),"");
|
||||
} else {
|
||||
var temp__5718__auto__ = new cljs.core.Keyword(null,"asset-root","asset-root",1771735072).cljs$core$IFn$_invoke$arity$1(opts);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var asset_root = temp__5718__auto__;
|
||||
return clojure.string.replace.call(null,file,asset_root,"");
|
||||
} else {
|
||||
throw cljs.core.ex_info.call(null,["Could not relativize URL ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(''),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"parse-stacktrace","parse-stacktrace",-38208461),new cljs.core.Keyword(null,"reason","reason",-2070751759),new cljs.core.Keyword(null,"relativize-url","relativize-url",621482324)], null));
|
||||
}
|
||||
}
|
||||
});
|
||||
cljs.stacktrace.chrome_st_el__GT_frame = (function cljs$stacktrace$chrome_st_el__GT_frame(repl_env,st_el,opts){
|
||||
var xs = clojure.string.split.call(null,clojure.string.replace.call(null,st_el,/\s+at\s+/,""),/\s+/);
|
||||
var vec__28195 = ((((1) === cljs.core.count.call(null,xs)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first.call(null,xs)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first.call(null,xs),cljs.core.last.call(null,xs)], null));
|
||||
var function$ = cljs.core.nth.call(null,vec__28195,(0),null);
|
||||
var flc = cljs.core.nth.call(null,vec__28195,(1),null);
|
||||
var vec__28198 = cljs.stacktrace.parse_file_line_column.call(null,flc);
|
||||
var file = cljs.core.nth.call(null,vec__28198,(0),null);
|
||||
var line = cljs.core.nth.call(null,vec__28198,(1),null);
|
||||
var column = cljs.core.nth.call(null,vec__28198,(2),null);
|
||||
if(cljs.core.truth_((function (){var and__4120__auto__ = file;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
var and__4120__auto____$1 = function$;
|
||||
if(cljs.core.truth_(and__4120__auto____$1)){
|
||||
var and__4120__auto____$2 = line;
|
||||
if(cljs.core.truth_(and__4120__auto____$2)){
|
||||
return column;
|
||||
} else {
|
||||
return and__4120__auto____$2;
|
||||
}
|
||||
} else {
|
||||
return and__4120__auto____$1;
|
||||
}
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())){
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),cljs.stacktrace.parse_file.call(null,repl_env,file,opts),new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.replace.call(null,function$,/Object\./,""),new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column], null);
|
||||
} else {
|
||||
if(clojure.string.blank_QMARK_.call(null,function$)){
|
||||
return null;
|
||||
} else {
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),null,new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.replace.call(null,function$,/Object\./,""),new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"column","column",2078222095),null], null);
|
||||
}
|
||||
}
|
||||
});
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"chrome","chrome",1718738387),(function (repl_env,st,err,opts){
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,(function (p1__28203_SHARP_){
|
||||
return cljs.stacktrace.chrome_st_el__GT_frame.call(null,repl_env,p1__28203_SHARP_,opts);
|
||||
}),cljs.core.take_while.call(null,(function (p1__28202_SHARP_){
|
||||
return (!(cljs.stacktrace.starts_with_QMARK_.call(null,p1__28202_SHARP_," at eval")));
|
||||
}),cljs.core.drop_while.call(null,(function (p1__28201_SHARP_){
|
||||
return cljs.stacktrace.starts_with_QMARK_.call(null,p1__28201_SHARP_,"Error");
|
||||
}),clojure.string.split_lines.call(null,st))))));
|
||||
}));
|
||||
cljs.stacktrace.safari_st_el__GT_frame = (function cljs$stacktrace$safari_st_el__GT_frame(repl_env,st_el,opts){
|
||||
var vec__28204 = (cljs.core.truth_(cljs.core.re_find.call(null,/@/,st_el))?clojure.string.split.call(null,st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));
|
||||
var function$ = cljs.core.nth.call(null,vec__28204,(0),null);
|
||||
var flc = cljs.core.nth.call(null,vec__28204,(1),null);
|
||||
var vec__28207 = cljs.stacktrace.parse_file_line_column.call(null,flc);
|
||||
var file = cljs.core.nth.call(null,vec__28207,(0),null);
|
||||
var line = cljs.core.nth.call(null,vec__28207,(1),null);
|
||||
var column = cljs.core.nth.call(null,vec__28207,(2),null);
|
||||
if(cljs.core.truth_((function (){var and__4120__auto__ = file;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
var and__4120__auto____$1 = function$;
|
||||
if(cljs.core.truth_(and__4120__auto____$1)){
|
||||
var and__4120__auto____$2 = line;
|
||||
if(cljs.core.truth_(and__4120__auto____$2)){
|
||||
return column;
|
||||
} else {
|
||||
return and__4120__auto____$2;
|
||||
}
|
||||
} else {
|
||||
return and__4120__auto____$1;
|
||||
}
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())){
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),cljs.stacktrace.parse_file.call(null,repl_env,file,opts),new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.trim.call(null,function$),new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column], null);
|
||||
} else {
|
||||
if(clojure.string.blank_QMARK_.call(null,function$)){
|
||||
return null;
|
||||
} else {
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),null,new cljs.core.Keyword(null,"function","function",-2127255473),clojure.string.trim.call(null,function$),new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"column","column",2078222095),null], null);
|
||||
}
|
||||
}
|
||||
});
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"safari","safari",497115653),(function (repl_env,st,err,opts){
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,(function (p1__28212_SHARP_){
|
||||
return cljs.stacktrace.safari_st_el__GT_frame.call(null,repl_env,p1__28212_SHARP_,opts);
|
||||
}),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.take_while.call(null,(function (p1__28211_SHARP_){
|
||||
return (!(cljs.stacktrace.starts_with_QMARK_.call(null,p1__28211_SHARP_,"eval code")));
|
||||
}),cljs.core.drop_while.call(null,(function (p1__28210_SHARP_){
|
||||
return cljs.stacktrace.starts_with_QMARK_.call(null,p1__28210_SHARP_,"Error");
|
||||
}),clojure.string.split_lines.call(null,st)))))));
|
||||
}));
|
||||
cljs.stacktrace.firefox_clean_function = (function cljs$stacktrace$firefox_clean_function(f){
|
||||
var f__$1 = f;
|
||||
var f__$2 = ((clojure.string.blank_QMARK_.call(null,f__$1))?null:((cljs.core.not_EQ_.call(null,f__$1.indexOf("</"),(-1)))?(function (){var idx = f__$1.indexOf("</");
|
||||
return f__$1.substring((idx + (2)));
|
||||
})():f__$1
|
||||
));
|
||||
return clojure.string.replace.call(null,clojure.string.replace.call(null,f__$2,/</,""),(new RegExp("\\/")),"");
|
||||
});
|
||||
cljs.stacktrace.firefox_st_el__GT_frame = (function cljs$stacktrace$firefox_st_el__GT_frame(repl_env,st_el,opts){
|
||||
var vec__28213 = (cljs.core.truth_(cljs.core.re_find.call(null,/@/,st_el))?clojure.string.split.call(null,st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));
|
||||
var function$ = cljs.core.nth.call(null,vec__28213,(0),null);
|
||||
var flc = cljs.core.nth.call(null,vec__28213,(1),null);
|
||||
var vec__28216 = cljs.stacktrace.parse_file_line_column.call(null,flc);
|
||||
var file = cljs.core.nth.call(null,vec__28216,(0),null);
|
||||
var line = cljs.core.nth.call(null,vec__28216,(1),null);
|
||||
var column = cljs.core.nth.call(null,vec__28216,(2),null);
|
||||
if(cljs.core.truth_((function (){var and__4120__auto__ = file;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
var and__4120__auto____$1 = function$;
|
||||
if(cljs.core.truth_(and__4120__auto____$1)){
|
||||
var and__4120__auto____$2 = line;
|
||||
if(cljs.core.truth_(and__4120__auto____$2)){
|
||||
return column;
|
||||
} else {
|
||||
return and__4120__auto____$2;
|
||||
}
|
||||
} else {
|
||||
return and__4120__auto____$1;
|
||||
}
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())){
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),cljs.stacktrace.parse_file.call(null,repl_env,file,opts),new cljs.core.Keyword(null,"function","function",-2127255473),cljs.stacktrace.firefox_clean_function.call(null,function$),new cljs.core.Keyword(null,"line","line",212345235),line,new cljs.core.Keyword(null,"column","column",2078222095),column], null);
|
||||
} else {
|
||||
if(clojure.string.blank_QMARK_.call(null,function$)){
|
||||
return null;
|
||||
} else {
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),null,new cljs.core.Keyword(null,"function","function",-2127255473),cljs.stacktrace.firefox_clean_function.call(null,function$),new cljs.core.Keyword(null,"line","line",212345235),null,new cljs.core.Keyword(null,"column","column",2078222095),null], null);
|
||||
}
|
||||
}
|
||||
});
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"firefox","firefox",1283768880),(function (repl_env,st,err,opts){
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,(function (p1__28221_SHARP_){
|
||||
return cljs.stacktrace.firefox_st_el__GT_frame.call(null,repl_env,p1__28221_SHARP_,opts);
|
||||
}),cljs.core.remove.call(null,clojure.string.blank_QMARK_,cljs.core.take_while.call(null,(function (p1__28220_SHARP_){
|
||||
return cljs.core._EQ_.call(null,p1__28220_SHARP_.indexOf("> eval"),(-1));
|
||||
}),cljs.core.drop_while.call(null,(function (p1__28219_SHARP_){
|
||||
return cljs.stacktrace.starts_with_QMARK_.call(null,p1__28219_SHARP_,"Error");
|
||||
}),clojure.string.split_lines.call(null,st)))))));
|
||||
}));
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"rhino","rhino",1962118035),(function (repl_env,st,err,p__28222){
|
||||
var map__28223 = p__28222;
|
||||
var map__28223__$1 = (((((!((map__28223 == null))))?(((((map__28223.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28223.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28223):map__28223);
|
||||
var opts = map__28223__$1;
|
||||
var output_dir = cljs.core.get.call(null,map__28223__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991));
|
||||
var process_frame = ((function (map__28223,map__28223__$1,opts,output_dir){
|
||||
return (function cljs$stacktrace$process_frame(frame_str){
|
||||
if(((clojure.string.blank_QMARK_.call(null,frame_str)) || (((-1) === frame_str.indexOf("\tat"))))){
|
||||
return null;
|
||||
} else {
|
||||
var vec__28231 = clojure.string.split.call(null,frame_str,/:/);
|
||||
var file_side = cljs.core.nth.call(null,vec__28231,(0),null);
|
||||
var line_fn_side = cljs.core.nth.call(null,vec__28231,(1),null);
|
||||
var file = clojure.string.replace.call(null,file_side,/\s+at\s+/,"");
|
||||
var vec__28234 = clojure.string.split.call(null,line_fn_side,/\s+/);
|
||||
var line = cljs.core.nth.call(null,vec__28234,(0),null);
|
||||
var function$ = cljs.core.nth.call(null,vec__28234,(1),null);
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),clojure.string.replace.call(null,file,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""),new cljs.core.Keyword(null,"function","function",-2127255473),(cljs.core.truth_(function$)?clojure.string.replace.call(null,clojure.string.replace.call(null,function$,"(",""),")",""):null),new cljs.core.Keyword(null,"line","line",212345235),(cljs.core.truth_((function (){var and__4120__auto__ = line;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return (!(clojure.string.blank_QMARK_.call(null,line)));
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())?cljs.stacktrace.parse_int.call(null,line):null),new cljs.core.Keyword(null,"column","column",2078222095),(0)], null);
|
||||
}
|
||||
});})(map__28223,map__28223__$1,opts,output_dir))
|
||||
;
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/))));
|
||||
}));
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"nashorn","nashorn",988299963),(function (repl_env,st,err,p__28237){
|
||||
var map__28238 = p__28237;
|
||||
var map__28238__$1 = (((((!((map__28238 == null))))?(((((map__28238.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28238.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28238):map__28238);
|
||||
var opts = map__28238__$1;
|
||||
var output_dir = cljs.core.get.call(null,map__28238__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991));
|
||||
var process_frame = ((function (map__28238,map__28238__$1,opts,output_dir){
|
||||
return (function cljs$stacktrace$process_frame(frame_str){
|
||||
if(((clojure.string.blank_QMARK_.call(null,frame_str)) || (((-1) === frame_str.indexOf("\tat"))))){
|
||||
return null;
|
||||
} else {
|
||||
var frame_str__$1 = clojure.string.replace.call(null,frame_str,/\s+at\s+/,"");
|
||||
var vec__28246 = clojure.string.split.call(null,frame_str__$1,/\s+/);
|
||||
var function$ = cljs.core.nth.call(null,vec__28246,(0),null);
|
||||
var file_and_line = cljs.core.nth.call(null,vec__28246,(1),null);
|
||||
var vec__28249 = clojure.string.split.call(null,file_and_line,/:/);
|
||||
var file_part = cljs.core.nth.call(null,vec__28249,(0),null);
|
||||
var line_part = cljs.core.nth.call(null,vec__28249,(1),null);
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),clojure.string.replace.call(null,file_part.substring((1)),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""),new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"line","line",212345235),(cljs.core.truth_((function (){var and__4120__auto__ = line_part;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return (!(clojure.string.blank_QMARK_.call(null,line_part)));
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())?cljs.stacktrace.parse_int.call(null,line_part.substring((0),(cljs.core.count.call(null,line_part) - (1)))):null),new cljs.core.Keyword(null,"column","column",2078222095),(0)], null);
|
||||
}
|
||||
});})(map__28238,map__28238__$1,opts,output_dir))
|
||||
;
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/))));
|
||||
}));
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"graaljs","graaljs",1880468686),(function (repl_env,st,err,p__28252){
|
||||
var map__28253 = p__28252;
|
||||
var map__28253__$1 = (((((!((map__28253 == null))))?(((((map__28253.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28253.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28253):map__28253);
|
||||
var opts = map__28253__$1;
|
||||
var output_dir = cljs.core.get.call(null,map__28253__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991));
|
||||
var process_frame = ((function (map__28253,map__28253__$1,opts,output_dir){
|
||||
return (function cljs$stacktrace$process_frame(frame_str){
|
||||
if(clojure.string.blank_QMARK_.call(null,frame_str)){
|
||||
return null;
|
||||
} else {
|
||||
var vec__28261 = clojure.string.split.call(null,frame_str,/\(/);
|
||||
var function$ = cljs.core.nth.call(null,vec__28261,(0),null);
|
||||
var file_and_line = cljs.core.nth.call(null,vec__28261,(1),null);
|
||||
var vec__28264 = clojure.string.split.call(null,file_and_line,/:/);
|
||||
var file_part = cljs.core.nth.call(null,vec__28264,(0),null);
|
||||
var line_part = cljs.core.nth.call(null,vec__28264,(1),null);
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),clojure.string.replace.call(null,file_part,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),""),new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"line","line",212345235),(cljs.core.truth_((function (){var and__4120__auto__ = line_part;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return (!(clojure.string.blank_QMARK_.call(null,line_part)));
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())?cljs.stacktrace.parse_int.call(null,line_part.substring((0),(cljs.core.count.call(null,line_part) - (1)))):null),new cljs.core.Keyword(null,"column","column",2078222095),(0)], null);
|
||||
}
|
||||
});})(map__28253,map__28253__$1,opts,output_dir))
|
||||
;
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/))));
|
||||
}));
|
||||
cljs.core._add_method.call(null,cljs.stacktrace.parse_stacktrace,new cljs.core.Keyword(null,"nodejs","nodejs",321212524),(function (repl_env,st,err,p__28267){
|
||||
var map__28268 = p__28267;
|
||||
var map__28268__$1 = (((((!((map__28268 == null))))?(((((map__28268.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28268.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28268):map__28268);
|
||||
var opts = map__28268__$1;
|
||||
var output_dir = cljs.core.get.call(null,map__28268__$1,new cljs.core.Keyword(null,"output-dir","output-dir",-290956991));
|
||||
var parse_source_loc_info = ((function (map__28268,map__28268__$1,opts,output_dir){
|
||||
return (function cljs$stacktrace$parse_source_loc_info(x){
|
||||
if(cljs.core.truth_((function (){var and__4120__auto__ = x;
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return (!(clojure.string.blank_QMARK_.call(null,x)));
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})())){
|
||||
return cljs.stacktrace.parse_int.call(null,x);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
});})(map__28268,map__28268__$1,opts,output_dir))
|
||||
;
|
||||
var process_frame = ((function (map__28268,map__28268__$1,opts,output_dir){
|
||||
return (function cljs$stacktrace$process_frame(frame_str){
|
||||
if(((clojure.string.blank_QMARK_.call(null,frame_str)) || ((cljs.core.re_find.call(null,/^\s+at/,frame_str) == null)))){
|
||||
return null;
|
||||
} else {
|
||||
var frame_str__$1 = clojure.string.replace.call(null,frame_str,/\s+at\s+/,"");
|
||||
if(clojure.string.starts_with_QMARK_.call(null,frame_str__$1,"repl:")){
|
||||
return null;
|
||||
} else {
|
||||
var parts = clojure.string.split.call(null,frame_str__$1,/\s+/);
|
||||
var vec__28277 = ((((2) === cljs.core.count.call(null,parts)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first.call(null,parts),cljs.core.subs.call(null,cljs.core.second.call(null,parts),(1),(cljs.core.count.call(null,cljs.core.second.call(null,parts)) - (1)))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first.call(null,parts)], null));
|
||||
var function$ = cljs.core.nth.call(null,vec__28277,(0),null);
|
||||
var file_AMPERSAND_line = cljs.core.nth.call(null,vec__28277,(1),null);
|
||||
var vec__28280 = clojure.string.split.call(null,file_AMPERSAND_line,/:/);
|
||||
var file_part = cljs.core.nth.call(null,vec__28280,(0),null);
|
||||
var line_part = cljs.core.nth.call(null,vec__28280,(1),null);
|
||||
var col_part = cljs.core.nth.call(null,vec__28280,(2),null);
|
||||
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"file","file",-1269645878),(cljs.core.truth_(function$)?(function (){var G__28283 = file_part;
|
||||
if(cljs.core.truth_(output_dir)){
|
||||
return clojure.string.replace.call(null,G__28283,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),"/"].join(''),"");
|
||||
} else {
|
||||
return G__28283;
|
||||
}
|
||||
})():file_part),new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"line","line",212345235),parse_source_loc_info.call(null,line_part),new cljs.core.Keyword(null,"column","column",2078222095),parse_source_loc_info.call(null,col_part)], null);
|
||||
}
|
||||
}
|
||||
});})(map__28268,map__28268__$1,opts,output_dir))
|
||||
;
|
||||
return cljs.core.vec.call(null,cljs.core.remove.call(null,cljs.core.nil_QMARK_,cljs.core.map.call(null,process_frame,clojure.string.split.call(null,st,/\n/))));
|
||||
}));
|
||||
cljs.stacktrace.remove_ext = (function cljs$stacktrace$remove_ext(file){
|
||||
return clojure.string.replace.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,clojure.string.replace.call(null,file,/\.js$/,""),/\.cljs$/,""),/\.cljc$/,""),/\.clj$/,"");
|
||||
});
|
||||
/**
|
||||
* Given a cljs.source-map source map data structure map a generated line
|
||||
* and column back to the original line, column, and function called.
|
||||
*/
|
||||
cljs.stacktrace.mapped_line_column_call = (function cljs$stacktrace$mapped_line_column_call(sms,file,line,column){
|
||||
var source_map = cljs.core.get.call(null,sms,cljs.core.symbol.call(null,clojure.string.replace.call(null,cljs.stacktrace.remove_ext.call(null,file),"/",".")));
|
||||
var get_best_column = ((function (source_map){
|
||||
return (function cljs$stacktrace$mapped_line_column_call_$_get_best_column(columns,column__$1){
|
||||
return cljs.core.last.call(null,(function (){var or__4131__auto__ = cljs.core.get.call(null,columns,cljs.core.last.call(null,cljs.core.filter.call(null,((function (source_map){
|
||||
return (function (p1__28284_SHARP_){
|
||||
return (p1__28284_SHARP_ <= (column__$1 - (1)));
|
||||
});})(source_map))
|
||||
,cljs.core.sort.call(null,cljs.core.keys.call(null,columns)))));
|
||||
if(cljs.core.truth_(or__4131__auto__)){
|
||||
return or__4131__auto__;
|
||||
} else {
|
||||
return cljs.core.second.call(null,cljs.core.first.call(null,columns));
|
||||
}
|
||||
})());
|
||||
});})(source_map))
|
||||
;
|
||||
var adjust = ((function (source_map){
|
||||
return (function cljs$stacktrace$mapped_line_column_call_$_adjust(mapped){
|
||||
return cljs.core.vec.call(null,cljs.core.map.call(null,((function (source_map){
|
||||
return (function (p1__28285_SHARP_,p2__28286_SHARP_){
|
||||
return p1__28285_SHARP_.call(null,p2__28286_SHARP_);
|
||||
});})(source_map))
|
||||
,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.inc,cljs.core.inc,cljs.core.identity], null),mapped));
|
||||
});})(source_map))
|
||||
;
|
||||
var default$ = new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null);
|
||||
var temp__5718__auto__ = cljs.core.get.call(null,source_map,(line - (1)));
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var columns = temp__5718__auto__;
|
||||
return adjust.call(null,cljs.core.map.call(null,get_best_column.call(null,columns,column),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.Keyword(null,"col","col",-1959363084),new cljs.core.Keyword(null,"name","name",1843675177)], null)));
|
||||
} else {
|
||||
return default$;
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Given opts and a canonicalized JavaScript stacktrace frame, return the
|
||||
* ClojureScript frame.
|
||||
*/
|
||||
cljs.stacktrace.mapped_frame = (function cljs$stacktrace$mapped_frame(p__28287,sms,opts){
|
||||
var map__28288 = p__28287;
|
||||
var map__28288__$1 = (((((!((map__28288 == null))))?(((((map__28288.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28288.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28288):map__28288);
|
||||
var function$ = cljs.core.get.call(null,map__28288__$1,new cljs.core.Keyword(null,"function","function",-2127255473));
|
||||
var file = cljs.core.get.call(null,map__28288__$1,new cljs.core.Keyword(null,"file","file",-1269645878));
|
||||
var line = cljs.core.get.call(null,map__28288__$1,new cljs.core.Keyword(null,"line","line",212345235));
|
||||
var column = cljs.core.get.call(null,map__28288__$1,new cljs.core.Keyword(null,"column","column",2078222095));
|
||||
var no_source_file_QMARK_ = ((cljs.core.not.call(null,file))?true:cljs.stacktrace.starts_with_QMARK_.call(null,file,"<"));
|
||||
var vec__28290 = ((no_source_file_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null):cljs.stacktrace.mapped_line_column_call.call(null,sms,file,line,column));
|
||||
var line_SINGLEQUOTE_ = cljs.core.nth.call(null,vec__28290,(0),null);
|
||||
var column_SINGLEQUOTE_ = cljs.core.nth.call(null,vec__28290,(1),null);
|
||||
var call = cljs.core.nth.call(null,vec__28290,(2),null);
|
||||
var file_SINGLEQUOTE_ = ((no_source_file_QMARK_)?null:((cljs.stacktrace.ends_with_QMARK_.call(null,file,".js"))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.call(null,file,(0),(cljs.core.count.call(null,file) - (3)))),".cljs"].join(''):file));
|
||||
return new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"function","function",-2127255473),function$,new cljs.core.Keyword(null,"call","call",-519999866),call,new cljs.core.Keyword(null,"file","file",-1269645878),((no_source_file_QMARK_)?["NO_SOURCE_FILE",(cljs.core.truth_(file)?[" ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(''):null)].join(''):file_SINGLEQUOTE_),new cljs.core.Keyword(null,"line","line",212345235),line_SINGLEQUOTE_,new cljs.core.Keyword(null,"column","column",2078222095),column_SINGLEQUOTE_], null);
|
||||
});
|
||||
/**
|
||||
* Given a vector representing the canonicalized JavaScript stacktrace
|
||||
* return the ClojureScript stacktrace. The canonical stacktrace must be
|
||||
* in the form:
|
||||
*
|
||||
* [{:file <string>
|
||||
* :function <string>
|
||||
* :line <integer>
|
||||
* :column <integer>}*]
|
||||
*
|
||||
* :file must be a URL path (without protocol) relative to :output-dir or a
|
||||
* identifier delimited by angle brackets. The returned mapped stacktrace will
|
||||
* also contain :url entries to the original sources if it can be determined
|
||||
* from the classpath.
|
||||
*/
|
||||
cljs.stacktrace.mapped_stacktrace = (function cljs$stacktrace$mapped_stacktrace(var_args){
|
||||
var G__28296 = arguments.length;
|
||||
switch (G__28296) {
|
||||
case 2:
|
||||
return cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
case 3:
|
||||
return cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2 = (function (stacktrace,sms){
|
||||
return cljs.stacktrace.mapped_stacktrace.call(null,stacktrace,sms,null);
|
||||
});
|
||||
|
||||
cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3 = (function (stacktrace,sms,opts){
|
||||
var call__GT_function = (function cljs$stacktrace$call__GT_function(x){
|
||||
if(cljs.core.truth_(new cljs.core.Keyword(null,"call","call",-519999866).cljs$core$IFn$_invoke$arity$1(x))){
|
||||
return cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"function","function",-2127255473)],[new cljs.core.Keyword(null,"call","call",-519999866).cljs$core$IFn$_invoke$arity$1(x)]);
|
||||
} else {
|
||||
return cljs.core.PersistentArrayMap.EMPTY;
|
||||
}
|
||||
});
|
||||
var call_merge = (function cljs$stacktrace$call_merge(function$,call){
|
||||
return cljs.core.merge_with.call(null,(function (munged_fn_name,unmunged_call_name){
|
||||
if(cljs.core._EQ_.call(null,munged_fn_name,clojure.string.replace.call(null,cljs.core.munge.call(null,unmunged_call_name),".","$"))){
|
||||
return unmunged_call_name;
|
||||
} else {
|
||||
return munged_fn_name;
|
||||
}
|
||||
}),function$,call);
|
||||
});
|
||||
var mapped_frames = cljs.core.map.call(null,cljs.core.memoize.call(null,(function (p1__28293_SHARP_){
|
||||
return cljs.stacktrace.mapped_frame.call(null,p1__28293_SHARP_,sms,opts);
|
||||
})),stacktrace);
|
||||
return cljs.core.vec.call(null,cljs.core.map.call(null,call_merge,cljs.core.map.call(null,((function (mapped_frames){
|
||||
return (function (p1__28294_SHARP_){
|
||||
return cljs.core.dissoc.call(null,p1__28294_SHARP_,new cljs.core.Keyword(null,"call","call",-519999866));
|
||||
});})(mapped_frames))
|
||||
,mapped_frames),cljs.core.concat.call(null,cljs.core.rest.call(null,cljs.core.map.call(null,call__GT_function,mapped_frames)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.EMPTY], null))));
|
||||
});
|
||||
|
||||
cljs.stacktrace.mapped_stacktrace.cljs$lang$maxFixedArity = 3;
|
||||
|
||||
/**
|
||||
* Given a vector representing the canonicalized JavaScript stacktrace and a map
|
||||
* of library names to decoded source maps, print the ClojureScript stacktrace .
|
||||
* See mapped-stacktrace.
|
||||
*/
|
||||
cljs.stacktrace.mapped_stacktrace_str = (function cljs$stacktrace$mapped_stacktrace_str(var_args){
|
||||
var G__28299 = arguments.length;
|
||||
switch (G__28299) {
|
||||
case 2:
|
||||
return cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
case 3:
|
||||
return cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2 = (function (stacktrace,sms){
|
||||
return cljs.stacktrace.mapped_stacktrace_str.call(null,stacktrace,sms,null);
|
||||
});
|
||||
|
||||
cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3 = (function (stacktrace,sms,opts){
|
||||
var sb__4661__auto__ = (new goog.string.StringBuffer());
|
||||
var _STAR_print_newline_STAR__orig_val__28300_28317 = cljs.core._STAR_print_newline_STAR_;
|
||||
var _STAR_print_fn_STAR__orig_val__28301_28318 = cljs.core._STAR_print_fn_STAR_;
|
||||
var _STAR_print_newline_STAR__temp_val__28302_28319 = true;
|
||||
var _STAR_print_fn_STAR__temp_val__28303_28320 = ((function (_STAR_print_newline_STAR__orig_val__28300_28317,_STAR_print_fn_STAR__orig_val__28301_28318,_STAR_print_newline_STAR__temp_val__28302_28319,sb__4661__auto__){
|
||||
return (function (x__4662__auto__){
|
||||
return sb__4661__auto__.append(x__4662__auto__);
|
||||
});})(_STAR_print_newline_STAR__orig_val__28300_28317,_STAR_print_fn_STAR__orig_val__28301_28318,_STAR_print_newline_STAR__temp_val__28302_28319,sb__4661__auto__))
|
||||
;
|
||||
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__temp_val__28302_28319;
|
||||
|
||||
cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__temp_val__28303_28320;
|
||||
|
||||
try{var seq__28304_28321 = cljs.core.seq.call(null,cljs.stacktrace.mapped_stacktrace.call(null,stacktrace,sms,opts));
|
||||
var chunk__28305_28322 = null;
|
||||
var count__28306_28323 = (0);
|
||||
var i__28307_28324 = (0);
|
||||
while(true){
|
||||
if((i__28307_28324 < count__28306_28323)){
|
||||
var map__28312_28325 = cljs.core._nth.call(null,chunk__28305_28322,i__28307_28324);
|
||||
var map__28312_28326__$1 = (((((!((map__28312_28325 == null))))?(((((map__28312_28325.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28312_28325.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28312_28325):map__28312_28325);
|
||||
var function_28327 = cljs.core.get.call(null,map__28312_28326__$1,new cljs.core.Keyword(null,"function","function",-2127255473));
|
||||
var file_28328 = cljs.core.get.call(null,map__28312_28326__$1,new cljs.core.Keyword(null,"file","file",-1269645878));
|
||||
var line_28329 = cljs.core.get.call(null,map__28312_28326__$1,new cljs.core.Keyword(null,"line","line",212345235));
|
||||
var column_28330 = cljs.core.get.call(null,map__28312_28326__$1,new cljs.core.Keyword(null,"column","column",2078222095));
|
||||
cljs.core.println.call(null,"\t",[(cljs.core.truth_(function_28327)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_28327)," "].join(''):null),"(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_28328),(cljs.core.truth_(line_28329)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_28329)].join(''):null),(cljs.core.truth_(column_28330)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_28330)].join(''):null),")"].join(''));
|
||||
|
||||
|
||||
var G__28331 = seq__28304_28321;
|
||||
var G__28332 = chunk__28305_28322;
|
||||
var G__28333 = count__28306_28323;
|
||||
var G__28334 = (i__28307_28324 + (1));
|
||||
seq__28304_28321 = G__28331;
|
||||
chunk__28305_28322 = G__28332;
|
||||
count__28306_28323 = G__28333;
|
||||
i__28307_28324 = G__28334;
|
||||
continue;
|
||||
} else {
|
||||
var temp__5720__auto___28335 = cljs.core.seq.call(null,seq__28304_28321);
|
||||
if(temp__5720__auto___28335){
|
||||
var seq__28304_28336__$1 = temp__5720__auto___28335;
|
||||
if(cljs.core.chunked_seq_QMARK_.call(null,seq__28304_28336__$1)){
|
||||
var c__4550__auto___28337 = cljs.core.chunk_first.call(null,seq__28304_28336__$1);
|
||||
var G__28338 = cljs.core.chunk_rest.call(null,seq__28304_28336__$1);
|
||||
var G__28339 = c__4550__auto___28337;
|
||||
var G__28340 = cljs.core.count.call(null,c__4550__auto___28337);
|
||||
var G__28341 = (0);
|
||||
seq__28304_28321 = G__28338;
|
||||
chunk__28305_28322 = G__28339;
|
||||
count__28306_28323 = G__28340;
|
||||
i__28307_28324 = G__28341;
|
||||
continue;
|
||||
} else {
|
||||
var map__28314_28342 = cljs.core.first.call(null,seq__28304_28336__$1);
|
||||
var map__28314_28343__$1 = (((((!((map__28314_28342 == null))))?(((((map__28314_28342.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__28314_28342.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__28314_28342):map__28314_28342);
|
||||
var function_28344 = cljs.core.get.call(null,map__28314_28343__$1,new cljs.core.Keyword(null,"function","function",-2127255473));
|
||||
var file_28345 = cljs.core.get.call(null,map__28314_28343__$1,new cljs.core.Keyword(null,"file","file",-1269645878));
|
||||
var line_28346 = cljs.core.get.call(null,map__28314_28343__$1,new cljs.core.Keyword(null,"line","line",212345235));
|
||||
var column_28347 = cljs.core.get.call(null,map__28314_28343__$1,new cljs.core.Keyword(null,"column","column",2078222095));
|
||||
cljs.core.println.call(null,"\t",[(cljs.core.truth_(function_28344)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_28344)," "].join(''):null),"(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_28345),(cljs.core.truth_(line_28346)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_28346)].join(''):null),(cljs.core.truth_(column_28347)?[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_28347)].join(''):null),")"].join(''));
|
||||
|
||||
|
||||
var G__28348 = cljs.core.next.call(null,seq__28304_28336__$1);
|
||||
var G__28349 = null;
|
||||
var G__28350 = (0);
|
||||
var G__28351 = (0);
|
||||
seq__28304_28321 = G__28348;
|
||||
chunk__28305_28322 = G__28349;
|
||||
count__28306_28323 = G__28350;
|
||||
i__28307_28324 = G__28351;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}finally {cljs.core._STAR_print_fn_STAR_ = _STAR_print_fn_STAR__orig_val__28301_28318;
|
||||
|
||||
cljs.core._STAR_print_newline_STAR_ = _STAR_print_newline_STAR__orig_val__28300_28317;
|
||||
}
|
||||
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__4661__auto__);
|
||||
});
|
||||
|
||||
cljs.stacktrace.mapped_stacktrace_str.cljs$lang$maxFixedArity = 3;
|
||||
|
||||
|
||||
//# sourceMappingURL=stacktrace.js.map?rel=1582621018420
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/cljs\/tools\/reader\/impl\/commons.js","sources":["commons.cljs?rel=1582621014850"],"lineCount":193,"mappings":";AAQA;;;;;AAWA;;;uDAAA,vDAAeA,sHAEAC,OAAOC;AAFtB,AAGE,SAAI,AAACC,sDAASD,aACV,EAAK,EAAI,CAAA,QAAeA,aAAQ,CAAA,QAAgBA,eAC3C,AAACC,sDAAS,AAACC,mDAAUH;;AAEhC;;;;2CAAA,3CAAMI,8FAGHC,KAAiBC;AAHpB,AAIE,IAAOC,KAAG,AAACC,mDAAUF;;AAArB,AACE,GAAI,AAAUD,eAAKE;AACjB,eAAO,AAACC,mDAAUF;;;;AAClBC;;;;;AAEN;;;2CAAA,3CAAME,8FAEST;AAFf,AAGE;AAAA,AACE,GAAU,AAACU,sDAAS,AAACF,mDAAUR;AAA\/B;AAAA,AACE;;;;;AACJA;;AAEF,6CAAA,7CAAKW;AACL,+CAAA,\/CAAKC;AACL,+CAAA,\/CAAKC;AAEL,2CAAA,3CAAOC,8FACJC;AADH,AAEE,IAAMC,IAAE,AAACC,wBAAI,AAACC,4BAAQP,2CAAYI;AAAlC,AACE,GAAA,GAAQ,qBAAA,pBAAM,YAAA,ZAACC;AAAf;;AAEE,IAAeG,gBAAQ,CAAA,QAAgB,YAAA,ZAACH;IAClCI,IAAE,mCAAA,oGAAA,aAAA,mCAAA,oGAAA,aAAA,mCAAA,oGAAA,YAAA,mCAAA,uIAAA,AAAA,mFAAA,KAAA,3rBACC,GAAK,qBAAA,pBAAM,YAAA,ZAACJ,gHAAQ,YAAA,ZAACA,gCACrB,GAAK,qBAAA,pBAAM,YAAA,ZAACA,gHAAQ,YAAA,ZAACA,gCACrB,GAAK,qBAAA,pBAAM,YAAA,ZAACA,gHAAQ,YAAA,ZAACA,+BACrB,GAAK,qBAAA,pBAAM,YAAA,ZAACA,gHAAQ,YAAA,ZAACA,iBAAK,AAACK,SAAY,YAAA,ZAACL;;IAE3CM,IAAE,YAAA,ZAACF;AAPT,AAQE,GAAU,MAAA,LAAME;AAAhB;;AAAA,AACE,IAAMC,KAAG,AAACF,SAAYC,EAAE,YAAA,ZAACF;IACnBG,SAAG,EAAIJ,eAAQ,CAAA,OAAMI,IAAIA;AAD\/B,AAEE,oBAAU,AAACC,MAASD;AAApB;;AAAA,AACEA;;;;;AAEd,6CAAA,7CAAOE,kGACJV;AADH,AAEE,IAAMC,IAAE,AAACC,wBAAI,AAACC,4BAAQN,6CAAcG;IAC9BW,YAAU,YAAA,ZAACV;IACXW,cAAY,YAAA,ZAACX;IACbU,gBAAU,kBAAI,4BAAA,5BAACR,kCAAeQ,YAClB,mCAAA,nCAACE,yBAAKF,eACNA;AALlB,AAME,QAAG,SAAIA,TAAYL,0BAChB,SAAIM,TAAYN;;AAEvB,6CAAA,7CAAOQ,kGACJd;AADH,AAEE,IAAMC,IAAE,AAACC,wBAAI,AAACC,4BAAQL,6CAAcE;AAApC,AACE,GAAA,GAAQ,qBAAA,pBAAM,YAAA,ZAACC;AACb,OAACc,WAAc,YAAA,ZAACd;;AAChB,OAACc,WAAcf;;;AAErB,gDAAA,hDAAegB,wGAAUC,QAAQjB;AAAjC,AACE,IAAAkB,aAAc,AAACf,4BAAQc,QAAQjB;YAA\/B,AAAAmB,wBAAAD,WAAA,IAAA,\/CAAOE;AAAP,AACE,QAAYA,UAAMpB;;AAEtB,8CAAA,9CAAMqB,oGAAcrB;AAApB,AACE,GAAI,AAACgB,wDAASpB,2CAAYI;AACxB,OAACD,mDAAUC;;AACX,GAAI,AAACgB,wDAASlB,6CAAcE;AAC1B,OAACc,qDAAYd;;AACb,GAAM,AAACgB,wDAASnB,6CAAcG;AAA9B,AACE,OAACU,qDAAYV;;AADf;;;;;AAGN;;;8CAAA,9CAAMsB,oGAEHC;AAFH,AAGE,GAAU,EAAI,CAAA,OAAeA,YACf,AAAO,AAAA,UAAaA,qBACpB,AAAO,AAAA,WAAcA;AAFnC;;AAAA,AAGE,IAAMC,SAAO,cAAA,dAAUD;IACjBE,KAAG,kBAAA,2CAAA,3DAAM,UAAA,TAAMD,eACV,+BAAA,\/BAACX,yBAAKU,UAAQC;AAFzB,AAGE,GAAA,GAAQ,OAAA,NAAMC;AACZ,IAAMD,aAAO,UAAA,TAAKA;AAAlB,AACE,GAAU,CAAIA,eAAO,AAACE,0BAAMH;AAA5B;;AAAA,AACE,IAAMI,MAAI,AAACd,yBAAKU,MAAMC;AAAtB,AACE,GAAM,EAAK,GAAK,AAACrC,sDAAS,4BAAA,5BAACgC,wBAAIQ,iBACpB,GAAK,CAAA,OAAeA,YACpB,AAAQ,AAAA,UAAaF,mBACrB,EAAI,SAAA,RAAYE,kBACZ,CAAA,SAAO,YAAA,ZAAUA;AAJhC,AAAA,0FAKGF,GAAGE;;AALN;;;;AAMN,GAAM,EAAI,WAAA,VAAYJ,oBACZ,CAAA,SAAO,cAAA,dAAUA;AAD3B,AAAA,0FAAA,KAEOA;;AAFP;;;;;AAQR,AAAA,8CAAA,sDAAAK,pGAAMM;AAAN,AAAA,IAAAL,qBAAA;AAAA,AAAA,IAAAC,0BAAA,AAAA;AAAA,AAAA,IAAAC,wBAAA;;AAAA,AAAA,GAAA,CAAAA,wBAAAD;AAAA,AAAA,AAAAD,wBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,wBAAA;;;;AAAA;;;;AAAA,IAAAC,uBAAA,EAAA,CAAA,MAAA,AAAAH,4BAAA,AAAA,KAAAI,qBAAA,AAAAJ,yBAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,iFAAA,CAAA,UAAA,MAAAF;;;AAAA,AAAA,AAAA,mFAAA,nFAAME,8FACH3C,IAAMiD;AADT,AAEE,OAAC9C,mDAAUH;;;AAFb,AAAA,sEAAA,tEAAM2C;;AAAN;AAAA,AAAA,gEAAA,WAAAC,3EAAMD;AAAN,AAAA,IAAAE,WAAA,AAAAC,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;AAAA,AAAA,IAAAI,qBAAA;AAAA,AAAA,OAAAA,wDAAAH,SAAAD;;;AAAA,AAIA,iDAAA,jDAAMM,0GACHC;AADH,AAEE;mCAAKnD,IAAMiD;AAAX,AACE,OAACG,qDAAapD,IAAImD;;yBADfnD;IAAMiD;;;;EAAAA;;oCAANjD,IAAMiD;;;IAANjD;IAAMiD;0BAANjD,IAAMiD","names":["cljs.tools.reader.impl.commons\/number-literal?","reader","initch","cljs.tools.reader.impl.utils\/numeric?","cljs.tools.reader.reader-types\/peek-char","cljs.tools.reader.impl.commons\/read-past","pred","rdr","ch","cljs.tools.reader.reader-types\/read-char","cljs.tools.reader.impl.commons\/skip-line","cljs.tools.reader.impl.utils\/newline?","cljs.tools.reader.impl.commons\/int-pattern","cljs.tools.reader.impl.commons\/ratio-pattern","cljs.tools.reader.impl.commons\/float-pattern","cljs.tools.reader.impl.commons\/match-int","s","m","cljs.core\/vec","cljs.core\/re-find","negate?","a","js\/parseInt","n","bn","js\/isNaN","cljs.tools.reader.impl.commons\/match-ratio","numerator","denominator","cljs.core\/subs","cljs.tools.reader.impl.commons\/match-float","js\/parseFloat","cljs.tools.reader.impl.commons\/matches?","pattern","vec__21062","cljs.core\/nth","match","cljs.tools.reader.impl.commons\/match-number","cljs.tools.reader.impl.commons\/parse-symbol","token","ns-idx","ns","cljs.core\/count","sym","var_args","args__4736__auto__","len__4730__auto__","i__4731__auto__","argseq__4737__auto__","cljs.core\/IndexedSeq","cljs.tools.reader.impl.commons\/read-comment","seq21065","G__21066","cljs.core\/first","cljs.core\/next","self__4717__auto__","_","cljs.tools.reader.impl.commons\/throwing-reader","msg","cljs.tools.reader.impl.errors\/reader-error"]}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
["^ ","~:rename-macros",["^ "],"~:renames",["^ "],"~:externs",["^ ","~$Error",["^ "]],"~:use-macros",["^ "],"~:excludes",["~#set",[]],"~:name","~$cljs.tools.reader.impl.inspect","~:imports",null,"~:requires",null,"~:cljs.spec/speced-vars",[],"~:uses",null,"~:defs",["^ ","~$inspect*",["^ ","^7","~$cljs.tools.reader.impl.inspect/inspect*","~:file","resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","~:line",37,"~:column",1,"~:end-line",37,"~:end-column",19,"~:meta",["^ ","^@","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^A",37,"^B",11,"^C",37,"^D",19],"~:tag","~$cljs.core/MultiFn"],"~$inspect*-col",["^ ","~:protocol-inline",null,"^E",["^ ","^@","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^A",13,"^B",8,"^C",13,"^D",20,"~:private",true,"~:arglists",["~#list",["~$quote",["^L",[["~$truncate","~$col","~$start","~$end"]]]]]],"^J",true,"^7","~$cljs.tools.reader.impl.inspect/inspect*-col","^@","resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^D",20,"~:method-params",["^L",[["^N","^O","^P","^Q"]]],"~:protocol-impl",null,"~:arglists-meta",["^L",[null,null]],"^B",1,"~:variadic?",false,"^A",13,"~:ret-tag","~$string","^C",13,"~:max-fixed-arity",4,"~:fn-var",true,"^K",["^L",["^M",["^L",[["^N","^O","^P","^Q"]]]]]],"~$dispatch-inspect",["^ ","^I",null,"^E",["^ ","^@","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^A",21,"^B",8,"^C",21,"^D",24,"^J",true,"^K",["^L",["^M",["^L",[["~$_","~$x"]]]]]],"^J",true,"^7","~$cljs.tools.reader.impl.inspect/dispatch-inspect","^@","resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^D",24,"^S",["^L",[["~$_","~$x"]]],"^T",null,"^U",["^L",[null,null]],"^B",1,"^V",false,"^A",21,"^W",["^6",["~$any","~$cljs.core/Keyword","~$clj-nil"]],"^C",21,"^Y",2,"^Z",true,"^K",["^L",["^M",["^L",[["~$_","~$x"]]]]]],"~$inspect",["^ ","^I",null,"^E",["^ ","^@","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^A",83,"^B",7,"^C",83,"^D",14,"^K",["^L",["^M",["^L",[["~$x"],["^N","~$x"]]]]],"~:doc","Return a string description of the value supplied.\n May be the a string version of the value itself (e.g. \"true\")\n or it may be a description (e.g. \"an instance of Foo\").\n If truncate is true then return a very terse version of\n the inspection.","~:top-fn",["^ ","^V",false,"~:fixed-arity",2,"^Y",2,"^S",["^L",[["~$x"],["^N","~$x"]]],"^K",["^L",[["~$x"],["^N","~$x"]]],"^U",["^L",[null,null]]]],"^7","~$cljs.tools.reader.impl.inspect/inspect","^@","resources/public/js/compiled/out/cljs/tools/reader/impl/inspect.cljs","^D",14,"^16",["^ ","^V",false,"^17",2,"^Y",2,"^S",["^L",[["~$x"],["^N","~$x"]]],"^K",["^L",[["~$x"],["^N","~$x"]]],"^U",["^L",[null,null]]],"^S",["^L",[["~$x"],["^N","~$x"]]],"^T",null,"^17",2,"^U",["^L",[null,null]],"^B",1,"^V",false,"~:methods",[["^ ","^17",1,"^V",false,"^F","^11"],["^ ","^17",2,"^V",false,"^F","^11"]],"^A",83,"^C",83,"^Y",2,"^Z",true,"^K",["^L",[["~$x"],["^N","~$x"]]],"^15","Return a string description of the value supplied.\n May be the a string version of the value itself (e.g. \"true\")\n or it may be a description (e.g. \"an instance of Foo\").\n If truncate is true then return a very terse version of\n the inspection."]],"~:cljs.spec/registry-ref",[],"~:require-macros",null,"~:cljs.analyzer/constants",["^ ","~:seen",["^6",["~:default","~:string","~:vector","~:strable","~:list","~:nil","~:set","~:hierarchy","~:map"]],"~:order",["^1C","^1?","^1A","^1@","^1B","^1F","^1D","^1>","^1E"]],"^15",null]
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/cljs\/tools\/reader\/impl\/inspect.js","sources":["inspect.cljs?rel=1582621014743"],"lineCount":156,"mappings":";AAQA;;AAEA,AAAA,AAEA,mDAAA,nDAAOA,8GAAcC,SAASC,IAAIC,MAAMC;AAAxC,AACE,IAAMC,IAAE,AAACC,0BAAMJ;IACTK,IAAE,4BAAA,VAAIN,cAAW,iBAAAO,kBAAA;IAAAC,kBAAQJ;AAAR,AAAA,SAAAG,kBAAAC,mBAAAD,kBAAAC;;IACjBC,WAAS,AAACC,wBAAI,yEAAA,zEAACC,4BAAQC,mDAAe,AAACC,yBAAKP,EAAEL;IAC9Ca,UAAQ,AAACC,0BAAMC,cAAI,8BAAA,9BAACC,kCAAcR;IAClCS,SAAO,WAAA,MAAA,fAAI,CAAGZ,IAAEF;AAJtB,AAKE,oDAAKF,mDAAMY,SAAQI,mDAAOf;;AAE9B,kDAAA,lDAAOgB,4GACJC,EAAEC;AADL,AAEE,GACC,MAAA,LAAMA;AADP;;AAAA,GAEC,OAASA;AAFV;;AAAA,GAGC,cAAAC,bAAUD;AAHX;;AAAA,GAIC,OAASA;AAJV;;AAAA,GAKC,cAAAE,bAASF;AALV;;AAAA,GAMC,AAACG,kCAAQH;AANV;;AAAA,GAOC,AAACI,gCAAMJ;AAPR;;AAAA,GAQC,AAACK,+BAAKL;AARP;;AAAA,GASC,AAACM,+BAAKN;AATP;;AAAA,GAUC,2BAAA,3BAACO,yBAAEP;AAVJ;;AAAA,GAWC,2BAAA,3BAACO,yBAAEP;AAXJ;;AAAA,AAYU,OAACQ,yBAAKR;;;;;;;;;;;;;;AAElB,GAAA,QAAAS,iCAAAC,uCAAAC,8CAAAC,mDAAAC,2DAAAC;AAAA;AAAA,AAAA,+CAAA,iBAAAC,6BAAA,AAAAC,yBAAA,tHAAUzB;IAAV0B,6BAAA,AAAAD,yBAAA;IAAAE,6BAAA,AAAAF,yBAAA;IAAAG,iCAAA,AAAAH,yBAAA;IAAAI,0BAAA,AAAAC,wBAAA,mCAAA,gEAAA,AAAA;AAAA,AAAA,YAAAC,kBAAA,AAAAC,2BAAA,iCAAA,4DAAA,4DAAAH,wBAAAL,2BAAAE,2BAAAC,2BAAAC,rNAAmBrB;;;AAEnB,AAAA0B,gCAAAjC,6CAAA,0DAAA,WAA6BZ,SAAiBqB;AAA9C,AACE,IAAMjB,IAAE,4BAAA,IAAA,dAAIJ;IACNkB,SAAO,kBAAA,QAAA,xBAAI,CAAG,AAAUG,WAAGjB;AADjC,AAEE,QAAA,iDAEE,YAAA,ZAAoBiB,gBAAI,iBAAAd,kBAAKH;IAALI,kBAAO,AAAUa;AAAjB,AAAA,SAAAd,kBAAAC,mBAAAD,kBAAAC;OACxBU;;AAEN,AAAA2B,gCAAAjC,6CAAA,2DAAA,WAA8BZ,SAASqB;AAAvC,AAA0C,mDAAKA;;AAE\/C,AAAAwB,gCAAAjC,kEAAA,rBAAoBkC,gCAAsB9C,SAASqB;AAAnD,AAAA;;AAGA,AAAAwB,gCAAAjC,6EAAA,hCAAoBmC,2CAAiC\/C,SAASqB;AAA9D,AAAA;;AAGA,AAAAwB,gCAAAjC,+DAAA,lBAAoBoC,6BAAmBhD,SAASqB;AAAhD,AAAA;;AAGA,AAAAwB,gCAAAjC,4DAAA,fAAoBqC,0BAAgBjD,SAASqB;AAA7C,AAAA;;AAEA,AAAAwB,gCAAAjC,+DAAA,lBAAoBsC,6BAAmBlD,SAASqB;AAAhD,AAAA;;AAEA,AAAAwB,gCAAAjC,6CAAA,iDAAA,WAA0BQ,EAAEA;AAA5B,AAAA;;AAEA,AAAAyB,gCAAAjC,6CAAA,oDAAA,WAA2BZ,SAASC;AAApC,AACE,+EAAA,IAAA,5EAACF,2DAAaC,SAASC;;AAEzB,AAAA4C,gCAAAjC,6CAAA,mDAAA,WAA0BZ,SAASmD;AAAnC,AACE,IAAMC,MAAI,AAAC\/C,0BAAM8C;IACXE,UAAQ,4BAAA,VAAIrD,cAAWoD;IACvBE,WAAS,AAACvC,0BAAMwC,iBAAO,AAAC1C,yBAAKwC,QAAQF;IACrCjC,SAAO,mBAAA,OAAA,xBAAI,CAAGkC,MAAIC;AAHxB,AAIE,oFAAA,7EAACtD,2DAAaC,SAASsD,aAAYpC;;AAEvC,AAAA2B,gCAAAjC,6CAAA,kDAAA,WAA0BZ,SAASC;AAAnC,AACE,+EAAA,KAAA,7EAACF,2DAAaC,SAASC;;AAEzB,AAAA4C,gCAAAjC,6CAAA,yDAAA,WAA6BZ,SAASC;AAAtC,AACE,+EAAA,IAAA,5EAACF,2DAAaC,SAASC;;AAEzB,AAAA4C,gCAAAjC,6CAAA,4DAAA,WAA8BZ,SAASqB;AAAvC,AACE,OAACmC,2BAAO,AAAC3B,yBAAKR;;AAEhB,AAAA;;;;;;;yCAAA,iDAAAoC,1FAAME;AAAN,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,qEAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,qEAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,MAAA,KAAAC,MAAA,CAAA,8DAAA,AAAA;;;;;AAAA,AAAA,uEAAA,vEAAMD,kFAMFtC;AANJ,AAMO,8DAAA,vDAACT,6DAAeS;;;AANvB,AAAA,uEAAA,vEAAMsC,kFAOF3D,SAASqB;AAPb,AAOgB,OAACT,uDAASZ,SAASqB;;;AAPnC,AAAA,iEAAA,jEAAMsC;;AAAN","names":["cljs.tools.reader.impl.inspect\/inspect*-col","truncate","col","start","end","n","cljs.core\/count","l","x__4222__auto__","y__4223__auto__","elements","cljs.core\/map","cljs.core\/partial","cljs.tools.reader.impl.inspect\/inspect*","cljs.core\/take","content","cljs.core\/apply","cljs.core\/str","cljs.core\/interpose","suffix","cljs.tools.reader.impl.inspect\/dispatch-inspect","_","x","cljs.core\/Keyword","cljs.core\/Symbol","cljs.core\/vector?","cljs.core\/list?","cljs.core\/map?","cljs.core\/set?","cljs.core\/=","cljs.core\/type","js\/cljs","js\/cljs.tools","js\/cljs.tools.reader","js\/cljs.tools.reader.impl","js\/cljs.tools.reader.impl.inspect","js\/cljs.tools.reader.impl.inspect.inspect*","method-table__4613__auto__","cljs.core\/atom","prefer-table__4614__auto__","method-cache__4615__auto__","cached-hierarchy__4616__auto__","hierarchy__4617__auto__","cljs.core\/get","cljs.core\/MultiFn","cljs.core\/symbol","cljs.core\/-add-method","cljs.core\/IndexedSeq","cljs.core\/PersistentArrayMapSeq","cljs.core\/NodeSeq","cljs.core\/Cons","cljs.core\/LazySeq","m","len","n-shown","contents","cljs.core\/concat","cljs.core\/pr-str","var_args","G__21000","cljs.tools.reader.impl.inspect\/inspect","js\/Error"]}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/cljs_http\/util.js","sources":["util.cljs?rel=1582621015364"],"lineCount":128,"mappings":";AAAA;;;;;;;AAQA;;;;4BAAA,5BAAMA,gEAGHC;AAHH,AAIE,oBAAIA;AACF,IAAAC,aACM,EAAI,AAACI,+BAAKL,cACR,oCAAA,mFAAA,6DAAA,pLAACM,wBAAIN,iOACLA;eAHR,AAAAE,wBAAAD,WAAA,IAAA,lDAAOE;eAAP,AAAAD,wBAAAD,WAAA,IAAA,lDAAgBG;AAAhB,AAIE,QAAA,qDAAc,AAACG,mCAAc,uDAAA,VAAKJ,0DAAaC;;AALnD;;;AAOF;;;2BAAA,mCAAAI,9DAAMM;AAAN,AAAA,IAAAL,aAAAD;IAAAC,iBAAA,EAAA,EAAA,GAAA,CAAAA,cAAA,SAAA,EAAA,EAAA,CAAA,AAAAA,iDAAA,WAAA,CAAAC,gCAAA,AAAAD,+BAAA,KAAA,OAAA,QAAA,AAAAE,0BAAAC,mBAAAH,YAAAA;aAAA,AAAAI,wBAAAJ,eAAA,hDAEWM;kBAFX,AAAAF,wBAAAJ,eAAA,rDAEkBO;kBAFlB,AAAAH,wBAAAJ,eAAA,rDAE8BQ;UAF9B,AAAAJ,wBAAAJ,eAAA,7CAE0CS;mBAF1C,AAAAL,wBAAAJ,eAAA,tDAE8CU;AAF9C,AAGE,mDAAK,iBAAAC,WAAM,KAAAC;AAAN,AAAA,AAAAD,mBACc,AAACE,yBAAK,iBAAAC,mBAAIR;AAAJ,AAAA,oBAAAQ;AAAAA;;AAAA;;;;AADpB,AAAAH,mBAEcJ;;AAFd,AAAAI,iBAGYH;;AAHZ,AAAAG,iBAIYF;;AAJZ,AAAAE,+BAAA,bAKaD;;AALbC;;;AAOP;;;0BAAA,1BAAMI,4DAEHC;AAFH,2FAGO,8EAAA,9EAACC,+BAAM,4CAAKD,7HACZ,AAACnB,wBAAIqB,jEACL,qCAAA,9BAACC;;AAER;;;+BAAA,\/BAAMC,sEAEHC;AAFH,AAEM,OAACC,+BAAQ,AAACC,2BAAO,AAAC1B,wBAAIkB,wBAAS,AAACS,yBAAKH,IAAI,AAACI,yBAAKJ;;AAErD;;;4BAAA,5BAAMK;AAAN,AAEK,OAACC;;AAEN;;;gCAAA,hCAAMC;AAAN,AAEK,sCAAA,\/BAACC,8CAA8B,AAACH;;AAErC;;;gCAAA,hCAAMI,wEAEHd,EAAEe,KAAKC;AAFV,AAGE,IAAMC,MAAI,AAACC,mCAASH,KAAKC;AAAzB,AACE,OAACG,iCAAOF,IAAIjB;;AAEhB;;;gCAAA,hCAAMoB,wEAEHC,EAAEN,KAAKC;AAFV,AAGE,IAAMM,OAAK,AAACC,mCAASR,KAAKC;AAA1B,AACE,OAACQ,kCAAQF,KAAKD;;AAElB;;;6BAAA,7BAAMI,kEAEHzB;AAFH,AAGE,IAAM0B,IAAE,EAAA,6DAAA,1DAAQ,AAACC,sCAAsB3B,MAAG,AAAC4B,WAAc5B;AAAzD,AACE,GAAM,GAAA,MAAA,LAAO0B;AAAb,AACE,wCAAA,2EAAA,5GAACG,+BAAQH;;AADX;;;AAGJ;;;6BAAA,7BAAMI,kEAEHT;AAFH,AAEM,OAACU,eAAkB,AAACzB,+BAAQe;;AAElC,+BAAA,\/BAAMW,sEAAeC;AAArB,AACE,kCAAA,WAAAC,iBAAAC,vDAACC;AAAD,AACE,IAAAC,aAAY,+BAAAF,iBAAA,hDAAClC;QAAb,AAAAxB,wBAAA4D,WAAA,IAAA,3CAAOC;QAAP,AAAA7D,wBAAA4D,WAAA,IAAA,3CAASX;AAAT,AACE,GAAI,EAAI,AAACC,sCAAOW,QAAG,AAACX,sCAAOD;AAA3BQ;;AACK,iCAAAA,1BAACK,2CAAS,AAACC,oCAAWF,GAAGZ;;GAHlC,mCAII,AAACzB,+BAAM,iBAAAH,mBAAImC;AAAJ,AAAA,oBAAAnC;AAAAA;;AAAA;;KAAP","names":["cljs-http.util\/basic-auth","credentials","vec__21601","cljs.core\/nth","username","password","cljs.core\/map?","cljs.core\/map","no.en.core\/base64-encode","p__21604","map__21605","cljs.core\/PROTOCOL_SENTINEL","cljs.core\/apply","cljs.core\/hash-map","cljs.core\/get","cljs-http.util\/build-url","scheme","server-name","server-port","uri","query-string","G__21608","goog\/Uri","cljs.core\/name","or__4131__auto__","cljs-http.util\/camelize","s","clojure.string\/split","clojure.string\/capitalize","clojure.string\/join","cljs-http.util\/build-headers","m","cljs.core\/clj->js","cljs.core\/zipmap","cljs.core\/keys","cljs.core\/vals","cljs-http.util\/user-agent","goog.userAgent\/getUserAgentString","cljs-http.util\/android?","cljs.core\/re-matches","cljs-http.util\/transit-decode","type","opts","rdr","cognitect.transit\/reader","cognitect.transit\/read","cljs-http.util\/transit-encode","x","wrtr","cognitect.transit\/writer","cognitect.transit\/write","cljs-http.util\/json-decode","v","clojure.string\/blank?","js\/JSON.parse","cljs.core\/js->clj","cljs-http.util\/json-encode","js\/JSON.stringify","cljs-http.util\/parse-headers","headers","p1__21610#","p2__21609#","cljs.core\/reduce","vec__21611","k","cljs.core\/assoc","clojure.string\/lower-case"]}
|
|
@ -1 +0,0 @@
|
|||
{:main geocsv-lite.core, :asset-path "js/compiled/out", :output-to "resources/public/js/compiled/geocsv_lite.js", :output-dir "resources/public/js/compiled/out", :source-map-timestamp true, :preloads [devtools.preload figwheel.connect], :optimizations :none, :external-config #:figwheel{:config {:on-jsload "geocsv-lite.core/on-js-reload", :open-urls ["http://localhost:3449/index.html"], :build-id "dev", :websocket-url "ws://localhost:3449/figwheel-ws"}}}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,162 +0,0 @@
|
|||
; Copyright (c) Rich Hickey. All rights reserved.
|
||||
; The use and distribution terms for this software are covered by the
|
||||
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
||||
; which can be found in the file epl-v10.html at the root of this distribution.
|
||||
; By using this software in any fashion, you are agreeing to be bound by
|
||||
; the terms of this license.
|
||||
; You must not remove this notice, or any other, from this software.
|
||||
|
||||
(ns
|
||||
^{:author "Stuart Halloway",
|
||||
:doc "Non-core data functions."}
|
||||
clojure.data
|
||||
(:require [clojure.set :as set]))
|
||||
|
||||
(declare ^{:arglists '([a b])} diff)
|
||||
|
||||
(defn- atom-diff
|
||||
"Internal helper for diff."
|
||||
[a b]
|
||||
(if (= a b) [nil nil a] [a b nil]))
|
||||
|
||||
;; for big things a sparse vector class would be better
|
||||
(defn- vectorize
|
||||
"Convert an associative-by-numeric-index collection into
|
||||
an equivalent vector, with nil for any missing keys"
|
||||
[m]
|
||||
(when (seq m)
|
||||
(reduce
|
||||
(fn [result [k v]] (assoc result k v))
|
||||
(vec (repeat (apply max (keys m)) nil))
|
||||
m)))
|
||||
|
||||
(defn- diff-associative-key
|
||||
"Diff associative things a and b, comparing only the key k."
|
||||
[a b k]
|
||||
(let [va (get a k)
|
||||
vb (get b k)
|
||||
[a* b* ab] (diff va vb)
|
||||
in-a (contains? a k)
|
||||
in-b (contains? b k)
|
||||
same (and in-a in-b
|
||||
(or (not (nil? ab))
|
||||
(and (nil? va) (nil? vb))))]
|
||||
[(when (and in-a (or (not (nil? a*)) (not same))) {k a*})
|
||||
(when (and in-b (or (not (nil? b*)) (not same))) {k b*})
|
||||
(when same {k ab})
|
||||
]))
|
||||
|
||||
(defn- diff-associative
|
||||
"Diff associative things a and b, comparing only keys in ks (if supplied)."
|
||||
([a b]
|
||||
(diff-associative a b (set/union (keys a) (keys b))))
|
||||
([a b ks]
|
||||
(reduce
|
||||
(fn [diff1 diff2]
|
||||
(doall (map merge diff1 diff2)))
|
||||
[nil nil nil]
|
||||
(map
|
||||
(partial diff-associative-key a b)
|
||||
ks))))
|
||||
|
||||
(defn- diff-sequential
|
||||
[a b]
|
||||
(vec (map vectorize (diff-associative
|
||||
(if (vector? a) a (vec a))
|
||||
(if (vector? b) b (vec b))
|
||||
(range (max (count a) (count b)))))))
|
||||
|
||||
(defn- diff-set
|
||||
[a b]
|
||||
[(not-empty (set/difference a b))
|
||||
(not-empty (set/difference b a))
|
||||
(not-empty (set/intersection a b))])
|
||||
|
||||
(defprotocol EqualityPartition
|
||||
"Implementation detail. Subject to change."
|
||||
(equality-partition [x] "Implementation detail. Subject to change."))
|
||||
|
||||
(defprotocol Diff
|
||||
"Implementation detail. Subject to change."
|
||||
(diff-similar [a b] "Implementation detail. Subject to change."))
|
||||
|
||||
(extend-protocol EqualityPartition
|
||||
nil
|
||||
(equality-partition [x] :atom)
|
||||
|
||||
string
|
||||
(equality-partition [x] :atom)
|
||||
|
||||
number
|
||||
(equality-partition [x] :atom)
|
||||
|
||||
array
|
||||
(equality-partition [x] :sequential)
|
||||
|
||||
function
|
||||
(equality-partition [x] :atom)
|
||||
|
||||
boolean
|
||||
(equality-partition [x] :atom)
|
||||
|
||||
default
|
||||
(equality-partition [x]
|
||||
(cond
|
||||
(satisfies? IMap x) :map
|
||||
(satisfies? ISet x) :set
|
||||
(satisfies? ISequential x) :sequential
|
||||
:default :atom)))
|
||||
|
||||
(extend-protocol Diff
|
||||
nil
|
||||
(diff-similar [a b]
|
||||
(atom-diff a b))
|
||||
|
||||
string
|
||||
(diff-similar [a b]
|
||||
(atom-diff a b))
|
||||
|
||||
number
|
||||
(diff-similar [a b]
|
||||
(atom-diff a b))
|
||||
|
||||
array
|
||||
(diff-similar [a b]
|
||||
(diff-sequential a b))
|
||||
|
||||
function
|
||||
(diff-similar [a b]
|
||||
(atom-diff a b))
|
||||
|
||||
boolean
|
||||
(diff-similar [a b]
|
||||
(atom-diff a b))
|
||||
|
||||
default
|
||||
(diff-similar [a b]
|
||||
((case (equality-partition a)
|
||||
:atom atom-diff
|
||||
:set diff-set
|
||||
:sequential diff-sequential
|
||||
:map diff-associative)
|
||||
a b)))
|
||||
|
||||
(defn diff
|
||||
"Recursively compares a and b, returning a tuple of
|
||||
[things-only-in-a things-only-in-b things-in-both].
|
||||
Comparison rules:
|
||||
|
||||
* For equal a and b, return [nil nil a].
|
||||
* Maps are subdiffed where keys match and values differ.
|
||||
* Sets are never subdiffed.
|
||||
* All sequential things are treated as associative collections
|
||||
by their indexes, with results returned as vectors.
|
||||
* Everything else (including strings!) is treated as
|
||||
an atom and compared for equality."
|
||||
[a b]
|
||||
(if (= a b)
|
||||
[nil nil a]
|
||||
(if (= (equality-partition a) (equality-partition b))
|
||||
(diff-similar a b)
|
||||
(atom-diff a b))))
|
||||
|
File diff suppressed because one or more lines are too long
|
@ -1,288 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('clojure.data');
|
||||
goog.require('cljs.core');
|
||||
goog.require('clojure.set');
|
||||
/**
|
||||
* Internal helper for diff.
|
||||
*/
|
||||
clojure.data.atom_diff = (function clojure$data$atom_diff(a,b){
|
||||
if(cljs.core._EQ_.call(null,a,b)){
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);
|
||||
} else {
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Convert an associative-by-numeric-index collection into
|
||||
* an equivalent vector, with nil for any missing keys
|
||||
*/
|
||||
clojure.data.vectorize = (function clojure$data$vectorize(m){
|
||||
if(cljs.core.seq.call(null,m)){
|
||||
return cljs.core.reduce.call(null,(function (result,p__27655){
|
||||
var vec__27656 = p__27655;
|
||||
var k = cljs.core.nth.call(null,vec__27656,(0),null);
|
||||
var v = cljs.core.nth.call(null,vec__27656,(1),null);
|
||||
return cljs.core.assoc.call(null,result,k,v);
|
||||
}),cljs.core.vec.call(null,cljs.core.repeat.call(null,cljs.core.apply.call(null,cljs.core.max,cljs.core.keys.call(null,m)),null)),m);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Diff associative things a and b, comparing only the key k.
|
||||
*/
|
||||
clojure.data.diff_associative_key = (function clojure$data$diff_associative_key(a,b,k){
|
||||
var va = cljs.core.get.call(null,a,k);
|
||||
var vb = cljs.core.get.call(null,b,k);
|
||||
var vec__27659 = clojure.data.diff.call(null,va,vb);
|
||||
var a_STAR_ = cljs.core.nth.call(null,vec__27659,(0),null);
|
||||
var b_STAR_ = cljs.core.nth.call(null,vec__27659,(1),null);
|
||||
var ab = cljs.core.nth.call(null,vec__27659,(2),null);
|
||||
var in_a = cljs.core.contains_QMARK_.call(null,a,k);
|
||||
var in_b = cljs.core.contains_QMARK_.call(null,b,k);
|
||||
var same = ((in_a) && (in_b) && ((((!((ab == null)))) || ((((va == null)) && ((vb == null)))))));
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) && ((((!((a_STAR_ == null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) && ((((!((b_STAR_ == null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);
|
||||
});
|
||||
/**
|
||||
* Diff associative things a and b, comparing only keys in ks (if supplied).
|
||||
*/
|
||||
clojure.data.diff_associative = (function clojure$data$diff_associative(var_args){
|
||||
var G__27663 = arguments.length;
|
||||
switch (G__27663) {
|
||||
case 2:
|
||||
return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
case 3:
|
||||
return clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 = (function (a,b){
|
||||
return clojure.data.diff_associative.call(null,a,b,clojure.set.union.call(null,cljs.core.keys.call(null,a),cljs.core.keys.call(null,b)));
|
||||
});
|
||||
|
||||
clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 = (function (a,b,ks){
|
||||
return cljs.core.reduce.call(null,(function (diff1,diff2){
|
||||
return cljs.core.doall.call(null,cljs.core.map.call(null,cljs.core.merge,diff1,diff2));
|
||||
}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.call(null,cljs.core.partial.call(null,clojure.data.diff_associative_key,a,b),ks));
|
||||
});
|
||||
|
||||
clojure.data.diff_associative.cljs$lang$maxFixedArity = 3;
|
||||
|
||||
clojure.data.diff_sequential = (function clojure$data$diff_sequential(a,b){
|
||||
return cljs.core.vec.call(null,cljs.core.map.call(null,clojure.data.vectorize,clojure.data.diff_associative.call(null,((cljs.core.vector_QMARK_.call(null,a))?a:cljs.core.vec.call(null,a)),((cljs.core.vector_QMARK_.call(null,b))?b:cljs.core.vec.call(null,b)),cljs.core.range.call(null,(function (){var x__4219__auto__ = cljs.core.count.call(null,a);
|
||||
var y__4220__auto__ = cljs.core.count.call(null,b);
|
||||
return ((x__4219__auto__ > y__4220__auto__) ? x__4219__auto__ : y__4220__auto__);
|
||||
})()))));
|
||||
});
|
||||
clojure.data.diff_set = (function clojure$data$diff_set(a,b){
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty.call(null,clojure.set.difference.call(null,a,b)),cljs.core.not_empty.call(null,clojure.set.difference.call(null,b,a)),cljs.core.not_empty.call(null,clojure.set.intersection.call(null,a,b))], null);
|
||||
});
|
||||
|
||||
/**
|
||||
* Implementation detail. Subject to change.
|
||||
* @interface
|
||||
*/
|
||||
clojure.data.EqualityPartition = function(){};
|
||||
|
||||
/**
|
||||
* Implementation detail. Subject to change.
|
||||
*/
|
||||
clojure.data.equality_partition = (function clojure$data$equality_partition(x){
|
||||
if((((!((x == null)))) && ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 == null)))))){
|
||||
return x.clojure$data$EqualityPartition$equality_partition$arity$1(x);
|
||||
} else {
|
||||
var x__4433__auto__ = (((x == null))?null:x);
|
||||
var m__4434__auto__ = (clojure.data.equality_partition[goog.typeOf(x__4433__auto__)]);
|
||||
if((!((m__4434__auto__ == null)))){
|
||||
return m__4434__auto__.call(null,x);
|
||||
} else {
|
||||
var m__4431__auto__ = (clojure.data.equality_partition["_"]);
|
||||
if((!((m__4431__auto__ == null)))){
|
||||
return m__4431__auto__.call(null,x);
|
||||
} else {
|
||||
throw cljs.core.missing_protocol.call(null,"EqualityPartition.equality-partition",x);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Implementation detail. Subject to change.
|
||||
* @interface
|
||||
*/
|
||||
clojure.data.Diff = function(){};
|
||||
|
||||
/**
|
||||
* Implementation detail. Subject to change.
|
||||
*/
|
||||
clojure.data.diff_similar = (function clojure$data$diff_similar(a,b){
|
||||
if((((!((a == null)))) && ((!((a.clojure$data$Diff$diff_similar$arity$2 == null)))))){
|
||||
return a.clojure$data$Diff$diff_similar$arity$2(a,b);
|
||||
} else {
|
||||
var x__4433__auto__ = (((a == null))?null:a);
|
||||
var m__4434__auto__ = (clojure.data.diff_similar[goog.typeOf(x__4433__auto__)]);
|
||||
if((!((m__4434__auto__ == null)))){
|
||||
return m__4434__auto__.call(null,a,b);
|
||||
} else {
|
||||
var m__4431__auto__ = (clojure.data.diff_similar["_"]);
|
||||
if((!((m__4431__auto__ == null)))){
|
||||
return m__4431__auto__.call(null,a,b);
|
||||
} else {
|
||||
throw cljs.core.missing_protocol.call(null,"Diff.diff-similar",a);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"null",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"null",(function (x){
|
||||
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"string",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"string",(function (x){
|
||||
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"number",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"number",(function (x){
|
||||
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"array",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"array",(function (x){
|
||||
return new cljs.core.Keyword(null,"sequential","sequential",-1082983960);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"function",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"function",(function (x){
|
||||
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"boolean",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"boolean",(function (x){
|
||||
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.EqualityPartition,"_",true);
|
||||
|
||||
goog.object.set(clojure.data.equality_partition,"_",(function (x){
|
||||
if((((!((x == null))))?(((((x.cljs$lang$protocol_mask$partition0$ & (1024))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.IMap,x))){
|
||||
return new cljs.core.Keyword(null,"map","map",1371690461);
|
||||
} else {
|
||||
if((((!((x == null))))?(((((x.cljs$lang$protocol_mask$partition0$ & (4096))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISet,x))){
|
||||
return new cljs.core.Keyword(null,"set","set",304602554);
|
||||
} else {
|
||||
if((((!((x == null))))?(((((x.cljs$lang$protocol_mask$partition0$ & (16777216))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_.call(null,cljs.core.ISequential,x))){
|
||||
return new cljs.core.Keyword(null,"sequential","sequential",-1082983960);
|
||||
} else {
|
||||
return new cljs.core.Keyword(null,"atom","atom",-397043653);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}));
|
||||
goog.object.set(clojure.data.Diff,"null",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"null",(function (a,b){
|
||||
return clojure.data.atom_diff.call(null,a,b);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.Diff,"string",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"string",(function (a,b){
|
||||
return clojure.data.atom_diff.call(null,a,b);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.Diff,"number",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"number",(function (a,b){
|
||||
return clojure.data.atom_diff.call(null,a,b);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.Diff,"array",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"array",(function (a,b){
|
||||
return clojure.data.diff_sequential.call(null,a,b);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.Diff,"function",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"function",(function (a,b){
|
||||
return clojure.data.atom_diff.call(null,a,b);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.Diff,"boolean",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"boolean",(function (a,b){
|
||||
return clojure.data.atom_diff.call(null,a,b);
|
||||
}));
|
||||
|
||||
goog.object.set(clojure.data.Diff,"_",true);
|
||||
|
||||
goog.object.set(clojure.data.diff_similar,"_",(function (a,b){
|
||||
return (function (){var G__27668 = clojure.data.equality_partition.call(null,a);
|
||||
var G__27668__$1 = (((G__27668 instanceof cljs.core.Keyword))?G__27668.fqn:null);
|
||||
switch (G__27668__$1) {
|
||||
case "atom":
|
||||
return clojure.data.atom_diff;
|
||||
|
||||
break;
|
||||
case "set":
|
||||
return clojure.data.diff_set;
|
||||
|
||||
break;
|
||||
case "sequential":
|
||||
return clojure.data.diff_sequential;
|
||||
|
||||
break;
|
||||
case "map":
|
||||
return clojure.data.diff_associative;
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__27668__$1)].join('')));
|
||||
|
||||
}
|
||||
})().call(null,a,b);
|
||||
}));
|
||||
/**
|
||||
* Recursively compares a and b, returning a tuple of
|
||||
* [things-only-in-a things-only-in-b things-in-both].
|
||||
* Comparison rules:
|
||||
*
|
||||
* * For equal a and b, return [nil nil a].
|
||||
* * Maps are subdiffed where keys match and values differ.
|
||||
* * Sets are never subdiffed.
|
||||
* * All sequential things are treated as associative collections
|
||||
* by their indexes, with results returned as vectors.
|
||||
* * Everything else (including strings!) is treated as
|
||||
* an atom and compared for equality.
|
||||
*/
|
||||
clojure.data.diff = (function clojure$data$diff(a,b){
|
||||
if(cljs.core._EQ_.call(null,a,b)){
|
||||
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);
|
||||
} else {
|
||||
if(cljs.core._EQ_.call(null,clojure.data.equality_partition.call(null,a),clojure.data.equality_partition.call(null,b))){
|
||||
return clojure.data.diff_similar.call(null,a,b);
|
||||
} else {
|
||||
return clojure.data.atom_diff.call(null,a,b);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//# sourceMappingURL=data.js.map?rel=1582621017989
|
File diff suppressed because one or more lines are too long
|
@ -1,161 +0,0 @@
|
|||
; Copyright (c) Rich Hickey. All rights reserved.
|
||||
; The use and distribution terms for this software are covered by the
|
||||
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
||||
; which can be found in the file epl-v10.html at the root of this distribution.
|
||||
; By using this software in any fashion, you are agreeing to be bound by
|
||||
; the terms of this license.
|
||||
; You must not remove this notice, or any other, from this software.
|
||||
|
||||
(ns ^{:doc "Set operations such as union/intersection."
|
||||
:author "Rich Hickey"}
|
||||
clojure.set)
|
||||
|
||||
(defn- bubble-max-key [k coll]
|
||||
"Move a maximal element of coll according to fn k (which returns a number)
|
||||
to the front of coll."
|
||||
(let [max (apply max-key k coll)]
|
||||
(cons max (remove #(identical? max %) coll))))
|
||||
|
||||
(defn union
|
||||
"Return a set that is the union of the input sets"
|
||||
([] #{})
|
||||
([s1] s1)
|
||||
([s1 s2]
|
||||
(if (< (count s1) (count s2))
|
||||
(reduce conj s2 s1)
|
||||
(reduce conj s1 s2)))
|
||||
([s1 s2 & sets]
|
||||
(let [bubbled-sets (bubble-max-key count (conj sets s2 s1))]
|
||||
(reduce into (first bubbled-sets) (rest bubbled-sets)))))
|
||||
|
||||
(defn intersection
|
||||
"Return a set that is the intersection of the input sets"
|
||||
([s1] s1)
|
||||
([s1 s2]
|
||||
(if (< (count s2) (count s1))
|
||||
(recur s2 s1)
|
||||
(reduce (fn [result item]
|
||||
(if (contains? s2 item)
|
||||
result
|
||||
(disj result item)))
|
||||
s1 s1)))
|
||||
([s1 s2 & sets]
|
||||
(let [bubbled-sets (bubble-max-key #(- (count %)) (conj sets s2 s1))]
|
||||
(reduce intersection (first bubbled-sets) (rest bubbled-sets)))))
|
||||
|
||||
(defn difference
|
||||
"Return a set that is the first set without elements of the remaining sets"
|
||||
([s1] s1)
|
||||
([s1 s2]
|
||||
(if (< (count s1) (count s2))
|
||||
(reduce (fn [result item]
|
||||
(if (contains? s2 item)
|
||||
(disj result item)
|
||||
result))
|
||||
s1 s1)
|
||||
(reduce disj s1 s2)))
|
||||
([s1 s2 & sets]
|
||||
(reduce difference s1 (conj sets s2))))
|
||||
|
||||
|
||||
(defn select
|
||||
"Returns a set of the elements for which pred is true"
|
||||
[pred xset]
|
||||
(reduce (fn [s k] (if (pred k) s (disj s k)))
|
||||
xset xset))
|
||||
|
||||
(defn project
|
||||
"Returns a rel of the elements of xrel with only the keys in ks"
|
||||
[xrel ks]
|
||||
(set (map #(select-keys % ks) xrel)))
|
||||
|
||||
(defn rename-keys
|
||||
"Returns the map with the keys in kmap renamed to the vals in kmap"
|
||||
[map kmap]
|
||||
(reduce
|
||||
(fn [m [old new]]
|
||||
(if (contains? map old)
|
||||
(assoc m new (get map old))
|
||||
m))
|
||||
(apply dissoc map (keys kmap)) kmap))
|
||||
|
||||
(defn rename
|
||||
"Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap"
|
||||
[xrel kmap]
|
||||
(set (map #(rename-keys % kmap) xrel)))
|
||||
|
||||
(defn index
|
||||
"Returns a map of the distinct values of ks in the xrel mapped to a
|
||||
set of the maps in xrel with the corresponding values of ks."
|
||||
[xrel ks]
|
||||
(reduce
|
||||
(fn [m x]
|
||||
(let [ik (select-keys x ks)]
|
||||
(assoc m ik (conj (get m ik #{}) x))))
|
||||
{} xrel))
|
||||
|
||||
(defn map-invert
|
||||
"Returns the map with the vals mapped to the keys."
|
||||
[m] (reduce (fn [m [k v]] (assoc m v k)) {} m))
|
||||
|
||||
(defn join
|
||||
"When passed 2 rels, returns the rel corresponding to the natural
|
||||
join. When passed an additional keymap, joins on the corresponding
|
||||
keys."
|
||||
([xrel yrel] ;natural join
|
||||
(if (and (seq xrel) (seq yrel))
|
||||
(let [ks (intersection (set (keys (first xrel))) (set (keys (first yrel))))
|
||||
[r s] (if (<= (count xrel) (count yrel))
|
||||
[xrel yrel]
|
||||
[yrel xrel])
|
||||
idx (index r ks)]
|
||||
(reduce (fn [ret x]
|
||||
(let [found (idx (select-keys x ks))]
|
||||
(if found
|
||||
(reduce #(conj %1 (merge %2 x)) ret found)
|
||||
ret)))
|
||||
#{} s))
|
||||
#{}))
|
||||
([xrel yrel km] ;arbitrary key mapping
|
||||
(let [[r s k] (if (<= (count xrel) (count yrel))
|
||||
[xrel yrel (map-invert km)]
|
||||
[yrel xrel km])
|
||||
idx (index r (vals k))]
|
||||
(reduce (fn [ret x]
|
||||
(let [found (idx (rename-keys (select-keys x (keys k)) k))]
|
||||
(if found
|
||||
(reduce #(conj %1 (merge %2 x)) ret found)
|
||||
ret)))
|
||||
#{} s))))
|
||||
|
||||
(defn subset?
|
||||
"Is set1 a subset of set2?"
|
||||
[set1 set2]
|
||||
(and (<= (count set1) (count set2))
|
||||
(every? #(contains? set2 %) set1)))
|
||||
|
||||
(defn superset?
|
||||
"Is set1 a superset of set2?"
|
||||
[set1 set2]
|
||||
(and (>= (count set1) (count set2))
|
||||
(every? #(contains? set1 %) set2)))
|
||||
|
||||
(comment
|
||||
(refer 'set)
|
||||
(def xs #{{:a 11 :b 1 :c 1 :d 4}
|
||||
{:a 2 :b 12 :c 2 :d 6}
|
||||
{:a 3 :b 3 :c 3 :d 8 :f 42}})
|
||||
|
||||
(def ys #{{:a 11 :b 11 :c 11 :e 5}
|
||||
{:a 12 :b 11 :c 12 :e 3}
|
||||
{:a 3 :b 3 :c 3 :e 7 }})
|
||||
|
||||
(join xs ys)
|
||||
(join xs (rename ys {:b :yb :c :yc}) {:a :a})
|
||||
|
||||
(union #{:a :b :c} #{:c :d :e })
|
||||
(difference #{:a :b :c} #{:c :d :e})
|
||||
(intersection #{:a :b :c} #{:c :d :e})
|
||||
|
||||
(index ys [:b]))
|
||||
|
File diff suppressed because one or more lines are too long
|
@ -1,391 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('clojure.set');
|
||||
goog.require('cljs.core');
|
||||
clojure.set.bubble_max_key = (function clojure$set$bubble_max_key(k,coll){
|
||||
|
||||
var max = cljs.core.apply.call(null,cljs.core.max_key,k,coll);
|
||||
return cljs.core.cons.call(null,max,cljs.core.remove.call(null,((function (max){
|
||||
return (function (p1__27597_SHARP_){
|
||||
return (max === p1__27597_SHARP_);
|
||||
});})(max))
|
||||
,coll));
|
||||
});
|
||||
/**
|
||||
* Return a set that is the union of the input sets
|
||||
*/
|
||||
clojure.set.union = (function clojure$set$union(var_args){
|
||||
var G__27602 = arguments.length;
|
||||
switch (G__27602) {
|
||||
case 0:
|
||||
return clojure.set.union.cljs$core$IFn$_invoke$arity$0();
|
||||
|
||||
break;
|
||||
case 1:
|
||||
return clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
||||
|
||||
break;
|
||||
case 2:
|
||||
return clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
var args_arr__4751__auto__ = [];
|
||||
var len__4730__auto___27604 = arguments.length;
|
||||
var i__4731__auto___27605 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___27605 < len__4730__auto___27604)){
|
||||
args_arr__4751__auto__.push((arguments[i__4731__auto___27605]));
|
||||
|
||||
var G__27606 = (i__4731__auto___27605 + (1));
|
||||
i__4731__auto___27605 = G__27606;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4752__auto__ = (new cljs.core.IndexedSeq(args_arr__4751__auto__.slice((2)),(0),null));
|
||||
return clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4752__auto__);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.union.cljs$core$IFn$_invoke$arity$0 = (function (){
|
||||
return cljs.core.PersistentHashSet.EMPTY;
|
||||
});
|
||||
|
||||
clojure.set.union.cljs$core$IFn$_invoke$arity$1 = (function (s1){
|
||||
return s1;
|
||||
});
|
||||
|
||||
clojure.set.union.cljs$core$IFn$_invoke$arity$2 = (function (s1,s2){
|
||||
if((cljs.core.count.call(null,s1) < cljs.core.count.call(null,s2))){
|
||||
return cljs.core.reduce.call(null,cljs.core.conj,s2,s1);
|
||||
} else {
|
||||
return cljs.core.reduce.call(null,cljs.core.conj,s1,s2);
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.union.cljs$core$IFn$_invoke$arity$variadic = (function (s1,s2,sets){
|
||||
var bubbled_sets = clojure.set.bubble_max_key.call(null,cljs.core.count,cljs.core.conj.call(null,sets,s2,s1));
|
||||
return cljs.core.reduce.call(null,cljs.core.into,cljs.core.first.call(null,bubbled_sets),cljs.core.rest.call(null,bubbled_sets));
|
||||
});
|
||||
|
||||
/** @this {Function} */
|
||||
clojure.set.union.cljs$lang$applyTo = (function (seq27599){
|
||||
var G__27600 = cljs.core.first.call(null,seq27599);
|
||||
var seq27599__$1 = cljs.core.next.call(null,seq27599);
|
||||
var G__27601 = cljs.core.first.call(null,seq27599__$1);
|
||||
var seq27599__$2 = cljs.core.next.call(null,seq27599__$1);
|
||||
var self__4717__auto__ = this;
|
||||
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27600,G__27601,seq27599__$2);
|
||||
});
|
||||
|
||||
clojure.set.union.cljs$lang$maxFixedArity = (2);
|
||||
|
||||
/**
|
||||
* Return a set that is the intersection of the input sets
|
||||
*/
|
||||
clojure.set.intersection = (function clojure$set$intersection(var_args){
|
||||
var G__27612 = arguments.length;
|
||||
switch (G__27612) {
|
||||
case 1:
|
||||
return clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
||||
|
||||
break;
|
||||
case 2:
|
||||
return clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
var args_arr__4751__auto__ = [];
|
||||
var len__4730__auto___27614 = arguments.length;
|
||||
var i__4731__auto___27615 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___27615 < len__4730__auto___27614)){
|
||||
args_arr__4751__auto__.push((arguments[i__4731__auto___27615]));
|
||||
|
||||
var G__27616 = (i__4731__auto___27615 + (1));
|
||||
i__4731__auto___27615 = G__27616;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4752__auto__ = (new cljs.core.IndexedSeq(args_arr__4751__auto__.slice((2)),(0),null));
|
||||
return clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4752__auto__);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 = (function (s1){
|
||||
return s1;
|
||||
});
|
||||
|
||||
clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 = (function (s1,s2){
|
||||
while(true){
|
||||
if((cljs.core.count.call(null,s2) < cljs.core.count.call(null,s1))){
|
||||
var G__27617 = s2;
|
||||
var G__27618 = s1;
|
||||
s1 = G__27617;
|
||||
s2 = G__27618;
|
||||
continue;
|
||||
} else {
|
||||
return cljs.core.reduce.call(null,((function (s1,s2){
|
||||
return (function (result,item){
|
||||
if(cljs.core.contains_QMARK_.call(null,s2,item)){
|
||||
return result;
|
||||
} else {
|
||||
return cljs.core.disj.call(null,result,item);
|
||||
}
|
||||
});})(s1,s2))
|
||||
,s1,s1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic = (function (s1,s2,sets){
|
||||
var bubbled_sets = clojure.set.bubble_max_key.call(null,(function (p1__27607_SHARP_){
|
||||
return (- cljs.core.count.call(null,p1__27607_SHARP_));
|
||||
}),cljs.core.conj.call(null,sets,s2,s1));
|
||||
return cljs.core.reduce.call(null,clojure.set.intersection,cljs.core.first.call(null,bubbled_sets),cljs.core.rest.call(null,bubbled_sets));
|
||||
});
|
||||
|
||||
/** @this {Function} */
|
||||
clojure.set.intersection.cljs$lang$applyTo = (function (seq27609){
|
||||
var G__27610 = cljs.core.first.call(null,seq27609);
|
||||
var seq27609__$1 = cljs.core.next.call(null,seq27609);
|
||||
var G__27611 = cljs.core.first.call(null,seq27609__$1);
|
||||
var seq27609__$2 = cljs.core.next.call(null,seq27609__$1);
|
||||
var self__4717__auto__ = this;
|
||||
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27610,G__27611,seq27609__$2);
|
||||
});
|
||||
|
||||
clojure.set.intersection.cljs$lang$maxFixedArity = (2);
|
||||
|
||||
/**
|
||||
* Return a set that is the first set without elements of the remaining sets
|
||||
*/
|
||||
clojure.set.difference = (function clojure$set$difference(var_args){
|
||||
var G__27623 = arguments.length;
|
||||
switch (G__27623) {
|
||||
case 1:
|
||||
return clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
||||
|
||||
break;
|
||||
case 2:
|
||||
return clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
var args_arr__4751__auto__ = [];
|
||||
var len__4730__auto___27625 = arguments.length;
|
||||
var i__4731__auto___27626 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___27626 < len__4730__auto___27625)){
|
||||
args_arr__4751__auto__.push((arguments[i__4731__auto___27626]));
|
||||
|
||||
var G__27627 = (i__4731__auto___27626 + (1));
|
||||
i__4731__auto___27626 = G__27627;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4752__auto__ = (new cljs.core.IndexedSeq(args_arr__4751__auto__.slice((2)),(0),null));
|
||||
return clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__4752__auto__);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.difference.cljs$core$IFn$_invoke$arity$1 = (function (s1){
|
||||
return s1;
|
||||
});
|
||||
|
||||
clojure.set.difference.cljs$core$IFn$_invoke$arity$2 = (function (s1,s2){
|
||||
if((cljs.core.count.call(null,s1) < cljs.core.count.call(null,s2))){
|
||||
return cljs.core.reduce.call(null,(function (result,item){
|
||||
if(cljs.core.contains_QMARK_.call(null,s2,item)){
|
||||
return cljs.core.disj.call(null,result,item);
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}),s1,s1);
|
||||
} else {
|
||||
return cljs.core.reduce.call(null,cljs.core.disj,s1,s2);
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic = (function (s1,s2,sets){
|
||||
return cljs.core.reduce.call(null,clojure.set.difference,s1,cljs.core.conj.call(null,sets,s2));
|
||||
});
|
||||
|
||||
/** @this {Function} */
|
||||
clojure.set.difference.cljs$lang$applyTo = (function (seq27620){
|
||||
var G__27621 = cljs.core.first.call(null,seq27620);
|
||||
var seq27620__$1 = cljs.core.next.call(null,seq27620);
|
||||
var G__27622 = cljs.core.first.call(null,seq27620__$1);
|
||||
var seq27620__$2 = cljs.core.next.call(null,seq27620__$1);
|
||||
var self__4717__auto__ = this;
|
||||
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27621,G__27622,seq27620__$2);
|
||||
});
|
||||
|
||||
clojure.set.difference.cljs$lang$maxFixedArity = (2);
|
||||
|
||||
/**
|
||||
* Returns a set of the elements for which pred is true
|
||||
*/
|
||||
clojure.set.select = (function clojure$set$select(pred,xset){
|
||||
return cljs.core.reduce.call(null,(function (s,k){
|
||||
if(cljs.core.truth_(pred.call(null,k))){
|
||||
return s;
|
||||
} else {
|
||||
return cljs.core.disj.call(null,s,k);
|
||||
}
|
||||
}),xset,xset);
|
||||
});
|
||||
/**
|
||||
* Returns a rel of the elements of xrel with only the keys in ks
|
||||
*/
|
||||
clojure.set.project = (function clojure$set$project(xrel,ks){
|
||||
return cljs.core.set.call(null,cljs.core.map.call(null,(function (p1__27628_SHARP_){
|
||||
return cljs.core.select_keys.call(null,p1__27628_SHARP_,ks);
|
||||
}),xrel));
|
||||
});
|
||||
/**
|
||||
* Returns the map with the keys in kmap renamed to the vals in kmap
|
||||
*/
|
||||
clojure.set.rename_keys = (function clojure$set$rename_keys(map,kmap){
|
||||
return cljs.core.reduce.call(null,(function (m,p__27629){
|
||||
var vec__27630 = p__27629;
|
||||
var old = cljs.core.nth.call(null,vec__27630,(0),null);
|
||||
var new$ = cljs.core.nth.call(null,vec__27630,(1),null);
|
||||
if(cljs.core.contains_QMARK_.call(null,map,old)){
|
||||
return cljs.core.assoc.call(null,m,new$,cljs.core.get.call(null,map,old));
|
||||
} else {
|
||||
return m;
|
||||
}
|
||||
}),cljs.core.apply.call(null,cljs.core.dissoc,map,cljs.core.keys.call(null,kmap)),kmap);
|
||||
});
|
||||
/**
|
||||
* Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap
|
||||
*/
|
||||
clojure.set.rename = (function clojure$set$rename(xrel,kmap){
|
||||
return cljs.core.set.call(null,cljs.core.map.call(null,(function (p1__27633_SHARP_){
|
||||
return clojure.set.rename_keys.call(null,p1__27633_SHARP_,kmap);
|
||||
}),xrel));
|
||||
});
|
||||
/**
|
||||
* Returns a map of the distinct values of ks in the xrel mapped to a
|
||||
* set of the maps in xrel with the corresponding values of ks.
|
||||
*/
|
||||
clojure.set.index = (function clojure$set$index(xrel,ks){
|
||||
return cljs.core.reduce.call(null,(function (m,x){
|
||||
var ik = cljs.core.select_keys.call(null,x,ks);
|
||||
return cljs.core.assoc.call(null,m,ik,cljs.core.conj.call(null,cljs.core.get.call(null,m,ik,cljs.core.PersistentHashSet.EMPTY),x));
|
||||
}),cljs.core.PersistentArrayMap.EMPTY,xrel);
|
||||
});
|
||||
/**
|
||||
* Returns the map with the vals mapped to the keys.
|
||||
*/
|
||||
clojure.set.map_invert = (function clojure$set$map_invert(m){
|
||||
return cljs.core.reduce.call(null,(function (m__$1,p__27634){
|
||||
var vec__27635 = p__27634;
|
||||
var k = cljs.core.nth.call(null,vec__27635,(0),null);
|
||||
var v = cljs.core.nth.call(null,vec__27635,(1),null);
|
||||
return cljs.core.assoc.call(null,m__$1,v,k);
|
||||
}),cljs.core.PersistentArrayMap.EMPTY,m);
|
||||
});
|
||||
/**
|
||||
* When passed 2 rels, returns the rel corresponding to the natural
|
||||
* join. When passed an additional keymap, joins on the corresponding
|
||||
* keys.
|
||||
*/
|
||||
clojure.set.join = (function clojure$set$join(var_args){
|
||||
var G__27643 = arguments.length;
|
||||
switch (G__27643) {
|
||||
case 2:
|
||||
return clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
|
||||
|
||||
break;
|
||||
case 3:
|
||||
return clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.join.cljs$core$IFn$_invoke$arity$2 = (function (xrel,yrel){
|
||||
if(((cljs.core.seq.call(null,xrel)) && (cljs.core.seq.call(null,yrel)))){
|
||||
var ks = clojure.set.intersection.call(null,cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,xrel))),cljs.core.set.call(null,cljs.core.keys.call(null,cljs.core.first.call(null,yrel))));
|
||||
var vec__27644 = (((cljs.core.count.call(null,xrel) <= cljs.core.count.call(null,yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));
|
||||
var r = cljs.core.nth.call(null,vec__27644,(0),null);
|
||||
var s = cljs.core.nth.call(null,vec__27644,(1),null);
|
||||
var idx = clojure.set.index.call(null,r,ks);
|
||||
return cljs.core.reduce.call(null,((function (ks,vec__27644,r,s,idx){
|
||||
return (function (ret,x){
|
||||
var found = idx.call(null,cljs.core.select_keys.call(null,x,ks));
|
||||
if(cljs.core.truth_(found)){
|
||||
return cljs.core.reduce.call(null,((function (found,ks,vec__27644,r,s,idx){
|
||||
return (function (p1__27638_SHARP_,p2__27639_SHARP_){
|
||||
return cljs.core.conj.call(null,p1__27638_SHARP_,cljs.core.merge.call(null,p2__27639_SHARP_,x));
|
||||
});})(found,ks,vec__27644,r,s,idx))
|
||||
,ret,found);
|
||||
} else {
|
||||
return ret;
|
||||
}
|
||||
});})(ks,vec__27644,r,s,idx))
|
||||
,cljs.core.PersistentHashSet.EMPTY,s);
|
||||
} else {
|
||||
return cljs.core.PersistentHashSet.EMPTY;
|
||||
}
|
||||
});
|
||||
|
||||
clojure.set.join.cljs$core$IFn$_invoke$arity$3 = (function (xrel,yrel,km){
|
||||
var vec__27647 = (((cljs.core.count.call(null,xrel) <= cljs.core.count.call(null,yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert.call(null,km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));
|
||||
var r = cljs.core.nth.call(null,vec__27647,(0),null);
|
||||
var s = cljs.core.nth.call(null,vec__27647,(1),null);
|
||||
var k = cljs.core.nth.call(null,vec__27647,(2),null);
|
||||
var idx = clojure.set.index.call(null,r,cljs.core.vals.call(null,k));
|
||||
return cljs.core.reduce.call(null,((function (vec__27647,r,s,k,idx){
|
||||
return (function (ret,x){
|
||||
var found = idx.call(null,clojure.set.rename_keys.call(null,cljs.core.select_keys.call(null,x,cljs.core.keys.call(null,k)),k));
|
||||
if(cljs.core.truth_(found)){
|
||||
return cljs.core.reduce.call(null,((function (found,vec__27647,r,s,k,idx){
|
||||
return (function (p1__27640_SHARP_,p2__27641_SHARP_){
|
||||
return cljs.core.conj.call(null,p1__27640_SHARP_,cljs.core.merge.call(null,p2__27641_SHARP_,x));
|
||||
});})(found,vec__27647,r,s,k,idx))
|
||||
,ret,found);
|
||||
} else {
|
||||
return ret;
|
||||
}
|
||||
});})(vec__27647,r,s,k,idx))
|
||||
,cljs.core.PersistentHashSet.EMPTY,s);
|
||||
});
|
||||
|
||||
clojure.set.join.cljs$lang$maxFixedArity = 3;
|
||||
|
||||
/**
|
||||
* Is set1 a subset of set2?
|
||||
*/
|
||||
clojure.set.subset_QMARK_ = (function clojure$set$subset_QMARK_(set1,set2){
|
||||
return (((cljs.core.count.call(null,set1) <= cljs.core.count.call(null,set2))) && (cljs.core.every_QMARK_.call(null,(function (p1__27651_SHARP_){
|
||||
return cljs.core.contains_QMARK_.call(null,set2,p1__27651_SHARP_);
|
||||
}),set1)));
|
||||
});
|
||||
/**
|
||||
* Is set1 a superset of set2?
|
||||
*/
|
||||
clojure.set.superset_QMARK_ = (function clojure$set$superset_QMARK_(set1,set2){
|
||||
return (((cljs.core.count.call(null,set1) >= cljs.core.count.call(null,set2))) && (cljs.core.every_QMARK_.call(null,(function (p1__27652_SHARP_){
|
||||
return cljs.core.contains_QMARK_.call(null,set1,p1__27652_SHARP_);
|
||||
}),set2)));
|
||||
});
|
||||
|
||||
//# sourceMappingURL=set.js.map?rel=1582621017957
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,98 +0,0 @@
|
|||
; Copyright (c) Rich Hickey. All rights reserved.
|
||||
; The use and distribution terms for this software are covered by the
|
||||
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
|
||||
; which can be found in the file epl-v10.html at the root of this distribution.
|
||||
; By using this software in any fashion, you are agreeing to be bound by
|
||||
; the terms of this license.
|
||||
; You must not remove this notice, or any other, from this software.
|
||||
|
||||
;;; walk.cljs - generic tree walker with replacement
|
||||
|
||||
;; by Stuart Sierra
|
||||
;; Jul5 17, 2011
|
||||
|
||||
;; CHANGE LOG:
|
||||
;;
|
||||
;; * July 17, 2011: Port to ClojureScript
|
||||
;;
|
||||
;; * December 15, 2008: replaced 'walk' with 'prewalk' & 'postwalk'
|
||||
;;
|
||||
;; * December 9, 2008: first version
|
||||
|
||||
|
||||
(ns
|
||||
^{:author "Stuart Sierra",
|
||||
:doc "This file defines a generic tree walker for Clojure data
|
||||
structures. It takes any data structure (list, vector, map, set,
|
||||
seq), calls a function on every element, and uses the return value
|
||||
of the function in place of the original. This makes it fairly
|
||||
easy to write recursive search-and-replace functions, as shown in
|
||||
the examples.
|
||||
|
||||
Note: \"walk\" supports all Clojure data structures EXCEPT maps
|
||||
created with sorted-map-by. There is no (obvious) way to retrieve
|
||||
the sorting function."}
|
||||
clojure.walk)
|
||||
|
||||
(defn walk
|
||||
"Traverses form, an arbitrary data structure. inner and outer are
|
||||
functions. Applies inner to each element of form, building up a
|
||||
data structure of the same type, then applies outer to the result.
|
||||
Recognizes all Clojure data structures. Consumes seqs as with doall."
|
||||
|
||||
{:added "1.1"}
|
||||
[inner outer form]
|
||||
(cond
|
||||
(list? form) (outer (apply list (map inner form)))
|
||||
(map-entry? form)
|
||||
(outer (MapEntry. (inner (key form)) (inner (val form)) nil))
|
||||
(seq? form) (outer (doall (map inner form)))
|
||||
(record? form) (outer (reduce (fn [r x] (conj r (inner x))) form form))
|
||||
(coll? form) (outer (into (empty form) (map inner form)))
|
||||
:else (outer form)))
|
||||
|
||||
(defn postwalk
|
||||
"Performs a depth-first, post-order traversal of form. Calls f on
|
||||
each sub-form, uses f's return value in place of the original.
|
||||
Recognizes all Clojure data structures. Consumes seqs as with doall."
|
||||
{:added "1.1"}
|
||||
[f form]
|
||||
(walk (partial postwalk f) f form))
|
||||
|
||||
(defn prewalk
|
||||
"Like postwalk, but does pre-order traversal."
|
||||
{:added "1.1"}
|
||||
[f form]
|
||||
(walk (partial prewalk f) identity (f form)))
|
||||
|
||||
(defn keywordize-keys
|
||||
"Recursively transforms all map keys from strings to keywords."
|
||||
{:added "1.1"}
|
||||
[m]
|
||||
(let [f (fn [[k v]] (if (string? k) [(keyword k) v] [k v]))]
|
||||
;; only apply to maps
|
||||
(postwalk (fn [x] (if (map? x) (into {} (map f x)) x)) m)))
|
||||
|
||||
(defn stringify-keys
|
||||
"Recursively transforms all map keys from keywords to strings."
|
||||
{:added "1.1"}
|
||||
[m]
|
||||
(let [f (fn [[k v]] (if (keyword? k) [(name k) v] [k v]))]
|
||||
;; only apply to maps
|
||||
(postwalk (fn [x] (if (map? x) (into {} (map f x)) x)) m)))
|
||||
|
||||
(defn prewalk-replace
|
||||
"Recursively transforms form by replacing keys in smap with their
|
||||
values. Like clojure/replace but works on any data structure. Does
|
||||
replacement at the root of the tree first."
|
||||
{:added "1.1"}
|
||||
[smap form]
|
||||
(prewalk (fn [x] (if (contains? smap x) (smap x) x)) form))
|
||||
|
||||
(defn postwalk-replace
|
||||
"Recursively transforms form by replacing keys in smap with their
|
||||
values. Like clojure/replace but works on any data structure. Does
|
||||
replacement at the leaves of the tree first."
|
||||
{:added "1.1"}
|
||||
[smap form]
|
||||
(postwalk (fn [x] (if (contains? smap x) (smap x) x)) form))
|
File diff suppressed because one or more lines are too long
|
@ -1,127 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('clojure.walk');
|
||||
goog.require('cljs.core');
|
||||
/**
|
||||
* Traverses form, an arbitrary data structure. inner and outer are
|
||||
* functions. Applies inner to each element of form, building up a
|
||||
* data structure of the same type, then applies outer to the result.
|
||||
* Recognizes all Clojure data structures. Consumes seqs as with doall.
|
||||
*/
|
||||
clojure.walk.walk = (function clojure$walk$walk(inner,outer,form){
|
||||
if(cljs.core.list_QMARK_.call(null,form)){
|
||||
return outer.call(null,cljs.core.apply.call(null,cljs.core.list,cljs.core.map.call(null,inner,form)));
|
||||
} else {
|
||||
if(cljs.core.map_entry_QMARK_.call(null,form)){
|
||||
return outer.call(null,(new cljs.core.MapEntry(inner.call(null,cljs.core.key.call(null,form)),inner.call(null,cljs.core.val.call(null,form)),null)));
|
||||
} else {
|
||||
if(cljs.core.seq_QMARK_.call(null,form)){
|
||||
return outer.call(null,cljs.core.doall.call(null,cljs.core.map.call(null,inner,form)));
|
||||
} else {
|
||||
if(cljs.core.record_QMARK_.call(null,form)){
|
||||
return outer.call(null,cljs.core.reduce.call(null,(function (r,x){
|
||||
return cljs.core.conj.call(null,r,inner.call(null,x));
|
||||
}),form,form));
|
||||
} else {
|
||||
if(cljs.core.coll_QMARK_.call(null,form)){
|
||||
return outer.call(null,cljs.core.into.call(null,cljs.core.empty.call(null,form),cljs.core.map.call(null,inner,form)));
|
||||
} else {
|
||||
return outer.call(null,form);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Performs a depth-first, post-order traversal of form. Calls f on
|
||||
* each sub-form, uses f's return value in place of the original.
|
||||
* Recognizes all Clojure data structures. Consumes seqs as with doall.
|
||||
*/
|
||||
clojure.walk.postwalk = (function clojure$walk$postwalk(f,form){
|
||||
return clojure.walk.walk.call(null,cljs.core.partial.call(null,clojure.walk.postwalk,f),f,form);
|
||||
});
|
||||
/**
|
||||
* Like postwalk, but does pre-order traversal.
|
||||
*/
|
||||
clojure.walk.prewalk = (function clojure$walk$prewalk(f,form){
|
||||
return clojure.walk.walk.call(null,cljs.core.partial.call(null,clojure.walk.prewalk,f),cljs.core.identity,f.call(null,form));
|
||||
});
|
||||
/**
|
||||
* Recursively transforms all map keys from strings to keywords.
|
||||
*/
|
||||
clojure.walk.keywordize_keys = (function clojure$walk$keywordize_keys(m){
|
||||
var f = (function (p__27749){
|
||||
var vec__27750 = p__27749;
|
||||
var k = cljs.core.nth.call(null,vec__27750,(0),null);
|
||||
var v = cljs.core.nth.call(null,vec__27750,(1),null);
|
||||
if(typeof k === 'string'){
|
||||
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,k),v], null);
|
||||
} else {
|
||||
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);
|
||||
}
|
||||
});
|
||||
return clojure.walk.postwalk.call(null,((function (f){
|
||||
return (function (x){
|
||||
if(cljs.core.map_QMARK_.call(null,x)){
|
||||
return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,f,x));
|
||||
} else {
|
||||
return x;
|
||||
}
|
||||
});})(f))
|
||||
,m);
|
||||
});
|
||||
/**
|
||||
* Recursively transforms all map keys from keywords to strings.
|
||||
*/
|
||||
clojure.walk.stringify_keys = (function clojure$walk$stringify_keys(m){
|
||||
var f = (function (p__27753){
|
||||
var vec__27754 = p__27753;
|
||||
var k = cljs.core.nth.call(null,vec__27754,(0),null);
|
||||
var v = cljs.core.nth.call(null,vec__27754,(1),null);
|
||||
if((k instanceof cljs.core.Keyword)){
|
||||
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name.call(null,k),v], null);
|
||||
} else {
|
||||
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);
|
||||
}
|
||||
});
|
||||
return clojure.walk.postwalk.call(null,((function (f){
|
||||
return (function (x){
|
||||
if(cljs.core.map_QMARK_.call(null,x)){
|
||||
return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.call(null,f,x));
|
||||
} else {
|
||||
return x;
|
||||
}
|
||||
});})(f))
|
||||
,m);
|
||||
});
|
||||
/**
|
||||
* Recursively transforms form by replacing keys in smap with their
|
||||
* values. Like clojure/replace but works on any data structure. Does
|
||||
* replacement at the root of the tree first.
|
||||
*/
|
||||
clojure.walk.prewalk_replace = (function clojure$walk$prewalk_replace(smap,form){
|
||||
return clojure.walk.prewalk.call(null,(function (x){
|
||||
if(cljs.core.contains_QMARK_.call(null,smap,x)){
|
||||
return smap.call(null,x);
|
||||
} else {
|
||||
return x;
|
||||
}
|
||||
}),form);
|
||||
});
|
||||
/**
|
||||
* Recursively transforms form by replacing keys in smap with their
|
||||
* values. Like clojure/replace but works on any data structure. Does
|
||||
* replacement at the leaves of the tree first.
|
||||
*/
|
||||
clojure.walk.postwalk_replace = (function clojure$walk$postwalk_replace(smap,form){
|
||||
return clojure.walk.postwalk.call(null,(function (x){
|
||||
if(cljs.core.contains_QMARK_.call(null,smap,x)){
|
||||
return smap.call(null,x);
|
||||
} else {
|
||||
return x;
|
||||
}
|
||||
}),form);
|
||||
});
|
||||
|
||||
//# sourceMappingURL=walk.js.map?rel=1582621018064
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/clojure\/walk.js","sources":["walk.cljs?rel=1582621018065"],"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__27749","vec__27750","cljs.core\/nth","k","v","cljs.core\/keyword","cljs.core\/map?","clojure.walk\/stringify-keys","p__27753","vec__27754","cljs.core\/Keyword","cljs.core\/name","clojure.walk\/prewalk-replace","smap","cljs.core\/contains?","clojure.walk\/postwalk-replace"]}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,56 +0,0 @@
|
|||
(ns devtools.async
|
||||
(:require-macros [devtools.oops :refer [oset ocall]])
|
||||
(:require [goog.async.nextTick :as next-tick]
|
||||
[goog.labs.userAgent.browser :as ua]
|
||||
[devtools.context :as context]))
|
||||
|
||||
(defn ^:dynamic available? []
|
||||
(exists? js/Promise))
|
||||
|
||||
(def ^:dynamic fixed-chrome-version-for-async "65.0.3321")
|
||||
|
||||
(defn ^:dynamic needed? []
|
||||
(not (and (ua/isChrome) (ua/isVersionOrHigher fixed-chrome-version-for-async))))
|
||||
|
||||
(defn ^:dynamic get-not-needed-message []
|
||||
(str "cljs-devtools: the :async feature is no longer needed since Chrome " fixed-chrome-version-for-async ", "
|
||||
"see https://github.com/binaryage/cljs-devtools/issues/20"))
|
||||
|
||||
(def ^:dynamic *installed* false)
|
||||
(def ^:dynamic *original-set-immediate* nil)
|
||||
|
||||
; see http://stackoverflow.com/a/30741722/84283
|
||||
(defn rethrow-outside-promise [e]
|
||||
(js/setTimeout #(throw e) 0))
|
||||
|
||||
(defn promise-based-set-immediate [callback]
|
||||
(-> (ocall js/Promise "resolve")
|
||||
(ocall "then" callback)
|
||||
(ocall "catch" rethrow-outside-promise))
|
||||
nil)
|
||||
|
||||
(defn install-async-set-immediate! []
|
||||
(set! *original-set-immediate* next-tick/setImmediate_)
|
||||
(set! next-tick/setImmediate_ promise-based-set-immediate))
|
||||
|
||||
(defn uninstall-async-set-immediate! []
|
||||
(set! next-tick/setImmediate_ *original-set-immediate*))
|
||||
|
||||
; -- installation -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
(defn installed? []
|
||||
*installed*)
|
||||
|
||||
(defn install! []
|
||||
(when-not *installed*
|
||||
(set! *installed* true)
|
||||
(oset js/Error ["stackTraceLimit"] js/Infinity)
|
||||
(install-async-set-immediate!)
|
||||
(when-not (needed?)
|
||||
(.info (context/get-console) (get-not-needed-message)))
|
||||
true))
|
||||
|
||||
(defn uninstall! []
|
||||
(when *installed*
|
||||
(set! *installed* false)
|
||||
(uninstall-async-set-immediate!)))
|
File diff suppressed because one or more lines are too long
|
@ -1,87 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('devtools.async');
|
||||
goog.require('cljs.core');
|
||||
goog.require('goog.async.nextTick');
|
||||
goog.require('goog.labs.userAgent.browser');
|
||||
goog.require('devtools.context');
|
||||
devtools.async.available_QMARK_ = (function devtools$async$available_QMARK_(){
|
||||
return (typeof Promise !== 'undefined');
|
||||
});
|
||||
devtools.async.fixed_chrome_version_for_async = "65.0.3321";
|
||||
devtools.async.needed_QMARK_ = (function devtools$async$needed_QMARK_(){
|
||||
return cljs.core.not.call(null,(function (){var and__4120__auto__ = goog.labs.userAgent.browser.isChrome();
|
||||
if(cljs.core.truth_(and__4120__auto__)){
|
||||
return goog.labs.userAgent.browser.isVersionOrHigher(devtools.async.fixed_chrome_version_for_async);
|
||||
} else {
|
||||
return and__4120__auto__;
|
||||
}
|
||||
})());
|
||||
});
|
||||
devtools.async.get_not_needed_message = (function devtools$async$get_not_needed_message(){
|
||||
return ["cljs-devtools: the :async feature is no longer needed since Chrome ",devtools.async.fixed_chrome_version_for_async,", ","see https://github.com/binaryage/cljs-devtools/issues/20"].join('');
|
||||
});
|
||||
devtools.async._STAR_installed_STAR_ = false;
|
||||
devtools.async._STAR_original_set_immediate_STAR_ = null;
|
||||
devtools.async.rethrow_outside_promise = (function devtools$async$rethrow_outside_promise(e){
|
||||
return setTimeout((function (){
|
||||
throw e;
|
||||
}),(0));
|
||||
});
|
||||
devtools.async.promise_based_set_immediate = (function devtools$async$promise_based_set_immediate(callback){
|
||||
var o__25265__auto___28354 = (function (){var o__25265__auto__ = (function (){var o__25265__auto__ = Promise;
|
||||
return (o__25265__auto__["resolve"]).call(o__25265__auto__);
|
||||
})();
|
||||
return (o__25265__auto__["then"]).call(o__25265__auto__,callback);
|
||||
})();
|
||||
(o__25265__auto___28354["catch"]).call(o__25265__auto___28354,devtools.async.rethrow_outside_promise);
|
||||
|
||||
return null;
|
||||
});
|
||||
devtools.async.install_async_set_immediate_BANG_ = (function devtools$async$install_async_set_immediate_BANG_(){
|
||||
devtools.async._STAR_original_set_immediate_STAR_ = goog.async.nextTick.setImmediate_;
|
||||
|
||||
return goog.async.nextTick.setImmediate_ = devtools.async.promise_based_set_immediate;
|
||||
});
|
||||
devtools.async.uninstall_async_set_immediate_BANG_ = (function devtools$async$uninstall_async_set_immediate_BANG_(){
|
||||
return goog.async.nextTick.setImmediate_ = devtools.async._STAR_original_set_immediate_STAR_;
|
||||
});
|
||||
devtools.async.installed_QMARK_ = (function devtools$async$installed_QMARK_(){
|
||||
return devtools.async._STAR_installed_STAR_;
|
||||
});
|
||||
devtools.async.install_BANG_ = (function devtools$async$install_BANG_(){
|
||||
if(devtools.async._STAR_installed_STAR_){
|
||||
return null;
|
||||
} else {
|
||||
devtools.async._STAR_installed_STAR_ = true;
|
||||
|
||||
var G__28355_28356 = Error;
|
||||
var target__25270__auto___28357 = G__28355_28356;
|
||||
if(cljs.core.truth_(target__25270__auto___28357)){
|
||||
} else {
|
||||
throw (new Error(["Assert failed: ",["unable to locate object path ",null," in ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__28355_28356)].join(''),"\n","target__25270__auto__"].join('')));
|
||||
}
|
||||
|
||||
(target__25270__auto___28357["stackTraceLimit"] = Infinity);
|
||||
|
||||
|
||||
devtools.async.install_async_set_immediate_BANG_.call(null);
|
||||
|
||||
if(devtools.async.needed_QMARK_.call(null)){
|
||||
} else {
|
||||
devtools.context.get_console.call(null).info(devtools.async.get_not_needed_message.call(null));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
devtools.async.uninstall_BANG_ = (function devtools$async$uninstall_BANG_(){
|
||||
if(devtools.async._STAR_installed_STAR_){
|
||||
devtools.async._STAR_installed_STAR_ = false;
|
||||
|
||||
return devtools.async.uninstall_async_set_immediate_BANG_.call(null);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
//# sourceMappingURL=async.js.map?rel=1582621018444
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/devtools\/async.js","sources":["async.cljs?rel=1582621018445"],"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__25265__auto__","devtools.async\/install-async-set-immediate!","goog.async.nextTick\/setImmediate_","devtools.async\/uninstall-async-set-immediate!","devtools.async\/installed?","devtools.async\/install!","G__28355","target__25270__auto__","js\/Error","js\/Infinity","devtools.context\/get-console","devtools.async\/uninstall!"]}
|
|
@ -1,8 +0,0 @@
|
|||
(ns devtools.context)
|
||||
|
||||
; default root javascript context, typically js/window in browser, or the root javascript object in node.js
|
||||
(defn ^:dynamic get-root []
|
||||
goog/global)
|
||||
|
||||
(defn ^:dynamic get-console []
|
||||
(.-console (get-root)))
|
|
@ -1 +0,0 @@
|
|||
["^ ","~: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","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/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/compiled/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,"^>",["^ ","^?","/home/simon/workspace/geocsv-lite/resources/public/js/compiled/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/compiled/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]
|
|
@ -1,11 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('devtools.context');
|
||||
goog.require('cljs.core');
|
||||
devtools.context.get_root = (function devtools$context$get_root(){
|
||||
return goog.global;
|
||||
});
|
||||
devtools.context.get_console = (function devtools$context$get_console(){
|
||||
return devtools.context.get_root.call(null).console;
|
||||
});
|
||||
|
||||
//# sourceMappingURL=context.js.map?rel=1582621016556
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/devtools\/context.js","sources":["context.cljs?rel=1582621016556"],"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"]}
|
|
@ -1,114 +0,0 @@
|
|||
(ns devtools.core
|
||||
(:require [devtools.prefs :as prefs]
|
||||
[devtools.hints :as hints]
|
||||
[devtools.defaults :refer [feature-groups]]
|
||||
[devtools.formatters :as formatters]
|
||||
[devtools.async :as async]
|
||||
[devtools.toolbox] ; this auto-requires the toolbox namespace, used by cljs-oops
|
||||
[devtools.context :as context]
|
||||
[devtools.util :refer [display-banner-if-needed! install-feature! resolve-features! make-lib-info
|
||||
print-config-overrides-if-requested!
|
||||
under-advanced-build? display-advanced-build-warning-if-needed!]]))
|
||||
|
||||
; -- public API -------------------------------------------------------------------------------------------------------------
|
||||
|
||||
(defn is-feature-available? [feature]
|
||||
(case feature
|
||||
:formatters (formatters/available?)
|
||||
:hints (hints/available?)
|
||||
:async (async/available?)))
|
||||
|
||||
(defn available?
|
||||
([] (available? (prefs/pref :features-to-install)))
|
||||
([features-desc]
|
||||
(let [features (resolve-features! features-desc @feature-groups)]
|
||||
(if (empty? features)
|
||||
false
|
||||
(every? is-feature-available? features)))))
|
||||
|
||||
(defn is-feature-installed? [feature]
|
||||
(case feature
|
||||
:formatters (formatters/installed?)
|
||||
:hints (hints/installed?)
|
||||
:async (async/installed?)))
|
||||
|
||||
(defn installed?
|
||||
([] (installed? (prefs/pref :features-to-install)))
|
||||
([features-desc]
|
||||
(let [features (resolve-features! features-desc @feature-groups)]
|
||||
(if (empty? features)
|
||||
false
|
||||
(every? is-feature-installed? features)))))
|
||||
|
||||
(defn install!
|
||||
([] (install! (prefs/pref :features-to-install)))
|
||||
([features-desc]
|
||||
(if (under-advanced-build?)
|
||||
(display-advanced-build-warning-if-needed!)
|
||||
(let [features (resolve-features! features-desc @feature-groups)]
|
||||
(display-banner-if-needed! features @feature-groups)
|
||||
(print-config-overrides-if-requested! "config overrides prior install:\n")
|
||||
(install-feature! :formatters features is-feature-available? formatters/install!)
|
||||
(install-feature! :hints features is-feature-available? hints/install!)
|
||||
(install-feature! :async features is-feature-available? async/install!)))))
|
||||
|
||||
(defn uninstall! []
|
||||
(formatters/uninstall!)
|
||||
(hints/uninstall!)
|
||||
(async/uninstall!))
|
||||
|
||||
(defn set-prefs! [new-prefs]
|
||||
(prefs/set-prefs! new-prefs))
|
||||
|
||||
(defn get-prefs []
|
||||
(prefs/get-prefs))
|
||||
|
||||
(defn set-pref! [pref val]
|
||||
(prefs/set-pref! pref val))
|
||||
|
||||
; -- deprecated API ---------------------------------------------------------------------------------------------------------
|
||||
|
||||
(defn enable! []
|
||||
(.warn (context/get-console) (str "devtools.core/enable! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> remove the call")))
|
||||
|
||||
(defn disable! []
|
||||
(.warn (context/get-console) (str "devtools.core/disable! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> remove the call")))
|
||||
|
||||
(defn set-single-feature! [_feature _val]
|
||||
(.warn (context/get-console) (str "devtools.core/set-single-feature! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use (devtools.core/install! features) to install custom features")))
|
||||
|
||||
(defn enable-single-feature! [_feature]
|
||||
(.warn (context/get-console) (str "devtools.core/enable-single-feature! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use (devtools.core/install! features) to install custom features")))
|
||||
|
||||
(defn disable-single-feature! [_feature]
|
||||
(.warn (context/get-console) (str "devtools.core/disable-single-feature! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use (devtools.core/install! features) to install custom features")))
|
||||
|
||||
(defn enable-feature! [& _features]
|
||||
(.warn (context/get-console) (str "devtools.core/enable-feature! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use (devtools.core/install! features) to install custom features")))
|
||||
|
||||
(defn disable-feature! [& _features]
|
||||
(.warn (context/get-console) (str "devtools.core/disable-feature! was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use (devtools.core/install! features) to install custom features")))
|
||||
|
||||
(defn single-feature-available? [_feature]
|
||||
(.warn (context/get-console) (str "devtools.core/single-feature-available? was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use devtools.core/is-feature-available? instead")))
|
||||
|
||||
(defn feature-available? [& _features]
|
||||
(.warn (context/get-console) (str "devtools.core/feature-available? was removed "
|
||||
"and has no effect in " (make-lib-info) " "
|
||||
"=> use devtools.core/is-feature-available? instead")))
|
File diff suppressed because one or more lines are too long
|
@ -1,289 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('devtools.core');
|
||||
goog.require('cljs.core');
|
||||
goog.require('devtools.prefs');
|
||||
goog.require('devtools.hints');
|
||||
goog.require('devtools.defaults');
|
||||
goog.require('devtools.formatters');
|
||||
goog.require('devtools.async');
|
||||
goog.require('devtools.toolbox');
|
||||
goog.require('devtools.context');
|
||||
goog.require('devtools.util');
|
||||
devtools.core.is_feature_available_QMARK_ = (function devtools$core$is_feature_available_QMARK_(feature){
|
||||
var G__28383 = feature;
|
||||
var G__28383__$1 = (((G__28383 instanceof cljs.core.Keyword))?G__28383.fqn:null);
|
||||
switch (G__28383__$1) {
|
||||
case "formatters":
|
||||
return devtools.formatters.available_QMARK_.call(null);
|
||||
|
||||
break;
|
||||
case "hints":
|
||||
return devtools.hints.available_QMARK_.call(null);
|
||||
|
||||
break;
|
||||
case "async":
|
||||
return devtools.async.available_QMARK_.call(null);
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__28383__$1)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
devtools.core.available_QMARK_ = (function devtools$core$available_QMARK_(var_args){
|
||||
var G__28386 = arguments.length;
|
||||
switch (G__28386) {
|
||||
case 0:
|
||||
return devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0();
|
||||
|
||||
break;
|
||||
case 1:
|
||||
return devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0 = (function (){
|
||||
return devtools.core.available_QMARK_.call(null,devtools.prefs.pref.call(null,new cljs.core.Keyword(null,"features-to-install","features-to-install",102899261)));
|
||||
});
|
||||
|
||||
devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1 = (function (features_desc){
|
||||
var features = devtools.util.resolve_features_BANG_.call(null,features_desc,cljs.core.deref.call(null,devtools.defaults.feature_groups));
|
||||
if(cljs.core.empty_QMARK_.call(null,features)){
|
||||
return false;
|
||||
} else {
|
||||
return cljs.core.every_QMARK_.call(null,devtools.core.is_feature_available_QMARK_,features);
|
||||
}
|
||||
});
|
||||
|
||||
devtools.core.available_QMARK_.cljs$lang$maxFixedArity = 1;
|
||||
|
||||
devtools.core.is_feature_installed_QMARK_ = (function devtools$core$is_feature_installed_QMARK_(feature){
|
||||
var G__28388 = feature;
|
||||
var G__28388__$1 = (((G__28388 instanceof cljs.core.Keyword))?G__28388.fqn:null);
|
||||
switch (G__28388__$1) {
|
||||
case "formatters":
|
||||
return devtools.formatters.installed_QMARK_.call(null);
|
||||
|
||||
break;
|
||||
case "hints":
|
||||
return devtools.hints.installed_QMARK_.call(null);
|
||||
|
||||
break;
|
||||
case "async":
|
||||
return devtools.async.installed_QMARK_.call(null);
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__28388__$1)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
devtools.core.installed_QMARK_ = (function devtools$core$installed_QMARK_(var_args){
|
||||
var G__28391 = arguments.length;
|
||||
switch (G__28391) {
|
||||
case 0:
|
||||
return devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0();
|
||||
|
||||
break;
|
||||
case 1:
|
||||
return devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0 = (function (){
|
||||
return devtools.core.installed_QMARK_.call(null,devtools.prefs.pref.call(null,new cljs.core.Keyword(null,"features-to-install","features-to-install",102899261)));
|
||||
});
|
||||
|
||||
devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1 = (function (features_desc){
|
||||
var features = devtools.util.resolve_features_BANG_.call(null,features_desc,cljs.core.deref.call(null,devtools.defaults.feature_groups));
|
||||
if(cljs.core.empty_QMARK_.call(null,features)){
|
||||
return false;
|
||||
} else {
|
||||
return cljs.core.every_QMARK_.call(null,devtools.core.is_feature_installed_QMARK_,features);
|
||||
}
|
||||
});
|
||||
|
||||
devtools.core.installed_QMARK_.cljs$lang$maxFixedArity = 1;
|
||||
|
||||
devtools.core.install_BANG_ = (function devtools$core$install_BANG_(var_args){
|
||||
var G__28394 = arguments.length;
|
||||
switch (G__28394) {
|
||||
case 0:
|
||||
return devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();
|
||||
|
||||
break;
|
||||
case 1:
|
||||
return devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
|
||||
|
||||
break;
|
||||
default:
|
||||
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0 = (function (){
|
||||
return devtools.core.install_BANG_.call(null,devtools.prefs.pref.call(null,new cljs.core.Keyword(null,"features-to-install","features-to-install",102899261)));
|
||||
});
|
||||
|
||||
devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1 = (function (features_desc){
|
||||
if(cljs.core.truth_(devtools.util.under_advanced_build_QMARK_.call(null))){
|
||||
return devtools.util.display_advanced_build_warning_if_needed_BANG_.call(null);
|
||||
} else {
|
||||
var features = devtools.util.resolve_features_BANG_.call(null,features_desc,cljs.core.deref.call(null,devtools.defaults.feature_groups));
|
||||
devtools.util.display_banner_if_needed_BANG_.call(null,features,cljs.core.deref.call(null,devtools.defaults.feature_groups));
|
||||
|
||||
devtools.util.print_config_overrides_if_requested_BANG_.call(null,"config overrides prior install:\n");
|
||||
|
||||
devtools.util.install_feature_BANG_.call(null,new cljs.core.Keyword(null,"formatters","formatters",-1875637118),features,devtools.core.is_feature_available_QMARK_,devtools.formatters.install_BANG_);
|
||||
|
||||
devtools.util.install_feature_BANG_.call(null,new cljs.core.Keyword(null,"hints","hints",-991113151),features,devtools.core.is_feature_available_QMARK_,devtools.hints.install_BANG_);
|
||||
|
||||
return devtools.util.install_feature_BANG_.call(null,new cljs.core.Keyword(null,"async","async",1050769601),features,devtools.core.is_feature_available_QMARK_,devtools.async.install_BANG_);
|
||||
}
|
||||
});
|
||||
|
||||
devtools.core.install_BANG_.cljs$lang$maxFixedArity = 1;
|
||||
|
||||
devtools.core.uninstall_BANG_ = (function devtools$core$uninstall_BANG_(){
|
||||
devtools.formatters.uninstall_BANG_.call(null);
|
||||
|
||||
devtools.hints.uninstall_BANG_.call(null);
|
||||
|
||||
return devtools.async.uninstall_BANG_.call(null);
|
||||
});
|
||||
devtools.core.set_prefs_BANG_ = (function devtools$core$set_prefs_BANG_(new_prefs){
|
||||
return devtools.prefs.set_prefs_BANG_.call(null,new_prefs);
|
||||
});
|
||||
devtools.core.get_prefs = (function devtools$core$get_prefs(){
|
||||
return devtools.prefs.get_prefs.call(null);
|
||||
});
|
||||
devtools.core.set_pref_BANG_ = (function devtools$core$set_pref_BANG_(pref,val){
|
||||
return devtools.prefs.set_pref_BANG_.call(null,pref,val);
|
||||
});
|
||||
devtools.core.enable_BANG_ = (function devtools$core$enable_BANG_(){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/enable! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> remove the call"].join(''));
|
||||
});
|
||||
devtools.core.disable_BANG_ = (function devtools$core$disable_BANG_(){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/disable! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> remove the call"].join(''));
|
||||
});
|
||||
devtools.core.set_single_feature_BANG_ = (function devtools$core$set_single_feature_BANG_(_feature,_val){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/set-single-feature! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use (devtools.core/install! features) to install custom features"].join(''));
|
||||
});
|
||||
devtools.core.enable_single_feature_BANG_ = (function devtools$core$enable_single_feature_BANG_(_feature){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/enable-single-feature! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use (devtools.core/install! features) to install custom features"].join(''));
|
||||
});
|
||||
devtools.core.disable_single_feature_BANG_ = (function devtools$core$disable_single_feature_BANG_(_feature){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/disable-single-feature! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use (devtools.core/install! features) to install custom features"].join(''));
|
||||
});
|
||||
devtools.core.enable_feature_BANG_ = (function devtools$core$enable_feature_BANG_(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___28397 = arguments.length;
|
||||
var i__4731__auto___28398 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___28398 < len__4730__auto___28397)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___28398]));
|
||||
|
||||
var G__28399 = (i__4731__auto___28398 + (1));
|
||||
i__4731__auto___28398 = G__28399;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.core.enable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.core.enable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (_features){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/enable-feature! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use (devtools.core/install! features) to install custom features"].join(''));
|
||||
});
|
||||
|
||||
devtools.core.enable_feature_BANG_.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.core.enable_feature_BANG_.cljs$lang$applyTo = (function (seq28396){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq28396));
|
||||
});
|
||||
|
||||
devtools.core.disable_feature_BANG_ = (function devtools$core$disable_feature_BANG_(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___28401 = arguments.length;
|
||||
var i__4731__auto___28402 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___28402 < len__4730__auto___28401)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___28402]));
|
||||
|
||||
var G__28403 = (i__4731__auto___28402 + (1));
|
||||
i__4731__auto___28402 = G__28403;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.core.disable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.core.disable_feature_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (_features){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/disable-feature! was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use (devtools.core/install! features) to install custom features"].join(''));
|
||||
});
|
||||
|
||||
devtools.core.disable_feature_BANG_.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.core.disable_feature_BANG_.cljs$lang$applyTo = (function (seq28400){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq28400));
|
||||
});
|
||||
|
||||
devtools.core.single_feature_available_QMARK_ = (function devtools$core$single_feature_available_QMARK_(_feature){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/single-feature-available? was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use devtools.core/is-feature-available? instead"].join(''));
|
||||
});
|
||||
devtools.core.feature_available_QMARK_ = (function devtools$core$feature_available_QMARK_(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___28405 = arguments.length;
|
||||
var i__4731__auto___28406 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___28406 < len__4730__auto___28405)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___28406]));
|
||||
|
||||
var G__28407 = (i__4731__auto___28406 + (1));
|
||||
i__4731__auto___28406 = G__28407;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.core.feature_available_QMARK_.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.core.feature_available_QMARK_.cljs$core$IFn$_invoke$arity$variadic = (function (_features){
|
||||
return devtools.context.get_console.call(null).warn(["devtools.core/feature-available? was removed ","and has no effect in ",devtools.util.make_lib_info.call(null)," ","=> use devtools.core/is-feature-available? instead"].join(''));
|
||||
});
|
||||
|
||||
devtools.core.feature_available_QMARK_.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.core.feature_available_QMARK_.cljs$lang$applyTo = (function (seq28404){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq28404));
|
||||
});
|
||||
|
||||
|
||||
//# sourceMappingURL=core.js.map?rel=1582621018513
|
File diff suppressed because one or more lines are too long
|
@ -1,397 +0,0 @@
|
|||
(ns devtools.defaults
|
||||
; warning: when touching this ns form, update also eval-css-arg in defaults.clj
|
||||
(:require-macros [devtools.defaults :as d :refer [css span named-color]]))
|
||||
|
||||
(def known-features (delay [:formatters :hints :async]))
|
||||
(def default-features (delay [:formatters]))
|
||||
(def feature-groups (delay {:all @known-features
|
||||
:default @default-features}))
|
||||
|
||||
(def config
|
||||
(delay ; see https://github.com/binaryage/cljs-devtools/issues/37
|
||||
{; -- installation ------------------------------------------------------------------------------------------------------
|
||||
|
||||
; you can specify a list/vector of features from known-features or a keyword from feature-groups
|
||||
:features-to-install :default
|
||||
:print-config-overrides false
|
||||
:suppress-preload-install false
|
||||
:bypass-availability-checks false
|
||||
:disable-advanced-mode-check false
|
||||
:file-reader nil
|
||||
|
||||
; -- feature tweaks ----------------------------------------------------------------------------------------------------
|
||||
|
||||
:render-metas true
|
||||
:render-nils true
|
||||
:render-bools true
|
||||
:render-strings true
|
||||
:render-numbers true
|
||||
:render-keywords true
|
||||
:render-symbols true
|
||||
:render-instances true
|
||||
:render-types true
|
||||
:render-functions true
|
||||
|
||||
:disable-cljs-fn-formatting false ; deprecated, use :render-functions instead
|
||||
|
||||
; -- verbosity controls ------------------------------------------------------------------------------------------------
|
||||
|
||||
:max-print-level 2
|
||||
:body-line-max-print-level 3
|
||||
:max-header-elements 5
|
||||
:min-expandable-sequable-count 0 ; false/nil means "never expandable", 0 means "always expandable" (unless empty)
|
||||
:min-expandable-sequable-count-for-well-known-types 4 ; false/nil means "never expandable", 0 means "always expandable" (unless empty)
|
||||
:max-number-body-items 100
|
||||
:string-prefix-limit 20
|
||||
:string-postfix-limit 20
|
||||
:sanity-hint-min-length 128
|
||||
:max-instance-header-fields 3
|
||||
:max-instance-custom-printing-level 2
|
||||
:max-list-protocols 5
|
||||
:max-protocol-method-arities-list 3
|
||||
:initial-hierarchy-depth-budget (dec 20) ; set to false to disable, issue #22
|
||||
|
||||
; by default, well known types will render only via cljs printer, we won't wrap them in the blue-ish type info
|
||||
:well-known-types #{"cljs.core/Keyword"
|
||||
"cljs.core/Symbol"
|
||||
"cljs.core/TaggedLiteral"
|
||||
"cljs.core/LazySeq"
|
||||
"cljs.core/LazyTransformer"
|
||||
"cljs.core/IndexedSeq"
|
||||
"cljs.core/RSeq"
|
||||
"cljs.core/PersistentQueueSeq"
|
||||
"cljs.core/PersistentTreeMapSeq"
|
||||
"cljs.core/NodeSeq"
|
||||
"cljs.core/ArrayNodeSeq"
|
||||
"cljs.core/List"
|
||||
"cljs.core/Cons"
|
||||
"cljs.core/EmptyList"
|
||||
"cljs.core/PersistentVector"
|
||||
"cljs.core/ChunkedCons"
|
||||
"cljs.core/ChunkedSeq"
|
||||
"cljs.core/Subvec"
|
||||
"cljs.core/BlackNode"
|
||||
"cljs.core/RedNode"
|
||||
"cljs.core/ObjMap"
|
||||
"cljs.core/KeySeq"
|
||||
"cljs.core/ValSeq"
|
||||
"cljs.core/PersistentArrayMapSeq"
|
||||
"cljs.core/PersistentArrayMap"
|
||||
"cljs.core/PersistentHashMap"
|
||||
"cljs.core/PersistentTreeMap"
|
||||
"cljs.core/PersistentHashSet"
|
||||
"cljs.core/PersistentTreeSet"
|
||||
"cljs.core/MapEntry"
|
||||
"cljs.core/Range"
|
||||
"cljs.core/ES6IteratorSeq"
|
||||
"cljs.core/Eduction"
|
||||
"cljs.core/UUID"
|
||||
"cljs.core/ExceptionInfo"}
|
||||
|
||||
; -- pluggable markup --------------------------------------------------------------------------------------------------
|
||||
|
||||
:more-marker "…"
|
||||
:body-items-more-label "more…"
|
||||
:string-abbreviation-marker " … "
|
||||
:multi-arity-symbol "…"
|
||||
:more-symbol "…"
|
||||
:plus-symbol "+"
|
||||
:header-field-value-spacer (span (css (str "color:" (named-color :field-spacer) ";")) "=")
|
||||
:body-field-value-spacer (span (css (str "color:" (named-color :field-spacer) ";")) "=")
|
||||
:header-field-separator " "
|
||||
:more-fields-symbol "…"
|
||||
:instance-value-separator ""
|
||||
:fields-header-open-symbol ""
|
||||
:fields-header-close-symbol ""
|
||||
:fields-header-no-fields-symbol (span :header-field-name-style "∅")
|
||||
:rest-symbol " & "
|
||||
:args-open-symbol "["
|
||||
:args-close-symbol "]"
|
||||
:new-line-string-replacer "↵"
|
||||
:line-index-separator ""
|
||||
:dq "\""
|
||||
:protocol-method-arities-more-symbol "…"
|
||||
:protocol-method-arities-list-header-separator " "
|
||||
:spacer " "
|
||||
:nil-label "nil"
|
||||
:default-envelope-header "\uD83D\uDCE8" ; U+1F4E8: INCOMING ENVELOPE, http://www.charbase.com/1f4e8-unicode-incoming-envelope
|
||||
:list-separator " "
|
||||
:list-open-symbol ""
|
||||
:list-close-symbol ""
|
||||
:empty-basis-symbol (span (css) :basis-icon (span :type-basis-item-style "∅"))
|
||||
:expandable-symbol ""
|
||||
:header-expander-symbol (span (css) "~")
|
||||
|
||||
; -- backgrounds -------------------------------------------------------------------------------------------------------
|
||||
|
||||
:instance-custom-printing-background (d/get-custom-printing-background-markup)
|
||||
:type-header-background (d/get-instance-type-header-background-markup)
|
||||
:native-reference-background (d/get-native-reference-background-markup)
|
||||
:protocol-background (d/get-protocol-background-markup)
|
||||
:instance-header-background nil
|
||||
|
||||
; -- icons -------------------------------------------------------------------------------------------------------------
|
||||
|
||||
:basis-icon (d/icon "β" (named-color :basis))
|
||||
:protocols-icon (d/icon "⊢" (named-color :protocol))
|
||||
:fields-icon (d/icon "∋" (named-color :field))
|
||||
:method-icon (d/icon "m" (named-color :method))
|
||||
:ns-icon (d/icon "in" (named-color :ns))
|
||||
:native-icon (d/icon "js" (named-color :native))
|
||||
:lambda-icon (d/icon "λ" (named-color :lambda))
|
||||
:fn-icon (d/icon "fn" (named-color :fn))
|
||||
:circular-ref-icon (d/icon "∞" (named-color :circular-ref) :slim)
|
||||
|
||||
; -- tags --------------------------------------------------------------------------------------------------------------
|
||||
|
||||
:cljs-land-tag [:span :cljs-land-style]
|
||||
:header-tag [:span :header-style]
|
||||
:item-tag [:span :item-style]
|
||||
:nil-tag [:span :nil-style]
|
||||
:bool-tag [:span :bool-style]
|
||||
:keyword-tag [:span :keyword-style]
|
||||
:symbol-tag [:span :symbol-style]
|
||||
:integer-tag [:span :integer-style]
|
||||
:float-tag [:span :float-style]
|
||||
:string-tag [:span :string-style]
|
||||
:expanded-string-tag [:span :expanded-string-style]
|
||||
:circular-reference-tag [:span :circular-reference-wrapper-style]
|
||||
:circular-reference-body-tag [:span :circular-reference-body-style]
|
||||
:native-reference-tag [:span :native-reference-style]
|
||||
:native-reference-wrapper-tag [:span :native-reference-wrapper-style]
|
||||
:meta-wrapper-tag [:span :meta-wrapper-style]
|
||||
:meta-header-tag [:span :meta-style]
|
||||
:meta-body-tag [:span :meta-body-style]
|
||||
:meta-reference-tag [:span :meta-reference-style]
|
||||
:body-tag [:span :body-style]
|
||||
:index-tag [:span :index-style]
|
||||
:standard-ol-tag [:ol :standard-ol-style]
|
||||
:standard-ol-no-margin-tag [:ol :standard-ol-no-margin-style]
|
||||
:standard-li-tag [:li :standard-li-style]
|
||||
:standard-li-no-margin-tag [:li :standard-li-no-margin-style]
|
||||
:aligned-li-tag [:li :aligned-li-style]
|
||||
:body-items-more-tag [:span :body-items-more-style]
|
||||
:fn-args-tag [:span :fn-args-style]
|
||||
:fn-name-tag [:span :fn-name-style]
|
||||
:fn-prefix-tag [:span :fn-prefix-style]
|
||||
:fn-header-tag [:span :fn-header-style]
|
||||
:fn-multi-arity-args-indent-tag [:span :fn-multi-arity-args-indent-style]
|
||||
:fn-ns-name-tag [:span :fn-ns-name-style]
|
||||
:type-wrapper-tag [:span :type-wrapper-style]
|
||||
:type-header-tag [:span :type-header-style]
|
||||
:type-name-tag [:span :type-name-style]
|
||||
:type-ref-tag [:span :type-ref-style]
|
||||
:type-basis-tag [:span :type-basis-style]
|
||||
:type-basis-item-tag [:span :type-basis-item-style]
|
||||
:standalone-type-tag [:span :standalone-type-style]
|
||||
:header-field-tag [:span :header-field-style]
|
||||
:header-field-name-tag [:span :header-field-name-style]
|
||||
:header-field-value-tag [:span :header-field-value-style]
|
||||
:instance-body-fields-table-tag [:table :instance-body-fields-table-style]
|
||||
:body-field-tr-tag [:tr :body-field-tr-style]
|
||||
:body-field-td1-tag [:td :body-field-td1-style]
|
||||
:body-field-td2-tag [:td :body-field-td2-style]
|
||||
:body-field-td3-tag [:td :body-field-td3-style]
|
||||
:body-field-name-tag [:span :body-field-name-style]
|
||||
:body-field-value-tag [:span :body-field-value-style]
|
||||
:fields-header-tag [:span :fields-header-style]
|
||||
:protocol-method-arities-header-tag [:span :protocol-method-arities-header-style]
|
||||
:protocol-name-tag [:span :protocol-name-style]
|
||||
:protocol-method-tag [:span :protocol-method-style]
|
||||
:protocol-method-name-tag [:span :protocol-method-name-style]
|
||||
:protocol-ns-name-tag [:span :protocol-ns-name-style]
|
||||
:protocols-header-tag [:span :protocols-header-style]
|
||||
:protocol-more-tag [:span :protocol-more-style]
|
||||
:fast-protocol-tag [:span :fast-protocol-style]
|
||||
:slow-protocol-tag [:span :slow-protocol-style]
|
||||
:instance-value-tag [:span :instance-value-style]
|
||||
:instance-custom-printing-wrapper-tag [:span :instance-custom-printing-wrapper-style]
|
||||
:instance-header-tag [:span :instance-header-style]
|
||||
:instance-type-header-tag [:span :instance-type-header-style]
|
||||
:list-tag [:span :list-style]
|
||||
:expandable-tag [:span :expandable-style]
|
||||
:expandable-inner-tag [:span :expandable-inner-style]
|
||||
:instance-custom-printing-tag [:span :instance-custom-printing-style]
|
||||
:default-envelope-tag [:span :default-envelope-style]
|
||||
|
||||
; -- DOM tags mapping ----------------------------------------------------------------------------------------------------
|
||||
|
||||
:span "span"
|
||||
:div "div"
|
||||
:ol "ol"
|
||||
:li "li"
|
||||
:table "table"
|
||||
:td "td"
|
||||
:tr "tr"
|
||||
|
||||
; -- styles ------------------------------------------------------------------------------------------------------------
|
||||
|
||||
:cljs-land-style (css (str "background-color: " (named-color :signature-background) ";")
|
||||
(str "color: " (named-color :base-text-color) ";") ; prevent leaking in text colors from "outside"
|
||||
"border-radius: 2px;")
|
||||
|
||||
:header-style (css "white-space: nowrap;") ; this prevents jumping of content when expanding sections due to content wrapping
|
||||
:expandable-style (css "white-space: nowrap;"
|
||||
"padding-left: 3px;")
|
||||
:expandable-inner-style (css "margin-left: -3px;")
|
||||
:item-style (css "display: inline-block;"
|
||||
"white-space: nowrap;"
|
||||
"border-left: 2px solid rgba(100, 100, 100, 0.2);"
|
||||
"padding: 0px 4px 0px 4px;"
|
||||
"margin: 1px 0px 0px 0px;")
|
||||
|
||||
:fn-header-style (css)
|
||||
:fn-prefix-style (css)
|
||||
:nil-style (css (str "color: " (named-color :nil) ";"))
|
||||
:keyword-style (css (str "color: " (named-color :keyword) ";"))
|
||||
:integer-style (css (str "color: " (named-color :integer) ";"))
|
||||
:float-style (css (str "color: " (named-color :float) ";"))
|
||||
:string-style (css (str "color: " (named-color :string) ";"))
|
||||
:symbol-style (css (str "color: " (named-color :symbol) ";"))
|
||||
:bool-style (css (str "color: " (named-color :bool) ";"))
|
||||
|
||||
; native reference wrapper is here to counter some "evil" internal DevTools styles in treeoutline.css
|
||||
; namely :host padding[1] and li min-height[2]
|
||||
; [1] https://github.com/binaryage/dirac/blob/acdf79e782510f6cdac609def3f561d5d04c86c8/front_end/ui/treeoutline.css#L9
|
||||
; [2] https://github.com/binaryage/dirac/blob/acdf79e782510f6cdac609def3f561d5d04c86c8/front_end/ui/treeoutline.css#L80
|
||||
:native-reference-wrapper-style (css "position: relative;"
|
||||
"display: inline-flex;")
|
||||
:native-reference-style (css "padding: 0px 3px;"
|
||||
"margin: -4px 0px -2px;"
|
||||
"position: relative;"
|
||||
"top: 1px;")
|
||||
|
||||
:type-wrapper-style (css "position: relative;"
|
||||
"padding-left: 1px;"
|
||||
"border-radius: 2px;")
|
||||
:type-ref-style (css "position: relative;")
|
||||
:type-header-style (css (d/get-common-type-header-style)
|
||||
"border-radius: 2px;")
|
||||
:type-name-style (css "padding-right: 4px;")
|
||||
:type-basis-style (css "margin-right: 3px;")
|
||||
:type-basis-item-style (css (str "color: " (named-color :basis) ";")
|
||||
"margin-right: 6px;")
|
||||
:protocol-name-style (css "position: relative;")
|
||||
:fast-protocol-style (css (d/get-common-protocol-style)
|
||||
(str "color: " (named-color :fast-protocol) ";"))
|
||||
:slow-protocol-style (css (d/get-common-protocol-style)
|
||||
(str "color: " (named-color :slow-protocol) ";"))
|
||||
:protocol-more-style (css "font-size: 8px;"
|
||||
"position: relative;")
|
||||
:protocol-ns-name-style (css (str "color: " (named-color :ns) ";"))
|
||||
:list-style (css)
|
||||
|
||||
:body-field-name-style (css (str "color: " (named-color :field) ";"))
|
||||
:body-field-value-style (css "margin-left: 6px;")
|
||||
:header-field-name-style (css (str "color: " (named-color :field) ";"))
|
||||
:body-field-td1-style (css "vertical-align: top;"
|
||||
"padding: 0;"
|
||||
"padding-right: 4px;")
|
||||
:body-field-td2-style (css "vertical-align: top;"
|
||||
"padding: 0;")
|
||||
:body-field-td3-style (css "vertical-align: top;"
|
||||
"padding: 0;")
|
||||
:instance-header-style (css (d/type-outline-style)
|
||||
"position:relative;")
|
||||
:expandable-wrapper-style (css)
|
||||
:standalone-type-style (css (d/type-outline-style))
|
||||
:instance-custom-printing-style (css "position: relative;"
|
||||
"padding: 0 2px 0 4px;")
|
||||
:instance-custom-printing-wrapper-style (css "position: relative;"
|
||||
"border-radius: 2px;")
|
||||
:instance-type-header-style (css (d/get-common-type-header-style)
|
||||
"border-radius: 2px 0 0 2px;")
|
||||
:instance-body-fields-table-style (css "border-spacing: 0;"
|
||||
"border-collapse: collapse;"
|
||||
"margin-bottom: -2px;" ; weird spacing workaround
|
||||
"display: inline-block;")
|
||||
:fields-header-style (css "padding: 0px 3px;")
|
||||
|
||||
:protocol-method-name-style (css "margin-right: 6px;"
|
||||
(str "color: " (named-color :protocol) " ;"))
|
||||
|
||||
:meta-wrapper-style (css (str "box-shadow: 0px 0px 0px 1px " (named-color :meta) " inset;")
|
||||
"margin-top: 1px;"
|
||||
"border-radius: 2px;")
|
||||
:meta-reference-style (css (str "background-color:" (named-color :meta) ";")
|
||||
"border-radius: 0 2px 2px 0;")
|
||||
:meta-style (css (str "color: " (named-color :meta-text) ";")
|
||||
"padding: 0px 3px;"
|
||||
"-webkit-user-select: none;")
|
||||
:meta-body-style (css (str "background-color: " (named-color :meta 0.1) ";")
|
||||
(str "box-shadow: 0px 0px 0px 1px " (named-color :meta) " inset;")
|
||||
"position: relative;"
|
||||
"top: -1px;"
|
||||
"padding: 3px 12px;"
|
||||
"border-bottom-right-radius: 2px;")
|
||||
|
||||
:fn-ns-name-style (css (str "color: " (named-color :ns) ";"))
|
||||
:fn-name-style (css (str "color: " (named-color :fn) ";")
|
||||
"margin-right: 2px;")
|
||||
:fn-args-style (css (str "color: " (named-color :fn-args) ";"))
|
||||
:fn-multi-arity-args-indent-style (css "visibility: hidden;")
|
||||
:standard-ol-style (css "list-style-type: none;"
|
||||
"padding-left: 0px;"
|
||||
"margin-top: 0px;"
|
||||
"margin-bottom: 0px;"
|
||||
"margin-left: 0px;")
|
||||
:standard-ol-no-margin-style (css "list-style-type: none;"
|
||||
"padding-left: 0px;"
|
||||
"margin-top: 0px;"
|
||||
"margin-bottom: 0px;"
|
||||
"margin-left: 0px;")
|
||||
:standard-li-style (css "margin-left: 0px;"
|
||||
(d/get-body-line-common-style))
|
||||
:standard-li-no-margin-style (css "margin-left: 0px;"
|
||||
(d/get-body-line-common-style))
|
||||
:aligned-li-style (css "margin-left: 0px;"
|
||||
(d/get-body-line-common-style))
|
||||
|
||||
:body-items-more-style (css (str "background-color:" (named-color :more-background) ";")
|
||||
"min-width: 50px;"
|
||||
"display: inline-block;"
|
||||
(str "color: " (named-color :more) ";")
|
||||
"cursor: pointer;"
|
||||
"line-height: 14px;"
|
||||
"font-size: 10px;"
|
||||
"border-radius: 2px;"
|
||||
"padding: 0px 4px 0px 4px;"
|
||||
"margin: 1px 0px 0px 0px;"
|
||||
"-webkit-user-select: none;")
|
||||
:body-style (css "display: inline-block;"
|
||||
"padding: 3px 12px;"
|
||||
(str "border-top: 2px solid " (named-color :body-border) ";")
|
||||
"margin: 1px;"
|
||||
"margin-top: 0px;"
|
||||
(str "background-color: " (named-color :signature-background) ";"))
|
||||
:index-style (css "min-width: 50px;"
|
||||
"display: inline-block;"
|
||||
"text-align: right;"
|
||||
"vertical-align: top;"
|
||||
(str "background-color: " (named-color :index-background) ";")
|
||||
(str "color: " (named-color :index) ";")
|
||||
"opacity: 0.5;"
|
||||
"margin-right: 3px;"
|
||||
"padding: 0px 4px 0px 4px;"
|
||||
"margin: 1px 0px 0px 0px;"
|
||||
"-webkit-user-select: none;")
|
||||
:expanded-string-style (css "padding: 0px 12px 0px 12px;"
|
||||
(str "color: " (named-color :string) ";")
|
||||
"white-space: pre;"
|
||||
(str "border-top: 1px solid " (named-color :expanded-string-border) ";")
|
||||
"border-radius: 1px;"
|
||||
"margin: 0px 0px 2px 0px;"
|
||||
(str "background-color: " (named-color :expanded-string-background) ";"))
|
||||
:default-envelope-style (css)
|
||||
|
||||
; -- pluggable api handlers --------------------------------------------------------------------------------------------
|
||||
|
||||
:header-pre-handler nil
|
||||
:header-post-handelr nil
|
||||
:has-body-pre-handler nil
|
||||
:has-body-post-handler nil
|
||||
:body-pre-handler nil
|
||||
:body-post-handler nil
|
||||
|
||||
; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
}))
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"\/home\/simon\/workspace\/geocsv-lite\/resources\/public\/js\/compiled\/out\/devtools\/defaults.js","sources":["defaults.cljs?rel=1582621016726"],"lineCount":17,"mappings":";AAAA;;AAIA,AAAKA,mCAAe,KAAAC,gBAAA;AAAA,AAAA,0FAAA,kEAAA,uDAAA;GAAA;AACpB,AAAKC,qCAAiB,KAAAD,gBAAA;AAAA,AAAA,0FAAA;GAAA;AACtB,AAAKE,mCAAe,KAAAF,gBAAA;AAAA,AAAA,kDAAA,kDAAA,AAAAG,4DAAA,4DAAA,AAAAA,9FAAkBJ,wHACAE;GADlB;AAGpB,AAAKG,2BACH,KAAAJ,gBAAA;AAAA,AAAA,+CAAA,sFAAA,iGAAA,sFAAA,qEAAA,gFAAA,gEAAA,oGAAA,yFAAA,4FAAA,6EAAA,yGAAA,kFAAA,sFAAA,6FAAA,6FAAA,mFAAA,gFAAA,2FAAA,sFAAA,mFAAA,yEAAA,8FAAA,iEAAA,2EAAA,wEAAA,mEAAA,sEAAA,qEAAA,+EAAA,wEAAA,iHAAA,0FAAA,uDAAA,0EAAA,wFAAA,uEAAA,4DAAA,uFAAA,+DAAA,qFAAA,oFAAA,mHAAA,qFAAA,8DAAA,mEAAA,+EAAA,iGAAA,4DAAA,qEAAA,iFAAA,iGAAA,kFAAA,mEAAA,yGAAA,yEAAA,iGAAA,wEAAA,wEAAA,iDAAA,gGAAA,gDAAA,+EAAA,0EAAA,oFAAA,yFAAA,2EAAA,0EAAA,kEAAA,iEAAA,wFAAA,6EAAA,8FAAA,wFAAA,kFAAA,kDAAA,uFAAA,oEAAA,0EAAA,8EAAA,uFAAA,kEAAA,0FAAA,8EAAA,mEAAA,iEAAA,8EAAA,2EAAA,iFAAA,qEAAA,kDAAA,0GAAA,+DAAA,8EAAA,qFAAA,+EAAA,yFAAA,iFAAA,oGAAA,wHAAA,oEAAA,iEAAA,6EAAA,oEAAA,4GAAA,kJAAA,iEAAA,kEAAA,+EAAA,mEAAA,4DAAA,qFAAA,uEAAA,kEAAA,iFAAA,wFAAA,mDAAA,yEAAA,gFAAA,kEAAA,iEAAA,kFAAA,oFAAA,kEAAA,0FAAA,+EAAA,oEAAA,uFAAA,uEAAA,mHAAA,uEAAA,mGAAA,2FAAA,0FAAA,iGAAA,gDAAA,yGAAA,qGAAA,kFAAA,8FAAA,yDAAA,oFAAA,6EAAA,qFAAA,0EAAA,+FAAA,6DAAA,8GAAA,gFAAA,mGAAA,iGAAA,mFAAA,qEAAA,8EAAA,sFAAA,iGAAA,iEAAA,uIAAA,mFAAA,iEAAA,gFAAA,0EAAA,oFAAA,kFAAA,4DAAA,kEAAA,qFAAA,8FAAA,6DAAA,kFAAA,6FAAA,6EAAA,2EAAA,8GAAA,0EAAA,gFAAA,8EAAA,2EAAA,4EAAA,oGAAA,uFAAA,sFAAA,yEAAA,wGAAA,8EAAA,+EAAA,0GAAA,wEAAA,gHAAA,iGAAA,qEAAA,2EAAA,kFAAA,iFAAA,mEAAA,4EAAA,yFAAA,+EAAA,8EAAA,mFAAA,4EAAA,qGAAA,iGAAA,mFAAA,0FAAA,qHAAA,+EAAA,0EAAA,kFAAA,2EAAA,qFAAA,mFAAA,kFAAA,0DAAA,oFAAA,8FAAA,wFAAA,uEAAA,wFAAA,qDAAA,4JAAA,MAAA,6BAAA,mFAAA,qDAAA,2HAAA,mFAAA,qDAAA,8cAAA,GAAA,kBAAA,mFAAA,qDAAA,+FAAA,GAAA,MAAA,yCAAA,4pCAAA,mFAAA,gDAAA,4GAAA,mFAAA,qDAAA,6EAAA,KAAA,mFAAA,qDAAA,kFAAA,mFAAA,qDAAA,qGAAA,KAAA,mFAAA,qDAAA,sHAAA,wBAAA,aAAA,yDAAA,mFAAA,qDAAA,mLAAA,mFAAA,qDAAA,0EAAA,mFAAA,qDAAA,2MAAA,SAAA,KAAA,mFAAA,qDAAA,yEAAA,MAAA,mFAAA,qDAAA,4FAAA,KAAA,mFAAA,qDAAA,yEAAA,mFAAA,qDAAA,kFAAA,IAAA,WAAA,0eAAA,mFAAA,uDAAA,sHAAA,kDAAA,mFAAA,qDAAA,kFAAA,IAAA,iRAAA,KAAA,mFAAA,qDAAA,4FAAA,KAAA,mFAAA,qDAAA,2HAAA,mFAAA,qDAAA,upBAAA,MAAA,KAAA,sBAAA,KAAA,oPAAA,SAAA,qMAAA,mFAAA,qDAAA,+EAAA,mFAAA,qDAAA,qwBAAA,mFAAA,qDAAA,yFAAA,mFAAA,gDAAA,8IAAA,KAAA,oVAAA,MAAA,mIAAA,IAAA,mFAAA,iDAAA,4NAAA,SAAA,mFAAA,qDAAA,4EAAA,mFAAA,qDAAA,+jBAAA,IAAA,8eAAA,mFAAA,qDAAA,0KAAA,KAAA,mFAAA,qDAAA,0EAAA,mFAAA,qDAAA,kGAAA,mFAAA,qDAAA,8GAAA,mFAAA,qDAAA,4IAAA,MAAA,mFAAA,qDAAA,oFAAA,KAAA,SAAA,mFAAA,qDAAA,8EAAA,mFAAA,qDAAA,+FAAA,mFAAA,qDAAA,+HAAA,mFAAA,qDAAA,iJAAA,mFAAA,qDAAA,61BAAA,uHAAA,8CAAA,uBAAA,mFAAA,qDAAA,yGAAA,sDAAA,mFAAA,kDAAA,2FAAA,mFAAA,qDAAA,wHAAA,mFAAA,gDAAA,yGAAA,mFAAA,qDAAA,8JAAA,mFAAA,iDAAA,4FAAA,mJAAA,KAAA,IAAA,KAAA,4IAAA,IAAA,mFAAA,qDAAA,yUAAA,GAAA,KAAA,mFAAA,qDAAA,msCAAA,mFAAA,qDAAA,+EAAA,mFAAA,qDAAA,+FAAA,mFAAA,qDAAA,yGAAA,mFAAA,qDAAA,yEAAA,mFAAA,qDAAA,yIAAA,kFAAA,wBAAA,8BAAA,sBAAA,gCAAA,sBAAA,uCAAA,wBAAA,mCAAA,wBAAA,2BAAA,2BAAA,oCAAA,iCAAA,sCAAA,0BAAA,oCAAA,yBAAA,uBAAA,sBAAA,4BAAA,wBAAA,sBAAA,wBAAA,kCAAA,mCAAA,0BAAA,yBAAA,yBAAA,+BAAA,mCAAA,mCAAA,yBAAA,4BAAA,6BAAA,olBAAA,mFAAA,gDAAA,oHAAA,mFAAA,qDAAA,8GAAA,KAAA,mFAAA,qDAAA,kGAAA,mFAAA,gDAAA,4HAAA,KAAA,GAAA,mFAAA,qDAAA,sHAAA,mFAAA,qDAAA,qFAAA,mFAAA,qDAAA,8HAAA,IAAA,mFAAA,qDAAA,kFAAA,2FAAA,SAAA,KAAA,mFAAA,qDAAA,yEAAA,MAAA,mFAAA,qDAAA,2FAAA,mFAAA,qDAAA,0FAAA,2KAAA,mFAAA,qDAAA,gHAAA,GAAA,uEAAA,mFAAA,qDAAA,gIAAA,mFAAA,iDAAA,6FAAA,mFAAA,qDAAA,sFAAA,+FAAA,mFAAA,qDAAA,qIAAA,mFAAA,qDAAA,4lBAAA,IAAA,mFAAA,qDAAA,qYAAA,vk1BAyCuD,CAAA,OAAA,k5KA+CA,mFAAA,mFAAA,0FAAA,rCAAM,t0KACN,mFAAA,mFAAA,0FAAA,rCAAM,o\/QAMN,mFAAA,mFAAA,qDAAA,mGAAA,0+PAeA,mFAAA,mFAAA,kEAAA,bAAM,8EAAkB,mFAAA,mFAAA,qDAAA,gGAAA,y8QAExB,mFAAA,mFAAA,kEAAA,bAAM,xrZAIN,mFAAA,mFAAA,qDAAA,t7cACA,mFAAA,mFAAA,qDAAA,i5cACA,mFAAA,mFAAA,qDAAA,v2bACA,mFAAA,mFAAA,qDAAA,g5TAKA,mFAAA,mFAAA,qDAAA,8PAAA,vuUACA,mFAAA,mFAAA,qDAAA,8PAAA,o9MACA,mFAAA,mFAAA,qDAAA,8PAAA,25DACA,mFAAA,mFAAA,qDAAA,8PAAA,u2dACA,mFAAA,mFAAA,qDAAA,gQAAA,rnrBACA,mFAAA,mFAAA,qDAAA,8PAAA,+kDACA,mFAAA,mFAAA,qDAAA,8PAAA,mgWACA,mFAAA,mFAAA,qDAAA,8PAAA,mxEACA,mFAAA,mFAAA,qDAAA,4PAAA,hvdAsFA,1jIAIA,uriBACA,15hBAEA,k4bACA,t2bAMA,+lJACA,\/0PACA,k71BACA,1kYACA,hlEACA,u8CACA,59cACA,ytcACA,4tRAMA,gqEAEA,jyeAKA,8rXAGA,pwWACA,urMAEA,0kLACA,ttRACA,gobAEA,xntBACA,o7ZAEA,k9RAEA,rrmBAEA,uzBACA,8sNAEA,3rNACA,gqPACA,4cACA,1tLAGA,hlSAEA,6nFAEA,2mhBAEA,38oBACA,wtfACA,x+JAEA,23JAEA,i3CAEA,vtCAIA,9pTAEA,u6jBAGA,t\/sBAGA,mh0BAEA,vxFAGA,l9EAOA,9tlBACA,9EAEA,4ikBACA,7rSACA,\/uDAKA,v1DAKA,w9QAEA,wuRAEA,jkkBAGA,84CAWA,89QAMA,hnTAWA,+pMAOA;GAtXvD","names":["devtools.defaults\/known-features","cljs.core\/Delay","devtools.defaults\/default-features","devtools.defaults\/feature-groups","cljs.core\/deref","devtools.defaults\/config"]}
|
|
@ -1,87 +0,0 @@
|
|||
(ns devtools.format
|
||||
(:require-macros [devtools.oops :refer [oget]])
|
||||
(:require [devtools.context :as context]))
|
||||
|
||||
; WARNING this namespace is here for legacy reasons, it will be removed in future!
|
||||
|
||||
; ---------------------------------------------------------------------------------------------------------------------------
|
||||
; PROTOCOL SUPPORT
|
||||
|
||||
(defprotocol ^:deprecated IDevtoolsFormat ; use IFormat instead
|
||||
(-header [value])
|
||||
(-has-body [value])
|
||||
(-body [value]))
|
||||
|
||||
; -- helpers ----------------------------------------------------------------------------------------------------------------
|
||||
|
||||
(def ^:dynamic *setup-done*)
|
||||
|
||||
(defn setup! []
|
||||
(when-not *setup-done*
|
||||
(set! *setup-done* true)
|
||||
|
||||
; note: we cannote require devtools.formatters.templating or .markup because that would lead to circular requires
|
||||
(def make-template-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_template"))
|
||||
(def make-group-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_group"))
|
||||
(def make-reference-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_reference"))
|
||||
(def make-surrogate-fn (oget (context/get-root) "devtools" "formatters" "templating" "make_surrogate"))
|
||||
(def render-markup-fn (oget (context/get-root) "devtools" "formatters" "templating" "render_markup"))
|
||||
(def <header>-fn (oget (context/get-root) "devtools" "formatters" "markup" "_LT_header_GT_"))
|
||||
(def <standard-body>-fn (oget (context/get-root) "devtools" "formatters" "markup" "_LT_standard_body_GT_"))
|
||||
|
||||
(assert make-template-fn)
|
||||
(assert make-group-fn)
|
||||
(assert make-reference-fn)
|
||||
(assert make-surrogate-fn)
|
||||
(assert render-markup-fn)
|
||||
(assert <header>-fn)
|
||||
(assert <standard-body>-fn)))
|
||||
|
||||
(defn- render-markup [& args]
|
||||
(setup!)
|
||||
(apply render-markup-fn args))
|
||||
|
||||
; ---------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
; deprecated functionality, implemented for easier transition from v0.7.x to v0.8
|
||||
|
||||
(defn ^:deprecated make-template [& args]
|
||||
(setup!)
|
||||
(apply make-template-fn args))
|
||||
|
||||
(defn ^:deprecated make-group [& args]
|
||||
(setup!)
|
||||
(apply make-group-fn args))
|
||||
|
||||
(defn ^:deprecated make-surrogate [& args]
|
||||
(setup!)
|
||||
(apply make-surrogate-fn args))
|
||||
|
||||
(defn ^:deprecated template [& args]
|
||||
(setup!)
|
||||
(apply make-template-fn args))
|
||||
|
||||
(defn ^:deprecated group [& args]
|
||||
(setup!)
|
||||
(apply make-group-fn args))
|
||||
|
||||
(defn ^:deprecated surrogate [& args]
|
||||
(setup!)
|
||||
(apply make-surrogate-fn args))
|
||||
|
||||
(defn ^:deprecated reference [object & [state-override]]
|
||||
(setup!)
|
||||
(apply make-reference-fn [object #(merge % state-override)]))
|
||||
|
||||
(defn ^:deprecated standard-reference [target]
|
||||
(setup!)
|
||||
(make-template-fn :ol :standard-ol-style (make-template-fn :li :standard-li-style (make-reference-fn target))))
|
||||
|
||||
(defn ^:deprecated build-header [& args]
|
||||
(setup!)
|
||||
(render-markup (apply <header>-fn args)))
|
||||
|
||||
(defn ^:deprecated standard-body-template [lines & rest]
|
||||
(setup!)
|
||||
(let [args (concat [(map (fn [x] [x]) lines)] rest)]
|
||||
(render-markup (apply <standard-body>-fn args))))
|
File diff suppressed because one or more lines are too long
|
@ -1,617 +0,0 @@
|
|||
// Compiled by ClojureScript 1.10.520 {}
|
||||
goog.provide('devtools.format');
|
||||
goog.require('cljs.core');
|
||||
goog.require('devtools.context');
|
||||
|
||||
/**
|
||||
* @interface
|
||||
*/
|
||||
devtools.format.IDevtoolsFormat = function(){};
|
||||
|
||||
devtools.format._header = (function devtools$format$_header(value){
|
||||
if((((!((value == null)))) && ((!((value.devtools$format$IDevtoolsFormat$_header$arity$1 == null)))))){
|
||||
return value.devtools$format$IDevtoolsFormat$_header$arity$1(value);
|
||||
} else {
|
||||
var x__4433__auto__ = (((value == null))?null:value);
|
||||
var m__4434__auto__ = (devtools.format._header[goog.typeOf(x__4433__auto__)]);
|
||||
if((!((m__4434__auto__ == null)))){
|
||||
return m__4434__auto__.call(null,value);
|
||||
} else {
|
||||
var m__4431__auto__ = (devtools.format._header["_"]);
|
||||
if((!((m__4431__auto__ == null)))){
|
||||
return m__4431__auto__.call(null,value);
|
||||
} else {
|
||||
throw cljs.core.missing_protocol.call(null,"IDevtoolsFormat.-header",value);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
devtools.format._has_body = (function devtools$format$_has_body(value){
|
||||
if((((!((value == null)))) && ((!((value.devtools$format$IDevtoolsFormat$_has_body$arity$1 == null)))))){
|
||||
return value.devtools$format$IDevtoolsFormat$_has_body$arity$1(value);
|
||||
} else {
|
||||
var x__4433__auto__ = (((value == null))?null:value);
|
||||
var m__4434__auto__ = (devtools.format._has_body[goog.typeOf(x__4433__auto__)]);
|
||||
if((!((m__4434__auto__ == null)))){
|
||||
return m__4434__auto__.call(null,value);
|
||||
} else {
|
||||
var m__4431__auto__ = (devtools.format._has_body["_"]);
|
||||
if((!((m__4431__auto__ == null)))){
|
||||
return m__4431__auto__.call(null,value);
|
||||
} else {
|
||||
throw cljs.core.missing_protocol.call(null,"IDevtoolsFormat.-has-body",value);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
devtools.format._body = (function devtools$format$_body(value){
|
||||
if((((!((value == null)))) && ((!((value.devtools$format$IDevtoolsFormat$_body$arity$1 == null)))))){
|
||||
return value.devtools$format$IDevtoolsFormat$_body$arity$1(value);
|
||||
} else {
|
||||
var x__4433__auto__ = (((value == null))?null:value);
|
||||
var m__4434__auto__ = (devtools.format._body[goog.typeOf(x__4433__auto__)]);
|
||||
if((!((m__4434__auto__ == null)))){
|
||||
return m__4434__auto__.call(null,value);
|
||||
} else {
|
||||
var m__4431__auto__ = (devtools.format._body["_"]);
|
||||
if((!((m__4431__auto__ == null)))){
|
||||
return m__4431__auto__.call(null,value);
|
||||
} else {
|
||||
throw cljs.core.missing_protocol.call(null,"IDevtoolsFormat.-body",value);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
devtools.format.setup_BANG_ = (function devtools$format$setup_BANG_(){
|
||||
if(cljs.core.truth_(devtools.format._STAR_setup_done_STAR_)){
|
||||
return null;
|
||||
} else {
|
||||
devtools.format._STAR_setup_done_STAR_ = true;
|
||||
|
||||
devtools.format.make_template_fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25301 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25301["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25302 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25302["templating"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25303 = temp__5718__auto____$2;
|
||||
return (o25303["make_template"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
devtools.format.make_group_fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25304 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25304["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25305 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25305["templating"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25306 = temp__5718__auto____$2;
|
||||
return (o25306["make_group"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
devtools.format.make_reference_fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25307 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25307["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25308 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25308["templating"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25309 = temp__5718__auto____$2;
|
||||
return (o25309["make_reference"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
devtools.format.make_surrogate_fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25310 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25310["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25311 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25311["templating"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25312 = temp__5718__auto____$2;
|
||||
return (o25312["make_surrogate"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
devtools.format.render_markup_fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25313 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25313["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25314 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25314["templating"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25315 = temp__5718__auto____$2;
|
||||
return (o25315["render_markup"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
devtools.format._LT_header_GT__fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25316 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25316["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25317 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25317["markup"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25318 = temp__5718__auto____$2;
|
||||
return (o25318["_LT_header_GT_"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
devtools.format._LT_standard_body_GT__fn = (function (){var temp__5718__auto__ = (devtools.context.get_root.call(null)["devtools"]);
|
||||
if(cljs.core.truth_(temp__5718__auto__)){
|
||||
var o25319 = temp__5718__auto__;
|
||||
var temp__5718__auto____$1 = (o25319["formatters"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$1)){
|
||||
var o25320 = temp__5718__auto____$1;
|
||||
var temp__5718__auto____$2 = (o25320["markup"]);
|
||||
if(cljs.core.truth_(temp__5718__auto____$2)){
|
||||
var o25321 = temp__5718__auto____$2;
|
||||
return (o25321["_LT_standard_body_GT_"]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
if(cljs.core.truth_(devtools.format.make_template_fn)){
|
||||
} else {
|
||||
throw (new Error("Assert failed: make-template-fn"));
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(devtools.format.make_group_fn)){
|
||||
} else {
|
||||
throw (new Error("Assert failed: make-group-fn"));
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(devtools.format.make_reference_fn)){
|
||||
} else {
|
||||
throw (new Error("Assert failed: make-reference-fn"));
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(devtools.format.make_surrogate_fn)){
|
||||
} else {
|
||||
throw (new Error("Assert failed: make-surrogate-fn"));
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(devtools.format.render_markup_fn)){
|
||||
} else {
|
||||
throw (new Error("Assert failed: render-markup-fn"));
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(devtools.format._LT_header_GT__fn)){
|
||||
} else {
|
||||
throw (new Error("Assert failed: <header>-fn"));
|
||||
}
|
||||
|
||||
if(cljs.core.truth_(devtools.format._LT_standard_body_GT__fn)){
|
||||
return null;
|
||||
} else {
|
||||
throw (new Error("Assert failed: <standard-body>-fn"));
|
||||
}
|
||||
}
|
||||
});
|
||||
devtools.format.render_markup = (function devtools$format$render_markup(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25323 = arguments.length;
|
||||
var i__4731__auto___25324 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25324 < len__4730__auto___25323)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25324]));
|
||||
|
||||
var G__25325 = (i__4731__auto___25324 + (1));
|
||||
i__4731__auto___25324 = G__25325;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.render_markup_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.render_markup.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.render_markup.cljs$lang$applyTo = (function (seq25322){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25322));
|
||||
});
|
||||
|
||||
devtools.format.make_template = (function devtools$format$make_template(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25327 = arguments.length;
|
||||
var i__4731__auto___25328 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25328 < len__4730__auto___25327)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25328]));
|
||||
|
||||
var G__25329 = (i__4731__auto___25328 + (1));
|
||||
i__4731__auto___25328 = G__25329;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_template_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.make_template.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.make_template.cljs$lang$applyTo = (function (seq25326){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25326));
|
||||
});
|
||||
|
||||
devtools.format.make_group = (function devtools$format$make_group(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25331 = arguments.length;
|
||||
var i__4731__auto___25332 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25332 < len__4730__auto___25331)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25332]));
|
||||
|
||||
var G__25333 = (i__4731__auto___25332 + (1));
|
||||
i__4731__auto___25332 = G__25333;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_group_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.make_group.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.make_group.cljs$lang$applyTo = (function (seq25330){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25330));
|
||||
});
|
||||
|
||||
devtools.format.make_surrogate = (function devtools$format$make_surrogate(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25335 = arguments.length;
|
||||
var i__4731__auto___25336 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25336 < len__4730__auto___25335)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25336]));
|
||||
|
||||
var G__25337 = (i__4731__auto___25336 + (1));
|
||||
i__4731__auto___25336 = G__25337;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_surrogate_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.make_surrogate.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.make_surrogate.cljs$lang$applyTo = (function (seq25334){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25334));
|
||||
});
|
||||
|
||||
devtools.format.template = (function devtools$format$template(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25339 = arguments.length;
|
||||
var i__4731__auto___25340 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25340 < len__4730__auto___25339)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25340]));
|
||||
|
||||
var G__25341 = (i__4731__auto___25340 + (1));
|
||||
i__4731__auto___25340 = G__25341;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.template.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.template.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_template_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.template.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.template.cljs$lang$applyTo = (function (seq25338){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25338));
|
||||
});
|
||||
|
||||
devtools.format.group = (function devtools$format$group(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25343 = arguments.length;
|
||||
var i__4731__auto___25344 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25344 < len__4730__auto___25343)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25344]));
|
||||
|
||||
var G__25345 = (i__4731__auto___25344 + (1));
|
||||
i__4731__auto___25344 = G__25345;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.group.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.group.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_group_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.group.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.group.cljs$lang$applyTo = (function (seq25342){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25342));
|
||||
});
|
||||
|
||||
devtools.format.surrogate = (function devtools$format$surrogate(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25347 = arguments.length;
|
||||
var i__4731__auto___25348 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25348 < len__4730__auto___25347)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25348]));
|
||||
|
||||
var G__25349 = (i__4731__auto___25348 + (1));
|
||||
i__4731__auto___25348 = G__25349;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_surrogate_fn,args);
|
||||
});
|
||||
|
||||
devtools.format.surrogate.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.surrogate.cljs$lang$applyTo = (function (seq25346){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25346));
|
||||
});
|
||||
|
||||
devtools.format.reference = (function devtools$format$reference(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25357 = arguments.length;
|
||||
var i__4731__auto___25358 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25358 < len__4730__auto___25357)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25358]));
|
||||
|
||||
var G__25359 = (i__4731__auto___25358 + (1));
|
||||
i__4731__auto___25358 = G__25359;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((1) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((1)),(0),null)):null);
|
||||
return devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic = (function (object,p__25353){
|
||||
var vec__25354 = p__25353;
|
||||
var state_override = cljs.core.nth.call(null,vec__25354,(0),null);
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return cljs.core.apply.call(null,devtools.format.make_reference_fn,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [object,((function (vec__25354,state_override){
|
||||
return (function (p1__25350_SHARP_){
|
||||
return cljs.core.merge.call(null,p1__25350_SHARP_,state_override);
|
||||
});})(vec__25354,state_override))
|
||||
], null));
|
||||
});
|
||||
|
||||
devtools.format.reference.cljs$lang$maxFixedArity = (1);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.reference.cljs$lang$applyTo = (function (seq25351){
|
||||
var G__25352 = cljs.core.first.call(null,seq25351);
|
||||
var seq25351__$1 = cljs.core.next.call(null,seq25351);
|
||||
var self__4717__auto__ = this;
|
||||
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__25352,seq25351__$1);
|
||||
});
|
||||
|
||||
devtools.format.standard_reference = (function devtools$format$standard_reference(target){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return devtools.format.make_template_fn.call(null,new cljs.core.Keyword(null,"ol","ol",932524051),new cljs.core.Keyword(null,"standard-ol-style","standard-ol-style",2143825615),devtools.format.make_template_fn.call(null,new cljs.core.Keyword(null,"li","li",723558921),new cljs.core.Keyword(null,"standard-li-style","standard-li-style",413442955),devtools.format.make_reference_fn.call(null,target)));
|
||||
});
|
||||
devtools.format.build_header = (function devtools$format$build_header(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25361 = arguments.length;
|
||||
var i__4731__auto___25362 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25362 < len__4730__auto___25361)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25362]));
|
||||
|
||||
var G__25363 = (i__4731__auto___25362 + (1));
|
||||
i__4731__auto___25362 = G__25363;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
|
||||
return devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic = (function (args){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
return devtools.format.render_markup.call(null,cljs.core.apply.call(null,devtools.format._LT_header_GT__fn,args));
|
||||
});
|
||||
|
||||
devtools.format.build_header.cljs$lang$maxFixedArity = (0);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.build_header.cljs$lang$applyTo = (function (seq25360){
|
||||
var self__4718__auto__ = this;
|
||||
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq25360));
|
||||
});
|
||||
|
||||
devtools.format.standard_body_template = (function devtools$format$standard_body_template(var_args){
|
||||
var args__4736__auto__ = [];
|
||||
var len__4730__auto___25366 = arguments.length;
|
||||
var i__4731__auto___25367 = (0);
|
||||
while(true){
|
||||
if((i__4731__auto___25367 < len__4730__auto___25366)){
|
||||
args__4736__auto__.push((arguments[i__4731__auto___25367]));
|
||||
|
||||
var G__25368 = (i__4731__auto___25367 + (1));
|
||||
i__4731__auto___25367 = G__25368;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var argseq__4737__auto__ = ((((1) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((1)),(0),null)):null);
|
||||
return devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4737__auto__);
|
||||
});
|
||||
|
||||
devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic = (function (lines,rest){
|
||||
devtools.format.setup_BANG_.call(null);
|
||||
|
||||
var args = cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.map.call(null,(function (x){
|
||||
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [x], null);
|
||||
}),lines)], null),rest);
|
||||
return devtools.format.render_markup.call(null,cljs.core.apply.call(null,devtools.format._LT_standard_body_GT__fn,args));
|
||||
});
|
||||
|
||||
devtools.format.standard_body_template.cljs$lang$maxFixedArity = (1);
|
||||
|
||||
/** @this {Function} */
|
||||
devtools.format.standard_body_template.cljs$lang$applyTo = (function (seq25364){
|
||||
var G__25365 = cljs.core.first.call(null,seq25364);
|
||||
var seq25364__$1 = cljs.core.next.call(null,seq25364);
|
||||
var self__4717__auto__ = this;
|
||||
return self__4717__auto__.cljs$core$IFn$_invoke$arity$variadic(G__25365,seq25364__$1);
|
||||
});
|
||||
|
||||
|
||||
//# sourceMappingURL=format.js.map?rel=1582621016609
|
File diff suppressed because one or more lines are too long
|
@ -1,102 +0,0 @@
|
|||
(ns devtools.formatters
|
||||
(:require-macros [devtools.oops :refer [unchecked-aget unchecked-aset]])
|
||||
(:require [goog.labs.userAgent.browser :as ua]
|
||||
[devtools.prefs :as prefs]
|
||||
[devtools.util :refer [get-formatters-safe set-formatters-safe! in-node-context?]]
|
||||
[devtools.context :as context]
|
||||
[devtools.formatters.core :refer [header-api-call has-body-api-call body-api-call]]))
|
||||
|
||||
(def ^:dynamic *installed* false)
|
||||
(def ^:dynamic *sanitizer-enabled* true)
|
||||
(def ^:dynamic *monitor-enabled* false)
|
||||
|
||||
(def obsolete-formatter-key "devtoolsFormatter")
|
||||
|
||||
(defn ^:dynamic available? []
|
||||
(or (in-node-context?) ; node.js or Chrome 47+
|
||||
(and (ua/isChrome) (ua/isVersionOrHigher 47))))
|
||||
|
||||
(deftype CLJSDevtoolsFormatter [])
|
||||
|
||||
; devtools.debug namespace may not be present => no debugging
|
||||
(defn- find-fn-in-debug-ns [fn-name]
|
||||
(try
|
||||
(unchecked-aget (context/get-root) "devtools" "debug" fn-name)
|
||||
(catch :default _
|
||||
nil)))
|
||||
|
||||
(defn- monitor-api-call-if-avail [name api-call args]
|
||||
(if-let [monitor-api-call (find-fn-in-debug-ns "monitor_api_call")]
|
||||
(monitor-api-call name api-call args)
|
||||
(apply api-call args)))
|
||||
|
||||
(defn- log-exception-if-avail [& args]
|
||||
(if-let [log-exception (find-fn-in-debug-ns "log_exception")]
|
||||
(apply log-exception args)))
|
||||
|
||||
; monitors api calls in a separate debug console if debug namespace is available
|
||||
(defn- monitor-api-calls [name api-call]
|
||||
(fn [& args]
|
||||
(if-not *monitor-enabled*
|
||||
(apply api-call args)
|
||||
(monitor-api-call-if-avail name api-call args))))
|
||||
|
||||
; wraps our api calls in a try-catch block to prevent leaking of exceptions in case something went wrong
|
||||
(defn- sanitize [name api-call]
|
||||
(fn [& args]
|
||||
(if-not *sanitizer-enabled*
|
||||
(apply api-call args) ; raw API call
|
||||
(try
|
||||
(apply api-call args) ; wrapped API call
|
||||
(catch :default e
|
||||
(log-exception-if-avail (str name ": " e))
|
||||
nil)))))
|
||||
|
||||
(defn- build-cljs-formatter []
|
||||
(let [wrap (fn [name api-call]
|
||||
(let [monitor (partial monitor-api-calls name)
|
||||
sanitizer (partial sanitize name)]
|
||||
((comp monitor sanitizer) api-call)
|
||||
api-call))
|
||||
formatter (CLJSDevtoolsFormatter.)
|
||||
define! (fn [name fn]
|
||||
(unchecked-aset formatter name (wrap name fn)))]
|
||||
(define! "header" header-api-call)
|
||||
(define! "hasBody" has-body-api-call)
|
||||
(define! "body" body-api-call)
|
||||
formatter))
|
||||
|
||||
(defn- is-ours? [o]
|
||||
(instance? CLJSDevtoolsFormatter o))
|
||||
|
||||
(defn- present? []
|
||||
(let [formatters (get-formatters-safe)]
|
||||
(boolean (some is-ours? formatters))))
|
||||
|
||||
(defn- install-our-formatter! [formatter]
|
||||
(let [formatters (.slice (get-formatters-safe))] ; slice effectively duplicates the array
|
||||
(.push formatters formatter) ; acting on duplicated array
|
||||
(set-formatters-safe! formatters)
|
||||
(if (prefs/pref :legacy-formatter)
|
||||
(unchecked-aset (context/get-root) obsolete-formatter-key formatter))))
|
||||
|
||||
(defn- uninstall-our-formatters! []
|
||||
(let [new-formatters (remove is-ours? (vec (get-formatters-safe)))
|
||||
new-formatters-js (if (empty? new-formatters) nil (into-array new-formatters))]
|
||||
(set-formatters-safe! new-formatters-js)))
|
||||
|
||||
; -- installation -----------------------------------------------------------------------------------------------------------
|
||||
|
||||
(defn installed? []
|
||||
*installed*)
|
||||
|
||||
(defn install! []
|
||||
(when-not *installed*
|
||||
(set! *installed* true)
|
||||
(install-our-formatter! (build-cljs-formatter))
|
||||
true))
|
||||
|
||||
(defn uninstall! []
|
||||
(when *installed*
|
||||
(set! *installed* false)
|
||||
(uninstall-our-formatters!)))
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue