From 93427d8cb62e56e7fca1a4a228f2e6b10a1b6c73 Mon Sep 17 00:00:00 2001 From: Marc Villain Date: Mon, 2 Nov 2026 11:13:25 +0100 Subject: [PATCH] docs: brand logo in the README; test that the dialects table matches each dialect's capabilities --- .github/brand/logo-dark.svg | 1 + .github/brand/logo-light.svg | 1 + .github/brand/social-preview.png | Bin 0 -> 97051 bytes README.md | 7 +++++- conformance/dialects-doc.test.mjs | 36 ++++++++++++++++++++++++++++++ 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 .github/brand/logo-dark.svg create mode 100644 .github/brand/logo-light.svg create mode 100644 .github/brand/social-preview.png create mode 100644 conformance/dialects-doc.test.mjs diff --git a/.github/brand/logo-dark.svg b/.github/brand/logo-dark.svg new file mode 100644 index 0000000..6ba2693 --- /dev/null +++ b/.github/brand/logo-dark.svg @@ -0,0 +1 @@ +restloom logo \ No newline at end of file diff --git a/.github/brand/logo-light.svg b/.github/brand/logo-light.svg new file mode 100644 index 0000000..6c3252a --- /dev/null +++ b/.github/brand/logo-light.svg @@ -0,0 +1 @@ +restloom logo \ No newline at end of file diff --git a/.github/brand/social-preview.png b/.github/brand/social-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5f8cd82839fb995f015156287d9328a3becf39 GIT binary patch literal 97051 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

uxZ;?MX7A#4<;g?9AVc#zrE;!z;qVs<9(sG?8Q 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index fec6421..16ca206 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,9 @@ -# restloom +

+ + + restloom + +

A REST API generated from your database's catalog. Name the schemas or tables to serve, and restloom reads their columns, types, keys and relations, and answers queries like this one: diff --git a/conformance/dialects-doc.test.mjs b/conformance/dialects-doc.test.mjs new file mode 100644 index 0000000..8c449e5 --- /dev/null +++ b/conformance/dialects-doc.test.mjs @@ -0,0 +1,36 @@ +import { test } from 'node:test'; +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import { postgres } from '../packages/postgres/dist/index.js'; +import { mysql } from '../packages/mysql/dist/index.js'; +import { mssql } from '../packages/mssql/dist/index.js'; +import { sqlite } from '../packages/sqlite/dist/index.js'; + +// The table in docs/dialects.md is what readers compare databases by, on the +// site too. It must say what each dialect's capabilities say. +const DIALECTS = { + '@crudy/restloom-postgres': postgres({}), + '@crudy/restloom-mysql': mysql({}), + '@crudy/restloom-mssql': mssql({}), + '@crudy/restloom-sqlite': sqlite({ pragma() {} }), +}; + +const rows = readFileSync(new URL('../docs/dialects.md', import.meta.url), 'utf8') + .split('\n') + .filter((line) => line.startsWith('| `@crudy/restloom-')) + .map((line) => line.split('|').slice(1, -1).map((cell) => cell.trim())); + +test('docs/dialects.md lists every dialect', () => { + assert.deepEqual(rows.map((r) => r[0].replaceAll('`', '')).sort(), Object.keys(DIALECTS).sort()); +}); + +for (const [pkg, dialect] of Object.entries(DIALECTS)) { + test(`docs/dialects.md says what ${pkg} can do`, () => { + const [, , , written, estimated, rowSecurity, procedures] = rows.find((r) => r[0] === `\`${pkg}\``); + const c = dialect.capabilities; + assert.equal(/RETURNING|OUTPUT/.test(written), c.returning, 'written keys'); + assert.equal(estimated !== 'no', c.estimatedCount, 'estimated count'); + assert.equal(rowSecurity !== 'no', c.rowSecurity, 'row security'); + assert.equal(procedures !== 'none', c.procedures, 'procedures'); + }); +}