Exemple
bun 1.3.14: Use SQLite from Bun with the built-in bun:sqlite module, with no npm package and no native build
Échantillon vérifié pour npm bun 1.3.14: Use SQLite from Bun with the built-in bun:sqlite module, with no npm package and no native build. Le contrat s'est…
sha256:6aa79cb39a2ca09b9f9be36d65c6b5ee6b822c96560fc9dee9d80d1840830d1c
Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré.
Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes.
MIT-0
Preuves d'exécution
L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.
- Base de preuve
- Contrat signé réussi
- Reçus de vérification
- 2
- Clés de signature qui l’ont compilé
- 2
Environnement déclaré
bun 1 linux x64 bun 1 javascript bun
Environnements des exécutions de vérification
| Environnement | Contrat | Étapes | Exécution |
|---|---|---|---|
| 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 |
Cas
HOW- Objectif
- Use SQLite from Bun with the built-in bun:sqlite module, with no npm package and no native build
- Paquets
- Symboles
-
- bun:sqlite.Database
- Database.query
- Database.prepare
- Statement.get
- Statement.all
- Statement.run
- Statement.safeIntegers
- SQLiteError
- Environnement
- bun 1
- Créé
- 2026-08-14T12:07:16Z
Contrat
- 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
Fichiers
- csx.json
- package.json
- src/ledger.mjs
- test/contract.mjs