Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Marshalling nested JS `Date` to rb `Time` not working

Geschlossen
#121 5 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
38/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
javascript, ruby
Bereich
backend

Rechercherichtung

Start by reproducing the issue with the Ruby snippet in the report, which compares a top-level JavaScript Date with one nested in an object. Then trace how MiniRacer converts JavaScript values back to Ruby, using the nested Date case to locate the missing conversion. Done means the nested value is returned as a Ruby Time, as the top-level case already is.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Related to #12

require 'bundler/inline'
gemfile do
  gem 'mini_racer', '= 0.2.4'
end

ctx = MiniRacer::Context.new
ctx.eval( <<~JSEVAL )
  var extractDate = (nestedObj) => nestedObj.abc[0].constructor.name;
JSEVAL

# PASS: returns "Date" (rb => js conversion happens even when `Time` is nested)
p ctx.call('extractDate', {abc: [Time.now]})

# PASS: returns `Time` (js => rb conversion happens when a `Date` isn't nested)
p ctx.eval(%q|new Date()|).class

# FAIL: returns `String` (js => rb conversion doesn't happen for nested `Date`s)
p ctx.eval(%q|( {abc: new Date()} )|)['abc'].class
Vorherrschende Sprache
JavaScript
Sterne
628
Forks
100
Ø Merge
1 T. 20 Std.
Gemergte PRs (30 T.)
2

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus rubyjs/mini_racer

Alle Issues in rubyjs/mini_racer

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

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