Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

feat: option to inject code verbatim

Ouverte
#43 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
30/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
javascript
Domaine
tooling

Piste de recherche

Commencez par examiner le code de sérialisation du package afin de comprendre comment les valeurs des objets JavaScript sont actuellement converties et où les chaînes de fonctions sont réécrites. Déterminez comment la valeur proposée telle quelle doit être représentée et détectée, puis vérifiez que le code injecté reste inchangé tandis que les valeurs ordinaires conservent leur comportement de sérialisation existant.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

It would be handy for a use case I have for this package to support a feature that could inject code verbatim if it appears in a JavaScript object.

To implement, we could use (A) a special object constructor, (B) a special property on a string, or (C) a tagged template literal returning some special value, which would allow us to detect such cases in the serialization code.

A:

const object = {
  customCode: serialize.verbatim('window.navigator.userAgent')
};

B:

const customCode = 'window.navigator.userAgent';
customCode.verbatim = true;
const object = {
  customCode
};

C:

const customCode = serialize.verbatim`window.navigator.userAgent`;
const object = {
  customCode
};

I tried a hack similar to https://github.com/yahoo/serialize-javascript/issues/32#issuecomment-350184098 using a function as a value and overriding its toString method, but it didn't work since I can't include ( in the code without it being rewritten as part of the function serialization.

Langage dominant
JavaScript
Étoiles
2.9k
Forks
215
Merge moyen
1 j 12 h
PR mergées (30 j)
2

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de yahoo/serialize-javascript

Toutes les issues de yahoo/serialize-javascript

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.