UNPKG

sqlite-prepare

Version:

A type-safe SQL query builder for Cloudflare D1

37 lines (36 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseValue = parseValue; /** * Parses a value into a SQL parameter, handling special cases * @param value - The value to parse * @returns The parsed SQL parameter or a special marker for raw/subquery/fragment values */ function parseValue(value) { if (value === null || value === undefined) { return null; } if (value instanceof Date || value instanceof Uint8Array || value instanceof ArrayBuffer) { return value; } if (value && typeof value === 'object') { if ('__raw' in value && value.__raw === true) { // Return raw SQL marker with params return { __raw: true, query: value.query, params: value.params }; } if ('__fragment' in value && value.__fragment === true) { // Return fragment marker return value; } // fallback to subquery if ('query' in value && 'params' in value) { // Return subquery marker return { __subquery: true, query: value.query, params: value.params }; } // Convert plain objects to JSON strings return JSON.stringify(value); } return value; }