CodeSampleX

Exemplo

superjson 2.2.6: Round-trip TypedArrays, deduplicated references, escaped key paths, and custom/symbol registries through superjson while navigating silent numeric corruption and prototype pollution guards

Amostra verificada para npm superjson 2.2.6: Round-trip TypedArrays, deduplicated references, escaped key paths, and custom/symbol registries through…

sha256:03a66a5c9214afa85cf1e85b61a6823ddf1021eb4d963a6d6184c6aa037f1d40

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
Round-trip TypedArrays, deduplicated references, escaped key paths, and custom/symbol registries through superjson while navigating silent numeric corruption and prototype pollution guards
Pacotes
Símbolos
  • superjson.serialize
  • superjson.deserialize
  • superjson.stringify
  • superjson.parse
  • superjson.registerCustom
  • superjson.registerSymbol
  • SuperJSON
  • SuperJSONResult.meta
Ambiente
node
Criado
2026-08-16T06:23:15Z

Contrato

  1. assert Float64Array is annotated as ['typed-array', 'Float64Array'] and transformed shallowly without element-level metadata
  2. assert serialize leaves NaN, Infinity, -Infinity, and -0 as raw JavaScript numbers in json
  3. assert stringify runs JSON.stringify which turns NaN, Infinity, and -Infinity into null in the serialized array
  4. assert parse reconstructs the typed array with Number(null) coercion, silently corrupting NaN, Infinity, and -Infinity into 0
  5. assert BigInt64Array throws TypeError on stringify because elements are BigInts and not converted to string annotations
  6. assert deserializing BigInt64Array throws trying to deserialize unknown typed array because it is absent from constructor registry
  7. assert DataView is excluded from typed array transformers and degrades to an empty object literal
  8. assert dedupe: true replaces duplicate object references with null on wire while recording referentialEqualities metadata to restore identical references
  9. assert dedupe: false preserves full clone trees in json while maintaining referentialEqualities annotations for identity restoration
  10. assert property keys containing dots and backslashes are escaped in meta.values as \. and \\ to avoid segment collision
  11. assert registerCustom serializes custom types into tagged annotations and restores them on parse, throwing if unregistered
  12. assert registerSymbol maps symbols to identifiers in meta.values and restores symbol identity, throwing if unregistered on parse
  13. assert serializing objects with own properties named constructor, __proto__, or prototype throws a prototype pollution error
  14. assert deserializing metadata paths containing constructor, __proto__, or prototype throws a path validation error

Arquivos

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

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

Seeder de origem

csx-seed