CodeSampleX

Пример

bun 1.3.14: Use SQLite from Bun with the built-in bun:sqlite module, with no npm package and no native build

Проверенный пример — npm bun 1.3.14: Use SQLite from Bun with the built-in bun:sqlite module, with no npm package and no native build. Контракт выполнен на…

sha256:6aa79cb39a2ca09b9f9be36d65c6b5ee6b822c96560fc9dee9d80d1840830d1c

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

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

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

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда bun 1 linux x64 bun 1 javascript bun

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

Окружение Контракт Этапы Запуск
bun 1 · linux alpine/x64 · docker ed25519:a2ec939a4c60e243 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · npm@1
2026-08-14
bun 1 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · npm@1
2026-08-18

Кейс

HOW
Цель
Use SQLite from Bun with the built-in bun:sqlite module, with no npm package and no native build
Пакеты
Символы
  • bun:sqlite.Database
  • Database.query
  • Database.prepare
  • Statement.get
  • Statement.all
  • Statement.run
  • Statement.safeIntegers
  • SQLiteError
Окружение
bun 1
Создан
2026-08-14T12:07:16Z

Контракт

  1. open ':memory:' and assert each connection is a private database
  2. assert new Database(path, {}) raises SQLITE_MISUSE while new Database(path) works, because an options object resets the open flags, and that only a true access mode or a strict/safeIntegers key restores one, so { create: false } raises the same way
  3. assert .get() returns a plain row object, and null rather than undefined when nothing matches
  4. assert .all() returns an array, and an empty array when nothing matches
  5. assert .run() returns changes and lastInsertRowid and never rows, and that lastInsertRowid is the connection's last insert rather than this statement's
  6. assert ? binding is counted, so a wrong number of values raises
  7. assert $name binding needs the sigil on the key by default, where a bare key silently binds NULL
  8. assert strict: true inverts that, binding bare keys and raising Missing parameter for the $ key
  9. assert binding is real escaping by storing a value that closes a quote and drops the table
  10. assert db.query() returns one cached statement per SQL string while db.prepare() returns a new one, so safeIntegers set on a query() statement leaks to later callers
  11. assert an integer past Number.MAX_SAFE_INTEGER is stored losslessly but read back rounded, and is exact only with safeIntegers, as a BigInt
  12. assert safeIntegers as a constructor option makes every read on the connection exact, including lastInsertRowid, while changes stays a number, and that there is no Database-level safeIntegers toggle
  13. assert a unique constraint raises SQLiteError carrying SQLite's extended result code
  14. assert bun:sqlite is a builtin of the Bun runtime rather than an npm package: the Bun global is present, node:sqlite is not, and the project resolves no dependencies

Файлы

  • csx.json
  • package.json
  • src/ledger.mjs
  • test/contract.mjs

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

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

anonymous