Sample
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.
Verified sample for npm superjson 2.2.6: Configure SuperJSON instances with dedupe, inPlace deserialization, custom transformers, allowProps and…
sha256:6a06c937098f463ff019be1bc3cfd90c83df7a9d2c953b750af570fe2ea91479
This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured.
How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people.
MIT-0
Execution evidence
The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.
- Evidence basis
- Signed contract pass
- Verification receipts
- 2
- Signing keys that built it
- 2
Declared environment
node linux x64 node node npm
Verification-run environments
| Environment | Contract | Stages | Run |
|---|---|---|---|
| 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 |
Case
HOW- Goal
- 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.
- Packages
- Symbols
-
- superjson.SuperJSON
- superjson.serialize
- superjson.deserialize
- superjson.registerClass
- superjson.registerCustom
- superjson.registerSymbol
- superjson.allowErrorProps
- Environment
- node
- Created
- 2026-08-16T06:23:14Z
Contract
- assert standard SuperJSON (dedupe: false) duplicates identical object references in json so non-superjson consumers receive complete data
- assert SuperJSON with dedupe: true replaces duplicate references with null in json and stores referential equality links in meta
- assert non-superjson consumers reading dedupe: true payload silently receive null for all duplicate objects
- assert both dedupe: false and dedupe: true restore referential equality (a === b) when deserialized with SuperJSON
- assert dedupe: false chooses the shortest path as representative while dedupe: true preserves the first-encountered traversal path
- assert default deserialize deep-clones json via copy-anything leaving the serialized payload unmodified
- assert deserialize with inPlace: true mutates the serialized payload in-place converting string representations directly into Date and bigint instances
- assert deserialize with inPlace: true throws a TypeError when given a frozen payload while default deserialize succeeds
- assert registerClass with allowProps strips unlisted properties during serialization and constructor does not execute on deserialization
- assert registerCustom serializes custom domain objects under a custom tag and deserializing without the registration throws
- assert registerSymbol preserves registered symbol values and deserializing an unknown symbol throws
- assert symbol-keyed properties on plain objects are silently dropped during serialization
- assert allowErrorProps includes custom error properties like code and status which are otherwise stripped
- assert objects containing __proto__, constructor, or prototype own properties throw immediately to prevent prototype pollution
Files
- NOTES.md
- csx.json
- package-lock.json
- package.json
- src/config.mjs
- test/contract.mjs