Download packages/session-backends/sqlite-node/test/sql.test.ts from SaylorTwift/pi: direct link, hf CLI and curl.
- Browser
- Download file 1.54 kB
-
https://huggingface.co/SaylorTwift/pi/resolve/main/packages/session-backends/sqlite-node/test/sql.test.ts
- Command line
-
hf download hf://SaylorTwift/pi/packages/session-backends/sqlite-node/test/sql.test.ts
-
curl -L -o sql.test.ts https://huggingface.co/SaylorTwift/pi/resolve/main/packages/session-backends/sqlite-node/test/sql.test.ts
1.54 kB
| import { describe, expect, it } from "vitest"; | |
| import { createNodeSqliteFactory, joinSqlFragments, sql } from "../src/index.ts"; | |
| describe("sql", () => { | |
| it("composes SQLite queries without renumbering parameters", async () => { | |
| const db = await createNodeSqliteFactory().open(":memory:"); | |
| try { | |
| sql`CREATE TABLE entries (id TEXT PRIMARY KEY, kind TEXT NOT NULL, active INTEGER NOT NULL)`.exec(db); | |
| sql`INSERT INTO entries (id, kind, active) VALUES (${"one"}, ${"message"}, ${1})`.run(db); | |
| sql`INSERT INTO entries (id, kind, active) VALUES (${"two"}, ${"message"}, ${0})`.run(db); | |
| const filters = joinSqlFragments([sql`kind = ${"message"}`, sql`active = ${1}`], " AND "); | |
| expect(sql`SELECT id FROM entries WHERE ${filters} LIMIT ${10}`.all<{ id: string }>(db)).toEqual([ | |
| { id: "one" }, | |
| ]); | |
| } finally { | |
| db.close(); | |
| } | |
| }); | |
| it("executes parameterized queries", async () => { | |
| const db = await createNodeSqliteFactory().open(":memory:"); | |
| try { | |
| sql`CREATE TABLE values_table (id INTEGER PRIMARY KEY, value TEXT NOT NULL)`.exec(db); | |
| sql`INSERT INTO values_table (id, value) VALUES (${1}, ${"one"})`.run(db); | |
| sql`INSERT INTO values_table (id, value) VALUES (${2}, ${"two"})`.run(db); | |
| expect(sql`SELECT value FROM values_table WHERE id = ${1}`.get<{ value: string }>(db)).toEqual({ | |
| value: "one", | |
| }); | |
| expect(sql`SELECT value FROM values_table ORDER BY id`.all<{ value: string }>(db)).toEqual([ | |
| { value: "one" }, | |
| { value: "two" }, | |
| ]); | |
| } finally { | |
| db.close(); | |
| } | |
| }); | |
| }); | |