@grandlinex/bundle-sqlight
Version:
> SQLight support GrandlineX using better-sqlite3
23 lines (22 loc) • 732 B
JavaScript
import { convertSpecialFields } from './converter.js';
export default function buildSearchQ(config, search, param, searchQ) {
let temp = searchQ;
const keys = Object.keys(search);
if (keys.length > 0) {
const filter = [];
for (const key of keys) {
if (search[key] !== undefined) {
const meta = config.meta.get(key);
if (!meta) {
throw new Error('Missing meta');
}
filter.push(`${String(key)} = ?`);
convertSpecialFields(meta, search, key, param);
}
}
if (filter.length > 0) {
temp = ` WHERE ${filter.join(' AND ')}`;
}
}
return temp;
}