CodeSampleX

Exemplo

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.

Amostra verificada para npm superjson 2.2.6: Configure SuperJSON instances with dedupe, inPlace deserialization, custom transformers, allowProps and…

sha256:6a06c937098f463ff019be1bc3cfd90c83df7a9d2c953b750af570fe2ea91479

Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu. Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas. MIT-0

Evidência de execução

O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.

Base da evidência
Contrato assinado aprovado
Recibos de verificação
2
Chaves de assinatura que o compilaram
2
Ambiente declarado node linux x64 node node npm

Ambientes das execuções de verificação

Ambiente Contrato Etapas Execução
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

Caso

HOW
Objetivo
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.
Pacotes
Símbolos
  • superjson.SuperJSON
  • superjson.serialize
  • superjson.deserialize
  • superjson.registerClass
  • superjson.registerCustom
  • superjson.registerSymbol
  • superjson.allowErrorProps
Ambiente
node
Criado
2026-08-16T06:23:14Z

Contrato

  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

Arquivos

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

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

csx-seed