Allow serialization options to be configured for the JSON serializer
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 42/100
Piste de recherche
Commencez par localiser le sérialiseur JSON configuré de Commanded et les points d’entrée de encode/decode, puis comparez-les aux options de Jason listées dans l’issue. Le travail est terminé lorsque les appelants peuvent configurer ces options et qu’elles sont transmises à la fois à encoding et à decoding sans modifier le comportement par défaut.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
It should be possible to configure encode and decode options in Commanded to be passed to the configured JSON serializer.
Jason supports the following encode and decode options.
Encode
:escape- controls how strings are encoded. Possible values are::json(default) - the regular JSON escaping as defined by RFC 7159.:javascript_safe- additionally escapes the LINE SEPARATOR (U+2028)
and PARAGRAPH SEPARATOR (U+2029) characters to make the produced JSON
valid JavaSciprt.:html_safe- similar to:javascript, but also escapes the/
caracter to prevent XSS.:unicode_safe- escapes all non-ascii characters.
:maps- controls how maps are encoded. Possible values are::strict- checks the encoded map for duplicate keys and raises
if they appear. For example%{:foo => 1, "foo" => 2}would be
rejected, since both keys would be encoded to the string"foo".:naive(default) - does not perform the check.
:pretty- controls pretty printing of the output. Possible values are:trueto pretty print with default configuration- a keyword of options as specified by
Jason.Formatter.pretty_print/2.
Decode
:keys- controls how keys in objects are decoded. Possible values are::strings(default) - decodes keys as binary strings:atoms- keys are converted to atoms usingString.to_atom/1
*-:atoms!- keys are converted to atoms usingString.to_existing_atom/1
:strings- controls how strings (including keys) are decoded. Possible values are:
*:reference(default) - when possible tries to create a sub-binary into the original:copy- always copies the strings. This option is especially useful when parts of the decoded data will be stored for a long time (in ets or some process) to avoid keeping the reference to the original data.
- Langage dominant
- Elixir
- Étoiles
- 2k
- Forks
- 257
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de commanded/commanded
-
Aggregate takes a snapshot on the first command after being restored from a snapshotPeut-être pris @a-nassim l’a pris il y a 6 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Toutes les issues de commanded/commanded
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 79/100
FarmBot/farmbot_os#1530 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
membraneframework/membrane_core#1201 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
30-minutes algorithm any-language codewars dart easy elixir hackerrank hacktoberfest haskell help wanted interview-prep julia leetcode lua open-source r scala students zig
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Huerte/algo-solutions-python#226 ·
Les mainteneurs répondent en général sous 1 jour
-
Maven/Gradle: versions with a leading "v" (v2 → v3) are filtered out as "non-v2 classifier versions"OuverteL: java:gradle L: java:maven T: bug 🐞
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dependabot/dependabot-core#16865 ·
Les mainteneurs répondent en général sous 1 jour