Skip to content

Instantly share code, notes, and snippets.

@vxe
Created March 16, 2022 15:34
Show Gist options
  • Save vxe/c82b9d40bc3c4252e77c53f5bda5b1c5 to your computer and use it in GitHub Desktop.
Save vxe/c82b9d40bc3c4252e77c53f5bda5b1c5 to your computer and use it in GitHub Desktop.
% nbb nrepl-server :port 1339
nREPL server started on port 1339 on host 127.0.0.1 - nrepl://127.0.0.1:1339
Connection accepted
request {:op "clone", :id "1"}
response {"new-session" "bd8d435d-f728-400d-9a47-e0b8f23f3a50", "status" ["done"], "id" "1"}
request {:op "clone", :id "2"}
response {"new-session" "6315334f-8b86-4b30-b5d5-533589e26d49", "status" ["done"], "id" "2"}
request {:op "describe", :session "bd8d435d-f728-400d-9a47-e0b8f23f3a50", :id "3"}
response {"versions" {"nbb-nrepl" {"major" "TODO", "version-string" "TODO"}, "node" {"major" "v17", "minor" "4", "incremental" "0", "version-string" "v17.4.0"}}, "aux" {}, "ops" {"eval" {}, "describe" {}, "clone" {}, "close" {}, "classpath" {}, "load-file" {}}, "status" ["done"], "id" "3", "session" "bd8d435d-f728-400d-9a47-e0b8f23f3a50"}
request {:nrepl.middleware.print/buffer-size 4096, :file "*cider-repl ~:localhost:1339(clj)*", :nrepl.middleware.print/quota 1048576, :nrepl.middleware.print/print "cider.nrepl.pprint/pprint", :op "eval", :column 1, :line 35, :id "4", :code "(clojure.core/apply clojure.core/require clojure.main/repl-requires)", :inhibit-cider-middleware "true", :nrepl.middleware.print/stream? "1", :nrepl.middleware.print/options {:right-margin 80}, :session "bd8d435d-f728-400d-9a47-e0b8f23f3a50"}
response {"value" "nil", "ns" "user", "id" "4", "session" "bd8d435d-f728-400d-9a47-e0b8f23f3a50"}
response {"status" ["done"], "id" "4", "session" "bd8d435d-f728-400d-9a47-e0b8f23f3a50"}
request {:op "classpath", :session "bd8d435d-f728-400d-9a47-e0b8f23f3a50", :id "5"}
response {"status" ["done"], "classpath" ["/Users/vedwin"], "id" "5", "session" "bd8d435d-f728-400d-9a47-e0b8f23f3a50"}
request {:op "load-file", :file ";;; lispy-clojure.clj --- lispy support for Clojure.\n\n;; Copyright (C) 2015-2018 Oleh Krehel\n\n;; This file is not part of GNU Emacs\n\n;; This file is free software; you can redistribute it and/or modify\n;; it under the terms of the GNU General Public License as published by\n;; the Free Software Foundation; either version 3, or (at your option)\n;; any later version.\n\n;; This program is distributed in the hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for more details.\n\n;; For a full copy of the GNU General Public License\n;; see <http://www.gnu.org/licenses/>.\n\n(ns lispy-clojure\n (:require [clojure.repl :as repl]\n [clojure.pprint]\n [clojure.java.io :as io]\n [clojure.string :as str])\n (:use [cemerick.pomegranate :only (add-dependencies)])\n (:import (java.io File LineNumberReader InputStreamReader\n PushbackReader FileInputStream)\n (clojure.lang RT Reflector)))\n\n(defn use-package [name version]\n (add-dependencies\n :coordinates [[name version]]\n :repositories (merge cemerick.pomegranate.aether/maven-central\n {\"clojars\" \"https://clojars.org/repo\"})\n :classloader (. (. (. Compiler/LOADER deref) getParent) getParent)))\n\n(defn expand-file-name [name dir]\n (. (io/file dir name) getCanonicalPath))\n\n(use-package 'compliment \"0.3.6\")\n(require '[compliment.core :as compliment])\n\n(use-package 'me.raynes/fs \"1.4.6\")\n(require '[me.raynes.fs :as fs])\n\n(defmacro xcond [& clauses]\n \"Common Lisp style `cond'.\n\nIt's more structured than `cond', thus exprs that use it are lot more\nmalleable to refactoring.\"\n (when clauses\n (let [clause (first clauses)]\n (if (= (count clause) 1)\n `(or ~(first clause)\n (xcond\n ~@(next clauses)))\n `(if ~(first clause)\n (do ~@(next clause))\n (xcond\n ~@(next clauses)))))))\n\n(defn fetch-packages []\n (xcond ((fs/exists? \"deps.edn\")\n (println \"fixme\"))\n ((fs/exists? \"project.clj\")\n (let [deps (->> (slurp \"project.clj\")\n (read-string)\n (drop 3)\n (partition 2)\n (map vec)\n (into {})\n :dependencies)]\n (doseq [[name ver] deps]\n (use-package name ver))))\n (:else\n (throw\n (ex-info \"Found no project.clj or deps.edn\"\n {:cwd fs/*cwd*})))))\n\n(defn expand-home\n [path]\n (if (.startsWith path \"~\")\n (let [sep (.indexOf path File/separator)]\n (str (io/file (System/getProperty \"user.home\")\n (subs path (inc sep)))))\n path))\n\n(defn source-fn\n \"Returns a string of the source code for the given symbol, if it can\n find it. This requires that the symbol resolve to a Var defined in\n a namespace for which the .clj is in the classpath. Returns nil if\n it can't find the source.\n\n Example: (source-fn 'filter)\"\n [x]\n (let [v (resolve x)\n m (and v (meta v))\n file (or (:l-file m) (:file m))\n line (or (:l-line m) (:line m))]\n (when (and file line (> line 1))\n (let [filepath (expand-home file)\n strm (or (.getResourceAsStream (RT/baseLoader) filepath)\n (FileInputStream. filepath))]\n (with-open [rdr (LineNumberReader. (InputStreamReader. strm))]\n (dotimes [_ (dec line)] (.readLine rdr))\n (let [text (StringBuilder.)\n pbr (proxy [PushbackReader] [rdr]\n (read [] (let [i (proxy-super read)]\n (.append text (char i))\n i)))]\n (if (= :unknown *read-eval*)\n (throw (IllegalStateException. \"Unable to read source while *read-eval* is :unknown.\"))\n (read (PushbackReader. pbr)))\n (str text)))))))\n\n(defn symbol-function\n \"Return the source code for function SYM.\"\n [sym]\n (read-string\n (source-fn\n sym)))\n\n(defn macro? [x]\n (:macro (meta (resolve x))))\n\n(defn arity [args]\n (if (some #{'&} args)\n 1000\n (count args)))\n\n(defn flatten-expr\n \"Flatten a function call EXPR by substituting the arguments.\"\n [expr]\n (let [func-name (first expr)\n args (rest expr)\n func-def (symbol-function func-name)\n func-doc (when (string? (nth func-def 2))\n (nth func-def 2))\n func-rest (drop (if func-doc 3 2) func-def)\n func-rest (if (map? (first func-rest))\n (rest func-rest)\n func-rest)\n func-bodies (if (vector? (first func-rest))\n (list func-rest)\n func-rest)\n func-body (first (filter #(>= (arity (first %)) (count args))\n (sort (fn [a b] (< (arity (first a))\n (arity (first b))))\n func-bodies)))\n func-args (first func-body)\n func-impl (rest func-body)]\n (cons 'let\n (cons (vec (if (some #{'&} [func-args])\n (vector func-args (vec args))\n (apply concat\n (filter (fn [[a b]]\n (not (= a b)))\n (partition\n 2 (interleave func-args args))))))\n func-impl))))\n\n(defn quote-maybe\n \"Quote X that isn't self-quoting, like symbol or list.\"\n [x]\n (if (fn? x)\n x\n (if (or (symbol? x)\n (list? x))\n (list 'quote x)\n x)))\n\n(defn dest\n \"Transform `let'-style BINDINGS into a sequence of `def's.\"\n [bindings]\n (let [bs (partition 2 (destructure bindings))\n as (filterv\n #(not (re-matches #\"^(vec|map|seq|first)__.*\" (name %)))\n (map first bs))]\n (concat '(do)\n (map (fn [[name val]]\n `(def ~name ~val))\n bs)\n [(zipmap (map keyword as) as)])))\n\n(defn get-func-args-defn [func-def n-args]\n (let [func-doc (when (string? (nth func-def 2))\n (nth func-def 2))\n func-rest (drop (if func-doc 3 2) func-def)\n func-rest (if (map? (first func-rest))\n (rest func-rest)\n func-rest)\n func-bodies (if (vector? (first func-rest))\n (list func-rest)\n func-rest)\n func-body (first (filter #(>= (arity (first %)) n-args)\n (sort (fn [a b] (< (arity (first a))\n (arity (first b))))\n func-bodies)))\n func-args (first func-body)]\n func-args))\n\n(defn get-func-args-def [func-def n-args]\n (let [body (nth func-def 2)]\n (assert (= (first body) 'fn))\n (let [args (first (filter vector? body))\n args-count (count (vec (remove '#{& &form &env} args)))]\n (assert (or (= args-count n-args)\n (and (< args-count n-args)\n ((set args) '&))))\n (vec (remove '#{&form &env} args)))))\n\n(defn get-func-args [func-def n-args]\n (xcond ((#{'defn 'defmacro} (first func-def))\n (get-func-args-defn func-def n-args))\n ((= (first func-def) 'def)\n (get-func-args-def func-def n-args))))\n\n(defn shadow-map []\n (or (ns-resolve *ns* 'shadows)\n (intern *ns* 'shadows {})))\n\n(defn shadow-unmap [nspc]\n ;; (ns-unmap nspc 'shadows)\n (intern nspc 'shadows {}))\n\n(defmacro with-shadows [& forms]\n `(let ~(vec (mapcat (fn [[k _]] [(symbol k) `((shadow-map) ~k)])\n (deref (shadow-map))))\n ~@forms))\n\n(defn shadow-def\n \"Give SYM in *ns* shadow value EXPR.\n\n (with-shadows SYM) can be used to retrieve this value.\"\n [sym expr]\n (intern\n *ns*\n 'shadows\n (assoc (deref (shadow-map)) (name sym) expr)))\n\n(defn shadow-dest\n \"Transform `let'-style BINDINGS into a sequence of `shadow-def's.\"\n ([bindings]\n (shadow-dest bindings *ns*))\n ([bindings nspc]\n (let [[_do & forms] (dest bindings)\n [defs out] (partition-by map? forms)]\n `(let ~(vec (mapcat (fn [[_ n v]] [n v]) defs))\n ~@(if (not= *ns* nspc)\n `((in-ns '~(ns-name nspc))))\n ~@(map\n (fn [x]\n `(shadow-def '~(second x) ~(second x)))\n defs)\n ~@out))))\n\n(defn debug-step-in\n \"Evaluate the function call arugments and sub them into function arguments.\"\n [expr]\n (let [func-name (first expr)\n args (vec (rest expr))\n func-def (symbol-function func-name)\n func-args (get-func-args func-def (count args))\n func-ns (:ns (meta (resolve func-name)))\n eval-form (shadow-dest\n [func-args (if (macro? func-name)\n (list 'quote args)\n args)]\n func-ns)]\n (eval\n `(with-shadows\n ~eval-form))))\n\n(defn object-methods [sym]\n (distinct\n (map #(.getName %)\n (xcond\n ((instance? java.lang.Class sym)\n (. sym getMethods))\n\n ((instance? java.lang.Object sym)\n (. (type sym) getMethods))))))\n\n(defn object-fields [sym]\n (map #(str \"-\" (.getName %))\n (.getFields (type sym))))\n\n(defmacro object-members [ob]\n `(with-shadows\n (concat (object-fields ~ob)\n (object-methods ~ob))))\n\n(defn get-meth [obj method-name]\n (first (filter #(= (.getName %) method-name)\n (.getMethods (type obj)))))\n\n(defn method-signature [obj method-name]\n (str (get-meth obj method-name)))\n\n(defn get-ctors [obj]\n (. obj getDeclaredConstructors))\n\n(defn format-ctor [s]\n (let [[_ name args] (re-find #\"(?:public|protected) (.*)\\((.*)\\)\" s)]\n (str name\n \".\"\n (if (= args \"\")\n \"\"\n (str \" \" (str/replace args #\",\" \" \"))))))\n\n(defn ctor-args [sym]\n (str/join\n \"\\n\"\n (map #(str \"(\" % \")\")\n (map format-ctor\n (map str (get-ctors sym))))))\n\n(defn resolve-sym [sym]\n (xcond\n [(symbol? sym)\n (if (special-symbol? sym)\n 'special\n (or\n (resolve sym)\n (first (keep #(ns-resolve % sym) (all-ns)))\n (if-let [val (try (load-string (str sym)) (catch Exception e))]\n (list 'variable (str val)))))]\n\n [(keyword? sym) 'keyword]\n\n [:else 'unknown]))\n\n(defn class-name [cls]\n (str/replace (str cls) #\"class \" \"\"))\n\n(defn class-method-static? [method]\n (java.lang.reflect.Modifier/isStatic (.getModifiers method)))\n\n(defn class-methods [cname]\n (load-string (format \"(.getMethods %s)\" cname)))\n\n(defn find-method [sym]\n (let [[cname mname] (str/split (str sym) #\"/\")\n methods (->>\n (and cname\n (class-methods cname))\n (filter #(= (.getName %) mname)))]\n (first methods)))\n\n(defn arglist [sym]\n (let [rsym (resolve-sym sym)]\n (xcond\n ((= 'special rsym)\n (->> (with-out-str\n (eval (list 'clojure.repl/doc sym)))\n (re-find #\"\\(.*\\)\")\n read-string rest\n (map str)\n (str/join \" \")\n (format \"[%s]\")\n list))\n ((and (nil? rsym) (re-find #\"/\" (str sym)))\n (let [method (find-method sym)\n args (->> method\n (.getParameterTypes)\n (map class-name)\n (str/join \" \"))]\n (format \"(%s [%s]) -> %s\" sym args\n (class-name (. method getReturnType)))))\n (:else\n (let [args (map str (:arglists (meta rsym)))]\n (if (empty? args)\n (condp #(%1 %2) (eval sym)\n map? \"[key]\"\n set? \"[key]\"\n vector? \"[idx]\"\n \"is uncallable\")\n args))))))\n\n(defmacro ok\n \"On getting an Exception, just print it.\"\n [& body]\n `(try\n (eval '~@body)\n (catch Exception ~'e (.getMessage ~'e))))\n\n(defn classpath []\n (map #(.getAbsolutePath (java.io.File. (.toURI %)))\n (.getURLs (java.lang.ClassLoader/getSystemClassLoader))))\n\n(defn reader=\n \"Equality accounting for reader-generated symbols.\"\n [a b]\n (try\n (xcond\n ((and (symbol? a) (symbol? b))\n (or\n (= a b)\n (and\n (re-find #\"[0-9]+#$\" (name a))\n (re-find #\"[0-9]+#$\" (name b))\n true)))\n\n ((and (instance? java.util.regex.Pattern a)\n (instance? java.util.regex.Pattern b))\n (= (. a toString)\n (. b toString)))\n\n ((and (empty? a) (empty? b))\n true)\n\n (:else\n (and\n (reader= (first a) (first b))\n (reader= (rest a) (rest b)))))\n (catch Exception e\n (= a b))))\n\n(defn position [x coll equality]\n (letfn [(iter [i coll]\n (xcond\n ((empty? coll) nil)\n ((equality x (first coll))\n i)\n (:else\n (recur (inc i) (rest coll)))))]\n (iter 0 coll)))\n\n(defn guess-intent [expr context]\n (if (not (or (list? expr)\n (vector? expr)))\n expr\n (let [idx (position expr context reader=)]\n (xcond\n ((#{'defproject} (first expr))\n `(fetch-packages))\n ((nil? idx)\n expr)\n ;; [x |(+ 1 2) y (+ 3 4)] => {:x 3}\n ;; TODO: would be better to have 1 level higher context, so that we just check\n ;; (= (first context) 'let)\n ((and (vector? context)\n (= 0 (rem (count context) 2))\n (= 0 (rem (inc idx) 2))\n (every? (some-fn symbol? vector? map?) (take-nth 2 context)))\n (shadow-dest\n (take 2 (drop (- idx 1) context))))\n ((or (nil? context)\n (reader= expr context))\n expr)\n ((and (#{'doseq 'for} (first context))\n (vector? expr)\n (= 2 (count expr)))\n (shadow-dest\n [(first expr) (first (eval `(with-shadows ~(second expr))))]))\n ((and (#{'dotimes} (first context))\n (vector? expr)\n (= 2 (count expr)))\n (shadow-dest\n [(first expr) 0]))\n ((#{'-> '->> 'doto} (first context))\n (take (inc idx) context))\n (:t\n expr)))))\n\n(defn add-location-to-defn [expr file line]\n (when (and (list? expr)\n (= 'defn (first expr))\n file line)\n (let [arglist-pos (first (keep-indexed\n (fn [i x] (if (or\n (vector? x)\n (list? x)) i))\n expr))\n expr-head (take arglist-pos expr)\n expr-tail (drop arglist-pos expr)\n expr-doc (or (first (filter string? expr-head)) \"\")\n expr-map (or (first (filter map? expr-head)) {})]\n `(~'defn ~(nth expr 1)\n ~expr-doc\n ~(merge {:l-file file\n :l-line line}\n expr-map)\n ~@expr-tail))))\n\n(defn add-location-to-def\n [[_def name & args] file line]\n (apply list\n _def\n (with-meta\n name\n {:l-file file\n :l-line line})\n (if (> (count args) 1)\n args\n (cons \"\" args))))\n\n(defn add-location-to-deflike [expr file line]\n (when (and file line (list? expr))\n (xcond ((= (first expr) 'def)\n (add-location-to-def expr file line))\n ((= (first expr) 'defn)\n (add-location-to-defn expr file line)))))\n\n(defn read-string-all\n \"Read all objects from the string S.\"\n [s]\n (let [reader (java.io.PushbackReader.\n (java.io.StringReader. s))]\n (loop [res []]\n (if-let [x (try (read reader)\n (catch Exception e))]\n (recur (conj res x))\n res))))\n\n(defn reval [e-str context-str & {:keys [file line]}]\n (let [expr (read-string e-str)\n context (try\n (read-string context-str)\n (catch Exception _))\n full-expr (read-string (format \"[%s]\" e-str))\n expr1 (xcond\n ((nil? context-str)\n (cons 'do full-expr))\n ((= (count full-expr) 2)\n (shadow-dest full-expr))\n ((add-location-to-deflike expr file line))\n (:else\n (guess-intent expr context)))]\n (eval `(with-shadows\n (try\n (do ~expr1)\n (catch Exception ~'e\n (clojure.core/str \"error: \" ~ 'e)))))))\n\n(defn file->elisp [f]\n (if (fs/exists? f)\n f\n (. (io/resource f) getPath)))\n\n(defn location [sym]\n (let [rs (resolve sym)\n m (meta rs)]\n (xcond ((:l-file m)\n (list (:l-file m) (:l-line m)))\n ((and (:file m) (not (re-matches #\"^/tmp/\" (:file m))))\n (list (file->elisp (:file m)) (:line m)))\n ;; ((class? rs)\n ;; (let [sym (symbol (class-name rs))\n ;; info (parser/source-info sym)]\n ;; (list\n ;; (file->elisp\n ;; (:file info))\n ;; (:line info))))\n ;; ((nil? rs)\n ;; (let [name (str sym)\n ;; [cls method] (str/split name #\"/\")\n ;; file (-> (clojure.core/symbol cls)\n ;; (resolve)\n ;; (class-name)\n ;; (parser/source-path)\n ;; (file->elisp))\n ;; line (-> (symbol cls)\n ;; (resolve)\n ;; (class-name)\n ;; (symbol)\n ;; (parser/source-info)\n ;; (:members)\n ;; (get (clojure.core/symbol method))\n ;; (vals)\n ;; (first)\n ;; (:line))]\n ;; (list file line)))\n )))\n\n(defn pp [expr]\n (with-out-str\n (clojure.pprint/pprint\n expr)))\n\n(defn all-docs [ns]\n (str/join\n \"::\"\n (->> (filter (fn [v]\n (and (var? v)\n (fn? (deref v))))\n (vals (ns-map ns)))\n (map\n (fn [v]\n (let [m (meta v)]\n (str v \"\\n\" (:arglists m) \"\\n\" (:doc m))))))))\n\n(defn complete [prefix]\n (compliment/completions\n prefix\n {:context :same :plain-candidates true}))\n\n(let [dd (fs/parent (:file (meta #'use-package)))\n fname (java.io.File. dd \"lispy-clojure-test.clj\")]\n (when (fs/exists? fname)\n (load-file (str fname))))\n", :file-path "/Users/vedwin/wrk/lab/fml/.emacs.d/elpa/27.2/develop/lispy-20190508.1024/lispy-clojure.clj", :file-name "lispy-clojure.clj", :session "bd8d435d-f728-400d-9a47-e0b8f23f3a50", :id "6"}
file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:223
Uo=function(a,b,c,d){if($APP.m(Xo))throw c;var f=fn(d),h=(new $APP.k(null,"env","env",-1815813235)).g(a),l=(new $APP.k(null,"id","id",-1388402092)).g(a),q=$APP.Nl(c);a=function(){var y=(new $APP.k("sci.impl","callstack","sci.impl/callstack",-1621010557)).g(q);y=$APP.m(y)?y:null;return $APP.m(y)?y:$APP.Hh($APP.sd)}();$APP.m(f)&&($APP.m((new $APP.k(null,"special","special",-1125941630)).g(f))||$APP.Vc(a,$APP.mg.h($APP.p(a),f)));if($APP.ml($APP.So.g($APP.Nl(c))))throw c;b=c.message;d=function(){if($APP.m(f))return f;
^
Ml [Error]: Could not find namespace cemerick.pomegranate.
at new Ml (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:172:149)
at Function.$APP.Ro.i (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:1296:319)
at Uo (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:224:397)
at file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:499:222
at I (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:187:454)
at file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:389:369
at I (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:187:454)
at Ex (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:2804:178)
at Ex (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:2803:189)
at Object.$APP.Fx (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:698:204) {
data: {
D: null,
G: 6,
v: [
{
Hb: null,
name: 'type',
ea: 'type',
pd: 1174270348,
C: 2153775105,
I: 4096
},
{
Hb: 'sci',
name: 'error',
ea: 'sci/error',
pd: -979082803,
C: 2153775105,
I: 4096
},
{
Hb: null,
name: 'line',
ea: 'line',
pd: 212345235,
C: 2153775105,
I: 4096
},
25,
{
Hb: null,
name: 'column',
ea: 'column',
pd: 2078222095,
C: 2153775105,
I: 4096
},
3,
{
Hb: null,
name: 'message',
ea: 'message',
pd: -406056002,
C: 2153775105,
I: 4096
},
'Could not find namespace cemerick.pomegranate.',
{
Hb: 'sci.impl',
name: 'callstack',
ea: 'sci.impl/callstack',
pd: -1621010557,
C: 2153775105,
I: 4096
},
Gh {
state: {
D: null,
first: {
D: null,
G: 4,
v: [Array],
F: null,
C: 16647951,
I: 139268
},
xb: null,
count: 1,
F: null,
C: 65937646,
I: 8192
},
C: 32768,
I: 0
},
{
Hb: null,
name: 'file',
ea: 'file',
pd: -1269645878,
C: 2153775105,
I: 4096
},
null
],
F: null,
C: 16647951,
I: 139268
},
ce: Error: Could not find namespace cemerick.pomegranate.
at Wp (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:325:397)
at Function.dq.j (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:1484:321)
at Function.dq.u (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:1484:448)
at Function.$APP.Zg.B (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:868:383)
at eq (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:329:35)
at Function.Bt.j (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:1486:205)
at Function.Bt.u (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:1486:319)
at Function.$APP.Zg.i (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:868:256)
at file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:499:175
at I (file:///usr/local/lib/node_modules/nbb/out/nbb_core.js:187:454),
description: undefined,
number: undefined,
fileName: undefined,
lineNumber: undefined,
columnNumber: undefined
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment