Пример
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
Контракт
- open ':memory:' and assert each connection is a private database
- 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
- assert .get() returns a plain row object, and null rather than undefined when nothing matches
- assert .all() returns an array, and an empty array when nothing matches
- assert .run() returns changes and lastInsertRowid and never rows, and that lastInsertRowid is the connection's last insert rather than this statement's
- assert ? binding is counted, so a wrong number of values raises
- assert $name binding needs the sigil on the key by default, where a bare key silently binds NULL
- assert strict: true inverts that, binding bare keys and raising Missing parameter for the $ key
- assert binding is real escaping by storing a value that closes a quote and drops the table
- 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
- assert an integer past Number.MAX_SAFE_INTEGER is stored losslessly but read back rounded, and is exact only with safeIntegers, as a BigInt
- 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
- assert a unique constraint raises SQLiteError carrying SQLite's extended result code
- 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