CodeSampleX

Beispiel

superjson 2.2.6: Configure SuperJSON instances with dedupe, inPlace deserialization, custom transformers, allowProps and allowErrorProps, and understand how downstream consumers fail on raw deduped json, frozen payloads, or unregistered schemas.

Verifiziertes Beispiel für npm superjson 2.2.6: Configure SuperJSON instances with dedupe, inPlace deserialization, custom transformers, allowProps and…

sha256:6a06c937098f463ff019be1bc3cfd90c83df7a9d2c953b750af570fe2ea91479

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
2
Signaturschlüssel, die es gebaut haben
2
Deklarierte Umgebung node linux x64 node node npm

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-16
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-18

Fall

HOW
Ziel
Configure SuperJSON instances with dedupe, inPlace deserialization, custom transformers, allowProps and allowErrorProps, and understand how downstream consumers fail on raw deduped json, frozen payloads, or unregistered schemas.
Pakete
Symbole
  • superjson.SuperJSON
  • superjson.serialize
  • superjson.deserialize
  • superjson.registerClass
  • superjson.registerCustom
  • superjson.registerSymbol
  • superjson.allowErrorProps
Umgebung
node
Erstellt
2026-08-16T06:23:14Z

Contract

  1. assert standard SuperJSON (dedupe: false) duplicates identical object references in json so non-superjson consumers receive complete data
  2. assert SuperJSON with dedupe: true replaces duplicate references with null in json and stores referential equality links in meta
  3. assert non-superjson consumers reading dedupe: true payload silently receive null for all duplicate objects
  4. assert both dedupe: false and dedupe: true restore referential equality (a === b) when deserialized with SuperJSON
  5. assert dedupe: false chooses the shortest path as representative while dedupe: true preserves the first-encountered traversal path
  6. assert default deserialize deep-clones json via copy-anything leaving the serialized payload unmodified
  7. assert deserialize with inPlace: true mutates the serialized payload in-place converting string representations directly into Date and bigint instances
  8. assert deserialize with inPlace: true throws a TypeError when given a frozen payload while default deserialize succeeds
  9. assert registerClass with allowProps strips unlisted properties during serialization and constructor does not execute on deserialization
  10. assert registerCustom serializes custom domain objects under a custom tag and deserializing without the registration throws
  11. assert registerSymbol preserves registered symbol values and deserializing an unknown symbol throws
  12. assert symbol-keyed properties on plain objects are silently dropped during serialization
  13. assert allowErrorProps includes custom error properties like code and status which are otherwise stripped
  14. assert objects containing __proto__, constructor, or prototype own properties throw immediately to prevent prototype pollution

Dateien

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • src/config.mjs
  • test/contract.mjs

Quellartefakt herunterladen (tar.gz)

Ursprungs-Seeder

csx-seed