added github pages support

This commit is contained in:
didier amyot committed 2018-01-27 11:27:33 -05:00
1 parent b14ebdbf63
commit 6ed638a1cc
373 files changed
+185436 -2343

No files matched your search

+448
View File
@@ -0,0 +1,448 @@
;; Copyright (c) Nicola Mometto, Rich Hickey & contributors.
;; 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 "An EDN reader in clojure"
:author "Bronsa"}
cljs.tools.reader.edn
(:refer-clojure :exclude [read read-string char default-data-readers])
(:require [cljs.tools.reader.impl.errors :as err]
[cljs.tools.reader.reader-types :refer
[read-char unread peek-char indexing-reader?
get-line-number get-column-number get-file-name string-push-back-reader]]
[cljs.tools.reader.impl.utils :refer
[char ex-info? whitespace? numeric? desugar-meta namespace-keys second']]
[cljs.tools.reader.impl.commons :refer
[number-literal? read-past match-number parse-symbol read-comment throwing-reader]]
[cljs.tools.reader :refer [default-data-readers char-code]]
[goog.string :as gstring])
(:import goog.string.StringBuffer))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; helpers
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(declare read macros dispatch-macros)
(defn- ^boolean macro-terminating? [ch]
(and (not (identical? \# ch))
(not (identical? \' ch))
(not (identical? \: ch))
(macros ch)))
(defn- ^boolean not-constituent? [ch]
(or (identical? \@ ch)
(identical? \` ch)
(identical? \~ ch)))
(defn- read-token
([rdr kind initch]
(read-token rdr kind initch true))
([rdr kind initch validate-leading?]
(cond
(not initch)
(err/throw-eof-at-start rdr kind)
(and validate-leading?
(not-constituent? initch))
(err/throw-bad-char rdr kind initch)
:else
(loop [sb (StringBuffer.)
ch (do (unread rdr initch) initch)]
(if (or (whitespace? ch)
(macro-terminating? ch)
(nil? ch))
(str sb)
(if (not-constituent? ch)
(err/throw-bad-char rdr kind ch)
(recur (doto sb (.append (read-char rdr))) (peek-char rdr))))))))
(declare read-tagged)
(defn- read-dispatch
[rdr _ opts]
(if-let [ch (read-char rdr)]
(if-let [dm (dispatch-macros ch)]
(dm rdr ch opts)
(if-let [obj (read-tagged (doto rdr (unread ch)) ch opts)]
obj
(err/throw-no-dispatch rdr ch)))
(err/throw-eof-at-dispatch rdr)))
(defn- read-unmatched-delimiter
[rdr ch opts]
(err/throw-unmatch-delimiter rdr ch))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; readers
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn- read-unicode-char
([token offset length base]
(let [l (+ offset length)]
(when-not (== (count token) l)
(err/throw-invalid-unicode-literal nil token))
(loop [i offset uc 0]
(if (== i l)
(js/String.fromCharCode uc)
(let [d (char-code (nth token i) base)]
(if (== d -1)
(err/throw-invalid-unicode-digit-in-token nil (nth token i) token)
(recur (inc i) (+ d (* uc base)))))))))
([rdr initch base length exact?]
(loop [i 1 uc (char-code initch base)]
(if (== uc -1)
(err/throw-invalid-unicode-digit rdr initch)
(if-not (== i length)
(let [ch (peek-char rdr)]
(if (or (whitespace? ch)
(macros ch)
(nil? ch))
(if exact?
(err/throw-invalid-unicode-len rdr i length)
(js/String.fromCharCode uc))
(let [d (char-code ch base)]
(read-char rdr)
(if (== d -1)
(err/throw-invalid-unicode-digit rdr ch)
(recur (inc i) (+ d (* uc base)))))))
(js/String.fromCharCode uc))))))
(def ^:private ^:const upper-limit (int \uD7ff))
(def ^:private ^:const lower-limit (int \uE000))
(defn- read-char*
[rdr backslash opts]
(let [ch (read-char rdr)]
(if-not (nil? ch)
(let [token (if (or (macro-terminating? ch)
(not-constituent? ch)
(whitespace? ch))
(str ch)
(read-token rdr :character ch false))
token-len (count token)]
(cond
(== 1 token-len) (nth token 0)
(identical? token "newline") \newline
(identical? token "space") \space
(identical? token "tab") \tab
(identical? token "backspace") \backspace
(identical? token "formfeed") \formfeed
(identical? token "return") \return
(gstring/startsWith token "u")
(let [c (read-unicode-char token 1 4 16)
ic (.charCodeAt c)]
(if (and (> ic upper-limit)
(< ic lower-limit))
(err/throw-invalid-character-literal rdr c)
c))
(gstring/startsWith token "o")
(let [len (dec token-len)]
(if (> len 3)
(err/throw-invalid-octal-len rdr token)
(let [uc (read-unicode-char token 1 len 8)]
(if (> (int uc) 0377)
(err/throw-bad-octal-number rdr)
uc))))
:else (err/throw-unsupported-character rdr token)))
(err/throw-eof-in-character rdr))))
(defn ^:private starting-line-col-info [rdr]
(when (indexing-reader? rdr)
[(get-line-number rdr) (int (dec (int (get-column-number rdr))))]))
(defn- read-delimited
[kind delim rdr opts]
(let [[start-line start-column] (starting-line-col-info rdr)
delim (char delim)]
(loop [a (transient [])]
(let [ch (read-past whitespace? rdr)]
(when-not ch
(err/throw-eof-delimited rdr kind start-line start-column (count a)))
(if (= delim (char ch))
(persistent! a)
(if-let [macrofn (macros ch)]
(let [mret (macrofn rdr ch opts)]
(recur (if-not (identical? mret rdr) (conj! a mret) a)))
(let [o (read (doto rdr (unread ch)) true nil opts)]
(recur (if-not (identical? o rdr) (conj! a o) a)))))))))
(defn- read-list
[rdr _ opts]
(let [the-list (read-delimited :list \) rdr opts)]
(if (empty? the-list)
'()
(apply list the-list))))
(defn- read-vector
[rdr _ opts]
(read-delimited :vector \] rdr opts))
(defn- read-map
[rdr _ opts]
(let [[start-line start-column] (starting-line-col-info rdr)
the-map (read-delimited :map \} rdr opts)
map-count (count the-map)
ks (take-nth 2 the-map)
key-set (set ks)]
(when (odd? map-count)
(err/throw-odd-map rdr start-line start-column the-map))
(when-not (= (count key-set) (count ks))
(err/throw-dup-keys rdr :map ks))
(if (<= map-count (* 2 (.-HASHMAP-THRESHOLD cljs.core/PersistentArrayMap)))
(.fromArray cljs.core/PersistentArrayMap (to-array the-map) true true)
(.fromArray cljs.core/PersistentHashMap (to-array the-map) true))))
(defn- read-number
[rdr initch opts]
(loop [sb (doto (StringBuffer.) (.append initch))
ch (read-char rdr)]
(if (or (whitespace? ch) (macros ch) (nil? ch))
(let [s (str sb)]
(unread rdr ch)
(or (match-number s)
(err/throw-invalid-number rdr s)))
(recur (doto sb (.append ch)) (read-char rdr)))))
(defn- escape-char [sb rdr]
(let [ch (read-char rdr)]
(case ch
\t "\t"
\r "\r"
\n "\n"
\\ "\\"
\" "\""
\b "\b"
\f "\f"
\u (let [ch (read-char rdr)]
(if (== -1 (js/parseInt (int ch) 16))
(err/throw-invalid-unicode-escape rdr ch)
(read-unicode-char rdr ch 16 4 true)))
(if (numeric? ch)
(let [ch (read-unicode-char rdr ch 8 3 false)]
(if (> (int ch) 0337)
(err/throw-bad-octal-number rdr)
ch))
(err/throw-bad-escape-char rdr ch)))))
(defn- read-string*
[rdr _ opts]
(loop [sb (StringBuffer.)
ch (read-char rdr)]
(case ch
nil (err/throw-eof-reading rdr :string \" sb)
\\ (recur (doto sb (.append (escape-char sb rdr)))
(read-char rdr))
\" (str sb)
(recur (doto sb (.append ch)) (read-char rdr)))))
(defn- read-symbol
[rdr initch]
(when-let [token (read-token rdr :symbol initch)]
(case token
;; special symbols
"nil" nil
"true" true
"false" false
"/" '/
(or (when-let [p (parse-symbol token)]
(symbol (p 0) (p 1)))
(err/throw-invalid rdr :symbol token)))))
(defn- read-keyword
[reader initch opts]
(let [ch (read-char reader)]
(if-not (whitespace? ch)
(let [token (read-token reader :keyword ch)
s (parse-symbol token)]
(if (and s (== -1 (.indexOf token "::")))
(let [ns (s 0)
name (s 1)]
(if (identical? \: (nth token 0))
(err/throw-invalid reader :keyword token) ;; no ::keyword in edn
(keyword ns name)))
(err/throw-invalid reader :keyword token)))
(err/throw-single-colon reader))))
(defn- wrapping-reader
[sym]
(fn [rdr _ opts]
(list sym (read rdr true nil opts))))
(defn- read-meta
[rdr _ opts]
(let [m (desugar-meta (read rdr true nil opts))]
(when-not (map? m)
(err/throw-bad-metadata rdr m))
(let [o (read rdr true nil opts)]
(if (implements? IMeta o)
(with-meta o (merge (meta o) m))
(err/throw-bad-metadata-target rdr o)))))
(defn- read-set
[rdr _ opts]
(let [coll (read-delimited :set \} rdr opts)
the-set (set coll)]
(when-not (= (count coll) (count the-set))
(err/throw-dup-keys rdr :set coll))
the-set))
(defn- read-discard
[rdr _ opts]
(doto rdr
(read true nil true)))
(defn- read-namespaced-map
[rdr _ opts]
(let [token (read-token rdr :namespaced-map (read-char rdr))]
(if-let [ns (some-> token parse-symbol second')]
(let [ch (read-past whitespace? rdr)]
(if (identical? ch \{)
(let [items (read-delimited :namespaced-map \} rdr opts)]
(when (odd? (count items))
(err/throw-odd-map rdr nil nil items))
(let [keys (namespace-keys (str ns) (take-nth 2 items))
vals (take-nth 2 (rest items))]
(when-not (= (count (set keys)) (count keys))
(err/throw-dup-keys rdr :namespaced-map keys))
(zipmap keys vals)))
(err/throw-ns-map-no-map rdr token)))
(err/throw-bad-ns rdr token))))
(defn- read-symbolic-value
[rdr _ opts]
(let [sym (read rdr true nil opts)]
(case sym
NaN js/Number.NaN
-Inf js/Number.NEGATIVE_INFINITY
Inf js/Number.POSITIVE_INFINITY
(err/reader-error rdr (str "Invalid token: ##" sym)))))
(defn- macros [ch]
(case ch
\" read-string*
\: read-keyword
\; read-comment
\^ read-meta
\( read-list
\) read-unmatched-delimiter
\[ read-vector
\] read-unmatched-delimiter
\{ read-map
\} read-unmatched-delimiter
\\ read-char*
\# read-dispatch
nil))
(defn- dispatch-macros [ch]
(case ch
\^ read-meta ;deprecated
\{ read-set
\< (throwing-reader "Unreadable form")
\! read-comment
\_ read-discard
\: read-namespaced-map
\# read-symbolic-value
nil))
(defn- read-tagged [rdr initch opts]
(let [tag (read rdr true nil opts)
object (read rdr true nil opts)]
(if-not (symbol? tag)
(err/throw-bad-reader-tag rdr "Reader tag must be a symbol"))
(if-let [f (or (get (:readers opts) tag)
(default-data-readers tag))]
(f object)
(if-let [d (:default opts)]
(d tag object)
(err/throw-unknown-reader-tag rdr tag)))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Public API
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn read
"Reads the first object from an IPushbackReader.
Returns the object read. If EOF, throws if eof-error? is true otherwise returns eof.
If no reader is provided, *in* will be used.
Reads data in the edn format (subset of Clojure data):
http://edn-format.org
clojure.tools.reader.edn/read doesn't depend on dynamic Vars, all configuration
is done by passing an opt map.
opts is a map that can include the following keys:
:eof - value to return on end-of-file. When not supplied, eof throws an exception.
:readers - a map of tag symbols to data-reader functions to be considered before default-data-readers.
When not supplied, only the default-data-readers will be used.
:default - A function of two args, that will, if present and no reader is found for a tag,
be called with the tag and the value."
([reader] (read {} reader))
([{:keys [eof] :as opts} reader]
(let [eof-error? (not (contains? opts :eof))]
(read reader eof-error? eof opts)))
([reader eof-error? eof opts]
(try
(loop []
(let [ch (read-char reader)]
(cond
(whitespace? ch) (recur)
(nil? ch) (if eof-error? (err/throw-eof-error reader nil) eof)
(number-literal? reader ch) (read-number reader ch opts)
:else (let [f (macros ch)]
(if f
(let [res (f reader ch opts)]
(if (identical? res reader)
(recur)
res))
(read-symbol reader ch))))))
(catch js/Error e
(if (ex-info? e)
(let [d (ex-data e)]
(if (= :reader-exception (:type d))
(throw e)
(throw (ex-info (.-message e)
(merge {:type :reader-exception}
d
(if (indexing-reader? reader)
{:line (get-line-number reader)
:column (get-column-number reader)
:file (get-file-name reader)}))
e))))
(throw (ex-info (.-message e)
(merge {:type :reader-exception}
(if (indexing-reader? reader)
{:line (get-line-number reader)
:column (get-column-number reader)
:file (get-file-name reader)}))
e)))))))
(defn read-string
"Reads one object from the string s.
Returns nil when s is nil or empty.
Reads data in the edn format (subset of Clojure data):
http://edn-format.org
opts is a map as per clojure.tools.reader.edn/read"
([s] (read-string {:eof nil} s))
([opts s]
(when (and s (not= s ""))
(read opts (string-push-back-reader s)))))
@@ -0,0 +1 @@
{:rename-macros {}, :renames {}, :externs {Error {}, String {fromCharCode {}}, parseInt {}, Number {NaN {}, NEGATIVE_INFINITY {}, POSITIVE_INFINITY {}}}, :use-macros {}, :excludes #{char read default-data-readers read-string}, :name cljs.tools.reader.edn, :imports {StringBuffer goog.string.StringBuffer}, :requires {err cljs.tools.reader.impl.errors, cljs.tools.reader.impl.errors cljs.tools.reader.impl.errors, cljs.tools.reader.reader-types cljs.tools.reader.reader-types, cljs.tools.reader.impl.utils cljs.tools.reader.impl.utils, cljs.tools.reader.impl.commons cljs.tools.reader.impl.commons, cljs.tools.reader cljs.tools.reader, gstring goog.string, goog.string goog.string, StringBuffer goog.string.StringBuffer}, :cljs.spec/speced-vars [], :uses {match-number cljs.tools.reader.impl.commons, whitespace? cljs.tools.reader.impl.utils, read-comment cljs.tools.reader.impl.commons, char-code cljs.tools.reader, char cljs.tools.reader.impl.utils, numeric? cljs.tools.reader.impl.utils, unread cljs.tools.reader.reader-types, peek-char cljs.tools.reader.reader-types, parse-symbol cljs.tools.reader.impl.commons, second' cljs.tools.reader.impl.utils, desugar-meta cljs.tools.reader.impl.utils, default-data-readers cljs.tools.reader, number-literal? cljs.tools.reader.impl.commons, read-past cljs.tools.reader.impl.commons, indexing-reader? cljs.tools.reader.reader-types, read-char cljs.tools.reader.reader-types, get-column-number cljs.tools.reader.reader-types, ex-info? cljs.tools.reader.impl.utils, get-file-name cljs.tools.reader.reader-types, throwing-reader cljs.tools.reader.impl.commons, string-push-back-reader cljs.tools.reader.reader-types, namespace-keys cljs.tools.reader.impl.utils, get-line-number cljs.tools.reader.reader-types}, :defs {read-symbolic-value {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :line 326, :column 8, :end-line 326, :end-column 27, :private true, :arglists (quote ([rdr _ opts]))}, :private true, :name cljs.tools.reader.edn/read-symbolic-value, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :end-column 27, :method-params ([rdr _ opts]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 326, :end-line 326, :max-fixed-arity 3, :fn-var true, :arglists (quote ([rdr _ opts]))}, read-tagged {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :line 364, :column 8, :end-line 364, :end-column 19, :private true, :arglists (quote ([rdr initch opts]))}, :private true, :name cljs.tools.reader.edn/read-tagged, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :end-column 19, :method-params ([rdr initch opts]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 364, :end-line 364, :max-fixed-arity 3, :fn-var true, :arglists (quote ([rdr initch opts]))}, starting-line-col-info {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :line 161, :column 17, :end-line 161, :end-column 39, :private true, :arglists (quote ([rdr]))}, :private true, :name cljs.tools.reader.edn/starting-line-col-info, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :end-column 39, :method-params ([rdr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 161, :end-line 161, :max-fixed-arity 1, :fn-var true, :arglists (quote ([rdr]))}, wrapping-reader {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :line 281, :column 8, :end-line 281, :end-column 23, :private true, :arglists (quote ([sym]))}, :private true, :name cljs.tools.reader.edn/wrapping-reader, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :end-column 23, :method-params ([sym]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 281, :end-line 281, :max-fixed-arity 1, :fn-var true, :arglists (quote ([sym]))}, read-meta {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :line 286, :column 8, :end-line 286, :end-column 17, :private true, :arglists (quote ([rdr _ opts]))}, :private true, :name cljs.tools.reader.edn/read-meta, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :end-column 17, :method-params ([rdr _ opts]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 286, :end-line 286, :max-fixed-arity 3, :fn-var true, :arglists (quote ([rdr _ opts]))}, read-unicode-char {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/edn.cljs", :line 85, :column 8, :end-line 85, :end-column 25, :private true, :arglists (quote ([token offset length base] [rdr initch base length exact?])), :top-fn {:variadiLine truncated
+936
View File
@@ -0,0 +1,936 @@
// Compiled by ClojureScript 1.9.946 {}
goog.provide('cljs.tools.reader.edn');
goog.require('cljs.core');
goog.require('cljs.tools.reader.impl.errors');
goog.require('cljs.tools.reader.reader_types');
goog.require('cljs.tools.reader.impl.utils');
goog.require('cljs.tools.reader.impl.commons');
goog.require('cljs.tools.reader');
goog.require('goog.string');
goog.require('goog.string.StringBuffer');
cljs.tools.reader.edn.macro_terminating_QMARK_ = (function cljs$tools$reader$edn$macro_terminating_QMARK_(ch){
var and__35486__auto__ = !(("#" === ch));
if(and__35486__auto__){
var and__35486__auto____$1 = !(("'" === ch));
if(and__35486__auto____$1){
var and__35486__auto____$2 = !((":" === ch));
if(and__35486__auto____$2){
return cljs.tools.reader.edn.macros.call(null,ch);
} else {
return and__35486__auto____$2;
}
} else {
return and__35486__auto____$1;
}
} else {
return and__35486__auto__;
}
});
cljs.tools.reader.edn.not_constituent_QMARK_ = (function cljs$tools$reader$edn$not_constituent_QMARK_(ch){
return (("@" === ch)) || (("`" === ch)) || (("~" === ch));
});
cljs.tools.reader.edn.read_token = (function cljs$tools$reader$edn$read_token(var_args){
var G__44424 = arguments.length;
switch (G__44424) {
case 3:
return cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3 = (function (rdr,kind,initch){
return cljs.tools.reader.edn.read_token.call(null,rdr,kind,initch,true);
});
cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4 = (function (rdr,kind,initch,validate_leading_QMARK_){
if(cljs.core.not.call(null,initch)){
return cljs.tools.reader.impl.errors.throw_eof_at_start.call(null,rdr,kind);
} else {
if(cljs.core.truth_((function (){var and__35486__auto__ = validate_leading_QMARK_;
if(cljs.core.truth_(and__35486__auto__)){
return cljs.tools.reader.edn.not_constituent_QMARK_.call(null,initch);
} else {
return and__35486__auto__;
}
})())){
return cljs.tools.reader.impl.errors.throw_bad_char.call(null,rdr,kind,initch);
} else {
var sb = (new goog.string.StringBuffer());
var ch = (function (){
cljs.tools.reader.reader_types.unread.call(null,rdr,initch);
return initch;
})()
;
while(true){
if((cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch)) || (cljs.tools.reader.edn.macro_terminating_QMARK_.call(null,ch)) || ((ch == null))){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)].join('');
} else {
if(cljs.tools.reader.edn.not_constituent_QMARK_.call(null,ch)){
return cljs.tools.reader.impl.errors.throw_bad_char.call(null,rdr,kind,ch);
} else {
var G__44427 = (function (){var G__44425 = sb;
G__44425.append(cljs.tools.reader.reader_types.read_char.call(null,rdr));
return G__44425;
})();
var G__44428 = cljs.tools.reader.reader_types.peek_char.call(null,rdr);
sb = G__44427;
ch = G__44428;
continue;
}
}
break;
}
}
}
});
cljs.tools.reader.edn.read_token.cljs$lang$maxFixedArity = 4;
cljs.tools.reader.edn.read_dispatch = (function cljs$tools$reader$edn$read_dispatch(rdr,_,opts){
var temp__5455__auto__ = cljs.tools.reader.reader_types.read_char.call(null,rdr);
if(cljs.core.truth_(temp__5455__auto__)){
var ch = temp__5455__auto__;
var temp__5455__auto____$1 = cljs.tools.reader.edn.dispatch_macros.call(null,ch);
if(cljs.core.truth_(temp__5455__auto____$1)){
var dm = temp__5455__auto____$1;
return dm.call(null,rdr,ch,opts);
} else {
var temp__5455__auto____$2 = cljs.tools.reader.edn.read_tagged.call(null,(function (){var G__44429 = rdr;
cljs.tools.reader.reader_types.unread.call(null,G__44429,ch);
return G__44429;
})(),ch,opts);
if(cljs.core.truth_(temp__5455__auto____$2)){
var obj = temp__5455__auto____$2;
return obj;
} else {
return cljs.tools.reader.impl.errors.throw_no_dispatch.call(null,rdr,ch);
}
}
} else {
return cljs.tools.reader.impl.errors.throw_eof_at_dispatch.call(null,rdr);
}
});
cljs.tools.reader.edn.read_unmatched_delimiter = (function cljs$tools$reader$edn$read_unmatched_delimiter(rdr,ch,opts){
return cljs.tools.reader.impl.errors.throw_unmatch_delimiter.call(null,rdr,ch);
});
cljs.tools.reader.edn.read_unicode_char = (function cljs$tools$reader$edn$read_unicode_char(var_args){
var G__44431 = arguments.length;
switch (G__44431) {
case 4:
return cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4 = (function (token,offset,length,base){
var l = (offset + length);
if((cljs.core.count.call(null,token) === l)){
} else {
cljs.tools.reader.impl.errors.throw_invalid_unicode_literal.call(null,null,token);
}
var i = offset;
var uc = (0);
while(true){
if((i === l)){
return String.fromCharCode(uc);
} else {
var d = cljs.tools.reader.char_code.call(null,cljs.core.nth.call(null,token,i),base);
if((d === (-1))){
return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token.call(null,null,cljs.core.nth.call(null,token,i),token);
} else {
var G__44433 = (i + (1));
var G__44434 = (d + (uc * base));
i = G__44433;
uc = G__44434;
continue;
}
}
break;
}
});
cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5 = (function (rdr,initch,base,length,exact_QMARK_){
var i = (1);
var uc = cljs.tools.reader.char_code.call(null,initch,base);
while(true){
if((uc === (-1))){
return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit.call(null,rdr,initch);
} else {
if(!((i === length))){
var ch = cljs.tools.reader.reader_types.peek_char.call(null,rdr);
if(cljs.core.truth_((function (){var or__35498__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch);
if(or__35498__auto__){
return or__35498__auto__;
} else {
var or__35498__auto____$1 = cljs.tools.reader.edn.macros.call(null,ch);
if(cljs.core.truth_(or__35498__auto____$1)){
return or__35498__auto____$1;
} else {
return (ch == null);
}
}
})())){
if(cljs.core.truth_(exact_QMARK_)){
return cljs.tools.reader.impl.errors.throw_invalid_unicode_len.call(null,rdr,i,length);
} else {
return String.fromCharCode(uc);
}
} else {
var d = cljs.tools.reader.char_code.call(null,ch,base);
cljs.tools.reader.reader_types.read_char.call(null,rdr);
if((d === (-1))){
return cljs.tools.reader.impl.errors.throw_invalid_unicode_digit.call(null,rdr,ch);
} else {
var G__44435 = (i + (1));
var G__44436 = (d + (uc * base));
i = G__44435;
uc = G__44436;
continue;
}
}
} else {
return String.fromCharCode(uc);
}
}
break;
}
});
cljs.tools.reader.edn.read_unicode_char.cljs$lang$maxFixedArity = 5;
cljs.tools.reader.edn.upper_limit = ("\uD7FF" | (0));
cljs.tools.reader.edn.lower_limit = ("\uE000" | (0));
cljs.tools.reader.edn.read_char_STAR_ = (function cljs$tools$reader$edn$read_char_STAR_(rdr,backslash,opts){
var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr);
if(!((ch == null))){
var token = (((cljs.tools.reader.edn.macro_terminating_QMARK_.call(null,ch)) || (cljs.tools.reader.edn.not_constituent_QMARK_.call(null,ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch)].join(''):cljs.tools.reader.edn.read_token.call(null,rdr,new cljs.core.Keyword(null,"character","character",380652989),ch,false));
var token_len = cljs.core.count.call(null,token);
if(((1) === token_len)){
return cljs.core.nth.call(null,token,(0));
} else {
if((token === "newline")){
return "\n";
} else {
if((token === "space")){
return " ";
} else {
if((token === "tab")){
return "\t";
} else {
if((token === "backspace")){
return "\b";
} else {
if((token === "formfeed")){
return "\f";
} else {
if((token === "return")){
return "\r";
} else {
if(cljs.core.truth_(goog.string.startsWith(token,"u"))){
var c = cljs.tools.reader.edn.read_unicode_char.call(null,token,(1),(4),(16));
var ic = c.charCodeAt();
if(((ic > cljs.tools.reader.edn.upper_limit)) && ((ic < cljs.tools.reader.edn.lower_limit))){
return cljs.tools.reader.impl.errors.throw_invalid_character_literal.call(null,rdr,c);
} else {
return c;
}
} else {
if(cljs.core.truth_(goog.string.startsWith(token,"o"))){
var len = (token_len - (1));
if((len > (3))){
return cljs.tools.reader.impl.errors.throw_invalid_octal_len.call(null,rdr,token);
} else {
var uc = cljs.tools.reader.edn.read_unicode_char.call(null,token,(1),len,(8));
if(((uc | (0)) > (255))){
return cljs.tools.reader.impl.errors.throw_bad_octal_number.call(null,rdr);
} else {
return uc;
}
}
} else {
return cljs.tools.reader.impl.errors.throw_unsupported_character.call(null,rdr,token);
}
}
}
}
}
}
}
}
}
} else {
return cljs.tools.reader.impl.errors.throw_eof_in_character.call(null,rdr);
}
});
cljs.tools.reader.edn.starting_line_col_info = (function cljs$tools$reader$edn$starting_line_col_info(rdr){
if(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,rdr))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.tools.reader.reader_types.get_line_number.call(null,rdr),(((cljs.tools.reader.reader_types.get_column_number.call(null,rdr) | (0)) - (1)) | (0))], null);
} else {
return null;
}
});
cljs.tools.reader.edn.read_delimited = (function cljs$tools$reader$edn$read_delimited(kind,delim,rdr,opts){
var vec__44437 = cljs.tools.reader.edn.starting_line_col_info.call(null,rdr);
var start_line = cljs.core.nth.call(null,vec__44437,(0),null);
var start_column = cljs.core.nth.call(null,vec__44437,(1),null);
var delim__$1 = cljs.tools.reader.impl.utils.char$.call(null,delim);
var a = cljs.core.transient$.call(null,cljs.core.PersistentVector.EMPTY);
while(true){
var ch = cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);
if(cljs.core.truth_(ch)){
} else {
cljs.tools.reader.impl.errors.throw_eof_delimited.call(null,rdr,kind,start_line,start_column,cljs.core.count.call(null,a));
}
if(cljs.core._EQ_.call(null,delim__$1,cljs.tools.reader.impl.utils.char$.call(null,ch))){
return cljs.core.persistent_BANG_.call(null,a);
} else {
var temp__5455__auto__ = cljs.tools.reader.edn.macros.call(null,ch);
if(cljs.core.truth_(temp__5455__auto__)){
var macrofn = temp__5455__auto__;
var mret = macrofn.call(null,rdr,ch,opts);
var G__44441 = ((!((mret === rdr)))?cljs.core.conj_BANG_.call(null,a,mret):a);
a = G__44441;
continue;
} else {
var o = cljs.tools.reader.edn.read.call(null,(function (){var G__44440 = rdr;
cljs.tools.reader.reader_types.unread.call(null,G__44440,ch);
return G__44440;
})(),true,null,opts);
var G__44442 = ((!((o === rdr)))?cljs.core.conj_BANG_.call(null,a,o):a);
a = G__44442;
continue;
}
}
break;
}
});
cljs.tools.reader.edn.read_list = (function cljs$tools$reader$edn$read_list(rdr,_,opts){
var the_list = cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"list","list",765357683),")",rdr,opts);
if(cljs.core.empty_QMARK_.call(null,the_list)){
return cljs.core.List.EMPTY;
} else {
return cljs.core.apply.call(null,cljs.core.list,the_list);
}
});
cljs.tools.reader.edn.read_vector = (function cljs$tools$reader$edn$read_vector(rdr,_,opts){
return cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"vector","vector",1902966158),"]",rdr,opts);
});
cljs.tools.reader.edn.read_map = (function cljs$tools$reader$edn$read_map(rdr,_,opts){
var vec__44443 = cljs.tools.reader.edn.starting_line_col_info.call(null,rdr);
var start_line = cljs.core.nth.call(null,vec__44443,(0),null);
var start_column = cljs.core.nth.call(null,vec__44443,(1),null);
var the_map = cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"map","map",1371690461),"}",rdr,opts);
var map_count = cljs.core.count.call(null,the_map);
var ks = cljs.core.take_nth.call(null,(2),the_map);
var key_set = cljs.core.set.call(null,ks);
if(cljs.core.odd_QMARK_.call(null,map_count)){
cljs.tools.reader.impl.errors.throw_odd_map.call(null,rdr,start_line,start_column,the_map);
} else {
}
if(cljs.core._EQ_.call(null,cljs.core.count.call(null,key_set),cljs.core.count.call(null,ks))){
} else {
cljs.tools.reader.impl.errors.throw_dup_keys.call(null,rdr,new cljs.core.Keyword(null,"map","map",1371690461),ks);
}
if((map_count <= ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){
return cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array.call(null,the_map),true,true);
} else {
return cljs.core.PersistentHashMap.fromArray(cljs.core.to_array.call(null,the_map),true);
}
});
cljs.tools.reader.edn.read_number = (function cljs$tools$reader$edn$read_number(rdr,initch,opts){
var sb = (function (){var G__44446 = (new goog.string.StringBuffer());
G__44446.append(initch);
return G__44446;
})();
var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr);
while(true){
if(cljs.core.truth_((function (){var or__35498__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch);
if(or__35498__auto__){
return or__35498__auto__;
} else {
var or__35498__auto____$1 = cljs.tools.reader.edn.macros.call(null,ch);
if(cljs.core.truth_(or__35498__auto____$1)){
return or__35498__auto____$1;
} else {
return (ch == null);
}
}
})())){
var s = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)].join('');
cljs.tools.reader.reader_types.unread.call(null,rdr,ch);
var or__35498__auto__ = cljs.tools.reader.impl.commons.match_number.call(null,s);
if(cljs.core.truth_(or__35498__auto__)){
return or__35498__auto__;
} else {
return cljs.tools.reader.impl.errors.throw_invalid_number.call(null,rdr,s);
}
} else {
var G__44448 = (function (){var G__44447 = sb;
G__44447.append(ch);
return G__44447;
})();
var G__44449 = cljs.tools.reader.reader_types.read_char.call(null,rdr);
sb = G__44448;
ch = G__44449;
continue;
}
break;
}
});
cljs.tools.reader.edn.escape_char = (function cljs$tools$reader$edn$escape_char(sb,rdr){
var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr);
var G__44450 = ch;
switch (G__44450) {
case "t":
return "\t";
break;
case "r":
return "\r";
break;
case "n":
return "\n";
break;
case "\\":
return "\\";
break;
case "\"":
return "\"";
break;
case "b":
return "\b";
break;
case "f":
return "\f";
break;
case "u":
var ch__$1 = cljs.tools.reader.reader_types.read_char.call(null,rdr);
if(((-1) === parseInt((ch__$1 | (0)),(16)))){
return cljs.tools.reader.impl.errors.throw_invalid_unicode_escape.call(null,rdr,ch__$1);
} else {
return cljs.tools.reader.edn.read_unicode_char.call(null,rdr,ch__$1,(16),(4),true);
}
break;
default:
if(cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,ch)){
var ch__$1 = cljs.tools.reader.edn.read_unicode_char.call(null,rdr,ch,(8),(3),false);
if(((ch__$1 | (0)) > (223))){
return cljs.tools.reader.impl.errors.throw_bad_octal_number.call(null,rdr);
} else {
return ch__$1;
}
} else {
return cljs.tools.reader.impl.errors.throw_bad_escape_char.call(null,rdr,ch);
}
}
});
cljs.tools.reader.edn.read_string_STAR_ = (function cljs$tools$reader$edn$read_string_STAR_(rdr,_,opts){
var sb = (new goog.string.StringBuffer());
var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr);
while(true){
var G__44452 = ch;
if(cljs.core._EQ_.call(null,null,G__44452)){
return cljs.tools.reader.impl.errors.throw_eof_reading.call(null,rdr,new cljs.core.Keyword(null,"string","string",-1989541586),"\"",sb);
} else {
if(cljs.core._EQ_.call(null,"\\",G__44452)){
var G__44455 = (function (){var G__44453 = sb;
G__44453.append(cljs.tools.reader.edn.escape_char.call(null,sb,rdr));
return G__44453;
})();
var G__44456 = cljs.tools.reader.reader_types.read_char.call(null,rdr);
sb = G__44455;
ch = G__44456;
continue;
} else {
if(cljs.core._EQ_.call(null,"\"",G__44452)){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)].join('');
} else {
var G__44457 = (function (){var G__44454 = sb;
G__44454.append(ch);
return G__44454;
})();
var G__44458 = cljs.tools.reader.reader_types.read_char.call(null,rdr);
sb = G__44457;
ch = G__44458;
continue;
}
}
}
break;
}
});
cljs.tools.reader.edn.read_symbol = (function cljs$tools$reader$edn$read_symbol(rdr,initch){
var temp__5457__auto__ = cljs.tools.reader.edn.read_token.call(null,rdr,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),initch);
if(cljs.core.truth_(temp__5457__auto__)){
var token = temp__5457__auto__;
var G__44459 = token;
switch (G__44459) {
case "nil":
return null;
break;
case "true":
return true;
break;
case "false":
return false;
break;
case "/":
return new cljs.core.Symbol(null,"/","/",-1371932971,null);
break;
default:
var or__35498__auto__ = (function (){var temp__5457__auto____$1 = cljs.tools.reader.impl.commons.parse_symbol.call(null,token);
if(cljs.core.truth_(temp__5457__auto____$1)){
var p = temp__5457__auto____$1;
return cljs.core.symbol.call(null,p.call(null,(0)),p.call(null,(1)));
} else {
return null;
}
})();
if(cljs.core.truth_(or__35498__auto__)){
return or__35498__auto__;
} else {
return cljs.tools.reader.impl.errors.throw_invalid.call(null,rdr,new cljs.core.Keyword(null,"symbol","symbol",-1038572696),token);
}
}
} else {
return null;
}
});
cljs.tools.reader.edn.read_keyword = (function cljs$tools$reader$edn$read_keyword(reader,initch,opts){
var ch = cljs.tools.reader.reader_types.read_char.call(null,reader);
if(!(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch))){
var token = cljs.tools.reader.edn.read_token.call(null,reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),ch);
var s = cljs.tools.reader.impl.commons.parse_symbol.call(null,token);
if(cljs.core.truth_((function (){var and__35486__auto__ = s;
if(cljs.core.truth_(and__35486__auto__)){
return ((-1) === token.indexOf("::"));
} else {
return and__35486__auto__;
}
})())){
var ns = s.call(null,(0));
var name = s.call(null,(1));
if((":" === cljs.core.nth.call(null,token,(0)))){
return cljs.tools.reader.impl.errors.throw_invalid.call(null,reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),token);
} else {
return cljs.core.keyword.call(null,ns,name);
}
} else {
return cljs.tools.reader.impl.errors.throw_invalid.call(null,reader,new cljs.core.Keyword(null,"keyword","keyword",811389747),token);
}
} else {
return cljs.tools.reader.impl.errors.throw_single_colon.call(null,reader);
}
});
cljs.tools.reader.edn.wrapping_reader = (function cljs$tools$reader$edn$wrapping_reader(sym){
return (function (rdr,_,opts){
var x__36452__auto__ = sym;
return cljs.core._conj.call(null,(function (){var x__36452__auto____$1 = cljs.tools.reader.edn.read.call(null,rdr,true,null,opts);
return cljs.core._conj.call(null,cljs.core.List.EMPTY,x__36452__auto____$1);
})(),x__36452__auto__);
});
});
cljs.tools.reader.edn.read_meta = (function cljs$tools$reader$edn$read_meta(rdr,_,opts){
var m = cljs.tools.reader.impl.utils.desugar_meta.call(null,cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));
if(cljs.core.map_QMARK_.call(null,m)){
} else {
cljs.tools.reader.impl.errors.throw_bad_metadata.call(null,rdr,m);
}
var o = cljs.tools.reader.edn.read.call(null,rdr,true,null,opts);
if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMeta$)))?true:false):false)){
return cljs.core.with_meta.call(null,o,cljs.core.merge.call(null,cljs.core.meta.call(null,o),m));
} else {
return cljs.tools.reader.impl.errors.throw_bad_metadata_target.call(null,rdr,o);
}
});
cljs.tools.reader.edn.read_set = (function cljs$tools$reader$edn$read_set(rdr,_,opts){
var coll = cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"set","set",304602554),"}",rdr,opts);
var the_set = cljs.core.set.call(null,coll);
if(cljs.core._EQ_.call(null,cljs.core.count.call(null,coll),cljs.core.count.call(null,the_set))){
} else {
cljs.tools.reader.impl.errors.throw_dup_keys.call(null,rdr,new cljs.core.Keyword(null,"set","set",304602554),coll);
}
return the_set;
});
cljs.tools.reader.edn.read_discard = (function cljs$tools$reader$edn$read_discard(rdr,_,opts){
var G__44462 = rdr;
cljs.tools.reader.edn.read.call(null,G__44462,true,null,true);
return G__44462;
});
cljs.tools.reader.edn.read_namespaced_map = (function cljs$tools$reader$edn$read_namespaced_map(rdr,_,opts){
var token = cljs.tools.reader.edn.read_token.call(null,rdr,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),cljs.tools.reader.reader_types.read_char.call(null,rdr));
var temp__5455__auto__ = (function (){var G__44463 = token;
var G__44463__$1 = (((G__44463 == null))?null:cljs.tools.reader.impl.commons.parse_symbol.call(null,G__44463));
if((G__44463__$1 == null)){
return null;
} else {
return cljs.tools.reader.impl.utils.second_SINGLEQUOTE_.call(null,G__44463__$1);
}
})();
if(cljs.core.truth_(temp__5455__auto__)){
var ns = temp__5455__auto__;
var ch = cljs.tools.reader.impl.commons.read_past.call(null,cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);
if((ch === "{")){
var items = cljs.tools.reader.edn.read_delimited.call(null,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),"}",rdr,opts);
if(cljs.core.odd_QMARK_.call(null,cljs.core.count.call(null,items))){
cljs.tools.reader.impl.errors.throw_odd_map.call(null,rdr,null,null,items);
} else {
}
var keys = cljs.tools.reader.impl.utils.namespace_keys.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(''),cljs.core.take_nth.call(null,(2),items));
var vals = cljs.core.take_nth.call(null,(2),cljs.core.rest.call(null,items));
if(cljs.core._EQ_.call(null,cljs.core.count.call(null,cljs.core.set.call(null,keys)),cljs.core.count.call(null,keys))){
} else {
cljs.tools.reader.impl.errors.throw_dup_keys.call(null,rdr,new cljs.core.Keyword(null,"namespaced-map","namespaced-map",1235665380),keys);
}
return cljs.core.zipmap.call(null,keys,vals);
} else {
return cljs.tools.reader.impl.errors.throw_ns_map_no_map.call(null,rdr,token);
}
} else {
return cljs.tools.reader.impl.errors.throw_bad_ns.call(null,rdr,token);
}
});
cljs.tools.reader.edn.read_symbolic_value = (function cljs$tools$reader$edn$read_symbolic_value(rdr,_,opts){
var sym = cljs.tools.reader.edn.read.call(null,rdr,true,null,opts);
var G__44464 = sym;
if(cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"NaN","NaN",666918153,null),G__44464)){
return Number.NaN;
} else {
if(cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"-Inf","-Inf",-2123243689,null),G__44464)){
return Number.NEGATIVE_INFINITY;
} else {
if(cljs.core._EQ_.call(null,new cljs.core.Symbol(null,"Inf","Inf",647172781,null),G__44464)){
return Number.POSITIVE_INFINITY;
} else {
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,["Invalid token: ##",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(''));
}
}
}
});
cljs.tools.reader.edn.macros = (function cljs$tools$reader$edn$macros(ch){
var G__44465 = ch;
switch (G__44465) {
case "\"":
return cljs.tools.reader.edn.read_string_STAR_;
break;
case ":":
return cljs.tools.reader.edn.read_keyword;
break;
case ";":
return cljs.tools.reader.impl.commons.read_comment;
break;
case "^":
return cljs.tools.reader.edn.read_meta;
break;
case "(":
return cljs.tools.reader.edn.read_list;
break;
case ")":
return cljs.tools.reader.edn.read_unmatched_delimiter;
break;
case "[":
return cljs.tools.reader.edn.read_vector;
break;
case "]":
return cljs.tools.reader.edn.read_unmatched_delimiter;
break;
case "{":
return cljs.tools.reader.edn.read_map;
break;
case "}":
return cljs.tools.reader.edn.read_unmatched_delimiter;
break;
case "\\":
return cljs.tools.reader.edn.read_char_STAR_;
break;
case "#":
return cljs.tools.reader.edn.read_dispatch;
break;
default:
return null;
}
});
cljs.tools.reader.edn.dispatch_macros = (function cljs$tools$reader$edn$dispatch_macros(ch){
var G__44467 = ch;
switch (G__44467) {
case "^":
return cljs.tools.reader.edn.read_meta;
break;
case "{":
return cljs.tools.reader.edn.read_set;
break;
case "<":
return cljs.tools.reader.impl.commons.throwing_reader.call(null,"Unreadable form");
break;
case "!":
return cljs.tools.reader.impl.commons.read_comment;
break;
case "_":
return cljs.tools.reader.edn.read_discard;
break;
case ":":
return cljs.tools.reader.edn.read_namespaced_map;
break;
case "#":
return cljs.tools.reader.edn.read_symbolic_value;
break;
default:
return null;
}
});
cljs.tools.reader.edn.read_tagged = (function cljs$tools$reader$edn$read_tagged(rdr,initch,opts){
var tag = cljs.tools.reader.edn.read.call(null,rdr,true,null,opts);
var object = cljs.tools.reader.edn.read.call(null,rdr,true,null,opts);
if(!((tag instanceof cljs.core.Symbol))){
cljs.tools.reader.impl.errors.throw_bad_reader_tag.call(null,rdr,"Reader tag must be a symbol");
} else {
}
var temp__5455__auto__ = (function (){var or__35498__auto__ = cljs.core.get.call(null,new cljs.core.Keyword(null,"readers","readers",-2118263030).cljs$core$IFn$_invoke$arity$1(opts),tag);
if(cljs.core.truth_(or__35498__auto__)){
return or__35498__auto__;
} else {
return cljs.tools.reader.default_data_readers.call(null,tag);
}
})();
if(cljs.core.truth_(temp__5455__auto__)){
var f = temp__5455__auto__;
return f.call(null,object);
} else {
var temp__5455__auto____$1 = new cljs.core.Keyword(null,"default","default",-1987822328).cljs$core$IFn$_invoke$arity$1(opts);
if(cljs.core.truth_(temp__5455__auto____$1)){
var d = temp__5455__auto____$1;
return d.call(null,tag,object);
} else {
return cljs.tools.reader.impl.errors.throw_unknown_reader_tag.call(null,rdr,tag);
}
}
});
/**
* Reads the first object from an IPushbackReader.
* Returns the object read. If EOF, throws if eof-error? is true otherwise returns eof.
* If no reader is provided, *in* will be used.
*
* Reads data in the edn format (subset of Clojure data):
* http://edn-format.org
*
* clojure.tools.reader.edn/read doesn't depend on dynamic Vars, all configuration
* is done by passing an opt map.
*
* opts is a map that can include the following keys:
* :eof - value to return on end-of-file. When not supplied, eof throws an exception.
* :readers - a map of tag symbols to data-reader functions to be considered before default-data-readers.
* When not supplied, only the default-data-readers will be used.
* :default - A function of two args, that will, if present and no reader is found for a tag,
* be called with the tag and the value.
*/
cljs.tools.reader.edn.read = (function cljs$tools$reader$edn$read(var_args){
var G__44470 = arguments.length;
switch (G__44470) {
case 1:
return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 4:
return cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1 = (function (reader){
return cljs.tools.reader.edn.read.call(null,cljs.core.PersistentArrayMap.EMPTY,reader);
});
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2 = (function (p__44471,reader){
var map__44472 = p__44471;
var map__44472__$1 = ((((!((map__44472 == null)))?((((map__44472.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__44472.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__44472):map__44472);
var opts = map__44472__$1;
var eof = cljs.core.get.call(null,map__44472__$1,new cljs.core.Keyword(null,"eof","eof",-489063237));
var eof_error_QMARK_ = !(cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"eof","eof",-489063237)));
return cljs.tools.reader.edn.read.call(null,reader,eof_error_QMARK_,eof,opts);
});
cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 = (function (reader,eof_error_QMARK_,eof,opts){
try{while(true){
var ch = cljs.tools.reader.reader_types.read_char.call(null,reader);
if(cljs.tools.reader.impl.utils.whitespace_QMARK_.call(null,ch)){
continue;
} else {
if((ch == null)){
if(cljs.core.truth_(eof_error_QMARK_)){
return cljs.tools.reader.impl.errors.throw_eof_error.call(null,reader,null);
} else {
return eof;
}
} else {
if(cljs.tools.reader.impl.commons.number_literal_QMARK_.call(null,reader,ch)){
return cljs.tools.reader.edn.read_number.call(null,reader,ch,opts);
} else {
var f = cljs.tools.reader.edn.macros.call(null,ch);
if(cljs.core.truth_(f)){
var res = f.call(null,reader,ch,opts);
if((res === reader)){
continue;
} else {
return res;
}
} else {
return cljs.tools.reader.edn.read_symbol.call(null,reader,ch);
}
}
}
}
break;
}
}catch (e44474){if((e44474 instanceof Error)){
var e = e44474;
if(cljs.tools.reader.impl.utils.ex_info_QMARK_.call(null,e)){
var d = cljs.core.ex_data.call(null,e);
if(cljs.core._EQ_.call(null,new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(d))){
throw e;
} else {
throw cljs.core.ex_info.call(null,e.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)], null),d,(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,reader),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,reader),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,reader)], null):null)),e);
}
} else {
throw cljs.core.ex_info.call(null,e.message,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098)], null),(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,reader),new cljs.core.Keyword(null,"column","column",2078222095),cljs.tools.reader.reader_types.get_column_number.call(null,reader),new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,reader)], null):null)),e);
}
} else {
throw e44474;
}
}});
cljs.tools.reader.edn.read.cljs$lang$maxFixedArity = 4;
/**
* Reads one object from the string s.
* Returns nil when s is nil or empty.
*
* Reads data in the edn format (subset of Clojure data):
* http://edn-format.org
*
* opts is a map as per clojure.tools.reader.edn/read
*/
cljs.tools.reader.edn.read_string = (function cljs$tools$reader$edn$read_string(var_args){
var G__44477 = arguments.length;
switch (G__44477) {
case 1:
return cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1 = (function (s){
return cljs.tools.reader.edn.read_string.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"eof","eof",-489063237),null], null),s);
});
cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2 = (function (opts,s){
if(cljs.core.truth_((function (){var and__35486__auto__ = s;
if(cljs.core.truth_(and__35486__auto__)){
return cljs.core.not_EQ_.call(null,s,"");
} else {
return and__35486__auto__;
}
})())){
return cljs.tools.reader.edn.read.call(null,opts,cljs.tools.reader.reader_types.string_push_back_reader.call(null,s));
} else {
return null;
}
});
cljs.tools.reader.edn.read_string.cljs$lang$maxFixedArity = 2;
//# sourceMappingURL=edn.js.map?rel=1517021946884
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"\/home\/didier\/clojupyter\/website\/target\/cljsbuild\/public\/js\/out\/cljs\/tools\/reader\/edn.js","sources":["edn.cljs?rel=1517021946888"],"lineCount":936,"mappings":";AAQA;;;;;;;;;AAoBA,AAAA;AAAA;AAAA,AAEA,iDAAA,jDAAgBA,0GAAoBC;AAApC,AACE,IAAAC,qBAAK,EAAK,CAAA,QAAeD;AAAzB,AAAA,GAAAC;AAAA,IAAAA,yBACK,EAAK,CAAA,QAAeD;AADzB,AAAA,GAAAC;AAAA,IAAAA,yBAEK,EAAK,CAAA,QAAeD;AAFzB,AAAA,GAAAC;AAGK,OAACC,uCAAOF;;AAHbC;;;AAAAA;;;AAAAA;;;AAKF,+CAAA,\/CAAgBE,sGAAkBH;AAAlC,AACE,QAAI,CAAA,QAAeA,SACf,CAAA,QAAeA,SACf,CAAA,QAAeA;;AAErB,AAAA,mCAAA,2CAAAI,9EAAOE;AAAP,AAAA,IAAAD,WAAA,AAAA;AAAA,AAAA,QAAAA;KAAA;AAAA,OAAAC,+DAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;KAAA;AAAA,OAAAA,+DAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA,MAAA,CAAA,UAAA;;;;AAAA,MAAA,KAAAC,MAAA,CAAA,8DAAA,AAAA;;;;;AAAA,AAAA,iEAAA,jEAAOD,4EACHE,IAAIC,KAAKC;AADb,AAEK,kEAAA,3DAACJ,2CAAWE,IAAIC,KAAKC;;;AAF1B,AAAA,iEAAA,jEAAOJ,4EAGHE,IAAIC,KAAKC,OAAOC;AAHpB,AAIK,GACC,AAACC,wBAAIF;AACL,OAACG,2DAAuBL,IAAIC;;AAF7B,oBAIC,iBAAAR,qBAAKU;AAAL,AAAA,oBAAAV;AACK,OAACE,uDAAiBO;;AADvBT;;;AAEA,OAACa,uDAAmBN,IAAIC,KAAKC;;AAN9B,AASC,IAAOK,KAAG,KAAAC;IACHhB,KAAG;AAAI,AAACiB,gDAAOT,IAAIE;;AAAQA;;;;AADlC,AAEE,GAAI,CAAI,AAACQ,yDAAYlB,SACb,AAACD,yDAAmBC,SACpB,OAAA,NAAMA;AACZ,oDAAKe;;AACL,GAAI,AAACZ,uDAAiBH;AACpB,OAACc,uDAAmBN,IAAIC,KAAKT;;AAC7B,eAAO,iBAAAmB,WAAMJ;AAAN,AAAS,AAAAI,gBAAS,AAACC,mDAAUZ;;AAA7BW;;eAAoC,AAACE,mDAAUb;;;;;;;;;;;;;AArBlE,AAAA,2DAAA,3DAAOF;;AAAP,AAuBA,AAAA,AAEA,sCAAA,tCAAOgB,oFACJd,IAAIe,EAAEC;AADT,AAEE,IAAAC,qBAAY,AAACL,mDAAUZ;AAAvB,AAAA,oBAAAiB;AAAA,SAAAA,LAASzB;AAAT,AACE,IAAAyB,yBAAY,AAACE,gDAAgB3B;AAA7B,AAAA,oBAAAyB;AAAA,SAAAA,LAASC;AAAT,AACE,OAACA,aAAGlB,IAAIR,GAAGwB;;AACX,IAAAC,yBAAa,AAACI,4CAAY,iBAAAC,WAAMtB;AAAN,AAAU,gDAAAsB,hDAACb,yDAAOjB;;AAAlB8B;KAAuB9B,GAAGwB;AAApD,AAAA,oBAAAC;AAAA,UAAAA,NAASG;AAAT,AACEA;;AACA,OAACG,0DAAsBvB,IAAIR;;;;AAC\/B,OAACgC,8DAA0BxB;;;AAE\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 truncated
@@ -0,0 +1,131 @@
;; Copyright (c) Nicola Mometto, Rich Hickey & contributors.
;; 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.tools.reader.impl.commons
(:refer-clojure :exclude [char])
(:require
[cljs.tools.reader.impl.errors :refer [reader-error]]
[cljs.tools.reader.reader-types :refer [peek-char read-char]]
[cljs.tools.reader.impl.utils :refer [numeric? newline? char]]))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; helpers
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn ^boolean number-literal?
"Checks whether the reader is at the start of a number literal"
[^not-native reader initch]
(or (numeric? initch)
(and (or (identical? \+ initch) (identical? \- initch))
(numeric? (peek-char reader)))))
(defn read-past
"Read until first character that doesn't match pred, returning
char."
[pred ^not-native rdr]
(loop [ch (read-char rdr)]
(if ^boolean (pred ch)
(recur (read-char rdr))
ch)))
(defn skip-line
"Advances the reader to the end of a line. Returns the reader"
[^not-native reader]
(loop []
(when-not (newline? (read-char reader))
(recur)))
reader)
(def int-pattern #"^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$")
(def ratio-pattern #"([-+]?[0-9]+)/([0-9]+)")
(def float-pattern #"([-+]?[0-9]+(\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?")
(defn- match-int
[s]
(let [m (vec (re-find int-pattern s))]
(if-not (nil? (m 2))
0
(let [^boolean negate? (identical? "-" (m 1))
a (cond
(not (nil? (m 3))) [(m 3) 10]
(not (nil? (m 4))) [(m 4) 16]
(not (nil? (m 5))) [(m 5) 8]
(not (nil? (m 7))) [(m 7) (js/parseInt (m 6))]
:else [nil nil])
n (a 0)]
(when-not (nil? n)
(let [bn (js/parseInt n (a 1))
bn (if negate? (* -1 bn) bn)]
(when-not (js/isNaN bn)
bn)))))))
(defn- match-ratio
[s]
(let [m (vec (re-find ratio-pattern s))
numerator (m 1)
denominator (m 2)
numerator (if (re-find #"^\+" numerator)
(subs numerator 1)
numerator)]
(/ (-> numerator js/parseInt) ;;; No ratio type in cljs
(-> denominator js/parseInt)))); So will convert to js/Number
(defn- match-float
[s]
(let [m (vec (re-find float-pattern s))]
(if-not (nil? (m 4)) ;; for BigDecimal "10.03M", as all parsed to js/Number
(js/parseFloat (m 1))
(js/parseFloat s))))
(defn ^boolean matches? [pattern s]
(let [[match] (re-find pattern s)]
(identical? match s)))
(defn match-number [s]
(if (matches? int-pattern s)
(match-int s)
(if (matches? float-pattern s)
(match-float s)
(when (matches? ratio-pattern s)
(match-ratio s)))))
(defn parse-symbol
"Parses a string into a vector of the namespace and symbol"
[token]
(when-not (or (identical? "" token)
(true? (.test #":$" token))
(true? (.test #"^::" token)))
(let [ns-idx (.indexOf token "/")
ns (when (pos? ns-idx)
(subs token 0 ns-idx))]
(if-not (nil? ns)
(let [ns-idx (inc ns-idx)]
(when-not (== ns-idx (count token))
(let [sym (subs token ns-idx)]
(when (and (not (numeric? (nth sym 0)))
(not (identical? "" sym))
(false? (.test #":$" ns))
(or (identical? sym "/")
(== -1 (.indexOf sym "/"))))
[ns sym]))))
(when (or (identical? token "/")
(== -1 (.indexOf token "/")))
[nil token])))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; readers
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn read-comment
[rdr & _]
(skip-line rdr))
(defn throwing-reader
[msg]
(fn [rdr & _]
(reader-error rdr msg)))
@@ -0,0 +1 @@
{:rename-macros {}, :renames {}, :externs {parseInt {}, isNaN {}, parseFloat {}}, :use-macros {}, :excludes #{char}, :name cljs.tools.reader.impl.commons, :imports nil, :requires {cljs.tools.reader.impl.errors cljs.tools.reader.impl.errors, cljs.tools.reader.reader-types cljs.tools.reader.reader-types, cljs.tools.reader.impl.utils cljs.tools.reader.impl.utils}, :cljs.spec/speced-vars [], :uses {char cljs.tools.reader.impl.utils, numeric? cljs.tools.reader.impl.utils, reader-error cljs.tools.reader.impl.errors, peek-char cljs.tools.reader.reader-types, read-char cljs.tools.reader.reader-types, newline? cljs.tools.reader.impl.utils}, :defs {match-number {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 89, :column 7, :end-line 89, :end-column 19, :arglists (quote ([s]))}, :name cljs.tools.reader.impl.commons/match-number, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :end-column 19, :method-params ([s]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 89, :end-line 89, :max-fixed-arity 1, :fn-var true, :arglists (quote ([s]))}, skip-line {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 36, :column 7, :end-line 36, :end-column 16, :arglists (quote ([reader])), :doc "Advances the reader to the end of a line. Returns the reader"}, :name cljs.tools.reader.impl.commons/skip-line, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :end-column 16, :method-params ([reader]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 36, :end-line 36, :max-fixed-arity 1, :fn-var true, :arglists (quote ([reader])), :doc "Advances the reader to the end of a line. Returns the reader"}, int-pattern {:name cljs.tools.reader.impl.commons/int-pattern, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 44, :column 1, :end-line 44, :end-column 17, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 44, :column 6, :end-line 44, :end-column 17}, :tag any}, read-comment {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 124, :column 7, :end-line 124, :end-column 19, :arglists (quote ([rdr & _])), :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(rdr _)], :arglists ([rdr & _]), :arglists-meta (nil)}}, :name cljs.tools.reader.impl.commons/read-comment, :variadic true, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :end-column 19, :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(rdr _)], :arglists ([rdr & _]), :arglists-meta (nil)}, :method-params [(rdr _)], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 124, :end-line 124, :max-fixed-arity 1, :fn-var true, :arglists ([rdr & _])}, match-ratio {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 67, :column 8, :end-line 67, :end-column 19, :private true, :arglists (quote ([s]))}, :private true, :name cljs.tools.reader.impl.commons/match-ratio, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :end-column 19, :method-params ([s]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 67, :end-line 67, :max-fixed-arity 1, :fn-var true, :arglists (quote ([s]))}, match-int {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 48, :column 8, :end-line 48, :end-column 17, :private true, :arglists (quote ([s]))}, :private true, :name cljs.tools.reader.impl.commons/match-int, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :end-column 17, :method-params ([s]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 48, :end-line 48, :max-fixed-arity 1, :fn-var true, :arglists (quote ([s]))}, parse-symbol {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :line 97, :column 7, :end-line 97, :end-column 19, :arglists (quote ([token])), :doc "Parses a string into a vector of the namespace and symbol"}, :name cljs.tools.reader.impl.commons/parse-symbol, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/commons.cljs", :end-column 19, :method-params ([token]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 97, :end-line 97, :max-fixed-arity 1, :fn-var true, :arglists (quote ([token])), :doc "Parses a string into a vector of the namespace and symbol"}, number-literal? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/clLine truncated
@@ -0,0 +1,191 @@
// Compiled by ClojureScript 1.9.946 {}
goog.provide('cljs.tools.reader.impl.commons');
goog.require('cljs.core');
goog.require('cljs.tools.reader.impl.errors');
goog.require('cljs.tools.reader.reader_types');
goog.require('cljs.tools.reader.impl.utils');
/**
* Checks whether the reader is at the start of a number literal
*/
cljs.tools.reader.impl.commons.number_literal_QMARK_ = (function cljs$tools$reader$impl$commons$number_literal_QMARK_(reader,initch){
return (cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,initch)) || (((("+" === initch)) || (("-" === initch))) && (cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,cljs.tools.reader.reader_types.peek_char.call(null,reader))));
});
/**
* Read until first character that doesn't match pred, returning
* char.
*/
cljs.tools.reader.impl.commons.read_past = (function cljs$tools$reader$impl$commons$read_past(pred,rdr){
var ch = cljs.tools.reader.reader_types.read_char.call(null,rdr);
while(true){
if(pred.call(null,ch)){
var G__44276 = cljs.tools.reader.reader_types.read_char.call(null,rdr);
ch = G__44276;
continue;
} else {
return ch;
}
break;
}
});
/**
* Advances the reader to the end of a line. Returns the reader
*/
cljs.tools.reader.impl.commons.skip_line = (function cljs$tools$reader$impl$commons$skip_line(reader){
while(true){
if(cljs.tools.reader.impl.utils.newline_QMARK_.call(null,cljs.tools.reader.reader_types.read_char.call(null,reader))){
} else {
continue;
}
break;
}
return reader;
});
cljs.tools.reader.impl.commons.int_pattern = /^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/;
cljs.tools.reader.impl.commons.ratio_pattern = /([-+]?[0-9]+)\/([0-9]+)/;
cljs.tools.reader.impl.commons.float_pattern = /([-+]?[0-9]+(\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/;
cljs.tools.reader.impl.commons.match_int = (function cljs$tools$reader$impl$commons$match_int(s){
var m = cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.int_pattern,s));
if(!((m.call(null,(2)) == null))){
return (0);
} else {
var negate_QMARK_ = ("-" === m.call(null,(1)));
var a = ((!((m.call(null,(3)) == null)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m.call(null,(3)),(10)], null):((!((m.call(null,(4)) == null)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m.call(null,(4)),(16)], null):((!((m.call(null,(5)) == null)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m.call(null,(5)),(8)], null):((!((m.call(null,(7)) == null)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m.call(null,(7)),parseInt(m.call(null,(6)))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null)
))));
var n = a.call(null,(0));
if((n == null)){
return null;
} else {
var bn = parseInt(n,a.call(null,(1)));
var bn__$1 = ((negate_QMARK_)?((-1) * bn):bn);
if(cljs.core.truth_(isNaN(bn__$1))){
return null;
} else {
return bn__$1;
}
}
}
});
cljs.tools.reader.impl.commons.match_ratio = (function cljs$tools$reader$impl$commons$match_ratio(s){
var m = cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.ratio_pattern,s));
var numerator = m.call(null,(1));
var denominator = m.call(null,(2));
var numerator__$1 = (cljs.core.truth_(cljs.core.re_find.call(null,/^\+/,numerator))?cljs.core.subs.call(null,numerator,(1)):numerator);
return (parseInt(numerator__$1) / parseInt(denominator));
});
cljs.tools.reader.impl.commons.match_float = (function cljs$tools$reader$impl$commons$match_float(s){
var m = cljs.core.vec.call(null,cljs.core.re_find.call(null,cljs.tools.reader.impl.commons.float_pattern,s));
if(!((m.call(null,(4)) == null))){
return parseFloat(m.call(null,(1)));
} else {
return parseFloat(s);
}
});
cljs.tools.reader.impl.commons.matches_QMARK_ = (function cljs$tools$reader$impl$commons$matches_QMARK_(pattern,s){
var vec__44277 = cljs.core.re_find.call(null,pattern,s);
var match = cljs.core.nth.call(null,vec__44277,(0),null);
return (match === s);
});
cljs.tools.reader.impl.commons.match_number = (function cljs$tools$reader$impl$commons$match_number(s){
if(cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.int_pattern,s)){
return cljs.tools.reader.impl.commons.match_int.call(null,s);
} else {
if(cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.float_pattern,s)){
return cljs.tools.reader.impl.commons.match_float.call(null,s);
} else {
if(cljs.tools.reader.impl.commons.matches_QMARK_.call(null,cljs.tools.reader.impl.commons.ratio_pattern,s)){
return cljs.tools.reader.impl.commons.match_ratio.call(null,s);
} else {
return null;
}
}
}
});
/**
* Parses a string into a vector of the namespace and symbol
*/
cljs.tools.reader.impl.commons.parse_symbol = (function cljs$tools$reader$impl$commons$parse_symbol(token){
if((("" === token)) || (/:$/.test(token) === true) || (/^::/.test(token) === true)){
return null;
} else {
var ns_idx = token.indexOf("/");
var ns = (((ns_idx > (0)))?cljs.core.subs.call(null,token,(0),ns_idx):null);
if(!((ns == null))){
var ns_idx__$1 = (ns_idx + (1));
if((ns_idx__$1 === cljs.core.count.call(null,token))){
return null;
} else {
var sym = cljs.core.subs.call(null,token,ns_idx__$1);
if((!(cljs.tools.reader.impl.utils.numeric_QMARK_.call(null,cljs.core.nth.call(null,sym,(0))))) && (!(("" === sym))) && (/:$/.test(ns) === false) && (((sym === "/")) || (((-1) === sym.indexOf("/"))))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);
} else {
return null;
}
}
} else {
if(((token === "/")) || (((-1) === token.indexOf("/")))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,token], null);
} else {
return null;
}
}
}
});
cljs.tools.reader.impl.commons.read_comment = (function cljs$tools$reader$impl$commons$read_comment(var_args){
var args__36784__auto__ = [];
var len__36777__auto___44282 = arguments.length;
var i__36778__auto___44283 = (0);
while(true){
if((i__36778__auto___44283 < len__36777__auto___44282)){
args__36784__auto__.push((arguments[i__36778__auto___44283]));
var G__44284 = (i__36778__auto___44283 + (1));
i__36778__auto___44283 = G__44284;
continue;
} else {
}
break;
}
var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null);
return cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__);
});
cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic = (function (rdr,_){
return cljs.tools.reader.impl.commons.skip_line.call(null,rdr);
});
cljs.tools.reader.impl.commons.read_comment.cljs$lang$maxFixedArity = (1);
cljs.tools.reader.impl.commons.read_comment.cljs$lang$applyTo = (function (seq44280){
var G__44281 = cljs.core.first.call(null,seq44280);
var seq44280__$1 = cljs.core.next.call(null,seq44280);
return cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic(G__44281,seq44280__$1);
});
cljs.tools.reader.impl.commons.throwing_reader = (function cljs$tools$reader$impl$commons$throwing_reader(msg){
return (function() {
var G__44285__delegate = function (rdr,_){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,msg);
};
var G__44285 = function (rdr,var_args){
var _ = null;
if (arguments.length > 1) {
var G__44286__i = 0, G__44286__a = new Array(arguments.length - 1);
while (G__44286__i < G__44286__a.length) {G__44286__a[G__44286__i] = arguments[G__44286__i + 1]; ++G__44286__i;}
_ = new cljs.core.IndexedSeq(G__44286__a,0,null);
}
return G__44285__delegate.call(this,rdr,_);};
G__44285.cljs$lang$maxFixedArity = 1;
G__44285.cljs$lang$applyTo = (function (arglist__44287){
var rdr = cljs.core.first(arglist__44287);
var _ = cljs.core.rest(arglist__44287);
return G__44285__delegate(rdr,_);
});
G__44285.cljs$core$IFn$_invoke$arity$variadic = G__44285__delegate;
return G__44285;
})()
;
});
//# sourceMappingURL=commons.js.map?rel=1517021946510
@@ -0,0 +1 @@
{"version":3,"file":"\/home\/didier\/clojupyter\/website\/target\/cljsbuild\/public\/js\/out\/cljs\/tools\/reader\/impl\/commons.js","sources":["commons.cljs?rel=1517021946511"],"lineCount":191,"mappings":";AAQA;;;;;AAWA;;;uDAAA,vDAAeA,sHAEAC,OAAOC;AAFtB,AAGE,QAAI,AAACC,sDAASD,aACV,CAAK,CAAI,CAAA,QAAeA,aAAQ,CAAA,QAAgBA,cAC3C,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,EAAQ,qBAAA,pBAAM,YAAA,ZAACC;AAAf;;AAEE,IAAeG,gBAAQ,CAAA,QAAgB,YAAA,ZAACH;IAClCI,IAAE,iCAAA,oGAAA,aAAA,iCAAA,oGAAA,aAAA,iCAAA,oGAAA,YAAA,iCAAA,uIAAA,AAAA,mFAAA,KAAA,nrBACC,EAAK,qBAAA,pBAAM,YAAA,ZAACJ,+GAAQ,YAAA,ZAACA,gCACrB,EAAK,qBAAA,pBAAM,YAAA,ZAACA,+GAAQ,YAAA,ZAACA,gCACrB,EAAK,qBAAA,pBAAM,YAAA,ZAACA,+GAAQ,YAAA,ZAACA,+BACrB,EAAK,qBAAA,pBAAM,YAAA,ZAACA,+GAAQ,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,EAAQ,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,CAAI,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,EAAQ,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,CAAK,EAAK,AAACrC,sDAAS,4BAAA,5BAACgC,wBAAIQ,gBACpB,EAAK,CAAA,OAAeA,WACpB,AAAQ,AAAA,UAAaF,mBACrB,CAAI,SAAA,RAAYE,kBACZ,CAAA,SAAO,YAAA,ZAAUA;AAJhC,AAAA,0FAKGF,GAAGE;;AALN;;;;AAMN,GAAM,CAAI,WAAA,VAAYJ,oBACZ,CAAA,SAAO,cAAA,dAAUA;AAD3B,AAAA,0FAAA,KAEOA;;AAFP;;;;;AAQR,AAAA,8CAAA,sDAAAK,pGAAMM;AAAN,AAAA,IAAAL,sBAAA;AAAA,AAAA,IAAAC,2BAAA,AAAA;AAAA,AAAA,IAAAC,yBAAA;;AAAA,AAAA,GAAA,CAAAA,yBAAAD;AAAA,AAAA,AAAAD,yBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,yBAAA;;;;AAAA;;;;AAAA,IAAAC,wBAAA,EAAA,CAAA,MAAA,AAAAH,6BAAA,AAAA,KAAAI,qBAAA,AAAAJ,0BAAA,KAAA,IAAA,OAAA;AAAA,AAAA,OAAAK,iFAAA,CAAA,UAAA,MAAAF;;;AAAA,AAAA,AAAA,AAAAE,mFAAA,WACG3C,IAAMgD;AADT,AAEE,OAAC7C,mDAAUH;;;AAFb,AAAA,AAAA2C,sEAAA;;AAAA,AAAA,AAAAA,gEAAA,WAAAC;AAAA,AAAA,IAAAC,WAAA,AAAAC,0BAAAF;IAAAA,eAAA,AAAAG,yBAAAH;AAAA,AAAA,OAAAD,iFAAAE,SAAAD;;;AAAA,AAIA,iDAAA,jDAAMK,0GACHC;AADH,AAEE;mCAAKlD,IAAMgD;AAAX,AACE,OAACG,qDAAanD,IAAIkD;;yBADflD;IAAMgD;;;;EAAAA;;oCAANhD,IAAMgD;;;IAANhD;IAAMgD;0BAANhD,IAAMgD","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__44277","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__36784__auto__","len__36777__auto__","i__36778__auto__","argseq__36785__auto__","cljs.core\/IndexedSeq","cljs.tools.reader.impl.commons\/read-comment","seq44280","G__44281","cljs.core\/first","cljs.core\/next","_","cljs.tools.reader.impl.commons\/throwing-reader","msg","cljs.tools.reader.impl.errors\/reader-error"]}
@@ -0,0 +1,253 @@
;; Copyright (c) Russ Olsen, Nicola Mometto, Rich Hickey & contributors.
;; 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.tools.reader.impl.errors
(:require [cljs.tools.reader.reader-types :as types]
[clojure.string :as s]
[cljs.tools.reader.impl.inspect :as i]))
(defn- ex-details
[rdr ex-type]
(let [details {:type :reader-exception
:ex-kind ex-type}]
(if (types/indexing-reader? rdr)
(assoc
details
:file (types/get-file-name rdr)
:line (types/get-line-number rdr)
:col (types/get-column-number rdr))
details)))
(defn- throw-ex
"Throw an ex-info error."
[rdr ex-type & msg]
(let [details (ex-details rdr ex-type)
file (:file details)
line (:line details)
col (:col details)
msg1 (if file (str file " "))
msg2 (if line (str "[line " line ", col " col "]"))
msg3 (if (or msg1 msg2) " ")
full-msg (apply str msg1 msg2 msg3 msg)]
(throw (ex-info full-msg details))))
(defn reader-error
"Throws an ExceptionInfo with the given message.
If rdr is an IndexingReader, additional information about column and line number is provided"
[rdr & msgs]
(throw-ex rdr :reader-error (apply str msgs)))
(defn illegal-arg-error
"Throws an ExceptionInfo with the given message.
If rdr is an IndexingReader, additional information about column and line number is provided"
[rdr & msgs]
(throw-ex rdr :illegal-argument (apply str msgs)))
(defn eof-error
"Throws an ExceptionInfo with the given message.
If rdr is an IndexingReader, additional information about column and line number is provided"
[rdr & msgs]
(throw-ex rdr :eof (apply str msgs)))
(defn throw-eof-delimited
([rdr kind column line] (throw-eof-delimited rdr kind line column nil))
([rdr kind line column n]
(eof-error
rdr
"Unexpected EOF while reading "
(if n
(str "item " n " of "))
(name kind)
(if line
(str ", starting at line " line " and column " column))
".")))
(defn throw-odd-map [rdr line col elements]
(reader-error
rdr
"The map literal starting with "
(i/inspect (first elements))
(if line (str " on line " line " column " col))
" contains "
(count elements)
" form(s). Map literals must contain an even number of forms."))
(defn throw-invalid-number [rdr token]
(reader-error
rdr
"Invalid number: "
token
"."))
(defn throw-invalid-unicode-literal [rdr token]
(throw
(illegal-arg-error
rdr
"Invalid unicode literal: \\"
token
".")))
(defn throw-invalid-unicode-escape [rdr ch]
(reader-error
rdr
"Invalid unicode escape: \\u"
ch
"."))
(defn throw-invalid [rdr kind token]
(reader-error rdr "Invalid " (name kind) ": " token "."))
(defn throw-eof-at-start [rdr kind]
(eof-error rdr "Unexpected EOF while reading start of " (name kind) "."))
(defn throw-bad-char [rdr kind ch]
(reader-error rdr "Invalid character: " ch " found while reading " (name kind) "."))
(defn throw-eof-at-dispatch [rdr]
(eof-error rdr "Unexpected EOF while reading dispatch character."))
(defn throw-bad-dispatch [rdr ch]
(reader-error rdr "No dispatch macro for " ch "."))
(defn throw-unmatch-delimiter [rdr ch]
(reader-error rdr "Unmatched delimiter " ch "."))
(defn throw-eof-reading [rdr kind & start]
(let [init (case kind :regex "#\"" :string \")]
(eof-error rdr "Unexpected EOF reading " (name kind) " starting " (apply str init start) ".")))
(defn throw-no-dispatch [rdr ch]
(throw-bad-dispatch rdr ch))
(defn throw-invalid-unicode-char[rdr token]
(reader-error
rdr
"Invalid unicode character \\"
token
"."))
(defn throw-invalid-unicode-digit-in-token[rdr ch token]
(illegal-arg-error
rdr
"Invalid digit "
ch
" in unicode character \\"
token
"."))
(defn throw-invalid-unicode-digit[rdr ch]
(illegal-arg-error
rdr
"Invalid digit "
ch
" in unicode character."))
(defn throw-invalid-unicode-len[rdr actual expected]
(illegal-arg-error
rdr
"Invalid unicode literal. Unicode literals should be "
expected
"characters long. "
"value suppled is "
actual
"characters long."))
(defn throw-invalid-character-literal[rdr token]
(reader-error rdr "Invalid character literal \\u" token "."))
(defn throw-invalid-octal-len[rdr token]
(reader-error
rdr
"Invalid octal escape sequence in a character literal:"
token
". Octal escape sequences must be 3 or fewer digits."))
(defn throw-bad-octal-number [rdr]
(reader-error rdr "Octal escape sequence must be in range [0, 377]."))
(defn throw-unsupported-character[rdr token]
(reader-error
rdr
"Unsupported character: "
token
"."))
(defn throw-eof-in-character [rdr]
(eof-error
rdr
"Unexpected EOF while reading character."))
(defn throw-bad-escape-char [rdr ch]
(reader-error rdr "Unsupported escape character: \\" ch "."))
(defn throw-single-colon [rdr]
(reader-error rdr "A single colon is not a valid keyword."))
(defn throw-bad-metadata [rdr x]
(reader-error
rdr
"Metadata cannot be "
(i/inspect x)
". Metadata must be a Symbol, Keyword, String or Map."))
(defn throw-bad-metadata-target [rdr target]
(reader-error
rdr
"Metadata can not be applied to "
(i/inspect target)
". "
"Metadata can only be applied to IMetas."))
(defn throw-feature-not-keyword [rdr feature]
(reader-error
rdr
"Feature cannot be "
(i/inspect feature)
" Features must be keywords."))
(defn throw-ns-map-no-map [rdr ns-name]
(reader-error rdr "Namespaced map with namespace " ns-name " does not specify a map."))
(defn throw-bad-ns [rdr ns-name]
(reader-error rdr "Invalid value used as namespace in namespaced map: " ns-name "."))
(defn throw-bad-reader-tag [rdr tag]
(reader-error
rdr
"Invalid reader tag: "
(i/inspect tag)
". Reader tags must be symbols."))
(defn throw-unknown-reader-tag [rdr tag]
(reader-error
rdr
"No reader function for tag "
(i/inspect tag)
"."))
(defn- duplicate-keys-error [msg coll]
(letfn [(duplicates [seq]
(for [[id freq] (frequencies seq)
:when (> freq 1)]
id))]
(let [dups (duplicates coll)]
(apply str msg
(when (> (count dups) 1) "s")
": " (interpose ", " dups)))))
(defn throw-dup-keys [rdr kind ks]
(reader-error
rdr
(duplicate-keys-error
(str (s/capitalize (name kind)) " literal contains duplicate key")
ks)))
(defn throw-eof-error [rdr line]
(if line
(eof-error rdr "EOF while reading, starting at line " line ".")
(eof-error rdr "EOF while reading.")))
@@ -0,0 +1 @@
{:rename-macros {}, :renames {}, :externs {Error {}}, :use-macros {}, :excludes #{}, :name cljs.tools.reader.impl.errors, :imports nil, :requires {types cljs.tools.reader.reader-types, cljs.tools.reader.reader-types cljs.tools.reader.reader-types, s clojure.string, clojure.string clojure.string, i cljs.tools.reader.impl.inspect, cljs.tools.reader.impl.inspect cljs.tools.reader.impl.inspect}, :cljs.spec/speced-vars [], :uses nil, :defs {throw-bad-dispatch {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 114, :column 7, :end-line 114, :end-column 25, :arglists (quote ([rdr ch]))}, :name cljs.tools.reader.impl.errors/throw-bad-dispatch, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 25, :method-params ([rdr ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 114, :end-line 114, :max-fixed-arity 2, :fn-var true, :arglists (quote ([rdr ch]))}, throw-invalid-unicode-escape {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 95, :column 7, :end-line 95, :end-column 35, :arglists (quote ([rdr ch]))}, :name cljs.tools.reader.impl.errors/throw-invalid-unicode-escape, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 35, :method-params ([rdr ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 95, :end-line 95, :max-fixed-arity 2, :fn-var true, :arglists (quote ([rdr ch]))}, throw-dup-keys {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 243, :column 7, :end-line 243, :end-column 21, :arglists (quote ([rdr kind ks]))}, :name cljs.tools.reader.impl.errors/throw-dup-keys, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 21, :method-params ([rdr kind ks]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 243, :end-line 243, :max-fixed-arity 3, :fn-var true, :arglists (quote ([rdr kind ks]))}, throw-bad-ns {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 216, :column 7, :end-line 216, :end-column 19, :arglists (quote ([rdr ns-name]))}, :name cljs.tools.reader.impl.errors/throw-bad-ns, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 19, :method-params ([rdr ns-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 216, :end-line 216, :max-fixed-arity 2, :fn-var true, :arglists (quote ([rdr ns-name]))}, duplicate-keys-error {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 233, :column 8, :end-line 233, :end-column 28, :private true, :arglists (quote ([msg coll]))}, :private true, :name cljs.tools.reader.impl.errors/duplicate-keys-error, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 28, :method-params ([msg coll]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 233, :end-line 233, :max-fixed-arity 2, :fn-var true, :arglists (quote ([msg coll]))}, throw-unknown-reader-tag {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 226, :column 7, :end-line 226, :end-column 31, :arglists (quote ([rdr tag]))}, :name cljs.tools.reader.impl.errors/throw-unknown-reader-tag, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 31, :method-params ([rdr tag]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 226, :end-line 226, :max-fixed-arity 2, :fn-var true, :arglists (quote ([rdr tag]))}, throw-eof-at-dispatch {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 111, :column 7, :end-line 111, :end-column 28, :arglists (quote ([rdr]))}, :name cljs.tools.reader.impl.errors/throw-eof-at-dispatch, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 28, :method-params ([rdr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 111, :end-line 111, :max-fixed-arity 1, :fn-var true, :arglists (quote ([rdr]))}, throw-bad-metadata-target {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :line 198, :column 7, :end-line 198, :end-column 32, :arglists (quote ([rdr target]))}, :name cljs.tools.reader.impl.errors/throw-bad-metadata-target, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/errors.cljs", :end-column 32, :methoLine truncated
@@ -0,0 +1,413 @@
// Compiled by ClojureScript 1.9.946 {}
goog.provide('cljs.tools.reader.impl.errors');
goog.require('cljs.core');
goog.require('cljs.tools.reader.reader_types');
goog.require('clojure.string');
goog.require('cljs.tools.reader.impl.inspect');
cljs.tools.reader.impl.errors.ex_details = (function cljs$tools$reader$impl$errors$ex_details(rdr,ex_type){
var details = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"reader-exception","reader-exception",-1938323098),new cljs.core.Keyword(null,"ex-kind","ex-kind",1581199296),ex_type], null);
if(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,rdr))){
return cljs.core.assoc.call(null,details,new cljs.core.Keyword(null,"file","file",-1269645878),cljs.tools.reader.reader_types.get_file_name.call(null,rdr),new cljs.core.Keyword(null,"line","line",212345235),cljs.tools.reader.reader_types.get_line_number.call(null,rdr),new cljs.core.Keyword(null,"col","col",-1959363084),cljs.tools.reader.reader_types.get_column_number.call(null,rdr));
} else {
return details;
}
});
/**
* Throw an ex-info error.
*/
cljs.tools.reader.impl.errors.throw_ex = (function cljs$tools$reader$impl$errors$throw_ex(var_args){
var args__36784__auto__ = [];
var len__36777__auto___44222 = arguments.length;
var i__36778__auto___44223 = (0);
while(true){
if((i__36778__auto___44223 < len__36777__auto___44222)){
args__36784__auto__.push((arguments[i__36778__auto___44223]));
var G__44224 = (i__36778__auto___44223 + (1));
i__36778__auto___44223 = G__44224;
continue;
} else {
}
break;
}
var argseq__36785__auto__ = ((((2) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((2)),(0),null)):null);
return cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__36785__auto__);
});
cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic = (function (rdr,ex_type,msg){
var details = cljs.tools.reader.impl.errors.ex_details.call(null,rdr,ex_type);
var file = new cljs.core.Keyword(null,"file","file",-1269645878).cljs$core$IFn$_invoke$arity$1(details);
var line = new cljs.core.Keyword(null,"line","line",212345235).cljs$core$IFn$_invoke$arity$1(details);
var col = new cljs.core.Keyword(null,"col","col",-1959363084).cljs$core$IFn$_invoke$arity$1(details);
var msg1 = (cljs.core.truth_(file)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)," "].join(''):null);
var msg2 = (cljs.core.truth_(line)?["[line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),", col ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),"]"].join(''):null);
var msg3 = (cljs.core.truth_((function (){var or__35498__auto__ = msg1;
if(cljs.core.truth_(or__35498__auto__)){
return or__35498__auto__;
} else {
return msg2;
}
})())?" ":null);
var full_msg = cljs.core.apply.call(null,cljs.core.str,msg1,msg2,msg3,msg);
throw cljs.core.ex_info.call(null,full_msg,details);
});
cljs.tools.reader.impl.errors.throw_ex.cljs$lang$maxFixedArity = (2);
cljs.tools.reader.impl.errors.throw_ex.cljs$lang$applyTo = (function (seq44219){
var G__44220 = cljs.core.first.call(null,seq44219);
var seq44219__$1 = cljs.core.next.call(null,seq44219);
var G__44221 = cljs.core.first.call(null,seq44219__$1);
var seq44219__$2 = cljs.core.next.call(null,seq44219__$1);
return cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(G__44220,G__44221,seq44219__$2);
});
/**
* Throws an ExceptionInfo with the given message.
* If rdr is an IndexingReader, additional information about column and line number is provided
*/
cljs.tools.reader.impl.errors.reader_error = (function cljs$tools$reader$impl$errors$reader_error(var_args){
var args__36784__auto__ = [];
var len__36777__auto___44227 = arguments.length;
var i__36778__auto___44228 = (0);
while(true){
if((i__36778__auto___44228 < len__36777__auto___44227)){
args__36784__auto__.push((arguments[i__36778__auto___44228]));
var G__44229 = (i__36778__auto___44228 + (1));
i__36778__auto___44228 = G__44229;
continue;
} else {
}
break;
}
var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null);
return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__);
});
cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic = (function (rdr,msgs){
return cljs.tools.reader.impl.errors.throw_ex.call(null,rdr,new cljs.core.Keyword(null,"reader-error","reader-error",1610253121),cljs.core.apply.call(null,cljs.core.str,msgs));
});
cljs.tools.reader.impl.errors.reader_error.cljs$lang$maxFixedArity = (1);
cljs.tools.reader.impl.errors.reader_error.cljs$lang$applyTo = (function (seq44225){
var G__44226 = cljs.core.first.call(null,seq44225);
var seq44225__$1 = cljs.core.next.call(null,seq44225);
return cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(G__44226,seq44225__$1);
});
/**
* Throws an ExceptionInfo with the given message.
* If rdr is an IndexingReader, additional information about column and line number is provided
*/
cljs.tools.reader.impl.errors.illegal_arg_error = (function cljs$tools$reader$impl$errors$illegal_arg_error(var_args){
var args__36784__auto__ = [];
var len__36777__auto___44232 = arguments.length;
var i__36778__auto___44233 = (0);
while(true){
if((i__36778__auto___44233 < len__36777__auto___44232)){
args__36784__auto__.push((arguments[i__36778__auto___44233]));
var G__44234 = (i__36778__auto___44233 + (1));
i__36778__auto___44233 = G__44234;
continue;
} else {
}
break;
}
var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null);
return cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__);
});
cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic = (function (rdr,msgs){
return cljs.tools.reader.impl.errors.throw_ex.call(null,rdr,new cljs.core.Keyword(null,"illegal-argument","illegal-argument",-1845493170),cljs.core.apply.call(null,cljs.core.str,msgs));
});
cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$maxFixedArity = (1);
cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$applyTo = (function (seq44230){
var G__44231 = cljs.core.first.call(null,seq44230);
var seq44230__$1 = cljs.core.next.call(null,seq44230);
return cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(G__44231,seq44230__$1);
});
/**
* Throws an ExceptionInfo with the given message.
* If rdr is an IndexingReader, additional information about column and line number is provided
*/
cljs.tools.reader.impl.errors.eof_error = (function cljs$tools$reader$impl$errors$eof_error(var_args){
var args__36784__auto__ = [];
var len__36777__auto___44237 = arguments.length;
var i__36778__auto___44238 = (0);
while(true){
if((i__36778__auto___44238 < len__36777__auto___44237)){
args__36784__auto__.push((arguments[i__36778__auto___44238]));
var G__44239 = (i__36778__auto___44238 + (1));
i__36778__auto___44238 = G__44239;
continue;
} else {
}
break;
}
var argseq__36785__auto__ = ((((1) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((1)),(0),null)):null);
return cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__36785__auto__);
});
cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic = (function (rdr,msgs){
return cljs.tools.reader.impl.errors.throw_ex.call(null,rdr,new cljs.core.Keyword(null,"eof","eof",-489063237),cljs.core.apply.call(null,cljs.core.str,msgs));
});
cljs.tools.reader.impl.errors.eof_error.cljs$lang$maxFixedArity = (1);
cljs.tools.reader.impl.errors.eof_error.cljs$lang$applyTo = (function (seq44235){
var G__44236 = cljs.core.first.call(null,seq44235);
var seq44235__$1 = cljs.core.next.call(null,seq44235);
return cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(G__44236,seq44235__$1);
});
cljs.tools.reader.impl.errors.throw_eof_delimited = (function cljs$tools$reader$impl$errors$throw_eof_delimited(var_args){
var G__44241 = arguments.length;
switch (G__44241) {
case 4:
return cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4 = (function (rdr,kind,column,line){
return cljs.tools.reader.impl.errors.throw_eof_delimited.call(null,rdr,kind,line,column,null);
});
cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5 = (function (rdr,kind,line,column,n){
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"Unexpected EOF while reading ",(cljs.core.truth_(n)?["item ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)," of "].join(''):null),cljs.core.name.call(null,kind),(cljs.core.truth_(line)?[", starting at line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line)," and column ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(''):null),".");
});
cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$lang$maxFixedArity = 5;
cljs.tools.reader.impl.errors.throw_odd_map = (function cljs$tools$reader$impl$errors$throw_odd_map(rdr,line,col,elements){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"The map literal starting with ",cljs.tools.reader.impl.inspect.inspect.call(null,cljs.core.first.call(null,elements)),(cljs.core.truth_(line)?[" on line ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(line)," column ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)].join(''):null)," contains ",cljs.core.count.call(null,elements)," form(s). Map literals must contain an even number of forms.");
});
cljs.tools.reader.impl.errors.throw_invalid_number = (function cljs$tools$reader$impl$errors$throw_invalid_number(rdr,token){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid number: ",token,".");
});
cljs.tools.reader.impl.errors.throw_invalid_unicode_literal = (function cljs$tools$reader$impl$errors$throw_invalid_unicode_literal(rdr,token){
throw cljs.tools.reader.impl.errors.illegal_arg_error.call(null,rdr,"Invalid unicode literal: \\",token,".");
});
cljs.tools.reader.impl.errors.throw_invalid_unicode_escape = (function cljs$tools$reader$impl$errors$throw_invalid_unicode_escape(rdr,ch){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid unicode escape: \\u",ch,".");
});
cljs.tools.reader.impl.errors.throw_invalid = (function cljs$tools$reader$impl$errors$throw_invalid(rdr,kind,token){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid ",cljs.core.name.call(null,kind),": ",token,".");
});
cljs.tools.reader.impl.errors.throw_eof_at_start = (function cljs$tools$reader$impl$errors$throw_eof_at_start(rdr,kind){
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"Unexpected EOF while reading start of ",cljs.core.name.call(null,kind),".");
});
cljs.tools.reader.impl.errors.throw_bad_char = (function cljs$tools$reader$impl$errors$throw_bad_char(rdr,kind,ch){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid character: ",ch," found while reading ",cljs.core.name.call(null,kind),".");
});
cljs.tools.reader.impl.errors.throw_eof_at_dispatch = (function cljs$tools$reader$impl$errors$throw_eof_at_dispatch(rdr){
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"Unexpected EOF while reading dispatch character.");
});
cljs.tools.reader.impl.errors.throw_bad_dispatch = (function cljs$tools$reader$impl$errors$throw_bad_dispatch(rdr,ch){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"No dispatch macro for ",ch,".");
});
cljs.tools.reader.impl.errors.throw_unmatch_delimiter = (function cljs$tools$reader$impl$errors$throw_unmatch_delimiter(rdr,ch){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Unmatched delimiter ",ch,".");
});
cljs.tools.reader.impl.errors.throw_eof_reading = (function cljs$tools$reader$impl$errors$throw_eof_reading(var_args){
var args__36784__auto__ = [];
var len__36777__auto___44247 = arguments.length;
var i__36778__auto___44248 = (0);
while(true){
if((i__36778__auto___44248 < len__36777__auto___44247)){
args__36784__auto__.push((arguments[i__36778__auto___44248]));
var G__44249 = (i__36778__auto___44248 + (1));
i__36778__auto___44248 = G__44249;
continue;
} else {
}
break;
}
var argseq__36785__auto__ = ((((2) < args__36784__auto__.length))?(new cljs.core.IndexedSeq(args__36784__auto__.slice((2)),(0),null)):null);
return cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__36785__auto__);
});
cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic = (function (rdr,kind,start){
var init = (function (){var G__44246 = kind;
var G__44246__$1 = (((G__44246 instanceof cljs.core.Keyword))?G__44246.fqn:null);
switch (G__44246__$1) {
case "regex":
return "#\"";
break;
case "string":
return "\"";
break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__44246__$1)].join('')));
}
})();
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"Unexpected EOF reading ",cljs.core.name.call(null,kind)," starting ",cljs.core.apply.call(null,cljs.core.str,init,start),".");
});
cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$maxFixedArity = (2);
cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$applyTo = (function (seq44243){
var G__44244 = cljs.core.first.call(null,seq44243);
var seq44243__$1 = cljs.core.next.call(null,seq44243);
var G__44245 = cljs.core.first.call(null,seq44243__$1);
var seq44243__$2 = cljs.core.next.call(null,seq44243__$1);
return cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(G__44244,G__44245,seq44243__$2);
});
cljs.tools.reader.impl.errors.throw_no_dispatch = (function cljs$tools$reader$impl$errors$throw_no_dispatch(rdr,ch){
return cljs.tools.reader.impl.errors.throw_bad_dispatch.call(null,rdr,ch);
});
cljs.tools.reader.impl.errors.throw_invalid_unicode_char = (function cljs$tools$reader$impl$errors$throw_invalid_unicode_char(rdr,token){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid unicode character \\",token,".");
});
cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token = (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit_in_token(rdr,ch,token){
return cljs.tools.reader.impl.errors.illegal_arg_error.call(null,rdr,"Invalid digit ",ch," in unicode character \\",token,".");
});
cljs.tools.reader.impl.errors.throw_invalid_unicode_digit = (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit(rdr,ch){
return cljs.tools.reader.impl.errors.illegal_arg_error.call(null,rdr,"Invalid digit ",ch," in unicode character.");
});
cljs.tools.reader.impl.errors.throw_invalid_unicode_len = (function cljs$tools$reader$impl$errors$throw_invalid_unicode_len(rdr,actual,expected){
return cljs.tools.reader.impl.errors.illegal_arg_error.call(null,rdr,"Invalid unicode literal. Unicode literals should be ",expected,"characters long. ","value suppled is ",actual,"characters long.");
});
cljs.tools.reader.impl.errors.throw_invalid_character_literal = (function cljs$tools$reader$impl$errors$throw_invalid_character_literal(rdr,token){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid character literal \\u",token,".");
});
cljs.tools.reader.impl.errors.throw_invalid_octal_len = (function cljs$tools$reader$impl$errors$throw_invalid_octal_len(rdr,token){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid octal escape sequence in a character literal:",token,". Octal escape sequences must be 3 or fewer digits.");
});
cljs.tools.reader.impl.errors.throw_bad_octal_number = (function cljs$tools$reader$impl$errors$throw_bad_octal_number(rdr){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Octal escape sequence must be in range [0, 377].");
});
cljs.tools.reader.impl.errors.throw_unsupported_character = (function cljs$tools$reader$impl$errors$throw_unsupported_character(rdr,token){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Unsupported character: ",token,".");
});
cljs.tools.reader.impl.errors.throw_eof_in_character = (function cljs$tools$reader$impl$errors$throw_eof_in_character(rdr){
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"Unexpected EOF while reading character.");
});
cljs.tools.reader.impl.errors.throw_bad_escape_char = (function cljs$tools$reader$impl$errors$throw_bad_escape_char(rdr,ch){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Unsupported escape character: \\",ch,".");
});
cljs.tools.reader.impl.errors.throw_single_colon = (function cljs$tools$reader$impl$errors$throw_single_colon(rdr){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"A single colon is not a valid keyword.");
});
cljs.tools.reader.impl.errors.throw_bad_metadata = (function cljs$tools$reader$impl$errors$throw_bad_metadata(rdr,x){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Metadata cannot be ",cljs.tools.reader.impl.inspect.inspect.call(null,x),". Metadata must be a Symbol, Keyword, String or Map.");
});
cljs.tools.reader.impl.errors.throw_bad_metadata_target = (function cljs$tools$reader$impl$errors$throw_bad_metadata_target(rdr,target){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Metadata can not be applied to ",cljs.tools.reader.impl.inspect.inspect.call(null,target),". ","Metadata can only be applied to IMetas.");
});
cljs.tools.reader.impl.errors.throw_feature_not_keyword = (function cljs$tools$reader$impl$errors$throw_feature_not_keyword(rdr,feature){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Feature cannot be ",cljs.tools.reader.impl.inspect.inspect.call(null,feature)," Features must be keywords.");
});
cljs.tools.reader.impl.errors.throw_ns_map_no_map = (function cljs$tools$reader$impl$errors$throw_ns_map_no_map(rdr,ns_name){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Namespaced map with namespace ",ns_name," does not specify a map.");
});
cljs.tools.reader.impl.errors.throw_bad_ns = (function cljs$tools$reader$impl$errors$throw_bad_ns(rdr,ns_name){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid value used as namespace in namespaced map: ",ns_name,".");
});
cljs.tools.reader.impl.errors.throw_bad_reader_tag = (function cljs$tools$reader$impl$errors$throw_bad_reader_tag(rdr,tag){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"Invalid reader tag: ",cljs.tools.reader.impl.inspect.inspect.call(null,tag),". Reader tags must be symbols.");
});
cljs.tools.reader.impl.errors.throw_unknown_reader_tag = (function cljs$tools$reader$impl$errors$throw_unknown_reader_tag(rdr,tag){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,"No reader function for tag ",cljs.tools.reader.impl.inspect.inspect.call(null,tag),".");
});
cljs.tools.reader.impl.errors.duplicate_keys_error = (function cljs$tools$reader$impl$errors$duplicate_keys_error(msg,coll){
var duplicates = (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates(seq){
var iter__36380__auto__ = (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__44261(s__44262){
return (new cljs.core.LazySeq(null,(function (){
var s__44262__$1 = s__44262;
while(true){
var temp__5457__auto__ = cljs.core.seq.call(null,s__44262__$1);
if(temp__5457__auto__){
var s__44262__$2 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__44262__$2)){
var c__36378__auto__ = cljs.core.chunk_first.call(null,s__44262__$2);
var size__36379__auto__ = cljs.core.count.call(null,c__36378__auto__);
var b__44264 = cljs.core.chunk_buffer.call(null,size__36379__auto__);
if((function (){var i__44263 = (0);
while(true){
if((i__44263 < size__36379__auto__)){
var vec__44265 = cljs.core._nth.call(null,c__36378__auto__,i__44263);
var id = cljs.core.nth.call(null,vec__44265,(0),null);
var freq = cljs.core.nth.call(null,vec__44265,(1),null);
if((freq > (1))){
cljs.core.chunk_append.call(null,b__44264,id);
var G__44271 = (i__44263 + (1));
i__44263 = G__44271;
continue;
} else {
var G__44272 = (i__44263 + (1));
i__44263 = G__44272;
continue;
}
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__44264),cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__44261.call(null,cljs.core.chunk_rest.call(null,s__44262__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__44264),null);
}
} else {
var vec__44268 = cljs.core.first.call(null,s__44262__$2);
var id = cljs.core.nth.call(null,vec__44268,(0),null);
var freq = cljs.core.nth.call(null,vec__44268,(1),null);
if((freq > (1))){
return cljs.core.cons.call(null,id,cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__44261.call(null,cljs.core.rest.call(null,s__44262__$2)));
} else {
var G__44273 = cljs.core.rest.call(null,s__44262__$2);
s__44262__$1 = G__44273;
continue;
}
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__36380__auto__.call(null,cljs.core.frequencies.call(null,seq));
});
var dups = duplicates.call(null,coll);
return cljs.core.apply.call(null,cljs.core.str,msg,(((cljs.core.count.call(null,dups) > (1)))?"s":null),": ",cljs.core.interpose.call(null,", ",dups));
});
cljs.tools.reader.impl.errors.throw_dup_keys = (function cljs$tools$reader$impl$errors$throw_dup_keys(rdr,kind,ks){
return cljs.tools.reader.impl.errors.reader_error.call(null,rdr,cljs.tools.reader.impl.errors.duplicate_keys_error.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(clojure.string.capitalize.call(null,cljs.core.name.call(null,kind)))," literal contains duplicate key"].join(''),ks));
});
cljs.tools.reader.impl.errors.throw_eof_error = (function cljs$tools$reader$impl$errors$throw_eof_error(rdr,line){
if(cljs.core.truth_(line)){
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"EOF while reading, starting at line ",line,".");
} else {
return cljs.tools.reader.impl.errors.eof_error.call(null,rdr,"EOF while reading.");
}
});
//# sourceMappingURL=errors.js.map?rel=1517021946468
@@ -0,0 +1 @@
{"version":3,"file":"\/home\/didier\/clojupyter\/website\/target\/cljsbuild\/public\/js\/out\/cljs\/tools\/reader\/impl\/errors.js","sources":["errors.cljs?rel=1517021946470"],"lineCount":413,"mappings":"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\/CAAMe,sGAAgB5D,IAAI6C,KAAKY;AAA\/B,AACE,gEAAA,yBAAA,uDAAA,zIAACzB,qDAAahC,0BAA0ByD,2BAA2B,AAACT,yBAAKH;;AAE3E,sDAAA,tDAAMgB,oHAAuB7D;AAA7B,AACE,6DAAA,tDAACuC,kDAAUvC;;AAEb,mDAAA,nDAAM8D,8GAAoB9D,IAAIyD;AAA9B,AACE,gEAAA,4BAAA,rFAACzB,qDAAahC,6BAA6ByD;;AAE7C,wDAAA,xDAAMM,wHAAyB\/D,IAAIyD;AAAnC,AACE,gEAAA,0BAAA,nFAACzB,qDAAahC,2BAA2ByD;;AAE3C,AAAA,kDAAA,0DAAAjD,5GAAMwD;AAAN,AAAA,IAAAvD,sBAAA;AAAA,AAAA,IAAAC,2BAAA,AAAA;AAAA,AAAA,IAAAC,yBAAA;;AAAA,AAAA,GAAA,CAAAA,yBAAAD;AAAA,AAAA,AAAAD,yBAAA,CAAA,UAAAE;;AAAA,eAAA,CAAAA,yBAAA;;;;AAAA;;;;AALine truncated
@@ -0,0 +1,90 @@
;; Copyright (c) Russ Olsen, Nicola Mometto, Rich Hickey & contributors.
;; 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.tools.reader.impl.inspect)
(declare inspect*)
(defn- inspect*-col [truncate col start end]
(let [n (count col)
l (if truncate 0 (min 10 n))
elements (map (partial inspect* true) (take l col))
content (apply str (interpose " " elements))
suffix (if (< l n) "...")]
(str start content suffix end)))
(defn- dispatch-inspect
[_ x]
(cond
(nil? x) :nil
(string? x) :string
(keyword? x) :strable
(number? x) :strable
(symbol? x) :strable
(vector? x) :vector
(list? x) :list
(map? x) :map
(set? x) :set
(= x true) :strable
(= x false) :strable
:default (type x)))
(defmulti inspect* dispatch-inspect)
(defmethod inspect* :string [truncate ^String x]
(let [n (if truncate 5 20)
suffix (if (> (.-length x) n) "...\"" "\"")]
(str
\"
(.substring ^String x 0 (min n (.-length x)))
suffix)))
(defmethod inspect* :strable [truncate x] (str x))
(defmethod inspect* cljs.coreIndexedSeq [truncate x]
"<indexed seq>")
(defmethod inspect* cljs.core/PersistentArrayMapSeq [truncate x]
"<map seq>")
(defmethod inspect* cljs.core/NodeSeq [truncate x]
"<map seq>")
(defmethod inspect* cljs.core/Cons [truncate x] "<cons>")
(defmethod inspect* cljs.core/LazySeq [truncate x] "<lazy seq>")
(defmethod inspect* :nil [_ _] "nil")
(defmethod inspect* :list [truncate col]
(inspect*-col truncate col \( \)))
(defmethod inspect* :map [truncate m]
(let [len (count m)
n-shown (if truncate 0 len)
contents (apply concat (take n-shown m))
suffix (if (> len n-shown) "...}" \})]
(inspect*-col truncate contents \{ suffix)))
(defmethod inspect* :set [truncate col]
(inspect*-col truncate col "#{" \}))
(defmethod inspect* :vector [truncate col]
(inspect*-col truncate col \[ \]))
(defmethod inspect* :default [truncate x]
(pr-str (type x)))
(defn inspect
"Return a string description of the value supplied.
May be the a string version of the value itself (e.g. \"true\")
or it may be a description (e.g. \"an instance of Foo\").
If truncate is true then return a very terse version of
the inspection."
([x] (inspect* false x))
([truncate x] (inspect* truncate x)))
@@ -0,0 +1 @@
{:rename-macros {}, :renames {}, :externs {Error {}}, :use-macros {}, :excludes #{}, :name cljs.tools.reader.impl.inspect, :imports nil, :requires nil, :cljs.spec/speced-vars [], :uses nil, :defs {inspect* {:name cljs.tools.reader.impl.inspect/inspect*, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :line 37, :column 1, :end-line 37, :end-column 19, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :line 37, :column 11, :end-line 37, :end-column 19}, :tag cljs.core/MultiFn}, inspect*-col {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :line 13, :column 8, :end-line 13, :end-column 20, :private true, :arglists (quote ([truncate col start end]))}, :private true, :name cljs.tools.reader.impl.inspect/inspect*-col, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :end-column 20, :method-params ([truncate col start end]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 13, :end-line 13, :max-fixed-arity 4, :fn-var true, :arglists (quote ([truncate col start end]))}, dispatch-inspect {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :line 21, :column 8, :end-line 21, :end-column 24, :private true, :arglists (quote ([_ x]))}, :private true, :name cljs.tools.reader.impl.inspect/dispatch-inspect, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :end-column 24, :method-params ([_ x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 21, :end-line 21, :max-fixed-arity 2, :fn-var true, :arglists (quote ([_ x]))}, inspect {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :line 83, :column 7, :end-line 83, :end-column 14, :arglists (quote ([x] [truncate 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 {:variadic false, :max-fixed-arity 2, :method-params ([x] [truncate x]), :arglists ([x] [truncate x]), :arglists-meta (nil nil)}}, :name cljs.tools.reader.impl.inspect/inspect, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/inspect.cljs", :end-column 14, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([x] [truncate x]), :arglists ([x] [truncate x]), :arglists-meta (nil nil)}, :method-params ([x] [truncate x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 83, :end-line 83, :max-fixed-arity 2, :fn-var true, :arglists ([x] [truncate 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."}}, :cljs.spec/registry-ref [], :require-macros nil, :cljs.analyzer/constants {:seen #{:default :string :vector :strable :list :nil :set :hierarchy :map}, :order [:nil :string :strable :vector :list :map :set :default :hierarchy]}, :doc nil}
@@ -0,0 +1,156 @@
// Compiled by ClojureScript 1.9.946 {}
goog.provide('cljs.tools.reader.impl.inspect');
goog.require('cljs.core');
cljs.tools.reader.impl.inspect.inspect_STAR__col = (function cljs$tools$reader$impl$inspect$inspect_STAR__col(truncate,col,start,end){
var n = cljs.core.count.call(null,col);
var l = (cljs.core.truth_(truncate)?(0):(function (){var x__35857__auto__ = (10);
var y__35858__auto__ = n;
return ((x__35857__auto__ < y__35858__auto__) ? x__35857__auto__ : y__35858__auto__);
})());
var elements = cljs.core.map.call(null,cljs.core.partial.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,true),cljs.core.take.call(null,l,col));
var content = cljs.core.apply.call(null,cljs.core.str,cljs.core.interpose.call(null," ",elements));
var suffix = (((l < n))?"...":null);
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(start),cljs.core.str.cljs$core$IFn$_invoke$arity$1(content),cljs.core.str.cljs$core$IFn$_invoke$arity$1(suffix),cljs.core.str.cljs$core$IFn$_invoke$arity$1(end)].join('');
});
cljs.tools.reader.impl.inspect.dispatch_inspect = (function cljs$tools$reader$impl$inspect$dispatch_inspect(_,x){
if((x == null)){
return new cljs.core.Keyword(null,"nil","nil",99600501);
} else {
if(typeof x === 'string'){
return new cljs.core.Keyword(null,"string","string",-1989541586);
} else {
if((x instanceof cljs.core.Keyword)){
return new cljs.core.Keyword(null,"strable","strable",1877668047);
} else {
if(typeof x === 'number'){
return new cljs.core.Keyword(null,"strable","strable",1877668047);
} else {
if((x instanceof cljs.core.Symbol)){
return new cljs.core.Keyword(null,"strable","strable",1877668047);
} else {
if(cljs.core.vector_QMARK_.call(null,x)){
return new cljs.core.Keyword(null,"vector","vector",1902966158);
} else {
if(cljs.core.list_QMARK_.call(null,x)){
return new cljs.core.Keyword(null,"list","list",765357683);
} else {
if(cljs.core.map_QMARK_.call(null,x)){
return new cljs.core.Keyword(null,"map","map",1371690461);
} else {
if(cljs.core.set_QMARK_.call(null,x)){
return new cljs.core.Keyword(null,"set","set",304602554);
} else {
if(cljs.core._EQ_.call(null,x,true)){
return new cljs.core.Keyword(null,"strable","strable",1877668047);
} else {
if(cljs.core._EQ_.call(null,x,false)){
return new cljs.core.Keyword(null,"strable","strable",1877668047);
} else {
return cljs.core.type.call(null,x);
}
}
}
}
}
}
}
}
}
}
}
});
if(typeof cljs.tools.reader.impl.inspect.inspect_STAR_ !== 'undefined'){
} else {
cljs.tools.reader.impl.inspect.inspect_STAR_ = (function (){var method_table__36553__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var prefer_table__36554__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var method_cache__36555__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var cached_hierarchy__36556__auto__ = cljs.core.atom.call(null,cljs.core.PersistentArrayMap.EMPTY);
var hierarchy__36557__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.tools.reader.impl.inspect","inspect*"),cljs.tools.reader.impl.inspect.dispatch_inspect,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__36557__auto__,method_table__36553__auto__,prefer_table__36554__auto__,method_cache__36555__auto__,cached_hierarchy__36556__auto__));
})();
}
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"string","string",-1989541586),(function (truncate,x){
var n = (cljs.core.truth_(truncate)?(5):(20));
var suffix = (((x.length > n))?"...\"":"\"");
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1("\""),cljs.core.str.cljs$core$IFn$_invoke$arity$1(x.substring((0),(function (){var x__35857__auto__ = n;
var y__35858__auto__ = x.length;
return ((x__35857__auto__ < y__35858__auto__) ? x__35857__auto__ : y__35858__auto__);
})())),cljs.core.str.cljs$core$IFn$_invoke$arity$1(suffix)].join('');
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"strable","strable",1877668047),(function (truncate,x){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join('');
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.coreIndexedSeq,(function (truncate,x){
return "<indexed seq>";
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.PersistentArrayMapSeq,(function (truncate,x){
return "<map seq>";
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.NodeSeq,(function (truncate,x){
return "<map seq>";
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.Cons,(function (truncate,x){
return "<cons>";
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,cljs.core.LazySeq,(function (truncate,x){
return "<lazy seq>";
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"nil","nil",99600501),(function (_,___$1){
return "nil";
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"list","list",765357683),(function (truncate,col){
return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,truncate,col,"(",")");
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"map","map",1371690461),(function (truncate,m){
var len = cljs.core.count.call(null,m);
var n_shown = (cljs.core.truth_(truncate)?(0):len);
var contents = cljs.core.apply.call(null,cljs.core.concat,cljs.core.take.call(null,n_shown,m));
var suffix = (((len > n_shown))?"...}":"}");
return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,truncate,contents,"{",suffix);
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"set","set",304602554),(function (truncate,col){
return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,truncate,col,"#{","}");
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"vector","vector",1902966158),(function (truncate,col){
return cljs.tools.reader.impl.inspect.inspect_STAR__col.call(null,truncate,col,"[","]");
}));
cljs.core._add_method.call(null,cljs.tools.reader.impl.inspect.inspect_STAR_,new cljs.core.Keyword(null,"default","default",-1987822328),(function (truncate,x){
return cljs.core.pr_str.call(null,cljs.core.type.call(null,x));
}));
/**
* Return a string description of the value supplied.
* May be the a string version of the value itself (e.g. "true")
* or it may be a description (e.g. "an instance of Foo").
* If truncate is true then return a very terse version of
* the inspection.
*/
cljs.tools.reader.impl.inspect.inspect = (function cljs$tools$reader$impl$inspect$inspect(var_args){
var G__44215 = arguments.length;
switch (G__44215) {
case 1:
return cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1 = (function (x){
return cljs.tools.reader.impl.inspect.inspect_STAR_.call(null,false,x);
});
cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2 = (function (truncate,x){
return cljs.tools.reader.impl.inspect.inspect_STAR_.call(null,truncate,x);
});
cljs.tools.reader.impl.inspect.inspect.cljs$lang$maxFixedArity = 2;
//# sourceMappingURL=inspect.js.map?rel=1517021946396
@@ -0,0 +1 @@
{"version":3,"file":"\/home\/didier\/clojupyter\/website\/target\/cljsbuild\/public\/js\/out\/cljs\/tools\/reader\/impl\/inspect.js","sources":["inspect.cljs?rel=1517021946397"],"lineCount":156,"mappings":"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","names":["cljs.tools.reader.impl.inspect\/inspect*-col","truncate","col","start","end","n","cljs.core\/count","l","x__35857__auto__","y__35858__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","method-table__36553__auto__","cljs.core\/atom","prefer-table__36554__auto__","method-cache__36555__auto__","cached-hierarchy__36556__auto__","hierarchy__36557__auto__","cljs.core\/get","cljs.core\/get-global-hierarchy","cljs.core\/MultiFn","cljs.core\/symbol","cljs.core\/-add-method","cljs\/coreIndexedSeq","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__44215","cljs.tools.reader.impl.inspect\/inspect","js\/Error"]}
@@ -0,0 +1,97 @@
;; Copyright (c) Nicola Mometto, Rich Hickey & contributors.
;; 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.tools.reader.impl.utils
(:refer-clojure :exclude [char])
(:require
[clojure.string :as string]
[goog.string :as gstring]))
(defn char [x]
(when-not (nil? x)
(cljs.core/char x)))
(defn ^boolean ex-info? [ex]
(instance? cljs.core.ExceptionInfo ex))
(defrecord ReaderConditional [splicing? form])
(defn ^boolean reader-conditional?
"Return true if the value is the data representation of a reader conditional"
[value]
(instance? ReaderConditional value))
(defn reader-conditional
"Construct a data representation of a reader conditional.
If true, splicing? indicates read-cond-splicing."
[form splicing?]
(ReaderConditional. splicing? form))
(extend-protocol IPrintWithWriter
ReaderConditional
(-pr-writer [coll writer opts]
(-write writer (str "#?" (when (:splicing? coll) "@")))
(pr-writer (:form coll) writer opts)))
(def ws-rx #"[\s]")
(defn ^boolean whitespace?
"Checks whether a given character is whitespace"
[ch]
(when-not (nil? ch)
(if (identical? ch \,)
true
(.test ws-rx ch))))
(defn ^boolean numeric?
"Checks whether a given character is numeric"
[ch]
(when-not (nil? ch)
(gstring/isNumeric ch)))
(defn ^boolean newline?
"Checks whether the character is a newline"
[c]
(or (identical? \newline c)
(identical? "\n" c)
(nil? c)))
(defn desugar-meta
"Resolves syntactical sugar in metadata" ;; could be combined with some other desugar?
[f]
(cond
(keyword? f) {f true}
(symbol? f) {:tag f}
(string? f) {:tag f}
:else f))
(def last-id (atom 0))
(defn next-id
[]
(swap! last-id inc))
(defn namespace-keys [ns keys]
(for [key keys]
(if (or (symbol? key)
(keyword? key))
(let [[key-ns key-name] ((juxt namespace name) key)
->key (if (symbol? key) symbol keyword)]
(cond
(nil? key-ns)
(->key ns key-name)
(= "_" key-ns)
(->key key-name)
:else
key))
key)))
(defn second' [[a b]]
(when-not a b))
@@ -0,0 +1 @@
{:rename-macros {}, :renames {}, :use-macros {}, :excludes #{char}, :name cljs.tools.reader.impl.utils, :imports nil, :requires {string clojure.string, clojure.string clojure.string, gstring goog.string, goog.string goog.string}, :cljs.spec/speced-vars [], :uses nil, :defs {reader-conditional {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 29, :column 7, :end-line 29, :end-column 25, :arglists (quote ([form splicing?])), :doc "Construct a data representation of a reader conditional.\n If true, splicing? indicates read-cond-splicing."}, :name cljs.tools.reader.impl.utils/reader-conditional, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :end-column 25, :method-params ([form splicing?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 29, :end-line 29, :max-fixed-arity 2, :fn-var true, :arglists (quote ([form splicing?])), :doc "Construct a data representation of a reader conditional.\n If true, splicing? indicates read-cond-splicing."}, whitespace? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 43, :column 16, :end-line 43, :end-column 27, :tag boolean, :arglists (quote ([ch])), :doc "Checks whether a given character is whitespace"}, :name cljs.tools.reader.impl.utils/whitespace?, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :end-column 27, :method-params ([ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 43, :ret-tag boolean, :end-line 43, :max-fixed-arity 1, :tag boolean, :fn-var true, :arglists (quote ([ch])), :doc "Checks whether a given character is whitespace"}, last-id {:name cljs.tools.reader.impl.utils/last-id, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 73, :column 1, :end-line 73, :end-column 13, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 73, :column 6, :end-line 73, :end-column 13}, :tag any}, char {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 15, :column 7, :end-line 15, :end-column 11, :arglists (quote ([x]))}, :name cljs.tools.reader.impl.utils/char, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :end-column 11, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 15, :end-line 15, :max-fixed-arity 1, :fn-var true, :arglists (quote ([x]))}, numeric? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 51, :column 16, :end-line 51, :end-column 24, :tag boolean, :arglists (quote ([ch])), :doc "Checks whether a given character is numeric"}, :name cljs.tools.reader.impl.utils/numeric?, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :end-column 24, :method-params ([ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 51, :ret-tag boolean, :end-line 51, :max-fixed-arity 1, :tag boolean, :fn-var true, :arglists (quote ([ch])), :doc "Checks whether a given character is numeric"}, ReaderConditional {:num-fields 2, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name cljs.tools.reader.impl.utils/ReaderConditional, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :end-column 29, :type true, :column 12, :internal-ctor true, :line 22, :record true, :end-line 22, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, second' {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 96, :column 7, :end-line 96, :end-column 14, :arglists (quote ([[a b]]))}, :name cljs.tools.reader.impl.utils/second', :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :end-column 14, :method-params ([p__44193]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 96, :end-line 96, :max-fixed-arity 1, :fn-var true, :arglists (quote ([[a b]]))}, desugar-meta {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/impl/utils.cljs", :line 64, :column 7, :end-line 64, :end-column 19, :arglists (quote ([f])),Line truncated
+356
View File
@@ -0,0 +1,356 @@
// Compiled by ClojureScript 1.9.946 {}
goog.provide('cljs.tools.reader.impl.utils');
goog.require('cljs.core');
goog.require('clojure.string');
goog.require('goog.string');
cljs.tools.reader.impl.utils.char$ = (function cljs$tools$reader$impl$utils$char(x){
if((x == null)){
return null;
} else {
return cljs.core.char$.call(null,x);
}
});
cljs.tools.reader.impl.utils.ex_info_QMARK_ = (function cljs$tools$reader$impl$utils$ex_info_QMARK_(ex){
return (ex instanceof cljs.core.ExceptionInfo);
});
/**
* @constructor
* @implements {cljs.core.IRecord}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
*/
cljs.tools.reader.impl.utils.ReaderConditional = (function (splicing_QMARK_,form,__meta,__extmap,__hash){
this.splicing_QMARK_ = splicing_QMARK_;
this.form = form;
this.__meta = __meta;
this.__extmap = __extmap;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2229667594;
this.cljs$lang$protocol_mask$partition1$ = 139264;
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this__36186__auto__,k__36187__auto__){
var self__ = this;
var this__36186__auto____$1 = this;
return this__36186__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__36187__auto__,null);
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this__36188__auto__,k44173,else__36189__auto__){
var self__ = this;
var this__36188__auto____$1 = this;
var G__44177 = k44173;
var G__44177__$1 = (((G__44177 instanceof cljs.core.Keyword))?G__44177.fqn:null);
switch (G__44177__$1) {
case "splicing?":
return self__.splicing_QMARK_;
break;
case "form":
return self__.form;
break;
default:
return cljs.core.get.call(null,self__.__extmap,k44173,else__36189__auto__);
}
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (this__36200__auto__,writer__36201__auto__,opts__36202__auto__){
var self__ = this;
var this__36200__auto____$1 = this;
var pr_pair__36203__auto__ = ((function (this__36200__auto____$1){
return (function (keyval__36204__auto__){
return cljs.core.pr_sequential_writer.call(null,writer__36201__auto__,cljs.core.pr_writer,""," ","",opts__36202__auto__,keyval__36204__auto__);
});})(this__36200__auto____$1))
;
return cljs.core.pr_sequential_writer.call(null,writer__36201__auto__,pr_pair__36203__auto__,"#cljs.tools.reader.impl.utils.ReaderConditional{",", ","}",opts__36202__auto__,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),self__.splicing_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),self__.form],null))], null),self__.__extmap));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (G__44172){
var self__ = this;
var G__44172__$1 = this;
return (new cljs.core.RecordIter((0),G__44172__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),new cljs.core.Keyword(null,"form","form",-1624062471)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator.call(null,self__.__extmap):cljs.core.nil_iter.call(null))));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1 = (function (this__36184__auto__){
var self__ = this;
var this__36184__auto____$1 = this;
return self__.__meta;
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (this__36181__auto__){
var self__ = this;
var this__36181__auto____$1 = this;
return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,self__.__extmap,self__.__hash));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1 = (function (this__36190__auto__){
var self__ = this;
var this__36190__auto____$1 = this;
return (2 + cljs.core.count.call(null,self__.__extmap));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1 = (function (this__36182__auto__){
var self__ = this;
var this__36182__auto____$1 = this;
var h__35954__auto__ = self__.__hash;
if(!((h__35954__auto__ == null))){
return h__35954__auto__;
} else {
var h__35954__auto____$1 = ((function (h__35954__auto__,this__36182__auto____$1){
return (function (coll__36183__auto__){
return (-209062840 ^ cljs.core.hash_unordered_coll.call(null,coll__36183__auto__));
});})(h__35954__auto__,this__36182__auto____$1))
.call(null,this__36182__auto____$1);
self__.__hash = h__35954__auto____$1;
return h__35954__auto____$1;
}
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this44174,other44175){
var self__ = this;
var this44174__$1 = this;
return (!((other44175 == null))) && ((this44174__$1.constructor === other44175.constructor)) && (cljs.core._EQ_.call(null,this44174__$1.splicing_QMARK_,other44175.splicing_QMARK_)) && (cljs.core._EQ_.call(null,this44174__$1.form,other44175.form)) && (cljs.core._EQ_.call(null,this44174__$1.__extmap,other44175.__extmap));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (this__36195__auto__,k__36196__auto__){
var self__ = this;
var this__36195__auto____$1 = this;
if(cljs.core.contains_QMARK_.call(null,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),null,new cljs.core.Keyword(null,"form","form",-1624062471),null], null), null),k__36196__auto__)){
return cljs.core.dissoc.call(null,cljs.core._with_meta.call(null,cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,this__36195__auto____$1),self__.__meta),k__36196__auto__);
} else {
return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,self__.__extmap,k__36196__auto__)),null));
}
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (this__36193__auto__,k__36194__auto__,G__44172){
var self__ = this;
var this__36193__auto____$1 = this;
var pred__44178 = cljs.core.keyword_identical_QMARK_;
var expr__44179 = k__36194__auto__;
if(cljs.core.truth_(pred__44178.call(null,new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),expr__44179))){
return (new cljs.tools.reader.impl.utils.ReaderConditional(G__44172,self__.form,self__.__meta,self__.__extmap,null));
} else {
if(cljs.core.truth_(pred__44178.call(null,new cljs.core.Keyword(null,"form","form",-1624062471),expr__44179))){
return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,G__44172,self__.__meta,self__.__extmap,null));
} else {
return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.assoc.call(null,self__.__extmap,k__36194__auto__,G__44172),null));
}
}
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this__36198__auto__){
var self__ = this;
var this__36198__auto____$1 = this;
return cljs.core.seq.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),self__.splicing_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,"form","form",-1624062471),self__.form],null))], null),self__.__extmap));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (this__36185__auto__,G__44172){
var self__ = this;
var this__36185__auto____$1 = this;
return (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,G__44172,self__.__extmap,self__.__hash));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this__36191__auto__,entry__36192__auto__){
var self__ = this;
var this__36191__auto____$1 = this;
if(cljs.core.vector_QMARK_.call(null,entry__36192__auto__)){
return this__36191__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.call(null,entry__36192__auto__,(0)),cljs.core._nth.call(null,entry__36192__auto__,(1)));
} else {
return cljs.core.reduce.call(null,cljs.core._conj,this__36191__auto____$1,entry__36192__auto__);
}
});
cljs.tools.reader.impl.utils.ReaderConditional.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"splicing?","splicing?",1211935161,null),new cljs.core.Symbol(null,"form","form",16469056,null)], null);
});
cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type = true;
cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq = (function (this__36224__auto__){
return cljs.core._conj.call(null,cljs.core.List.EMPTY,"cljs.tools.reader.impl.utils/ReaderConditional");
});
cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter = (function (this__36224__auto__,writer__36225__auto__){
return cljs.core._write.call(null,writer__36225__auto__,"cljs.tools.reader.impl.utils/ReaderConditional");
});
cljs.tools.reader.impl.utils.__GT_ReaderConditional = (function cljs$tools$reader$impl$utils$__GT_ReaderConditional(splicing_QMARK_,form){
return (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));
});
cljs.tools.reader.impl.utils.map__GT_ReaderConditional = (function cljs$tools$reader$impl$utils$map__GT_ReaderConditional(G__44176){
return (new cljs.tools.reader.impl.utils.ReaderConditional(new cljs.core.Keyword(null,"splicing?","splicing?",-428596366).cljs$core$IFn$_invoke$arity$1(G__44176),new cljs.core.Keyword(null,"form","form",-1624062471).cljs$core$IFn$_invoke$arity$1(G__44176),null,cljs.core.not_empty.call(null,cljs.core.dissoc.call(null,G__44176,new cljs.core.Keyword(null,"splicing?","splicing?",-428596366),new cljs.core.Keyword(null,"form","form",-1624062471))),null));
});
/**
* Return true if the value is the data representation of a reader conditional
*/
cljs.tools.reader.impl.utils.reader_conditional_QMARK_ = (function cljs$tools$reader$impl$utils$reader_conditional_QMARK_(value){
return (value instanceof cljs.tools.reader.impl.utils.ReaderConditional);
});
/**
* Construct a data representation of a reader conditional.
* If true, splicing? indicates read-cond-splicing.
*/
cljs.tools.reader.impl.utils.reader_conditional = (function cljs$tools$reader$impl$utils$reader_conditional(form,splicing_QMARK_){
return (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));
});
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
cljs.core._write.call(null,writer,["#?",cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(new cljs.core.Keyword(null,"splicing?","splicing?",-428596366).cljs$core$IFn$_invoke$arity$1(coll__$1))?"@":null))].join(''));
return cljs.core.pr_writer.call(null,new cljs.core.Keyword(null,"form","form",-1624062471).cljs$core$IFn$_invoke$arity$1(coll__$1),writer,opts);
});
cljs.tools.reader.impl.utils.ws_rx = /[\s]/;
/**
* Checks whether a given character is whitespace
*/
cljs.tools.reader.impl.utils.whitespace_QMARK_ = (function cljs$tools$reader$impl$utils$whitespace_QMARK_(ch){
if((ch == null)){
return null;
} else {
if((ch === ",")){
return true;
} else {
return cljs.tools.reader.impl.utils.ws_rx.test(ch);
}
}
});
/**
* Checks whether a given character is numeric
*/
cljs.tools.reader.impl.utils.numeric_QMARK_ = (function cljs$tools$reader$impl$utils$numeric_QMARK_(ch){
if((ch == null)){
return null;
} else {
return goog.string.isNumeric(ch);
}
});
/**
* Checks whether the character is a newline
*/
cljs.tools.reader.impl.utils.newline_QMARK_ = (function cljs$tools$reader$impl$utils$newline_QMARK_(c){
return (("\n" === c)) || (("\n" === c)) || ((c == null));
});
/**
* Resolves syntactical sugar in metadata
*/
cljs.tools.reader.impl.utils.desugar_meta = (function cljs$tools$reader$impl$utils$desugar_meta(f){
if((f instanceof cljs.core.Keyword)){
return cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]);
} else {
if((f instanceof cljs.core.Symbol)){
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),f], null);
} else {
if(typeof f === 'string'){
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),f], null);
} else {
return f;
}
}
}
});
cljs.tools.reader.impl.utils.last_id = cljs.core.atom.call(null,(0));
cljs.tools.reader.impl.utils.next_id = (function cljs$tools$reader$impl$utils$next_id(){
return cljs.core.swap_BANG_.call(null,cljs.tools.reader.impl.utils.last_id,cljs.core.inc);
});
cljs.tools.reader.impl.utils.namespace_keys = (function cljs$tools$reader$impl$utils$namespace_keys(ns,keys){
var iter__36380__auto__ = (function cljs$tools$reader$impl$utils$namespace_keys_$_iter__44182(s__44183){
return (new cljs.core.LazySeq(null,(function (){
var s__44183__$1 = s__44183;
while(true){
var temp__5457__auto__ = cljs.core.seq.call(null,s__44183__$1);
if(temp__5457__auto__){
var s__44183__$2 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__44183__$2)){
var c__36378__auto__ = cljs.core.chunk_first.call(null,s__44183__$2);
var size__36379__auto__ = cljs.core.count.call(null,c__36378__auto__);
var b__44185 = cljs.core.chunk_buffer.call(null,size__36379__auto__);
if((function (){var i__44184 = (0);
while(true){
if((i__44184 < size__36379__auto__)){
var key = cljs.core._nth.call(null,c__36378__auto__,i__44184);
cljs.core.chunk_append.call(null,b__44185,((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword)))?(function (){var vec__44186 = cljs.core.juxt.call(null,cljs.core.namespace,cljs.core.name).call(null,key);
var key_ns = cljs.core.nth.call(null,vec__44186,(0),null);
var key_name = cljs.core.nth.call(null,vec__44186,(1),null);
var __GT_key = (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);
if((key_ns == null)){
return __GT_key.call(null,ns,key_name);
} else {
if(cljs.core._EQ_.call(null,"_",key_ns)){
return __GT_key.call(null,key_name);
} else {
return key;
}
}
})():key));
var G__44192 = (i__44184 + (1));
i__44184 = G__44192;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__44185),cljs$tools$reader$impl$utils$namespace_keys_$_iter__44182.call(null,cljs.core.chunk_rest.call(null,s__44183__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__44185),null);
}
} else {
var key = cljs.core.first.call(null,s__44183__$2);
return cljs.core.cons.call(null,((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword)))?(function (){var vec__44189 = cljs.core.juxt.call(null,cljs.core.namespace,cljs.core.name).call(null,key);
var key_ns = cljs.core.nth.call(null,vec__44189,(0),null);
var key_name = cljs.core.nth.call(null,vec__44189,(1),null);
var __GT_key = (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);
if((key_ns == null)){
return __GT_key.call(null,ns,key_name);
} else {
if(cljs.core._EQ_.call(null,"_",key_ns)){
return __GT_key.call(null,key_name);
} else {
return key;
}
}
})():key),cljs$tools$reader$impl$utils$namespace_keys_$_iter__44182.call(null,cljs.core.rest.call(null,s__44183__$2)));
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__36380__auto__.call(null,keys);
});
cljs.tools.reader.impl.utils.second_SINGLEQUOTE_ = (function cljs$tools$reader$impl$utils$second_SINGLEQUOTE_(p__44193){
var vec__44194 = p__44193;
var a = cljs.core.nth.call(null,vec__44194,(0),null);
var b = cljs.core.nth.call(null,vec__44194,(1),null);
if(cljs.core.truth_(a)){
return null;
} else {
return b;
}
});
//# sourceMappingURL=utils.js.map?rel=1517021946268
@@ -0,0 +1 @@
{"version":3,"file":"\/home\/didier\/clojupyter\/website\/target\/cljsbuild\/public\/js\/out\/cljs\/tools\/reader\/impl\/utils.js","sources":["utils.cljs?rel=1517021946269"],"lineCount":356,"mappings":";AAQA;;;;AAMA,qCAAA,rCAAMA,iFAAMC;AAAZ,AACE,GAAU,MAAA,LAAMA;AAAhB;;AAAA,AACE,OAACC,0BAAeD;;;AAEpB,8CAAA,9CAAeE,oGAAUC;AAAzB,AACE,sBAAWC,dAAwBD;;AAErC,AAAA,AAAA,AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,AAAA,AAAA,AAAA,6FAAA,WAAAE,oBAAAC,5HAAW0D;;AAAX,AAAA,IAAA3D,0BAAA;AAAA,AAAA,OAAAA,+DAAAC,iBAAA;;;AAAA,AAAA,AAAA,6FAAA,WAAAC,oBAAAC,OAAAC,nIAAWuD;;AAAX,AAAA,IAAAzD,0BAAA;AAAA,AAAA,IAAAG,WAAAF;IAAAE,eAAA,EAAA,CAAAA,oBAAAC,oBAAA,AAAAD,aAAA;AAAA,AAAA,QAAAA;KAAA;AAAAE;;;KAAA;AAAAC;;;;AAAA,OAAAC,wBAAAC,gBAAAP,OAAAC;;;;;AAAA,AAAA,AAAA,yGAAA,WAAAO,oBAAAC,sBAAAC,9JAAW8C;;AAAX,AAAA,IAAAhD,0BAAA;AAAA,AAAA,IAAAG,yBAAA;kBAAAC;AAAA,AAAA,OAAAC,yCAAAJ,sBAAAK,oBAAA,GAAA,IAAA,GAAAJ,oBAAAE;;;AAAA,AAAA,OAAAC,yCAAAJ,sBAAAE,uBAAA,mDAAA,KAAA,IAAAD,oBAAA,AAAAK,2BAAA,mFAAA,KAAAC,2BAAA,KAAA,EAAA,IAAA,AAAAA,sCAAA,CAAA,+DAAAZ,wBAAA,OAAA,KAAAY,2BAAA,KAAA,EAAA,IAAA,AAAAA,sCAAA,CAAA,sDAAAX,aAAA,eAAAE;;;AAAA,AAAA,AAAA,iGAAA,WAAAU,5GAAWuC;;AAAX,AAAA,IAAAvC,eAAA;AAAA,AAAA,YAAAC,qBAAA,IAAAD,aAAA,EAAA,mFAAA,+DAAA,8DAAA,kBAAAV,iBAAA,AAAAY,8BAAAZ,iBAAA,AAAAa;;;AAAA,AAAA,AAAA,yFAAA,WAAAC,pGAAWmC;;AAAX,AAAA,IAAAnC,0BAAA;AAAA,AAAAC;;;AAAA,AAAA,AAAA,+FAAA,WAAAC,1GAAWiC;;AAAX,AAAA,IAAAjC,0BAAA;AAAA,AAAA,2DAAAnB,uBAAAC,YAAAiB,cAAAf,gBAAAiB,hHAAWgC;;;AAAX,AAAA,AAAA,6FAAA,WAAA\/B,xGAAW+B;;AAAX,AAAA,IAAA\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 truncated
@@ -0,0 +1,283 @@
;; Copyright (c) Nicola Mometto, Rich Hickey & contributors.
;; 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 "Protocols and default Reader types implementation"
:author "Bronsa"}
cljs.tools.reader.reader-types
(:refer-clojure :exclude [char read-line])
(:require [cljs.tools.reader.impl.utils :refer [char whitespace? newline?]]
[goog.string])
(:import goog.string.StringBuffer))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; reader protocols
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defprotocol Reader
(read-char [reader]
"Returns the next char from the Reader, nil if the end of stream has been reached")
(peek-char [reader]
"Returns the next char from the Reader without removing it from the reader stream"))
(defprotocol IPushbackReader
(unread [reader ch]
"Pushes back a single character on to the stream"))
(defprotocol IndexingReader
(get-line-number [reader]
"Returns the line number of the next character to be read from the stream")
(get-column-number [reader]
"Returns the column number of the next character to be read from the stream")
(get-file-name [reader]
"Returns the file name the reader is reading from, or nil"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; reader deftypes
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(deftype StringReader
[s s-len ^:mutable s-pos]
Reader
(read-char [reader]
(when (> s-len s-pos)
(let [r (.charAt s s-pos)]
(set! s-pos (inc s-pos))
r)))
(peek-char [reader]
(when (> s-len s-pos)
(.charAt s s-pos))))
(deftype NodeReadableReader [readable ^:mutable buf]
Reader
(read-char [reader]
(if buf
(let [c (aget buf 0)]
(set! buf nil)
(char c))
(let [c (str (.read readable 1))]
(when c
(char c)))))
(peek-char [reader]
(when-not buf
(set! buf (str (.read readable 1))))
(when buf
(char (aget buf 0)))))
(deftype PushbackReader
[^not-native rdr buf buf-len ^:mutable buf-pos]
Reader
(read-char [reader]
(let [c (if (< buf-pos buf-len)
(aget buf buf-pos)
(read-char rdr))]
(when (< buf-pos buf-len)
(set! buf-pos (inc buf-pos)))
(char c)))
(peek-char [reader]
(let [c (if (< buf-pos buf-len)
(aget buf buf-pos)
(peek-char rdr))]
(char c)))
IPushbackReader
(unread [reader ch]
(when ch
(if (zero? buf-pos) (throw (js/Error. "Pushback buffer is full")))
(set! buf-pos (dec buf-pos))
(aset buf buf-pos ch))))
(defn- normalize-newline [^not-native rdr ch]
(if (identical? \return ch)
(let [c (peek-char rdr)]
(when (or (identical? \formfeed c)
(identical? \newline c))
(read-char rdr))
\newline)
ch))
(deftype IndexingPushbackReader
[^not-native rdr ^:mutable line ^:mutable column
^:mutable line-start? ^:mutable prev
^:mutable prev-column file-name]
Reader
(read-char [reader]
(when-let [ch (read-char rdr)]
(let [ch (normalize-newline rdr ch)]
(set! prev line-start?)
(set! line-start? (newline? ch))
(when line-start?
(set! prev-column column)
(set! column 0)
(set! line (inc line)))
(set! column (inc column))
ch)))
(peek-char [reader]
(peek-char rdr))
IPushbackReader
(unread [reader ch]
(if line-start?
(do (set! line (dec line))
(set! column prev-column))
(set! column (dec column)))
(set! line-start? prev)
(unread rdr ch))
IndexingReader
(get-line-number [reader] (int line))
(get-column-number [reader] (int column))
(get-file-name [reader] file-name))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Source Logging support
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn merge-meta
"Returns an object of the same type and value as `obj`, with its
metadata merged over `m`."
[obj m]
(let [orig-meta (meta obj)]
(with-meta obj (merge m (dissoc orig-meta :source)))))
(defn- peek-source-log
"Returns a string containing the contents of the top most source
logging frame."
[frames]
(subs (str (:buffer frames)) (first (:offset frames))))
(defn- log-source-char
"Logs `char` to all currently active source logging frames."
[frames char]
(when-let [buffer (:buffer frames)]
(.append buffer char)))
(defn- drop-last-logged-char
"Removes the last logged character from all currently active source
logging frames. Called when pushing a character back."
[frames]
(when-let [buffer (:buffer frames)]
(.set buffer (subs (str buffer) 0 (dec (.getLength buffer))))))
(deftype SourceLoggingPushbackReader
[^not-native rdr ^:mutable line ^:mutable column
^:mutable line-start? ^:mutable prev
^:mutable prev-column file-name frames]
Reader
(read-char [reader]
(when-let [ch (read-char rdr)]
(let [ch (normalize-newline rdr ch)]
(set! prev line-start?)
(set! line-start? (newline? ch))
(when line-start?
(set! prev-column column)
(set! column 0)
(set! line (inc line)))
(set! column (inc column))
(log-source-char @frames ch)
ch)))
(peek-char [reader]
(peek-char rdr))
IPushbackReader
(unread [reader ch]
(if line-start?
(do (set! line (dec line))
(set! column prev-column))
(set! column (dec column)))
(set! line-start? prev)
(when ch
(drop-last-logged-char @frames))
(unread rdr ch))
IndexingReader
(get-line-number [reader] (int line))
(get-column-number [reader] (int column))
(get-file-name [reader] file-name))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Public API
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; fast check for provided implementations
(defn indexing-reader?
"Returns true if the reader satisfies IndexingReader"
[rdr]
(implements? IndexingReader rdr))
(defn string-reader
"Creates a StringReader from a given string"
([s]
(StringReader. s (count s) 0)))
(defn string-push-back-reader
"Creates a PushbackReader from a given string"
([s]
(string-push-back-reader s 1))
([s buf-len]
(PushbackReader. (string-reader s) (object-array buf-len) buf-len buf-len)))
(defn node-readable-push-back-reader [readable]
(PushbackReader. (NodeReadableReader. readable nil) (object-array 1) 1 1))
(defn indexing-push-back-reader
"Creates an IndexingPushbackReader from a given string or PushbackReader"
([s-or-rdr]
(indexing-push-back-reader s-or-rdr 1))
([s-or-rdr buf-len]
(indexing-push-back-reader s-or-rdr buf-len nil))
([s-or-rdr buf-len file-name]
(IndexingPushbackReader.
(if (string? s-or-rdr) (string-push-back-reader s-or-rdr buf-len) s-or-rdr) 1 1 true nil 0 file-name)))
(defn source-logging-push-back-reader
"Creates a SourceLoggingPushbackReader from a given string or PushbackReader"
([s-or-rdr]
(source-logging-push-back-reader s-or-rdr 1))
([s-or-rdr buf-len]
(source-logging-push-back-reader s-or-rdr buf-len nil))
([s-or-rdr buf-len file-name]
(SourceLoggingPushbackReader.
(if (string? s-or-rdr) (string-push-back-reader s-or-rdr buf-len) s-or-rdr)
1
1
true
nil
0
file-name
(atom {:buffer (StringBuffer.) :offset '(0)}))))
(defn read-line
"Reads a line from the reader or from *in* if no reader is specified"
([^not-native rdr]
(loop [c (read-char rdr) s (StringBuffer.)]
(if (newline? c)
(str s)
(recur (read-char rdr) (.append s c))))))
(defn ^boolean source-logging-reader?
[rdr]
(instance? SourceLoggingPushbackReader rdr))
(defn ^boolean line-start?
"Returns true if rdr is an IndexingReader and the current char starts a new line"
[^not-native rdr]
(when (indexing-reader? rdr)
(== 1 (get-column-number rdr))))
(defn log-source*
[reader f]
(let [buffer (:buffer @(.-frames reader))]
(try
(swap! (.-frames reader) update-in [:offset] conj (.getLength buffer))
(let [ret (f)]
(if (implements? IMeta ret)
(merge-meta ret {:source (peek-source-log @ (.-frames reader))})
ret))
(finally
(swap! (.-frames reader) update-in [:offset] rest)))))
@@ -0,0 +1 @@
{:rename-macros {}, :renames {}, :externs {Error {}}, :use-macros {}, :excludes #{char read-line}, :name cljs.tools.reader.reader-types, :imports {StringBuffer goog.string.StringBuffer}, :requires {cljs.tools.reader.impl.utils cljs.tools.reader.impl.utils, goog.string goog.string, StringBuffer goog.string.StringBuffer}, :cljs.spec/speced-vars [], :uses {whitespace? cljs.tools.reader.impl.utils, char cljs.tools.reader.impl.utils, newline? cljs.tools.reader.impl.utils}, :defs {indexing-push-back-reader {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :line 227, :column 7, :end-line 227, :end-column 32, :arglists (quote ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name])), :doc "Creates an IndexingPushbackReader from a given string or PushbackReader", :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name]), :arglists ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name]), :arglists-meta (nil nil nil)}}, :name cljs.tools.reader.reader-types/indexing-push-back-reader, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :end-column 32, :top-fn {:variadic false, :max-fixed-arity 3, :method-params ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name]), :arglists ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name]), :arglists-meta (nil nil nil)}, :method-params ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name]), :protocol-impl nil, :arglists-meta (nil nil nil), :column 1, :line 227, :end-line 227, :max-fixed-arity 3, :fn-var true, :arglists ([s-or-rdr] [s-or-rdr buf-len] [s-or-rdr buf-len file-name]), :doc "Creates an IndexingPushbackReader from a given string or PushbackReader"}, log-source* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :line 272, :column 7, :end-line 272, :end-column 18, :arglists (quote ([reader f]))}, :name cljs.tools.reader.reader-types/log-source*, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :end-column 18, :method-params ([reader f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 272, :end-line 272, :max-fixed-arity 2, :fn-var true, :arglists (quote ([reader f]))}, merge-meta {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :line 139, :column 7, :end-line 139, :end-column 17, :arglists (quote ([obj m])), :doc "Returns an object of the same type and value as `obj`, with its\nmetadata merged over `m`."}, :name cljs.tools.reader.reader-types/merge-meta, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :end-column 17, :method-params ([obj m]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 139, :end-line 139, :max-fixed-arity 2, :fn-var true, :arglists (quote ([obj m])), :doc "Returns an object of the same type and value as `obj`, with its\nmetadata merged over `m`."}, PushbackReader {:num-fields 4, :protocols #{cljs.tools.reader.reader-types/Reader cljs.tools.reader.reader-types/IPushbackReader}, :name cljs.tools.reader.reader-types/PushbackReader, :file "target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :end-column 24, :type true, :column 10, :line 71, :record false, :end-line 71, :skip-protocol-flag nil}, ->StringReader {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :line 43, :column 10, :end-line 43, :end-column 22, :protocols #{cljs.tools.reader.reader-types/Reader}, :skip-protocol-flag nil, :factory :positional, :arglists (quote ([s s-len s-pos]))}, :protocols #{cljs.tools.reader.reader-types/Reader}, :name cljs.tools.reader.reader-types/->StringReader, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :end-column 22, :method-params ([s s-len s-pos]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :factory :positional, :line 43, :end-line 43, :max-fixed-arity 3, :fn-var true, :arglists (quote ([s s-len s-pos])), :skip-protocol-flag nil}, normalize-newline {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :line 93, :column 8, :end-line 93, :end-column 25, :private true, :arglists (quote ([rdr ch]))}, :private true, :name cljs.tools.reader.reader-types/normalize-newline, :variadic false, :file "target/cljsbuild/public/js/out/cljs/tools/reader/reader_types.cljs", :end-column 25, :method-params ([rdr ch]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 93, :end-line 93, :max-fixed-arity 2, :fn-var true, :arglists (quote ([rdr ch]))}, peek-source-log {:protocol-inline nil, :meta {:file "/home/didier/cLine truncated
@@ -0,0 +1,783 @@
// Compiled by ClojureScript 1.9.946 {}
goog.provide('cljs.tools.reader.reader_types');
goog.require('cljs.core');
goog.require('cljs.tools.reader.impl.utils');
goog.require('goog.string');
goog.require('goog.string.StringBuffer');
/**
* @interface
*/
cljs.tools.reader.reader_types.Reader = function(){};
/**
* Returns the next char from the Reader, nil if the end of stream has been reached
*/
cljs.tools.reader.reader_types.read_char = (function cljs$tools$reader$reader_types$read_char(reader){
if((!((reader == null))) && (!((reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1 == null)))){
return reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(reader);
} else {
var x__36231__auto__ = (((reader == null))?null:reader);
var m__36232__auto__ = (cljs.tools.reader.reader_types.read_char[goog.typeOf(x__36231__auto__)]);
if(!((m__36232__auto__ == null))){
return m__36232__auto__.call(null,reader);
} else {
var m__36232__auto____$1 = (cljs.tools.reader.reader_types.read_char["_"]);
if(!((m__36232__auto____$1 == null))){
return m__36232__auto____$1.call(null,reader);
} else {
throw cljs.core.missing_protocol.call(null,"Reader.read-char",reader);
}
}
}
});
/**
* Returns the next char from the Reader without removing it from the reader stream
*/
cljs.tools.reader.reader_types.peek_char = (function cljs$tools$reader$reader_types$peek_char(reader){
if((!((reader == null))) && (!((reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 == null)))){
return reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(reader);
} else {
var x__36231__auto__ = (((reader == null))?null:reader);
var m__36232__auto__ = (cljs.tools.reader.reader_types.peek_char[goog.typeOf(x__36231__auto__)]);
if(!((m__36232__auto__ == null))){
return m__36232__auto__.call(null,reader);
} else {
var m__36232__auto____$1 = (cljs.tools.reader.reader_types.peek_char["_"]);
if(!((m__36232__auto____$1 == null))){
return m__36232__auto____$1.call(null,reader);
} else {
throw cljs.core.missing_protocol.call(null,"Reader.peek-char",reader);
}
}
}
});
/**
* @interface
*/
cljs.tools.reader.reader_types.IPushbackReader = function(){};
/**
* Pushes back a single character on to the stream
*/
cljs.tools.reader.reader_types.unread = (function cljs$tools$reader$reader_types$unread(reader,ch){
if((!((reader == null))) && (!((reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 == null)))){
return reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(reader,ch);
} else {
var x__36231__auto__ = (((reader == null))?null:reader);
var m__36232__auto__ = (cljs.tools.reader.reader_types.unread[goog.typeOf(x__36231__auto__)]);
if(!((m__36232__auto__ == null))){
return m__36232__auto__.call(null,reader,ch);
} else {
var m__36232__auto____$1 = (cljs.tools.reader.reader_types.unread["_"]);
if(!((m__36232__auto____$1 == null))){
return m__36232__auto____$1.call(null,reader,ch);
} else {
throw cljs.core.missing_protocol.call(null,"IPushbackReader.unread",reader);
}
}
}
});
/**
* @interface
*/
cljs.tools.reader.reader_types.IndexingReader = function(){};
/**
* Returns the line number of the next character to be read from the stream
*/
cljs.tools.reader.reader_types.get_line_number = (function cljs$tools$reader$reader_types$get_line_number(reader){
if((!((reader == null))) && (!((reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 == null)))){
return reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(reader);
} else {
var x__36231__auto__ = (((reader == null))?null:reader);
var m__36232__auto__ = (cljs.tools.reader.reader_types.get_line_number[goog.typeOf(x__36231__auto__)]);
if(!((m__36232__auto__ == null))){
return m__36232__auto__.call(null,reader);
} else {
var m__36232__auto____$1 = (cljs.tools.reader.reader_types.get_line_number["_"]);
if(!((m__36232__auto____$1 == null))){
return m__36232__auto____$1.call(null,reader);
} else {
throw cljs.core.missing_protocol.call(null,"IndexingReader.get-line-number",reader);
}
}
}
});
/**
* Returns the column number of the next character to be read from the stream
*/
cljs.tools.reader.reader_types.get_column_number = (function cljs$tools$reader$reader_types$get_column_number(reader){
if((!((reader == null))) && (!((reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 == null)))){
return reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(reader);
} else {
var x__36231__auto__ = (((reader == null))?null:reader);
var m__36232__auto__ = (cljs.tools.reader.reader_types.get_column_number[goog.typeOf(x__36231__auto__)]);
if(!((m__36232__auto__ == null))){
return m__36232__auto__.call(null,reader);
} else {
var m__36232__auto____$1 = (cljs.tools.reader.reader_types.get_column_number["_"]);
if(!((m__36232__auto____$1 == null))){
return m__36232__auto____$1.call(null,reader);
} else {
throw cljs.core.missing_protocol.call(null,"IndexingReader.get-column-number",reader);
}
}
}
});
/**
* Returns the file name the reader is reading from, or nil
*/
cljs.tools.reader.reader_types.get_file_name = (function cljs$tools$reader$reader_types$get_file_name(reader){
if((!((reader == null))) && (!((reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 == null)))){
return reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(reader);
} else {
var x__36231__auto__ = (((reader == null))?null:reader);
var m__36232__auto__ = (cljs.tools.reader.reader_types.get_file_name[goog.typeOf(x__36231__auto__)]);
if(!((m__36232__auto__ == null))){
return m__36232__auto__.call(null,reader);
} else {
var m__36232__auto____$1 = (cljs.tools.reader.reader_types.get_file_name["_"]);
if(!((m__36232__auto____$1 == null))){
return m__36232__auto____$1.call(null,reader);
} else {
throw cljs.core.missing_protocol.call(null,"IndexingReader.get-file-name",reader);
}
}
}
});
/**
* @constructor
* @implements {cljs.tools.reader.reader_types.Reader}
*/
cljs.tools.reader.reader_types.StringReader = (function (s,s_len,s_pos){
this.s = s;
this.s_len = s_len;
this.s_pos = s_pos;
});
cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
if((self__.s_len > self__.s_pos)){
var r = self__.s.charAt(self__.s_pos);
self__.s_pos = (self__.s_pos + (1));
return r;
} else {
return null;
}
});
cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
if((self__.s_len > self__.s_pos)){
return self__.s.charAt(self__.s_pos);
} else {
return null;
}
});
cljs.tools.reader.reader_types.StringReader.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"s","s",-948495851,null),new cljs.core.Symbol(null,"s-len","s-len",1869978331,null),cljs.core.with_meta(new cljs.core.Symbol(null,"s-pos","s-pos",-540562492,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null))], null);
});
cljs.tools.reader.reader_types.StringReader.cljs$lang$type = true;
cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr = "cljs.tools.reader.reader-types/StringReader";
cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter = (function (this__36169__auto__,writer__36170__auto__,opt__36171__auto__){
return cljs.core._write.call(null,writer__36170__auto__,"cljs.tools.reader.reader-types/StringReader");
});
cljs.tools.reader.reader_types.__GT_StringReader = (function cljs$tools$reader$reader_types$__GT_StringReader(s,s_len,s_pos){
return (new cljs.tools.reader.reader_types.StringReader(s,s_len,s_pos));
});
/**
* @constructor
* @implements {cljs.tools.reader.reader_types.Reader}
*/
cljs.tools.reader.reader_types.NodeReadableReader = (function (readable,buf){
this.readable = readable;
this.buf = buf;
});
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
if(cljs.core.truth_(self__.buf)){
var c = (self__.buf[(0)]);
self__.buf = null;
return cljs.tools.reader.impl.utils.char$.call(null,c);
} else {
var c = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1)))].join('');
if(cljs.core.truth_(c)){
return cljs.tools.reader.impl.utils.char$.call(null,c);
} else {
return null;
}
}
});
cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
if(cljs.core.truth_(self__.buf)){
} else {
self__.buf = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1)))].join('');
}
if(cljs.core.truth_(self__.buf)){
return cljs.tools.reader.impl.utils.char$.call(null,(self__.buf[(0)]));
} else {
return null;
}
});
cljs.tools.reader.reader_types.NodeReadableReader.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"readable","readable",2113054478,null),cljs.core.with_meta(new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null))], null);
});
cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type = true;
cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr = "cljs.tools.reader.reader-types/NodeReadableReader";
cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter = (function (this__36169__auto__,writer__36170__auto__,opt__36171__auto__){
return cljs.core._write.call(null,writer__36170__auto__,"cljs.tools.reader.reader-types/NodeReadableReader");
});
cljs.tools.reader.reader_types.__GT_NodeReadableReader = (function cljs$tools$reader$reader_types$__GT_NodeReadableReader(readable,buf){
return (new cljs.tools.reader.reader_types.NodeReadableReader(readable,buf));
});
/**
* @constructor
* @implements {cljs.tools.reader.reader_types.Reader}
* @implements {cljs.tools.reader.reader_types.IPushbackReader}
*/
cljs.tools.reader.reader_types.PushbackReader = (function (rdr,buf,buf_len,buf_pos){
this.rdr = rdr;
this.buf = buf;
this.buf_len = buf_len;
this.buf_pos = buf_pos;
});
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
var c = (((self__.buf_pos < self__.buf_len))?(self__.buf[self__.buf_pos]):cljs.tools.reader.reader_types.read_char.call(null,self__.rdr));
if((self__.buf_pos < self__.buf_len)){
self__.buf_pos = (self__.buf_pos + (1));
} else {
}
return cljs.tools.reader.impl.utils.char$.call(null,c);
});
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
var c = (((self__.buf_pos < self__.buf_len))?(self__.buf[self__.buf_pos]):cljs.tools.reader.reader_types.peek_char.call(null,self__.rdr));
return cljs.tools.reader.impl.utils.char$.call(null,c);
});
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 = (function (reader,ch){
var self__ = this;
var reader__$1 = this;
if(cljs.core.truth_(ch)){
if((self__.buf_pos === (0))){
throw (new Error("Pushback buffer is full"));
} else {
}
self__.buf_pos = (self__.buf_pos - (1));
return (self__.buf[self__.buf_pos] = ch);
} else {
return null;
}
});
cljs.tools.reader.reader_types.PushbackReader.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)], null)),new cljs.core.Symbol(null,"buf","buf",1426618187,null),new cljs.core.Symbol(null,"buf-len","buf-len",404510846,null),cljs.core.with_meta(new cljs.core.Symbol(null,"buf-pos","buf-pos",-807229033,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null))], null);
});
cljs.tools.reader.reader_types.PushbackReader.cljs$lang$type = true;
cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorStr = "cljs.tools.reader.reader-types/PushbackReader";
cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorPrWriter = (function (this__36169__auto__,writer__36170__auto__,opt__36171__auto__){
return cljs.core._write.call(null,writer__36170__auto__,"cljs.tools.reader.reader-types/PushbackReader");
});
cljs.tools.reader.reader_types.__GT_PushbackReader = (function cljs$tools$reader$reader_types$__GT_PushbackReader(rdr,buf,buf_len,buf_pos){
return (new cljs.tools.reader.reader_types.PushbackReader(rdr,buf,buf_len,buf_pos));
});
cljs.tools.reader.reader_types.normalize_newline = (function cljs$tools$reader$reader_types$normalize_newline(rdr,ch){
if(("\r" === ch)){
var c = cljs.tools.reader.reader_types.peek_char.call(null,rdr);
if((("\f" === c)) || (("\n" === c))){
cljs.tools.reader.reader_types.read_char.call(null,rdr);
} else {
}
return "\n";
} else {
return ch;
}
});
/**
* @constructor
* @implements {cljs.tools.reader.reader_types.IndexingReader}
* @implements {cljs.tools.reader.reader_types.Reader}
* @implements {cljs.tools.reader.reader_types.IPushbackReader}
*/
cljs.tools.reader.reader_types.IndexingPushbackReader = (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){
this.rdr = rdr;
this.line = line;
this.column = column;
this.line_start_QMARK_ = line_start_QMARK_;
this.prev = prev;
this.prev_column = prev_column;
this.file_name = file_name;
});
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
var temp__5457__auto__ = cljs.tools.reader.reader_types.read_char.call(null,self__.rdr);
if(cljs.core.truth_(temp__5457__auto__)){
var ch = temp__5457__auto__;
var ch__$1 = cljs.tools.reader.reader_types.normalize_newline.call(null,self__.rdr,ch);
self__.prev = self__.line_start_QMARK_;
self__.line_start_QMARK_ = cljs.tools.reader.impl.utils.newline_QMARK_.call(null,ch__$1);
if(cljs.core.truth_(self__.line_start_QMARK_)){
self__.prev_column = self__.column;
self__.column = (0);
self__.line = (self__.line + (1));
} else {
}
self__.column = (self__.column + (1));
return ch__$1;
} else {
return null;
}
});
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return cljs.tools.reader.reader_types.peek_char.call(null,self__.rdr);
});
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 = (function (reader,ch){
var self__ = this;
var reader__$1 = this;
if(cljs.core.truth_(self__.line_start_QMARK_)){
self__.line = (self__.line - (1));
self__.column = self__.prev_column;
} else {
self__.column = (self__.column - (1));
}
self__.line_start_QMARK_ = self__.prev;
return cljs.tools.reader.reader_types.unread.call(null,self__.rdr,ch);
});
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return (self__.line | (0));
});
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return (self__.column | (0));
});
cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return self__.file_name;
});
cljs.tools.reader.reader_types.IndexingPushbackReader.getBasis = (function (){
return new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"column","column",-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line-start?","line-start?",1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev","prev",43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev-column","prev-column",324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),new cljs.core.Symbol(null,"file-name","file-name",-13685732,null)], null);
});
cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$type = true;
cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorStr = "cljs.tools.reader.reader-types/IndexingPushbackReader";
cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorPrWriter = (function (this__36169__auto__,writer__36170__auto__,opt__36171__auto__){
return cljs.core._write.call(null,writer__36170__auto__,"cljs.tools.reader.reader-types/IndexingPushbackReader");
});
cljs.tools.reader.reader_types.__GT_IndexingPushbackReader = (function cljs$tools$reader$reader_types$__GT_IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){
return (new cljs.tools.reader.reader_types.IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name));
});
/**
* Returns an object of the same type and value as `obj`, with its
* metadata merged over `m`.
*/
cljs.tools.reader.reader_types.merge_meta = (function cljs$tools$reader$reader_types$merge_meta(obj,m){
var orig_meta = cljs.core.meta.call(null,obj);
return cljs.core.with_meta.call(null,obj,cljs.core.merge.call(null,m,cljs.core.dissoc.call(null,orig_meta,new cljs.core.Keyword(null,"source","source",-433931539))));
});
/**
* Returns a string containing the contents of the top most source
* logging frame.
*/
cljs.tools.reader.reader_types.peek_source_log = (function cljs$tools$reader$reader_types$peek_source_log(frames){
return cljs.core.subs.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(frames))].join(''),cljs.core.first.call(null,new cljs.core.Keyword(null,"offset","offset",296498311).cljs$core$IFn$_invoke$arity$1(frames)));
});
/**
* Logs `char` to all currently active source logging frames.
*/
cljs.tools.reader.reader_types.log_source_char = (function cljs$tools$reader$reader_types$log_source_char(frames,char$){
var temp__5457__auto__ = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(frames);
if(cljs.core.truth_(temp__5457__auto__)){
var buffer = temp__5457__auto__;
return buffer.append(char$);
} else {
return null;
}
});
/**
* Removes the last logged character from all currently active source
* logging frames. Called when pushing a character back.
*/
cljs.tools.reader.reader_types.drop_last_logged_char = (function cljs$tools$reader$reader_types$drop_last_logged_char(frames){
var temp__5457__auto__ = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(frames);
if(cljs.core.truth_(temp__5457__auto__)){
var buffer = temp__5457__auto__;
return buffer.set(cljs.core.subs.call(null,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(buffer)].join(''),(0),(buffer.getLength() - (1))));
} else {
return null;
}
});
/**
* @constructor
* @implements {cljs.tools.reader.reader_types.IndexingReader}
* @implements {cljs.tools.reader.reader_types.Reader}
* @implements {cljs.tools.reader.reader_types.IPushbackReader}
*/
cljs.tools.reader.reader_types.SourceLoggingPushbackReader = (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){
this.rdr = rdr;
this.line = line;
this.column = column;
this.line_start_QMARK_ = line_start_QMARK_;
this.prev = prev;
this.prev_column = prev_column;
this.file_name = file_name;
this.frames = frames;
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
var temp__5457__auto__ = cljs.tools.reader.reader_types.read_char.call(null,self__.rdr);
if(cljs.core.truth_(temp__5457__auto__)){
var ch = temp__5457__auto__;
var ch__$1 = cljs.tools.reader.reader_types.normalize_newline.call(null,self__.rdr,ch);
self__.prev = self__.line_start_QMARK_;
self__.line_start_QMARK_ = cljs.tools.reader.impl.utils.newline_QMARK_.call(null,ch__$1);
if(cljs.core.truth_(self__.line_start_QMARK_)){
self__.prev_column = self__.column;
self__.column = (0);
self__.line = (self__.line + (1));
} else {
}
self__.column = (self__.column + (1));
cljs.tools.reader.reader_types.log_source_char.call(null,cljs.core.deref.call(null,self__.frames),ch__$1);
return ch__$1;
} else {
return null;
}
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return cljs.tools.reader.reader_types.peek_char.call(null,self__.rdr);
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 = (function (reader,ch){
var self__ = this;
var reader__$1 = this;
if(cljs.core.truth_(self__.line_start_QMARK_)){
self__.line = (self__.line - (1));
self__.column = self__.prev_column;
} else {
self__.column = (self__.column - (1));
}
self__.line_start_QMARK_ = self__.prev;
if(cljs.core.truth_(ch)){
cljs.tools.reader.reader_types.drop_last_logged_char.call(null,cljs.core.deref.call(null,self__.frames));
} else {
}
return cljs.tools.reader.reader_types.unread.call(null,self__.rdr,ch);
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ = cljs.core.PROTOCOL_SENTINEL;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return (self__.line | (0));
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return (self__.column | (0));
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 = (function (reader){
var self__ = this;
var reader__$1 = this;
return self__.file_name;
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.getBasis = (function (){
return new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,"rdr","rdr",190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol(null,"not-native","not-native",-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line","line",1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"column","column",-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"line-start?","line-start?",1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev","prev",43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,"prev-column","prev-column",324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"mutable","mutable",875778266),true], null)),new cljs.core.Symbol(null,"file-name","file-name",-13685732,null),new cljs.core.Symbol(null,"frames","frames",-888748272,null)], null);
});
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$type = true;
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorStr = "cljs.tools.reader.reader-types/SourceLoggingPushbackReader";
cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorPrWriter = (function (this__36169__auto__,writer__36170__auto__,opt__36171__auto__){
return cljs.core._write.call(null,writer__36170__auto__,"cljs.tools.reader.reader-types/SourceLoggingPushbackReader");
});
cljs.tools.reader.reader_types.__GT_SourceLoggingPushbackReader = (function cljs$tools$reader$reader_types$__GT_SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){
return (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames));
});
/**
* Returns true if the reader satisfies IndexingReader
*/
cljs.tools.reader.reader_types.indexing_reader_QMARK_ = (function cljs$tools$reader$reader_types$indexing_reader_QMARK_(rdr){
if(!((rdr == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === rdr.cljs$tools$reader$reader_types$IndexingReader$))){
return true;
} else {
return false;
}
} else {
return false;
}
});
/**
* Creates a StringReader from a given string
*/
cljs.tools.reader.reader_types.string_reader = (function cljs$tools$reader$reader_types$string_reader(s){
return (new cljs.tools.reader.reader_types.StringReader(s,cljs.core.count.call(null,s),(0)));
});
/**
* Creates a PushbackReader from a given string
*/
cljs.tools.reader.reader_types.string_push_back_reader = (function cljs$tools$reader$reader_types$string_push_back_reader(var_args){
var G__44201 = arguments.length;
switch (G__44201) {
case 1:
return cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1 = (function (s){
return cljs.tools.reader.reader_types.string_push_back_reader.call(null,s,(1));
});
cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2 = (function (s,buf_len){
return (new cljs.tools.reader.reader_types.PushbackReader(cljs.tools.reader.reader_types.string_reader.call(null,s),cljs.core.object_array.call(null,buf_len),buf_len,buf_len));
});
cljs.tools.reader.reader_types.string_push_back_reader.cljs$lang$maxFixedArity = 2;
cljs.tools.reader.reader_types.node_readable_push_back_reader = (function cljs$tools$reader$reader_types$node_readable_push_back_reader(readable){
return (new cljs.tools.reader.reader_types.PushbackReader((new cljs.tools.reader.reader_types.NodeReadableReader(readable,null)),cljs.core.object_array.call(null,(1)),(1),(1)));
});
/**
* Creates an IndexingPushbackReader from a given string or PushbackReader
*/
cljs.tools.reader.reader_types.indexing_push_back_reader = (function cljs$tools$reader$reader_types$indexing_push_back_reader(var_args){
var G__44204 = arguments.length;
switch (G__44204) {
case 1:
return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.tools.reader.reader_types.indexing_push_back_reader.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.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1 = (function (s_or_rdr){
return cljs.tools.reader.reader_types.indexing_push_back_reader.call(null,s_or_rdr,(1));
});
cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2 = (function (s_or_rdr,buf_len){
return cljs.tools.reader.reader_types.indexing_push_back_reader.call(null,s_or_rdr,buf_len,null);
});
cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3 = (function (s_or_rdr,buf_len,file_name){
return (new cljs.tools.reader.reader_types.IndexingPushbackReader(((typeof s_or_rdr === 'string')?cljs.tools.reader.reader_types.string_push_back_reader.call(null,s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name));
});
cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$lang$maxFixedArity = 3;
/**
* Creates a SourceLoggingPushbackReader from a given string or PushbackReader
*/
cljs.tools.reader.reader_types.source_logging_push_back_reader = (function cljs$tools$reader$reader_types$source_logging_push_back_reader(var_args){
var G__44207 = arguments.length;
switch (G__44207) {
case 1:
return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.tools.reader.reader_types.source_logging_push_back_reader.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.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1 = (function (s_or_rdr){
return cljs.tools.reader.reader_types.source_logging_push_back_reader.call(null,s_or_rdr,(1));
});
cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2 = (function (s_or_rdr,buf_len){
return cljs.tools.reader.reader_types.source_logging_push_back_reader.call(null,s_or_rdr,buf_len,null);
});
cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3 = (function (s_or_rdr,buf_len,file_name){
return (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(((typeof s_or_rdr === 'string')?cljs.tools.reader.reader_types.string_push_back_reader.call(null,s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name,cljs.core.atom.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"buffer","buffer",617295198),(new goog.string.StringBuffer()),new cljs.core.Keyword(null,"offset","offset",296498311),cljs.core.list((0))], null))));
});
cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$lang$maxFixedArity = 3;
/**
* Reads a line from the reader or from *in* if no reader is specified
*/
cljs.tools.reader.reader_types.read_line = (function cljs$tools$reader$reader_types$read_line(rdr){
var c = cljs.tools.reader.reader_types.read_char.call(null,rdr);
var s = (new goog.string.StringBuffer());
while(true){
if(cljs.tools.reader.impl.utils.newline_QMARK_.call(null,c)){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(s)].join('');
} else {
var G__44209 = cljs.tools.reader.reader_types.read_char.call(null,rdr);
var G__44210 = s.append(c);
c = G__44209;
s = G__44210;
continue;
}
break;
}
});
cljs.tools.reader.reader_types.source_logging_reader_QMARK_ = (function cljs$tools$reader$reader_types$source_logging_reader_QMARK_(rdr){
return (rdr instanceof cljs.tools.reader.reader_types.SourceLoggingPushbackReader);
});
/**
* Returns true if rdr is an IndexingReader and the current char starts a new line
*/
cljs.tools.reader.reader_types.line_start_QMARK_ = (function cljs$tools$reader$reader_types$line_start_QMARK_(rdr){
if(cljs.core.truth_(cljs.tools.reader.reader_types.indexing_reader_QMARK_.call(null,rdr))){
return ((1) === cljs.tools.reader.reader_types.get_column_number.call(null,rdr));
} else {
return null;
}
});
cljs.tools.reader.reader_types.log_source_STAR_ = (function cljs$tools$reader$reader_types$log_source_STAR_(reader,f){
var buffer = new cljs.core.Keyword(null,"buffer","buffer",617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,reader.frames));
try{cljs.core.swap_BANG_.call(null,reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"offset","offset",296498311)], null),cljs.core.conj,buffer.getLength());
var ret = f.call(null);
if(((!((ret == null)))?((((ret.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === ret.cljs$core$IMeta$)))?true:false):false)){
return cljs.tools.reader.reader_types.merge_meta.call(null,ret,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"source","source",-433931539),cljs.tools.reader.reader_types.peek_source_log.call(null,cljs.core.deref.call(null,reader.frames))], null));
} else {
return ret;
}
}finally {cljs.core.swap_BANG_.call(null,reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"offset","offset",296498311)], null),cljs.core.rest);
}});
//# sourceMappingURL=reader_types.js.map?rel=1517021946359
@@ -0,0 +1 @@
{"version":3,"file":"\/home\/didier\/clojupyter\/website\/target\/cljsbuild\/public\/js\/out\/cljs\/tools\/reader\/reader_types.js","sources":["reader_types.cljs?rel=1517021946362"],"lineCount":783,"mappings":"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 truncated