You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[ ]**Inline template support** — Allow passing SQL strings directly without requiring a `.sql` file, reducing boilerplate for short one-off queries
6
+
-[ ]**Template caching** — Cache loaded templates in a `Map` to avoid redundant `readFileSync` calls when `defineQuery` is used outside module scope
7
+
-[ ]**TypeDescriptor `description` field** — Add an optional `description` property to `TypeDescriptor` so schema validation errors can display the expected format (e.g. `Expected: ISO date YYYY-MM-DD`)
8
+
9
+
## Maybe
10
+
11
+
-[ ]**Conditional blocks / IN-list expansion** — Support optional WHERE clauses (`{{#if}}`) and array expansion (`WHERE id IN ({{ids}})`). Would change the library's templating nature significantly — evaluate only if `.sql` file duplication becomes a real pain point
12
+
-[ ]**Async `loadTemplate`** — Non-blocking file reads for server environments (Express, Fastify). Not needed for current Lambda/script use cases
13
+
-[ ]**Query execution integration** — Return parameterized output or integrate with Athena SDK. Intentionally out of scope to preserve single responsibility — better suited as a separate package
14
+
-[ ]**Parameterized output mode** — Return `{ sql: string, params: unknown[] }` with `$1, $2` placeholders for engines that support it. Not applicable to Athena but could broaden adoption
15
+
-[ ]**Allowlist approach for `schema.string`** — Require a regex allowlist instead of relying on the denylist. Already achievable via custom schema types, so built-in support is low priority
0 commit comments