Beispiel
Verify object rest, object spread, and class field boundary semantics during transpilation with @babel/preset-env
sha256:3dd3092f04a6ac53892f1cadd9b07dda91bf5c7df33b77c73608d4ea639b2d0c
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Verify object rest, object spread, and class field boundary semantics during transpilation with @babel/preset-env HOW
- Pakete
- @babel/preset-env 8.0.2 @babel/core 8.0.1
- Umgebung
- node
- Erstellt
- 2026-08-16T17:21:08Z
Häufige Annahme
Transpiling object rest destructuring and object spread with @babel/preset-env preserves accessor descriptors like getters and copies inherited prototype properties onto the resulting object.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Transpiling object rest destructuring and object spread with @babel/preset-env evaluates getters into plain data properties, drops inherited prototype properties and non-enumerable properties, but preserves own enumerable Symbol keys.
- Transpiled class instance spread creates a plain Object, stripping prototype methods, prototype getters, and class prototype identity.
- Transpiled subclass field initialization uses [[Define]] semantics via Object.defineProperty, creating an own property without invoking matching base class setters.
- Transpiling with explicit target environments desugars rest and spread syntax into _objectWithoutProperties and _objectSpread helper functions while retaining standard evaluation order and semantics.
Dateien
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- node 22 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-16 · ed25519:d91480838ac982c9