@p4ulcristian/iris-layout 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/iris-layout.js +60 -45
  2. package/dist/styles.css +172 -2
  3. package/package.json +1 -1
  4. package/dist/cljs-runtime/cljs.core.js +0 -38746
  5. package/dist/cljs-runtime/cljs.core.js.map +0 -1
  6. package/dist/cljs-runtime/cljs.pprint.js +0 -8400
  7. package/dist/cljs-runtime/cljs.pprint.js.map +0 -1
  8. package/dist/cljs-runtime/cljs.stacktrace.js +0 -561
  9. package/dist/cljs-runtime/cljs.stacktrace.js.map +0 -1
  10. package/dist/cljs-runtime/cljs_env.js +0 -1286
  11. package/dist/cljs-runtime/clojure.data.js +0 -295
  12. package/dist/cljs-runtime/clojure.data.js.map +0 -1
  13. package/dist/cljs-runtime/clojure.set.js +0 -382
  14. package/dist/cljs-runtime/clojure.set.js.map +0 -1
  15. package/dist/cljs-runtime/clojure.string.js +0 -480
  16. package/dist/cljs-runtime/clojure.string.js.map +0 -1
  17. package/dist/cljs-runtime/clojure.walk.js +0 -132
  18. package/dist/cljs-runtime/clojure.walk.js.map +0 -1
  19. package/dist/cljs-runtime/devtools.async.js +0 -90
  20. package/dist/cljs-runtime/devtools.async.js.map +0 -1
  21. package/dist/cljs-runtime/devtools.context.js +0 -11
  22. package/dist/cljs-runtime/devtools.context.js.map +0 -1
  23. package/dist/cljs-runtime/devtools.core.js +0 -175
  24. package/dist/cljs-runtime/devtools.core.js.map +0 -1
  25. package/dist/cljs-runtime/devtools.defaults.js +0 -20
  26. package/dist/cljs-runtime/devtools.defaults.js.map +0 -1
  27. package/dist/cljs-runtime/devtools.format.js +0 -631
  28. package/dist/cljs-runtime/devtools.format.js.map +0 -1
  29. package/dist/cljs-runtime/devtools.formatters.budgeting.js +0 -182
  30. package/dist/cljs-runtime/devtools.formatters.budgeting.js.map +0 -1
  31. package/dist/cljs-runtime/devtools.formatters.core.js +0 -220
  32. package/dist/cljs-runtime/devtools.formatters.core.js.map +0 -1
  33. package/dist/cljs-runtime/devtools.formatters.helpers.js +0 -228
  34. package/dist/cljs-runtime/devtools.formatters.helpers.js.map +0 -1
  35. package/dist/cljs-runtime/devtools.formatters.js +0 -261
  36. package/dist/cljs-runtime/devtools.formatters.js.map +0 -1
  37. package/dist/cljs-runtime/devtools.formatters.markup.js +0 -1174
  38. package/dist/cljs-runtime/devtools.formatters.markup.js.map +0 -1
  39. package/dist/cljs-runtime/devtools.formatters.printing.js +0 -313
  40. package/dist/cljs-runtime/devtools.formatters.printing.js.map +0 -1
  41. package/dist/cljs-runtime/devtools.formatters.state.js +0 -325
  42. package/dist/cljs-runtime/devtools.formatters.state.js.map +0 -1
  43. package/dist/cljs-runtime/devtools.formatters.templating.js +0 -666
  44. package/dist/cljs-runtime/devtools.formatters.templating.js.map +0 -1
  45. package/dist/cljs-runtime/devtools.hints.js +0 -193
  46. package/dist/cljs-runtime/devtools.hints.js.map +0 -1
  47. package/dist/cljs-runtime/devtools.munging.js +0 -1058
  48. package/dist/cljs-runtime/devtools.munging.js.map +0 -1
  49. package/dist/cljs-runtime/devtools.prefs.js +0 -87
  50. package/dist/cljs-runtime/devtools.prefs.js.map +0 -1
  51. package/dist/cljs-runtime/devtools.preload.js +0 -11
  52. package/dist/cljs-runtime/devtools.preload.js.map +0 -1
  53. package/dist/cljs-runtime/devtools.protocols.js +0 -98
  54. package/dist/cljs-runtime/devtools.protocols.js.map +0 -1
  55. package/dist/cljs-runtime/devtools.reporter.js +0 -81
  56. package/dist/cljs-runtime/devtools.reporter.js.map +0 -1
  57. package/dist/cljs-runtime/devtools.toolbox.js +0 -141
  58. package/dist/cljs-runtime/devtools.toolbox.js.map +0 -1
  59. package/dist/cljs-runtime/devtools.util.js +0 -517
  60. package/dist/cljs-runtime/devtools.util.js.map +0 -1
  61. package/dist/cljs-runtime/devtools.version.js +0 -9
  62. package/dist/cljs-runtime/devtools.version.js.map +0 -1
  63. package/dist/cljs-runtime/goog.array.array.js +0 -659
  64. package/dist/cljs-runtime/goog.array.array.js.map +0 -9
  65. package/dist/cljs-runtime/goog.asserts.asserts.js +0 -133
  66. package/dist/cljs-runtime/goog.asserts.asserts.js.map +0 -9
  67. package/dist/cljs-runtime/goog.asserts.dom.js +0 -90
  68. package/dist/cljs-runtime/goog.asserts.dom.js.map +0 -9
  69. package/dist/cljs-runtime/goog.async.nexttick.js +0 -93
  70. package/dist/cljs-runtime/goog.async.nexttick.js.map +0 -9
  71. package/dist/cljs-runtime/goog.base.js +0 -1261
  72. package/dist/cljs-runtime/goog.base.js.map +0 -9
  73. package/dist/cljs-runtime/goog.collections.maps.js +0 -82
  74. package/dist/cljs-runtime/goog.collections.maps.js.map +0 -9
  75. package/dist/cljs-runtime/goog.debug.entrypointregistry.js +0 -44
  76. package/dist/cljs-runtime/goog.debug.entrypointregistry.js.map +0 -9
  77. package/dist/cljs-runtime/goog.debug.error.js +0 -30
  78. package/dist/cljs-runtime/goog.debug.error.js.map +0 -9
  79. package/dist/cljs-runtime/goog.dom.asserts.js +0 -40
  80. package/dist/cljs-runtime/goog.dom.asserts.js.map +0 -9
  81. package/dist/cljs-runtime/goog.dom.browserfeature.js +0 -21
  82. package/dist/cljs-runtime/goog.dom.browserfeature.js.map +0 -9
  83. package/dist/cljs-runtime/goog.dom.dom.js +0 -1087
  84. package/dist/cljs-runtime/goog.dom.dom.js.map +0 -9
  85. package/dist/cljs-runtime/goog.dom.element.js +0 -69
  86. package/dist/cljs-runtime/goog.dom.element.js.map +0 -9
  87. package/dist/cljs-runtime/goog.dom.htmlelement.js +0 -7
  88. package/dist/cljs-runtime/goog.dom.htmlelement.js.map +0 -9
  89. package/dist/cljs-runtime/goog.dom.nodetype.js +0 -6
  90. package/dist/cljs-runtime/goog.dom.nodetype.js.map +0 -9
  91. package/dist/cljs-runtime/goog.dom.safe.js +0 -277
  92. package/dist/cljs-runtime/goog.dom.safe.js.map +0 -9
  93. package/dist/cljs-runtime/goog.dom.tagname.js +0 -147
  94. package/dist/cljs-runtime/goog.dom.tagname.js.map +0 -9
  95. package/dist/cljs-runtime/goog.dom.tags.js +0 -10
  96. package/dist/cljs-runtime/goog.dom.tags.js.map +0 -9
  97. package/dist/cljs-runtime/goog.flags.flags.js +0 -12
  98. package/dist/cljs-runtime/goog.flags.flags.js.map +0 -9
  99. package/dist/cljs-runtime/goog.fs.blob.js +0 -38
  100. package/dist/cljs-runtime/goog.fs.blob.js.map +0 -9
  101. package/dist/cljs-runtime/goog.fs.url.js +0 -37
  102. package/dist/cljs-runtime/goog.fs.url.js.map +0 -9
  103. package/dist/cljs-runtime/goog.functions.functions.js +0 -211
  104. package/dist/cljs-runtime/goog.functions.functions.js.map +0 -9
  105. package/dist/cljs-runtime/goog.html.safehtml.js +0 -321
  106. package/dist/cljs-runtime/goog.html.safehtml.js.map +0 -9
  107. package/dist/cljs-runtime/goog.html.safescript.js +0 -65
  108. package/dist/cljs-runtime/goog.html.safescript.js.map +0 -9
  109. package/dist/cljs-runtime/goog.html.safestyle.js +0 -175
  110. package/dist/cljs-runtime/goog.html.safestyle.js.map +0 -9
  111. package/dist/cljs-runtime/goog.html.safestylesheet.js +0 -99
  112. package/dist/cljs-runtime/goog.html.safestylesheet.js.map +0 -9
  113. package/dist/cljs-runtime/goog.html.safeurl.js +0 -231
  114. package/dist/cljs-runtime/goog.html.safeurl.js.map +0 -9
  115. package/dist/cljs-runtime/goog.html.trustedresourceurl.js +0 -123
  116. package/dist/cljs-runtime/goog.html.trustedresourceurl.js.map +0 -9
  117. package/dist/cljs-runtime/goog.html.trustedtypes.js +0 -16
  118. package/dist/cljs-runtime/goog.html.trustedtypes.js.map +0 -9
  119. package/dist/cljs-runtime/goog.html.uncheckedconversions.js +0 -52
  120. package/dist/cljs-runtime/goog.html.uncheckedconversions.js.map +0 -9
  121. package/dist/cljs-runtime/goog.labs.useragent.browser.js +0 -352
  122. package/dist/cljs-runtime/goog.labs.useragent.browser.js.map +0 -9
  123. package/dist/cljs-runtime/goog.labs.useragent.engine.js +0 -73
  124. package/dist/cljs-runtime/goog.labs.useragent.engine.js.map +0 -9
  125. package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js +0 -14
  126. package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js.map +0 -9
  127. package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js +0 -74
  128. package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js.map +0 -9
  129. package/dist/cljs-runtime/goog.labs.useragent.platform.js +0 -147
  130. package/dist/cljs-runtime/goog.labs.useragent.platform.js.map +0 -9
  131. package/dist/cljs-runtime/goog.labs.useragent.useragent.js +0 -21
  132. package/dist/cljs-runtime/goog.labs.useragent.useragent.js.map +0 -9
  133. package/dist/cljs-runtime/goog.labs.useragent.util.js +0 -81
  134. package/dist/cljs-runtime/goog.labs.useragent.util.js.map +0 -9
  135. package/dist/cljs-runtime/goog.math.coordinate.js +0 -97
  136. package/dist/cljs-runtime/goog.math.coordinate.js.map +0 -9
  137. package/dist/cljs-runtime/goog.math.integer.js +0 -445
  138. package/dist/cljs-runtime/goog.math.integer.js.map +0 -9
  139. package/dist/cljs-runtime/goog.math.long.js +0 -437
  140. package/dist/cljs-runtime/goog.math.long.js.map +0 -9
  141. package/dist/cljs-runtime/goog.math.math.js +0 -158
  142. package/dist/cljs-runtime/goog.math.math.js.map +0 -9
  143. package/dist/cljs-runtime/goog.math.size.js +0 -76
  144. package/dist/cljs-runtime/goog.math.size.js.map +0 -9
  145. package/dist/cljs-runtime/goog.object.object.js +0 -284
  146. package/dist/cljs-runtime/goog.object.object.js.map +0 -9
  147. package/dist/cljs-runtime/goog.reflect.reflect.js +0 -32
  148. package/dist/cljs-runtime/goog.reflect.reflect.js.map +0 -9
  149. package/dist/cljs-runtime/goog.string.const.js +0 -35
  150. package/dist/cljs-runtime/goog.string.const.js.map +0 -9
  151. package/dist/cljs-runtime/goog.string.internal.js +0 -119
  152. package/dist/cljs-runtime/goog.string.internal.js.map +0 -9
  153. package/dist/cljs-runtime/goog.string.string.js +0 -462
  154. package/dist/cljs-runtime/goog.string.string.js.map +0 -9
  155. package/dist/cljs-runtime/goog.string.stringbuffer.js +0 -32
  156. package/dist/cljs-runtime/goog.string.stringbuffer.js.map +0 -9
  157. package/dist/cljs-runtime/goog.string.typedstring.js +0 -9
  158. package/dist/cljs-runtime/goog.string.typedstring.js.map +0 -9
  159. package/dist/cljs-runtime/goog.structs.structs.js +0 -199
  160. package/dist/cljs-runtime/goog.structs.structs.js.map +0 -9
  161. package/dist/cljs-runtime/goog.uri.uri.js +0 -628
  162. package/dist/cljs-runtime/goog.uri.uri.js.map +0 -9
  163. package/dist/cljs-runtime/goog.uri.utils.js +0 -326
  164. package/dist/cljs-runtime/goog.uri.utils.js.map +0 -9
  165. package/dist/cljs-runtime/goog.useragent.useragent.js +0 -139
  166. package/dist/cljs-runtime/goog.useragent.useragent.js.map +0 -9
  167. package/dist/cljs-runtime/iris_layout.components.entity_card_group.js +0 -202
  168. package/dist/cljs-runtime/iris_layout.components.entity_card_group.js.map +0 -1
  169. package/dist/cljs-runtime/iris_layout.components.entity_tile.js +0 -327
  170. package/dist/cljs-runtime/iris_layout.components.entity_tile.js.map +0 -1
  171. package/dist/cljs-runtime/iris_layout.components.entity_tile_group.js +0 -33
  172. package/dist/cljs-runtime/iris_layout.components.entity_tile_group.js.map +0 -1
  173. package/dist/cljs-runtime/iris_layout.components.resizer.js +0 -91
  174. package/dist/cljs-runtime/iris_layout.components.resizer.js.map +0 -1
  175. package/dist/cljs-runtime/iris_layout.components.touch_drag.js +0 -385
  176. package/dist/cljs-runtime/iris_layout.components.touch_drag.js.map +0 -1
  177. package/dist/cljs-runtime/iris_layout.core.js +0 -876
  178. package/dist/cljs-runtime/iris_layout.core.js.map +0 -1
  179. package/dist/cljs-runtime/iris_layout.layout.js +0 -328
  180. package/dist/cljs-runtime/iris_layout.layout.js.map +0 -1
  181. package/dist/cljs-runtime/reagent.core.js +0 -993
  182. package/dist/cljs-runtime/reagent.core.js.map +0 -1
  183. package/dist/cljs-runtime/reagent.debug.js +0 -75
  184. package/dist/cljs-runtime/reagent.debug.js.map +0 -1
  185. package/dist/cljs-runtime/reagent.impl.batching.js +0 -270
  186. package/dist/cljs-runtime/reagent.impl.batching.js.map +0 -1
  187. package/dist/cljs-runtime/reagent.impl.component.js +0 -758
  188. package/dist/cljs-runtime/reagent.impl.component.js.map +0 -1
  189. package/dist/cljs-runtime/reagent.impl.input.js +0 -175
  190. package/dist/cljs-runtime/reagent.impl.input.js.map +0 -1
  191. package/dist/cljs-runtime/reagent.impl.protocols.js +0 -99
  192. package/dist/cljs-runtime/reagent.impl.protocols.js.map +0 -1
  193. package/dist/cljs-runtime/reagent.impl.template.js +0 -660
  194. package/dist/cljs-runtime/reagent.impl.template.js.map +0 -1
  195. package/dist/cljs-runtime/reagent.impl.util.js +0 -748
  196. package/dist/cljs-runtime/reagent.impl.util.js.map +0 -1
  197. package/dist/cljs-runtime/reagent.ratom.js +0 -1668
  198. package/dist/cljs-runtime/reagent.ratom.js.map +0 -1
  199. package/dist/cljs-runtime/shadow.esm.esm_import$react.js +0 -5
  200. package/dist/cljs-runtime/shadow.module.iris-layout.append.js +0 -2
  201. package/dist/cljs-runtime/shadow.module.iris-layout.prepend.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"sources":["cljs/stacktrace.cljc"],"mappings":"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","names":["js/cljs","js/cljs.stacktrace","js/cljs.stacktrace.parse-stacktrace","method-table__5599__auto__","cljs.core.atom","prefer-table__5600__auto__","method-cache__5601__auto__","cached-hierarchy__5602__auto__","hierarchy__5603__auto__","cljs.core.get","fexpr__8323","cljs.core/MultiFn","cljs.core.symbol","cljs.stacktrace/parse-stacktrace","repl-env","st","err","opts","cljs.stacktrace/parse-int","s","js/parseInt","cljs.stacktrace/starts-with?","s0","s1","goog.string/startsWith","cljs.stacktrace/ends-with?","goog.string/endsWith","cljs.stacktrace/string->regex","js/RegExp","cljs.stacktrace/output-directory","or__5002__auto__","cljs.stacktrace/parse-file-line-column","flc","cljs.core/not","cljs.core/re-find","vec__8411","cljs.core.nth","vec__8414","xs","clojure.string.split","pre","line","column","cljs.core.reduce","p__8419","p__8420","vec__8423","vec__8426","post","x","i","cljs.core.conj","cljs.core.map","cljs.core/vector","cljs.core.range","cljs.core/count","file","clojure.string.join","G__8432","clojure.string/replace","G__8433","G__8434","p__8449","p__8450","map__8451","cljs.core/--destructure-map","map__8452","cljs.stacktrace/parse-file","host","host-port","port","asset-path","urlpat","match","cljs.core/contains?","and__5000__auto__","temp__5802__auto__","asset-root","cljs.core.ex_info","cljs.stacktrace/chrome-st-el->frame","st-el","vec__8516","vec__8519","function","cljs.core/first","cljs.core/last","clojure.string/blank?","clojure.string/split-lines","p1__8589#","cljs.core.drop_while","p1__8590#","cljs.core.take_while","p1__8591#","cljs.core.remove","cljs.core/nil?","cljs.core/vec","cljs.stacktrace/safari-st-el->frame","vec__8621","vec__8624","clojure.string/trim","p1__8637#","p1__8638#","p1__8641#","cljs.stacktrace/firefox-clean-function","f","cljs.core.not_EQ_","idx","cljs.stacktrace/firefox-st-el->frame","vec__8669","vec__8672","p1__8688#","p1__8689#","cljs.core._EQ_","p1__8690#","p__8710","map__8711","output-dir","frame-str","clojure.string/starts-with?","vec__8749","vec__8752","parts","file&line","cljs.core.subs","cljs.core/second","file-part","line-part","col-part","G__8758","parse-source-loc-info","process-frame","cljs.stacktrace/remove-ext","cljs.stacktrace/mapped-line-column-call","sms","source-map","columns","p1__8767#","cljs.core.filter","cljs.core.sort","cljs.core/keys","mapped","p1__8768#","p2__8769#","cljs.core/inc","cljs.core/identity","default","adjust","get-best-column","p__8801","map__8802","cljs.stacktrace/mapped-frame","vec__8806","no-source-file?","line'","column'","call","file'","var_args","G__8812","cljs.stacktrace/mapped-stacktrace","js/Error","stacktrace","cljs.stacktrace.mapped_stacktrace","cljs.core/PersistentHashMap","cljs.core.merge_with","munged-fn-name","unmunged-call-name","cljs.core/munge","mapped-frames","p1__8809#","cljs.core/memoize","call-merge","p1__8810#","cljs.core.dissoc","cljs.core.concat","cljs.core/rest","call->function","G__8837","cljs.stacktrace/mapped-stacktrace-str","cljs.stacktrace.mapped_stacktrace_str","sb__5647__auto__","goog.string/StringBuffer","*print-newline*-orig-val__8839","cljs.core/*print-newline*","*print-fn*-orig-val__8840","cljs.core/*print-fn*","*print-newline*-temp-val__8841","*print-fn*-temp-val__8842","x__5648__auto__","seq__8847","cljs.core/seq","chunk__8848","count__8849","i__8850","map__8863","temp__5804__auto__","cljs.core/chunked-seq?","c__5525__auto__","cljs.core/chunk-first","cljs.core/chunk-rest","map__8870","cljs.core/next","cljs.core.println"],"sourcesContent":[";; Copyright (c) Rich Hickey. All rights reserved.\n;; The use and distribution terms for this software are covered by the\n;; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)\n;; which can be found in the file epl-v10.html at the root of this distribution.\n;; By using this software in any fashion, you are agreeing to be bound by\n;; the terms of this license.\n;; You must not remove this notice, or any other, from this software.\n\n(ns cljs.stacktrace\n (:require #?@(:clj [[cljs.util :as util]\n [clojure.java.io :as io]]\n :cljs [[goog.string :as gstring]])\n [clojure.string :as string])\n #?(:clj (:import [java.util.regex Pattern]\n [java.io File])))\n\n(defmulti parse-stacktrace\n \"Parse a JavaScript stacktrace string into a canonical data form. The\n arguments:\n\n repl-env - the repl environment, an optional map with :host and :port keys\n if the stacktrace includes url, not file references\n st - the original stacktrace string to parse\n err - an error map. :ua-product key defines the type of stacktrace parser\n to use, for example :chrome\n opts - additional options. :output-dir maybe given in this argument if\n :host and :port do not apply, for example, a file path\n\n The canonical stacktrace representation can easily be mapped to a\n ClojureScript one see mapped-stacktrace and mapped-stacktrace-str\"\n (fn [repl-env st err opts] (:ua-product err)))\n\n(defn parse-int [s]\n #?(:clj (Long/parseLong s)\n :cljs (js/parseInt s 10)))\n\n(defn starts-with?\n #?(:cljs {:tag boolean})\n [^String s0 s1]\n #?(:clj (.startsWith s0 s1)\n :cljs (gstring/startsWith s0 s1)))\n\n(defn ends-with?\n #?(:cljs {:tag boolean})\n [^String s0 s1]\n #?(:clj (.endsWith s0 s1)\n :cljs (gstring/endsWith s0 s1)))\n\n(defn string->regex [s]\n #?(:clj (Pattern/compile s)\n :cljs (js/RegExp. s)))\n\n(defn output-directory [opts]\n #?(:clj (util/output-directory opts)\n :cljs (or (:output-dir opts) \"out\")))\n\n(defmethod parse-stacktrace :default\n [repl-env st err opts] st)\n\n(defn parse-file-line-column [flc]\n (if-not (re-find #\":\" flc)\n [flc nil nil]\n (let [xs (string/split flc #\":\")\n [pre [line column]]\n (reduce\n (fn [[pre post] [x i]]\n (if (<= i 2)\n [pre (conj post x)]\n [(conj pre x) post]))\n [[] []] (map vector xs (range (count xs) 0 -1)))\n file (string/join \":\" pre)]\n [(cond-> file\n (starts-with? file \"(\") (string/replace \"(\" \"\"))\n (parse-int\n (cond-> line\n (ends-with? line \")\") (string/replace \")\" \"\")))\n (parse-int\n (cond-> column\n (ends-with? column \")\") (string/replace \")\" \"\")))])))\n\n(defn parse-file\n \"Given a browser file url convert it into a relative path that can be used\n to locate the original source.\"\n [{:keys [host host-port port] :as repl-env} file {:keys [asset-path] :as opts}]\n (let [urlpat (if host\n (string->regex\n (str \"http://\" host \":\" (or host-port port) \"/\"))\n \"\")\n match (if host\n (re-find urlpat file)\n (contains? opts :output-dir))]\n (if match\n (-> file\n (string/replace urlpat \"\")\n (string/replace\n (string->regex\n ;; if :asset-path specified drop leading slash\n (str \"^\" (or (and asset-path (string/replace asset-path #\"^/\" \"\"))\n (output-directory opts)) \"/\"))\n \"\"))\n (if-let [asset-root (:asset-root opts)]\n (string/replace file asset-root \"\")\n (throw\n (ex-info (str \"Could not relativize URL \" file)\n {:type :parse-stacktrace\n :reason :relativize-url}))))))\n\n;; -----------------------------------------------------------------------------\n;; Chrome Stacktrace\n\n(defn chrome-st-el->frame\n [repl-env st-el opts]\n (let [xs (-> st-el\n (string/replace #\"\\s+at\\s+\" \"\")\n (string/split #\"\\s+\"))\n [function flc] (if (== 1 (count xs))\n [nil (first xs)]\n [(first xs) (last xs)])\n [file line column] (parse-file-line-column flc)]\n (if (and file function line column)\n {:file (parse-file repl-env file opts)\n :function (string/replace function #\"Object\\.\" \"\")\n :line line\n :column column}\n (when-not (string/blank? function)\n {:file nil\n :function (string/replace function #\"Object\\.\" \"\")\n :line nil\n :column nil}))))\n\n(comment\n (chrome-st-el->frame {:host \"localhost\" :port 9000}\n \"\\tat cljs$core$ffirst (http://localhost:9000/out/cljs/core.js:5356:34)\" {})\n )\n\n(defmethod parse-stacktrace :chrome\n [repl-env st err opts]\n (->> st\n string/split-lines\n (drop-while #(starts-with? % \"Error\"))\n (take-while #(not (starts-with? % \" at eval\")))\n (map #(chrome-st-el->frame repl-env % opts))\n (remove nil?)\n vec))\n\n(comment\n (parse-stacktrace {:host \"localhost\" :port 9000}\n \"Error: 1 is not ISeqable\n at Object.cljs$core$seq [as seq] (http://localhost:9000/out/cljs/core.js:4258:8)\n at Object.cljs$core$first [as first] (http://localhost:9000/out/cljs/core.js:4288:19)\n at cljs$core$ffirst (http://localhost:9000/out/cljs/core.js:5356:34)\n at http://localhost:9000/out/cljs/core.js:16971:89\n at cljs.core.map.cljs$core$map__2 (http://localhost:9000/out/cljs/core.js:16972:3)\n at http://localhost:9000/out/cljs/core.js:10981:129\n at cljs.core.LazySeq.sval (http://localhost:9000/out/cljs/core.js:10982:3)\n at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (http://localhost:9000/out/cljs/core.js:11073:10)\n at Object.cljs$core$seq [as seq] (http://localhost:9000/out/cljs/core.js:4239:13)\n at Object.cljs$core$pr_sequential_writer [as pr_sequential_writer] (http://localhost:9000/out/cljs/core.js:28706:14)\"\n {:ua-product :chrome}\n nil)\n\n (parse-stacktrace {:host \"localhost\" :port 9000}\n \"Error: 1 is not ISeqable\n at Object.cljs$core$seq [as seq] (http://localhost:9000/js/cljs/core.js:4258:8)\n at Object.cljs$core$first [as first] (http://localhost:9000/js/cljs/core.js:4288:19)\n at cljs$core$ffirst (http://localhost:9000/js/cljs/core.js:5356:34)\n at http://localhost:9000/js/cljs/core.js:16971:89\n at cljs.core.map.cljs$core$map__2 (http://localhost:9000/js/cljs/core.js:16972:3)\n at http://localhost:9000/js/cljs/core.js:10981:129\n at cljs.core.LazySeq.sval (http://localhost:9000/js/cljs/core.js:10982:3)\n at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (http://localhost:9000/js/cljs/core.js:11073:10)\n at Object.cljs$core$seq [as seq] (http://localhost:9000/js/cljs/core.js:4239:13)\n at Object.cljs$core$pr_sequential_writer [as pr_sequential_writer] (http://localhost:9000/js/cljs/core.js:28706:14)\"\n {:ua-product :chrome}\n {:asset-path \"/js\"})\n\n (parse-stacktrace {:host \"localhost\" :port 9000}\n \"Error: 1 is not ISeqable\n at Object.cljs$core$seq [as seq] (http://localhost:9000/out/cljs/core.js:4259:8)\n at Object.cljs$core$first [as first] (http://localhost:9000/out/cljs/core.js:4289:19)\n at cljs$core$ffirst (http://localhost:9000/out/cljs/core.js:5357:18)\n at eval (eval at <anonymous> (http://localhost:9000/out/clojure/browser/repl.js:23:272), <anonymous>:1:106)\n at eval (eval at <anonymous> (http://localhost:9000/out/clojure/browser/repl.js:23:272), <anonymous>:9:3)\n at eval (eval at <anonymous> (http://localhost:9000/out/clojure/browser/repl.js:23:272), <anonymous>:14:4)\n at http://localhost:9000/out/clojure/browser/repl.js:23:267\n at clojure$browser$repl$evaluate_javascript (http://localhost:9000/out/clojure/browser/repl.js:26:4)\n at Object.callback (http://localhost:9000/out/clojure/browser/repl.js:121:169)\n at goog.messaging.AbstractChannel.deliver (http://localhost:9000/out/goog/messaging/abstractchannel.js:142:13)\"\n {:ua-product :chrome}\n nil)\n\n ;; Node.js example\n (parse-stacktrace {}\n \"Error: 1 is not ISeqable\n at Object.cljs$core$seq [as seq] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:3999:8)\n at Object.cljs$core$first [as first] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:4018:19)\n at cljs$core$ffirst (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:5161:34)\n at /home/my/cool/project/.cljs_bootstrap/cljs/core.js:16006:88\n at cljs.core.map.cljs$core$IFn$_invoke$arity$2 (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:16007:3)\n at cljs.core.LazySeq.sval (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:10244:109)\n at cljs.core.LazySeq.cljs$core$ISeqable$_seq$arity$1 (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:10335:10)\n at Object.cljs$core$seq [as seq] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:3980:13)\n at Object.cljs$core$pr_sequential_writer [as pr_sequential_writer] (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:28084:14)\n at cljs.core.LazySeq.cljs$core$IPrintWithWriter$_pr_writer$arity$3 (/home/my/cool/project/.cljs_bootstrap/cljs/core.js:28812:18)\"\n {:ua-product :chrome}\n {:output-dir \"/home/my/cool/project/.cljs_bootstrap\"})\n )\n\n;; -----------------------------------------------------------------------------\n;; Safari Stacktrace\n\n(defn safari-st-el->frame\n [repl-env st-el opts]\n (let [[function flc] (if (re-find #\"@\" st-el)\n (string/split st-el #\"@\")\n [nil st-el])\n [file line column] (parse-file-line-column flc)]\n (if (and file function line column)\n {:file (parse-file repl-env file opts)\n :function (string/trim function)\n :line line\n :column column}\n (when-not (string/blank? function)\n {:file nil\n :function (string/trim function)\n :line nil\n :column nil}))))\n\n(comment\n (safari-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4259:17\" {})\n\n (safari-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs$core$seq@http://localhost:9000/js/cljs/core.js:4259:17\" {:asset-path \"js\"})\n )\n\n(defmethod parse-stacktrace :safari\n [repl-env st err opts]\n (->> st\n string/split-lines\n (drop-while #(starts-with? % \"Error\"))\n (take-while #(not (starts-with? % \"eval code\")))\n (remove string/blank?)\n (map #(safari-st-el->frame repl-env % opts))\n (remove nil?)\n vec))\n\n(comment\n (parse-stacktrace {}\n \"cljs$core$seq@out/cljs/core.js:3999:17\n cljs$core$first@out/cljs/core.js:4018:22\n cljs$core$ffirst@out/cljs/core.js:5161:39\n global code\"\n {:ua-product :safari}\n {:output-dir \"out\"})\n\n (parse-stacktrace {:host \"localhost\" :port 9000}\n \"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4259:17\ncljs$core$first@http://localhost:9000/out/cljs/core.js:4289:22\ncljs$core$ffirst@http://localhost:9000/out/cljs/core.js:5357:39\nhttp://localhost:9000/out/cljs/core.js:16972:92\nhttp://localhost:9000/out/cljs/core.js:16973:3\nhttp://localhost:9000/out/cljs/core.js:10982:133\nsval@http://localhost:9000/out/cljs/core.js:10983:3\ncljs$core$ISeqable$_seq$arity$1@http://localhost:9000/out/cljs/core.js:11074:14\ncljs$core$seq@http://localhost:9000/out/cljs/core.js:4240:44\ncljs$core$pr_sequential_writer@http://localhost:9000/out/cljs/core.js:28707:17\ncljs$core$IPrintWithWriter$_pr_writer$arity$3@http://localhost:9000/out/cljs/core.js:29386:38\ncljs$core$pr_writer_impl@http://localhost:9000/out/cljs/core.js:28912:57\ncljs$core$pr_writer@http://localhost:9000/out/cljs/core.js:29011:32\ncljs$core$pr_seq_writer@http://localhost:9000/out/cljs/core.js:29015:20\ncljs$core$pr_sb_with_opts@http://localhost:9000/out/cljs/core.js:29078:24\ncljs$core$pr_str_with_opts@http://localhost:9000/out/cljs/core.js:29092:48\ncljs$core$pr_str__delegate@http://localhost:9000/out/cljs/core.js:29130:34\ncljs$core$pr_str@http://localhost:9000/out/cljs/core.js:29139:39\neval code\neval@[native code]\nhttp://localhost:9000/out/clojure/browser/repl.js:23:271\nclojure$browser$repl$evaluate_javascript@http://localhost:9000/out/clojure/browser/repl.js:26:4\nhttp://localhost:9000/out/clojure/browser/repl.js:121:173\ndeliver@http://localhost:9000/out/goog/messaging/abstractchannel.js:142:21\nxpcDeliver@http://localhost:9000/out/goog/net/xpc/crosspagechannel.js:733:19\nmessageReceived_@http://localhost:9000/out/goog/net/xpc/nativemessagingtransport.js:321:23\nfireListener@http://localhost:9000/out/goog/events/events.js:741:25\nhandleBrowserEvent_@http://localhost:9000/out/goog/events/events.js:862:34\nhttp://localhost:9000/out/goog/events/events.js:276:42\"\n {:ua-product :safari}\n nil)\n )\n\n;; -----------------------------------------------------------------------------\n;; Firefox Stacktrace\n\n(defn firefox-clean-function [f]\n (as-> f f\n (cond\n (string/blank? f) nil\n (not= (.indexOf f \"</\") -1)\n (let [idx (.indexOf f \"</\")]\n (.substring f (+ idx 2)))\n :else f)\n (-> f\n (string/replace #\"<\" \"\")\n (string/replace #?(:clj #\"\\/\" :cljs (js/RegExp. \"\\\\/\")) \"\"))))\n\n(defn firefox-st-el->frame\n [repl-env st-el opts]\n (let [[function flc] (if (re-find #\"@\" st-el)\n (string/split st-el #\"@\")\n [nil st-el])\n [file line column] (parse-file-line-column flc)]\n (if (and file function line column)\n {:file (parse-file repl-env file opts)\n :function (firefox-clean-function function)\n :line line\n :column column}\n (when-not (string/blank? function)\n {:file nil\n :function (firefox-clean-function function)\n :line nil\n :column nil}))))\n\n(comment\n (firefox-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4258:8\" {})\n\n (firefox-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs.core.map</cljs$core$map__2/</<@http://localhost:9000/out/cljs/core.js:16971:87\" {})\n\n (firefox-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs.core.map</cljs$core$map__2/</<@http://localhost:9000/out/cljs/core.js:16971:87\" {})\n\n (firefox-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs.core.pr_str</cljs$core$pr_str@http://localhost:9000/out/cljs/core.js:29138:8\" {})\n\n (firefox-st-el->frame {:host \"localhost\" :port 9000}\n \"cljs.core.pr_str</cljs$core$pr_str__delegate@http://localhost:9000/out/cljs/core.js:29129:8\" {})\n )\n\n(defmethod parse-stacktrace :firefox\n [repl-env st err opts]\n (->> st\n string/split-lines\n (drop-while #(starts-with? % \"Error\"))\n (take-while #(= (.indexOf % \"> eval\") -1))\n (remove string/blank?)\n (map #(firefox-st-el->frame repl-env % opts))\n (remove nil?)\n vec))\n\n(comment\n (parse-stacktrace {:host \"localhost\" :port 9000}\n \"cljs$core$seq@http://localhost:9000/out/cljs/core.js:4258:8\ncljs$core$first@http://localhost:9000/out/cljs/core.js:4288:9\ncljs$core$ffirst@http://localhost:9000/out/cljs/core.js:5356:24\ncljs.core.map</cljs$core$map__2/</<@http://localhost:9000/out/cljs/core.js:16971:87\ncljs.core.map</cljs$core$map__2/<@http://localhost:9000/out/cljs/core.js:16970:1\ncljs.core.LazySeq.prototype.sval/self__.s<@http://localhost:9000/out/cljs/core.js:10981:119\ncljs.core.LazySeq.prototype.sval@http://localhost:9000/out/cljs/core.js:10981:13\ncljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1@http://localhost:9000/out/cljs/core.js:11073:1\ncljs$core$seq@http://localhost:9000/out/cljs/core.js:4239:8\ncljs$core$pr_sequential_writer@http://localhost:9000/out/cljs/core.js:28706:4\ncljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3@http://localhost:9000/out/cljs/core.js:29385:8\ncljs$core$pr_writer_impl@http://localhost:9000/out/cljs/core.js:28911:8\ncljs$core$pr_writer@http://localhost:9000/out/cljs/core.js:29010:8\ncljs$core$pr_seq_writer@http://localhost:9000/out/cljs/core.js:29014:1\ncljs$core$pr_sb_with_opts@http://localhost:9000/out/cljs/core.js:29077:1\ncljs$core$pr_str_with_opts@http://localhost:9000/out/cljs/core.js:29091:23\ncljs.core.pr_str</cljs$core$pr_str__delegate@http://localhost:9000/out/cljs/core.js:29129:8\ncljs.core.pr_str</cljs$core$pr_str@http://localhost:9000/out/cljs/core.js:29138:8\n@http://localhost:9000/out/clojure/browser/repl.js line 23 > eval:1:25\n@http://localhost:9000/out/clojure/browser/repl.js line 23 > eval:1:2\nclojure$browser$repl$evaluate_javascript/result<@http://localhost:9000/out/clojure/browser/repl.js:23:267\nclojure$browser$repl$evaluate_javascript@http://localhost:9000/out/clojure/browser/repl.js:23:15\nclojure$browser$repl$connect/</<@http://localhost:9000/out/clojure/browser/repl.js:121:128\ngoog.messaging.AbstractChannel.prototype.deliver@http://localhost:9000/out/goog/messaging/abstractchannel.js:142:5\ngoog.net.xpc.CrossPageChannel.prototype.xpcDeliver@http://localhost:9000/out/goog/net/xpc/crosspagechannel.js:733:7\ngoog.net.xpc.NativeMessagingTransport.messageReceived_@http://localhost:9000/out/goog/net/xpc/nativemessagingtransport.js:321:1\ngoog.events.fireListener@http://localhost:9000/out/goog/events/events.js:741:10\ngoog.events.handleBrowserEvent_@http://localhost:9000/out/goog/events/events.js:862:1\ngoog.events.getProxy/f<@http://localhost:9000/out/goog/events/events.js:276:16\"\n {:ua-product :firefox}\n nil)\n )\n\n;; -----------------------------------------------------------------------------\n;; Node.js Stacktrace\n\n(defmethod parse-stacktrace :nodejs\n [repl-env st err {:keys [output-dir] :as opts}]\n (letfn [(parse-source-loc-info [x]\n (when (and x (not (string/blank? x)))\n (parse-int x)))\n (process-frame [frame-str]\n (when-not (or (string/blank? frame-str)\n (nil? (re-find #\"^\\s+at\" frame-str)))\n (let [frame-str (string/replace frame-str #\"\\s+at\\s+\" \"\")]\n (when-not (string/starts-with? frame-str \"repl:\")\n (let [parts (string/split frame-str #\"\\s+\")\n [function file&line] (if (== 2 (count parts))\n [(first parts)\n (subs (second parts) 1\n (dec (count (second parts))))]\n [nil (first parts)])\n [file-part line-part col-part] (string/split file&line #\":\")]\n {:file (if function\n (cond-> file-part\n output-dir\n (string/replace\n (str output-dir\n #?(:clj File/separator :cljs \"/\"))\n \"\"))\n file-part)\n :function function\n :line (parse-source-loc-info line-part)\n :column (parse-source-loc-info col-part)})))))]\n (->> (string/split st #\"\\n\")\n (map process-frame)\n (remove nil?)\n vec)))\n\n(comment\n (parse-stacktrace {}\n \"Error: 1 is not ISeqable\n at cljs$core$seq (.cljs_node_repl/cljs/core.cljs:1118:20)\n at repl:1:65\n at repl:9:4\n at repl:17:3\n at repl:22:4\n at Object.exports.runInThisContext (vm.js:54:17)\n at Domain.<anonymous> ([stdin]:41:34)\n at Domain.run (domain.js:228:14)\n at Socket.<anonymous> ([stdin]:40:25)\n at emitOne (events.js:77:13)\"\n\n {:ua-product :nodejs}\n {:output-dir \".cljs_node_repl\"})\n )\n\n;; -----------------------------------------------------------------------------\n;; Stacktrace Mapping\n\n(defn remove-ext [file]\n (-> file\n (string/replace #\"\\.js$\" \"\")\n (string/replace #\"\\.cljs$\" \"\")\n (string/replace #\"\\.cljc$\" \"\")\n (string/replace #\"\\.clj$\" \"\")))\n\n(defn mapped-line-column-call\n \"Given a cljs.source-map source map data structure map a generated line\n and column back to the original line, column, and function called.\"\n [sms file line column]\n (let [source-map (get sms (symbol (string/replace (remove-ext file) \"/\" \".\")))]\n ;; source maps are 0 indexed for columns\n ;; multiple segments may exist at column\n ;; the last segment seems most accurate\n (letfn [(get-best-column [columns column]\n (last (or (get columns\n (last (filter #(<= % (dec column))\n (sort (keys columns)))))\n (second (first columns)))))\n (adjust [mapped]\n (vec (map #(%1 %2) [inc inc identity] mapped)))]\n (let [default [line column nil]]\n ;; source maps are 0 indexed for lines\n (if-let [columns (get source-map (dec line))]\n (adjust (map (get-best-column columns column) [:line :col :name]))\n default)))))\n\n(defn mapped-frame\n \"Given opts and a canonicalized JavaScript stacktrace frame, return the\n ClojureScript frame.\"\n [{:keys [function file line column]} sms opts]\n (let [no-source-file? (if-not file true (starts-with? file \"<\"))\n [line' column' call] (if no-source-file?\n [line column nil]\n (mapped-line-column-call sms file line column))\n file' (when-not no-source-file?\n (if (ends-with? file \".js\")\n (str (subs file 0 (- (count file) 3)) \".cljs\")\n file))]\n {:function function\n :call call\n :file (if no-source-file?\n (str \"NO_SOURCE_FILE\" (when file (str \" \" file)))\n file')\n :line line'\n :column column'}))\n\n(defn mapped-stacktrace\n \"Given a vector representing the canonicalized JavaScript stacktrace\n return the ClojureScript stacktrace. The canonical stacktrace must be\n in the form:\n\n [{:file <string>\n :function <string>\n :line <integer>\n :column <integer>}*]\n\n :file must be a URL path (without protocol) relative to :output-dir or a\n identifier delimited by angle brackets. The returned mapped stacktrace will\n also contain :url entries to the original sources if it can be determined\n from the classpath.\"\n ([stacktrace sms]\n (mapped-stacktrace stacktrace sms nil))\n ([stacktrace sms opts]\n (letfn [(call->function [x]\n (if (:call x)\n (hash-map :function (:call x))\n {}))\n (call-merge [function call]\n (merge-with\n (fn [munged-fn-name unmunged-call-name]\n (if (= munged-fn-name\n (string/replace (munge unmunged-call-name) \".\" \"$\"))\n unmunged-call-name\n munged-fn-name))\n function call))]\n (let [mapped-frames (map (memoize #(mapped-frame % sms opts)) stacktrace)]\n ;; take each non-nil :call and optionally merge it into :function one-level\n ;; up to avoid replacing with local symbols, we only replace munged name if\n ;; we can munge call symbol back to it\n (vec (map call-merge\n (map #(dissoc % :call) mapped-frames)\n (concat (rest (map call->function mapped-frames)) [{}])))))))\n\n(defn mapped-stacktrace-str\n \"Given a vector representing the canonicalized JavaScript stacktrace and a map\n of library names to decoded source maps, print the ClojureScript stacktrace .\n See mapped-stacktrace.\"\n ([stacktrace sms]\n (mapped-stacktrace-str stacktrace sms nil))\n ([stacktrace sms opts]\n (with-out-str\n (doseq [{:keys [function file line column]}\n (mapped-stacktrace stacktrace sms opts)]\n (println \"\\t\"\n (str (when function (str function \" \"))\n \"(\" file (when line (str \":\" line))\n (when column (str \":\" column)) \")\"))))))\n\n(comment\n (require '[cljs.closure :as cljsc]\n '[cljs.vendor.clojure.data.json :as json]\n '[cljs.source-map :as sm]\n '[clojure.pprint :as pp])\n\n (cljsc/build \"samples/hello/src\"\n {:optimizations :none\n :output-dir \"samples/hello/out\"\n :output-to \"samples/hello/out/hello.js\"\n :source-map true})\n\n (def sms\n {'hello.core\n (sm/decode\n (json/read-str\n (slurp \"samples/hello/out/hello/core.js.map\")\n :key-fn keyword))})\n\n (pp/pprint sms)\n\n ;; maps to :line 5 :column 24\n (mapped-stacktrace\n [{:file \"hello/core.js\"\n :function \"first\"\n :line 6\n :column 0}]\n sms {:output-dir \"samples/hello/out\"})\n\n (mapped-stacktrace-str\n [{:file \"hello/core.js\"\n :function \"first\"\n :line 6\n :column 0}]\n sms {:output-dir \"samples/hello/out\"})\n )\n"],"x_google_ignoreList":[0]}