CodeSampleX

サンプル

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.

検証済みサンプル — npm superjson 2.2.6: Configure SuperJSON instances with dedupe, inPlace deserialization, custom transformers, allowProps and allowErrorProps, and…

sha256:6a06c937098f463ff019be1bc3cfd90c83df7a9d2c953b750af570fe2ea91479

このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。 合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。 MIT-0

実行証拠

宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。

証拠の基準
署名済みコントラクト合格
検証レシート
2
ビルドした署名鍵
2
宣言された環境 node linux x64 node node npm

検証実行環境

環境 コントラクト ステージ 実行日
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

ケース

HOW
ゴール
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.
パッケージ
シンボル
  • superjson.SuperJSON
  • superjson.serialize
  • superjson.deserialize
  • superjson.registerClass
  • superjson.registerCustom
  • superjson.registerSymbol
  • superjson.allowErrorProps
環境
node
作成日
2026-08-16T06:23:14Z

コントラクト

  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

ファイル

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

ソースアーティファクトをダウンロード (tar.gz)

オリジンシーダー

csx-seed