Feature: String with metadata mode
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- clojure, javascript, react-native
- Área
- devtools
Línea de trabajo
En el issue no se menciona ningún archivo de implementación ni ninguna prueba. Empieza siguiendo la ruta js/console.log y el manejo de valores de cljs-devtools; después evalúa el enfoque propuesto de metadatos data-str; se considera terminado cuando la serialización acotada funciona sin cljs-devtools y un cljs-devtools instalado puede explorar los datos asociados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
This is a feature idea.
I'm looking for a way to make my js/console.log display cleanly with and without cljs-devtools installed.
Motivating example
Today's job is a react native app. It's not always convenient to turn cljs-devtools on (e.g. two simulators) and it's helpful to look in the simulator logs sometimes (no cljs-devtool rendering).
Problems
- js/console.log with regular clojure data types produces verbose/unreadable strings.
- logging (serializing) large data structures can cause UX lag
Idea
Perhaps cljs-devtools could be adapted to look for metadata associated with a string (or string like) object.
Vaguely something like this could be used to prepare a "console.log friendly string" with some other protocol which cljs-devtools could detect...
(defn data-str [data]
(binding [*print-level* 3 *print-length* 5]
(specify! (pr-str data) IMeta (-meta [_] data)))))
(js/console.log (data-str {:a 1 :b (range 1000)}))
NOTE: this code doesn't work
Goal is to cover two cases
- String form will work in all situations and not take too long to serialize.
- If cljs-devtools is installed you can drill into metadata.
- Lenguaje dominante
- Clojure
- Estrellas
- 1.1k
- Forks
- 51
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de binaryage/cljs-devtools
-
ROOKAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 5/100
binaryage/cljs-devtools#82 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
binaryage/cljs-devtools#81 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
binaryage/cljs-devtools#80 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
binaryage/cljs-devtools#79 ·
-
Add steps for shadow-cljs buildAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
binaryage/cljs-devtools#76 · 1 comentario ·
Todos los issues de binaryage/cljs-devtools
Issues similares
-
.Needs Triage Priority:P3 Type:New Feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
metabase/metabase#83625 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
replikativ/datahike#1105 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
clj-commons/loom#166 ·
Los mantenedores suelen responder en 1 día