- Migrated all pages from Next.js to Astro - Added PDPA-compliant Privacy Policy (Thai) - Added PDPA-compliant Terms & Conditions (Thai) - Added Cookie Policy with disclosure (Thai) - Implemented cookie consent banner (client-side) - Integrated Umami Analytics placeholder - Blog system with 3 posts - Optimized Docker configuration for production - Static site build (184KB, 11 pages) - Ready for Easypanel deployment Backup: /Users/kunthawatgreethong/Gitea/dealplustech-backup-nextjs-20260309.tar.gz
77 lines
2.2 KiB
JavaScript
77 lines
2.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.Batch = exports.Stmt = void 0;
|
|
const js_base64_1 = require("js-base64");
|
|
const util_js_1 = require("../util.js");
|
|
function Stmt(w, msg) {
|
|
if (msg.sql !== undefined) {
|
|
w.string("sql", msg.sql);
|
|
}
|
|
if (msg.sqlId !== undefined) {
|
|
w.number("sql_id", msg.sqlId);
|
|
}
|
|
w.arrayObjects("args", msg.args, Value);
|
|
w.arrayObjects("named_args", msg.namedArgs, NamedArg);
|
|
w.boolean("want_rows", msg.wantRows);
|
|
}
|
|
exports.Stmt = Stmt;
|
|
function NamedArg(w, msg) {
|
|
w.string("name", msg.name);
|
|
w.object("value", msg.value, Value);
|
|
}
|
|
function Batch(w, msg) {
|
|
w.arrayObjects("steps", msg.steps, BatchStep);
|
|
}
|
|
exports.Batch = Batch;
|
|
function BatchStep(w, msg) {
|
|
if (msg.condition !== undefined) {
|
|
w.object("condition", msg.condition, BatchCond);
|
|
}
|
|
w.object("stmt", msg.stmt, Stmt);
|
|
}
|
|
function BatchCond(w, msg) {
|
|
w.stringRaw("type", msg.type);
|
|
if (msg.type === "ok" || msg.type === "error") {
|
|
w.number("step", msg.step);
|
|
}
|
|
else if (msg.type === "not") {
|
|
w.object("cond", msg.cond, BatchCond);
|
|
}
|
|
else if (msg.type === "and" || msg.type === "or") {
|
|
w.arrayObjects("conds", msg.conds, BatchCond);
|
|
}
|
|
else if (msg.type === "is_autocommit") {
|
|
// do nothing
|
|
}
|
|
else {
|
|
throw (0, util_js_1.impossible)(msg, "Impossible type of BatchCond");
|
|
}
|
|
}
|
|
function Value(w, msg) {
|
|
if (msg === null) {
|
|
w.stringRaw("type", "null");
|
|
}
|
|
else if (typeof msg === "bigint") {
|
|
w.stringRaw("type", "integer");
|
|
w.stringRaw("value", "" + msg);
|
|
}
|
|
else if (typeof msg === "number") {
|
|
w.stringRaw("type", "float");
|
|
w.number("value", msg);
|
|
}
|
|
else if (typeof msg === "string") {
|
|
w.stringRaw("type", "text");
|
|
w.string("value", msg);
|
|
}
|
|
else if (msg instanceof Uint8Array) {
|
|
w.stringRaw("type", "blob");
|
|
w.stringRaw("base64", js_base64_1.Base64.fromUint8Array(msg));
|
|
}
|
|
else if (msg === undefined) {
|
|
// do nothing
|
|
}
|
|
else {
|
|
throw (0, util_js_1.impossible)(msg, "Impossible type of Value");
|
|
}
|
|
}
|