Spaces:
Sleeping
Sleeping
| ; | |
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | |
| if (k2 === undefined) k2 = k; | |
| var desc = Object.getOwnPropertyDescriptor(m, k); | |
| if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | |
| desc = { enumerable: true, get: function() { return m[k]; } }; | |
| } | |
| Object.defineProperty(o, k2, desc); | |
| }) : (function(o, m, k, k2) { | |
| if (k2 === undefined) k2 = k; | |
| o[k2] = m[k]; | |
| })); | |
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | |
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | |
| }) : function(o, v) { | |
| o["default"] = v; | |
| }); | |
| var __importStar = (this && this.__importStar) || function (mod) { | |
| if (mod && mod.__esModule) return mod; | |
| var result = {}; | |
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | |
| __setModuleDefault(result, mod); | |
| return result; | |
| }; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.Value = exports.DescribeResult = exports.CursorEntry = exports.BatchResult = exports.StmtResult = exports.Error = void 0; | |
| const js_base64_1 = require("js-base64"); | |
| const errors_js_1 = require("../errors.js"); | |
| const d = __importStar(require("../encoding/json/decode.js")); | |
| function Error(obj) { | |
| const message = d.string(obj["message"]); | |
| const code = d.stringOpt(obj["code"]); | |
| return { message, code }; | |
| } | |
| exports.Error = Error; | |
| function StmtResult(obj) { | |
| const cols = d.arrayObjectsMap(obj["cols"], Col); | |
| const rows = d.array(obj["rows"]).map((rowObj) => d.arrayObjectsMap(rowObj, Value)); | |
| const affectedRowCount = d.number(obj["affected_row_count"]); | |
| const lastInsertRowidStr = d.stringOpt(obj["last_insert_rowid"]); | |
| const lastInsertRowid = lastInsertRowidStr !== undefined | |
| ? BigInt(lastInsertRowidStr) : undefined; | |
| return { cols, rows, affectedRowCount, lastInsertRowid }; | |
| } | |
| exports.StmtResult = StmtResult; | |
| function Col(obj) { | |
| const name = d.stringOpt(obj["name"]); | |
| const decltype = d.stringOpt(obj["decltype"]); | |
| return { name, decltype }; | |
| } | |
| function BatchResult(obj) { | |
| const stepResults = new Map(); | |
| d.array(obj["step_results"]).forEach((value, i) => { | |
| if (value !== null) { | |
| stepResults.set(i, StmtResult(d.object(value))); | |
| } | |
| }); | |
| const stepErrors = new Map(); | |
| d.array(obj["step_errors"]).forEach((value, i) => { | |
| if (value !== null) { | |
| stepErrors.set(i, Error(d.object(value))); | |
| } | |
| }); | |
| return { stepResults, stepErrors }; | |
| } | |
| exports.BatchResult = BatchResult; | |
| function CursorEntry(obj) { | |
| const type = d.string(obj["type"]); | |
| if (type === "step_begin") { | |
| const step = d.number(obj["step"]); | |
| const cols = d.arrayObjectsMap(obj["cols"], Col); | |
| return { type: "step_begin", step, cols }; | |
| } | |
| else if (type === "step_end") { | |
| const affectedRowCount = d.number(obj["affected_row_count"]); | |
| const lastInsertRowidStr = d.stringOpt(obj["last_insert_rowid"]); | |
| const lastInsertRowid = lastInsertRowidStr !== undefined | |
| ? BigInt(lastInsertRowidStr) : undefined; | |
| return { type: "step_end", affectedRowCount, lastInsertRowid }; | |
| } | |
| else if (type === "step_error") { | |
| const step = d.number(obj["step"]); | |
| const error = Error(d.object(obj["error"])); | |
| return { type: "step_error", step, error }; | |
| } | |
| else if (type === "row") { | |
| const row = d.arrayObjectsMap(obj["row"], Value); | |
| return { type: "row", row }; | |
| } | |
| else if (type === "error") { | |
| const error = Error(d.object(obj["error"])); | |
| return { type: "error", error }; | |
| } | |
| else { | |
| throw new errors_js_1.ProtoError("Unexpected type of CursorEntry"); | |
| } | |
| } | |
| exports.CursorEntry = CursorEntry; | |
| function DescribeResult(obj) { | |
| const params = d.arrayObjectsMap(obj["params"], DescribeParam); | |
| const cols = d.arrayObjectsMap(obj["cols"], DescribeCol); | |
| const isExplain = d.boolean(obj["is_explain"]); | |
| const isReadonly = d.boolean(obj["is_readonly"]); | |
| return { params, cols, isExplain, isReadonly }; | |
| } | |
| exports.DescribeResult = DescribeResult; | |
| function DescribeParam(obj) { | |
| const name = d.stringOpt(obj["name"]); | |
| return { name }; | |
| } | |
| function DescribeCol(obj) { | |
| const name = d.string(obj["name"]); | |
| const decltype = d.stringOpt(obj["decltype"]); | |
| return { name, decltype }; | |
| } | |
| function Value(obj) { | |
| const type = d.string(obj["type"]); | |
| if (type === "null") { | |
| return null; | |
| } | |
| else if (type === "integer") { | |
| const value = d.string(obj["value"]); | |
| return BigInt(value); | |
| } | |
| else if (type === "float") { | |
| return d.number(obj["value"]); | |
| } | |
| else if (type === "text") { | |
| return d.string(obj["value"]); | |
| } | |
| else if (type === "blob") { | |
| return js_base64_1.Base64.toUint8Array(d.string(obj["base64"])); | |
| } | |
| else { | |
| throw new errors_js_1.ProtoError("Unexpected type of Value"); | |
| } | |
| } | |
| exports.Value = Value; | |