sqlite-prepare
Version:
A type-safe SQL query builder for Cloudflare D1
33 lines (32 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.f = void 0;
exports.fragment = fragment;
const build_1 = require("./build");
/**
* Creates a SQL fragment that will be inserted directly into the query without being wrapped in parentheses
* Unlike raw(), this maintains parameter safety and query building capabilities
*
* @param strings - SQL query string with placeholders or template strings array
* @param values - Values to interpolate into the query
* @returns A FragmentSQL object with the query string and parameters
*
* @example
* // Using a template literal
* const columns = fragment`id, name, created_at`;
* const query = build`SELECT ${columns} FROM users`;
*
* @example
* // Using with parameters
* const condition = fragment`status = ${'active'} AND type = ${'user'}`;
* const query = build`SELECT * FROM users WHERE ${condition}`;
*/
function fragment(strings, ...values) {
const result = (0, build_1.build)(strings, ...values);
return {
__fragment: true,
query: result.query,
params: result.params
};
}
exports.f = fragment; // Alias for convenience