yahoo / yahoo/serialize-javascript

The regExp of IS_PURE_FUNCTION & IS_ARROW_FUNCTION seem to be extra???

Offen
#147 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
JavaScript
Sterne
2.9k
Forks
215
Ø Merge
1 T. 12 Std.
Gemergte PRs (30 T.)
2

Beschreibung

source code :

var IS_PURE_FUNCTION = /function.?(/;
var IS_ARROW_FUNCTION = /.
?=>.*?/;

// pure functions, example: {key: function() {}}
if(IS_PURE_FUNCTION.test(serializedFn)) {
return serializedFn;
}

// arrow functions, example: arg1 => arg1+5
if(IS_ARROW_FUNCTION.test(serializedFn)) {
return serializedFn;
}

Q:
when I use serialize like:
{
name: "aa",
attrname: "bb",
render(item, row) {
return JSON.parse(item) .map((it) => it.name).join("");
},
}

the regExp will catch this and cause problem, not when it's commented.
then I test the normal way like this:
{
name: "aa",
attrname: "bb",
render: (item, row) => {
return JSON.parse(item) .map((it) => it.name).join("");
},
}

and:

{
name: "aa",
attrname: "bb",
render: function(item, row) {
return JSON.parse(item) .map((it) => it.name).join("");
},
}

without the regExps, these are also correct.

could you please explain me?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit nachzuverfolgen, wo IS_PURE_FUNCTION und IS_ARROW_FUNCTION definiert und auf serializedFn angewendet werden, und vergleiche anschließend die drei Render-Beispiele im Issue. Ermittle, ob verschachtelte Arrow-Funktionen falsch klassifiziert werden, und dokumentiere das erwartete Verhalten oder einen reproduzierbaren fehlschlagenden Test.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.