Skip to content

Instantly share code, notes, and snippets.

@Ivannnnn
Ivannnnn / db.js
Last active October 8, 2022 10:50
Wrapper around better-sqlite3
const betterSqlite = require("better-sqlite3");
const proxify = (get, set) => new Proxy({}, { get, set });
const valuesFragment = (obj) => {
const keys = Object.keys(obj);
return `(${keys.join(",")}) VALUES (${keys.map((k) => "@" + k).join(",")})`;
};
module.exports = (dir, options) => {
function commandarize(methods) {
const args = process.argv.slice(2).map((arg) => {
const isJson = /^\[.+\]$|^\{.+\}$/.test(arg);
return isJson ? JSON.parse(arg) : arg;
});
const [methodName, ...params] = args;
if (methodName) {
const method =
const pick =
(...options) =>
(data) => {
const result = {};
for (let option of options) {
if (option.constructor.name === "Array") {
option = option.reduce((acc, val) => ({ ...acc, [val]: val }), {});
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Delivery Area Explorer</title>
<link
rel="stylesheet"
href="https://unpkg.com/leaflet@1.9.2/dist/leaflet.css"