CodeSampleX

Пример

minipass-fetch 4.0.1: Response

Проверенный пример — npm minipass-fetch 4.0.1: Response. Контракт выполнен на node 22 · linux debian/x64 · docker и пройден: Response constructor initializes…

sha256:437cbba10d7c36d2a486c15270540c6be07fb157b1e5c3b60692ce7527398a24

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

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

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

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

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

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

Кейс

HOW
Цель
verify Response in pkg:npm/minipass-fetch@4.0.1
Пакеты
Символы
  • Response
Окружение
node
Создан
2026-10-18T00:22:59Z

Контракт

  1. Response constructor initializes status, ok, statusText, url, and normalized Headers with text() and json() body consumers
  2. Response.prototype.clone() duplicates the response stream for independent body consumption while reusing an already consumed Response rejects with TypeError
  3. Response exposes arrayBuffer(), buffer(), and blob() consumers for binary payloads and rejects with FetchError (type 'invalid-json') when json() parses malformed input

Файлы

  • PROMPT.md
  • csx.json
  • package-lock.json
  • package.json
  • spec.json
  • 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 Response in pkg:npm/minipass-fetch@4.0.1
Kind: HOW

Use EXACTLY these public packages and versions:
  - pkg:npm/minipass-fetch@4.0.1
Demonstrate these symbols/APIs:
  - Response

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:d1855dddf0d774c54a79df86f2484754d9c3432bd4efb5634ee6b291120eb1f0","contract":["Response constructor initializes status, ok, statusText, url, and normalized Headers with text() and json() body consumers","Response.prototype.clone() duplicates the response stream for independent body consumption while reusing an already consumed Response rejects with TypeError","Response exposes arrayBuffer(), buffer(), and blob() consumers for binary payloads and rejects with FetchError (type 'invalid-json') when json() parses malformed input"],"goal":"verify Response in pkg:npm/minipass-fetch@4.0.1","kind":"HOW","packages":["pkg:npm/minipass-fetch@4.0.1"],"schemaVersion":1,"symbols":["Response"]},"contractCommand":["node","test/contract.mjs"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"npm","executionContext":"node","libc":"glibc","libcVersion":"2.39","moduleSystem":"esm","os":"linux","osVersionBucket":"24","packageManager":"npm","runtime":"node","schemaVersion":1},"license":"MIT-0","packages":["pkg:npm/minipass-fetch@4.0.1"],"schemaVersion":1,"subject":"pkg:npm/minipass-fetch@4.0.1","symbols":["Response"],"verifierAdapter":"node-typescript@1"}
package-lock.json
{
  "name": "minipass-fetch-response-sample",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "minipass-fetch-response-sample",
      "version": "1.0.0",
      "dependencies": {
        "minipass-fetch": "4.0.1"
      }
    },
    "node_modules/encoding": {
      "version": "0.1.13",
      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
      "license": "MIT",
      "optional": true,
      "dependencies": {
        "iconv-lite": "^0.6.2"
      }
    },
    "node_modules/iconv-lite": {
      "version": "0.6.3",
      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
      "license": "MIT",
      "optional": true,
      "dependencies": {
        "safer-buffer": ">= 2.1.2 < 3.0.0"
      },
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/minipass": {
      "version": "7.1.3",
      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
      "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
      "license": "BlueOak-1.0.0",
      "engines": {
        "node": ">=16 || 14 >=14.17"
      }
    },
    "node_modules/minipass-fetch": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz",
      "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==",
      "license": "MIT",
      "dependencies": {
        "minipass": "^7.0.3",
        "minipass-sized": "^1.0.3",
        "minizlib": "^3.0.1"
      },
      "engines": {
        "node": "^18.17.0 || >=20.5.0"
      },
      "optionalDependencies": {
        "encoding": "^0.1.13"
      }
    },
    "node_modules/minipass-sized": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
      "license": "ISC",
      "dependencies": {
        "minipass": "^3.0.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/minipass-sized/node_modules/minipass": {
      "version": "3.3.6",
      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
      "license": "ISC",
      "dependencies": {
        "yallist": "^4.0.0"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/minizlib": {
      "version": "3.1.0",
      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
      "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
      "license": "MIT",
      "dependencies": {
        "minipass": "^7.1.2"
      },
      "engines": {
        "node": ">= 18"
      }
    },
    "node_modules/safer-buffer": {
      "version": "2.1.2",
      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
      "license": "MIT",
      "optional": true
    },
    "node_modules/yallist": {
      "version": "4.0.0",
      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
      "license": "ISC"
    }
  }
}
package.json
{
  "name": "minipass-fetch-response-sample",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "test": "node test/contract.mjs"
  },
  "dependencies": {
    "minipass-fetch": "4.0.1"
  }
}
spec.json
{
  "schemaVersion": 1,
  "goal": "verify Response in pkg:npm/minipass-fetch@4.0.1",
  "kind": "HOW",
  "packages": [
    "pkg:npm/minipass-fetch@4.0.1"
  ],
  "symbols": [
    "Response"
  ]
}
test/contract.mjs
import assert from 'node:assert/strict'
import fetch from 'minipass-fetch'

const { Response, Headers, FetchError } = fetch

// 1. Default Response construction, status, ok, statusText, headers
const emptyRes = new Response()
assert.equal(emptyRes.status, 200)
assert.equal(emptyRes.ok, true)
assert.equal(emptyRes.statusText, 'OK')
assert.equal(emptyRes.redirected, false)
assert.equal(await emptyRes.text(), '')

// 2. Response with JSON body, custom status, statusText, url, and headers
const payload = { id: 101, status: 'created', tags: ['alpha', 'beta'] }
const jsonRes = new Response(JSON.stringify(payload), {
  status: 201,
  statusText: 'Created',
  url: 'http://example.com/items/101',
  headers: new Headers({ 'Content-Type': 'application/json', 'X-Item-Id': '101' }),
})
assert.equal(jsonRes.status, 201)
assert.equal(jsonRes.ok, true)
assert.equal(jsonRes.statusText, 'Created')
assert.equal(jsonRes.url, 'http://example.com/items/101')
assert.equal(jsonRes.headers.get('content-type'), 'application/json')
assert.equal(jsonRes.headers.get('x-item-id'), '101')
assert.equal(jsonRes.bodyUsed, false)

// 3. Response.prototype.clone() allows independent consumption of the body
const clonedRes = jsonRes.clone()
assert.equal(clonedRes.status, 201)
assert.equal(clonedRes.headers.get('x-item-id'), '101')
assert.deepEqual(await jsonRes.json(), payload)
assert.equal(jsonRes.bodyUsed, true)
assert.equal(clonedRes.bodyUsed, false)
assert.equal(await clonedRes.text(), JSON.stringify(payload))
assert.equal(clonedRes.bodyUsed, true)

// 4. Consuming an already used Response body rejects with TypeError
await assert.rejects(
  () => jsonRes.text(),
  err => err instanceof TypeError
)

// 5. Binary body consumers: arrayBuffer(), buffer(), and blob()
const rawBytes = Buffer.from([0xde, 0xad, 0xbe, 0xef])
const binRes = new Response(rawBytes, {
  status: 200,
  headers: { 'Content-Type': 'application/octet-stream' },
})
const binClone1 = binRes.clone()
const binClone2 = binRes.clone()

const ab = await binRes.arrayBuffer()
assert.deepEqual(Buffer.from(ab), rawBytes)

const buf = await binClone1.buffer()
assert.equal(Buffer.isBuffer(buf), true)
assert.deepEqual(buf, rawBytes)

const blob = await binClone2.blob()
assert.equal(blob.size, 4)
assert.equal(blob.type, 'application/octet-stream')

// 6. Non-2xx status sets ok to false and invalid JSON payload rejects with FetchError
const notFoundRes = new Response('not found', { status: 404, statusText: 'Not Found' })
assert.equal(notFoundRes.status, 404)
assert.equal(notFoundRes.ok, false)
assert.equal(await notFoundRes.text(), 'not found')

const badJsonRes = new Response('not-valid-json', { status: 200 })
await assert.rejects(
  () => badJsonRes.json(),
  err => err instanceof FetchError && err.type === 'invalid-json'
)

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

аноним