CodeSampleX

Пример

@webassemblyjs/helper-api-error 1.13.2: RuntimeError

Проверенный пример — npm @webassemblyjs/helper-api-error 1.13.2: RuntimeError. Контракт выполнен на node 22 · linux alpine/x64 · docker и пройден.

sha256:15544264abdfbad4944a2372169cb21686c52fe98da455fee1cc31a6f65f305a

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
1
Ключи подписи, собравшие его
1
Заявленная среда linux 24 · ubuntu · glibc 2.39 x64 npm

Среды запусков проверки

Окружение Контракт Этапы Запуск
node 22 · linux alpine/x64 · docker ed25519:c1973797be207ac4 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1node:22-alpine@sha256:c610fcdfb1d5…
2026-08-27

Кейс

HOW
Цель
verify pkg:npm/%40webassemblyjs/helper-api-error@1.13.2
Пакеты
Символы
  • RuntimeError
Создан
2026-08-27T23:19:52Z

Контракт

  1. RuntimeError constructs an instance that inherits from Error
  2. RuntimeError preserves custom error message passed to constructor
  3. CompileError and LinkError construct instances that inherit from Error
  4. RuntimeError can be thrown and caught in try-catch block

Файлы

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

Скачать артефакт с исходным кодом (tar.gz)

Исходный код

PROMPT.md
Clean-room public code sample — generation instructions

Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.

A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.

Goal: verify pkg:npm/%40webassemblyjs/helper-api-error@1.13.2
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:npm/%40webassemblyjs/helper-api-error@1.13.2
Demonstrate these symbols/APIs:
  - RuntimeError

Rules:
  - One focused purpose; the smallest project that proves the goal.
  - Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
  - Pin every dependency with a lockfile so resolution is reproducible.
  - No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
  - No personal names, emails, company names, or project identifiers of any kind.
  - No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
  - Keep it under 200 files and 256KB packed.
csx.json
{"case":{"caseId":"case:sha256:6d17304a7d0e3f32317dc3a75c75b257c0c9c416d4bf2dc1ebe47b7827b624db","contract":["RuntimeError constructs an instance that inherits from Error","RuntimeError preserves custom error message passed to constructor","CompileError and LinkError construct instances that inherit from Error","RuntimeError can be thrown and caught in try-catch block"],"goal":"verify pkg:npm/%40webassemblyjs/helper-api-error@1.13.2","kind":"HOW","packages":["pkg:npm/%40webassemblyjs/helper-api-error@1.13.2"],"schemaVersion":1,"symbols":["RuntimeError"]},"contractCommand":["node","test/contract.mjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"npm","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/%40webassemblyjs/helper-api-error@1.13.2"],"schemaVersion":1,"subject":"pkg:npm/%40webassemblyjs/helper-api-error@1.13.2","symbols":["RuntimeError"],"verifierAdapter":"node-typescript@1"}
package-lock.json
{
  "name": "sample-webassemblyjs-helper-api-error",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "sample-webassemblyjs-helper-api-error",
      "version": "1.0.0",
      "license": "MIT-0",
      "dependencies": {
        "@webassemblyjs/helper-api-error": "1.13.2"
      }
    },
    "node_modules/@webassemblyjs/helper-api-error": {
      "version": "1.13.2",
      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
      "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
      "license": "MIT"
    }
  }
}
package.json
{
  "name": "sample-webassemblyjs-helper-api-error",
  "version": "1.0.0",
  "type": "module",
  "private": true,
  "license": "MIT-0",
  "dependencies": {
    "@webassemblyjs/helper-api-error": "1.13.2"
  }
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify pkg:npm/%40webassemblyjs/helper-api-error@1.13.2",
  "kind": "HOW",
  "packages": [
    "pkg:npm/%40webassemblyjs/helper-api-error@1.13.2"
  ],
  "symbols": [
    "RuntimeError"
  ]
}
src/index.mjs
import { RuntimeError, CompileError, LinkError } from "@webassemblyjs/helper-api-error";

export function createRuntimeError(message) {
  return new RuntimeError(message);
}

export function createCompileError(message) {
  return new CompileError(message);
}

export function createLinkError(message) {
  return new LinkError(message);
}

export function throwRuntimeError(message) {
  throw new RuntimeError(message);
}

export { RuntimeError, CompileError, LinkError };
test/contract.mjs
import assert from "node:assert/strict";
import {
  RuntimeError,
  CompileError,
  LinkError,
  createRuntimeError,
  createCompileError,
  createLinkError,
  throwRuntimeError
} from "../src/index.mjs";

// 1. RuntimeError constructs an instance that inherits from Error
{
  const err = createRuntimeError("runtime failure");
  assert(err instanceof Error, "RuntimeError must be an instance of Error");
  assert(err instanceof RuntimeError, "err must be an instance of RuntimeError");
  assert.equal(typeof err.stack, "string", "RuntimeError should have a stack trace");
}

// 2. RuntimeError preserves custom error message passed to constructor
{
  const message = "unreachable execution reached";
  const err = new RuntimeError(message);
  assert.equal(err.message, message);

  const emptyErr = new RuntimeError();
  assert.equal(emptyErr.message, "");
}

// 3. CompileError and LinkError construct instances that inherit from Error
{
  const compileErr = createCompileError("invalid opcode");
  assert(compileErr instanceof Error, "CompileError must be an instance of Error");
  assert(compileErr instanceof CompileError, "compileErr must be an instance of CompileError");
  assert.equal(compileErr.message, "invalid opcode");

  const linkErr = createLinkError("import not found");
  assert(linkErr instanceof Error, "LinkError must be an instance of Error");
  assert(linkErr instanceof LinkError, "linkErr must be an instance of LinkError");
  assert.equal(linkErr.message, "import not found");
}

// 4. RuntimeError can be thrown and caught in try-catch block
{
  let caught = null;
  try {
    throwRuntimeError("divide by zero in wasm function");
  } catch (e) {
    caught = e;
  }

  assert(caught !== null, "Error must be caught");
  assert(caught instanceof RuntimeError);
  assert(caught instanceof Error);
  assert.equal(caught.message, "divide by zero in wasm function");
}

console.log("All @webassemblyjs/helper-api-error contract assertions passed.");

Исходный сидер

аноним