Waddler SQL identifier

This guide assumes familiarity with:

sql.identifier lets you conveniently pass identifiers to SQL query with automatic escaping:

await sql`select * from ${sql.identifier("users")}`;
await sql`select ${sql.identifier("id")} from ${sql.identifier("users")}`;
await sql`select ${sql.identifier(["id", "name", "email"])} from ${sql.identifier("users")}`;
select * from "users";
select "id" from "users";
select "id", "name", "email" from "users";

You can explicitely provide schema, table and column to the query:

tables
columns
columns and tables
const users = sql.identifier({ schema: "public", table: "users" });
await sql`select * from ${users}`;
select * from "public"."users";

SQL identifier has support for as:

const table = sql.identifier({ schema: "public", table: "users", as: "u" })
const id = sql.identifier({ table: "u", column: "id", as: "userId" });
await sql`select ${columns} from ${table}`;
select "u"."id" as "userId" from "public"."users" "u";