{"ast":null,"code":"import { Base64 } from \"js-base64\";\nimport { ProtoError } from \"../errors.js\";\nimport * as d from \"../encoding/json/decode.js\";\nexport function Error(obj) {\n const message = d.string(obj[\"message\"]);\n const code = d.stringOpt(obj[\"code\"]);\n return {\n message,\n code\n };\n}\nexport function StmtResult(obj) {\n const cols = d.arrayObjectsMap(obj[\"cols\"], Col);\n const rows = d.array(obj[\"rows\"]).map(rowObj => d.arrayObjectsMap(rowObj, Value));\n const affectedRowCount = d.number(obj[\"affected_row_count\"]);\n const lastInsertRowidStr = d.stringOpt(obj[\"last_insert_rowid\"]);\n const lastInsertRowid = lastInsertRowidStr !== undefined ? BigInt(lastInsertRowidStr) : undefined;\n return {\n cols,\n rows,\n affectedRowCount,\n lastInsertRowid\n };\n}\nfunction Col(obj) {\n const name = d.stringOpt(obj[\"name\"]);\n const decltype = d.stringOpt(obj[\"decltype\"]);\n return {\n name,\n decltype\n };\n}\nexport function BatchResult(obj) {\n const stepResults = new Map();\n d.array(obj[\"step_results\"]).forEach((value, i) => {\n if (value !== null) {\n stepResults.set(i, StmtResult(d.object(value)));\n }\n });\n const stepErrors = new Map();\n d.array(obj[\"step_errors\"]).forEach((value, i) => {\n if (value !== null) {\n stepErrors.set(i, Error(d.object(value)));\n }\n });\n return {\n stepResults,\n stepErrors\n };\n}\nexport function CursorEntry(obj) {\n const type = d.string(obj[\"type\"]);\n if (type === \"step_begin\") {\n const step = d.number(obj[\"step\"]);\n const cols = d.arrayObjectsMap(obj[\"cols\"], Col);\n return {\n type: \"step_begin\",\n step,\n cols\n };\n } else if (type === \"step_end\") {\n const affectedRowCount = d.number(obj[\"affected_row_count\"]);\n const lastInsertRowidStr = d.stringOpt(obj[\"last_insert_rowid\"]);\n const lastInsertRowid = lastInsertRowidStr !== undefined ? BigInt(lastInsertRowidStr) : undefined;\n return {\n type: \"step_end\",\n affectedRowCount,\n lastInsertRowid\n };\n } else if (type === \"step_error\") {\n const step = d.number(obj[\"step\"]);\n const error = Error(d.object(obj[\"error\"]));\n return {\n type: \"step_error\",\n step,\n error\n };\n } else if (type === \"row\") {\n const row = d.arrayObjectsMap(obj[\"row\"], Value);\n return {\n type: \"row\",\n row\n };\n } else if (type === \"error\") {\n const error = Error(d.object(obj[\"error\"]));\n return {\n type: \"error\",\n error\n };\n } else {\n throw new ProtoError(\"Unexpected type of CursorEntry\");\n }\n}\nexport function DescribeResult(obj) {\n const params = d.arrayObjectsMap(obj[\"params\"], DescribeParam);\n const cols = d.arrayObjectsMap(obj[\"cols\"], DescribeCol);\n const isExplain = d.boolean(obj[\"is_explain\"]);\n const isReadonly = d.boolean(obj[\"is_readonly\"]);\n return {\n params,\n cols,\n isExplain,\n isReadonly\n };\n}\nfunction DescribeParam(obj) {\n const name = d.stringOpt(obj[\"name\"]);\n return {\n name\n };\n}\nfunction DescribeCol(obj) {\n const name = d.string(obj[\"name\"]);\n const decltype = d.stringOpt(obj[\"decltype\"]);\n return {\n name,\n decltype\n };\n}\nexport function Value(obj) {\n const type = d.string(obj[\"type\"]);\n if (type === \"null\") {\n return null;\n } else if (type === \"integer\") {\n const value = d.string(obj[\"value\"]);\n return BigInt(value);\n } else if (type === \"float\") {\n return d.number(obj[\"value\"]);\n } else if (type === \"text\") {\n return d.string(obj[\"value\"]);\n } else if (type === \"blob\") {\n return Base64.toUint8Array(d.string(obj[\"base64\"]));\n } else {\n throw new ProtoError(\"Unexpected type of Value\");\n }\n}","map":{"version":3,"names":["Base64","ProtoError","d","Error","obj","message","string","code","stringOpt","StmtResult","cols","arrayObjectsMap","Col","rows","array","map","rowObj","Value","affectedRowCount","number","lastInsertRowidStr","lastInsertRowid","undefined","BigInt","name","decltype","BatchResult","stepResults","Map","forEach","value","i","set","object","stepErrors","CursorEntry","type","step","error","row","DescribeResult","params","DescribeParam","DescribeCol","isExplain","boolean","isReadonly","toUint8Array"],"sources":["/Users/shoofle/Projects/the-forest/node_modules/@libsql/hrana-client/lib-esm/shared/json_decode.js"],"sourcesContent":["import { Base64 } from \"js-base64\";\nimport { ProtoError } from \"../errors.js\";\nimport * as d from \"../encoding/json/decode.js\";\nexport function Error(obj) {\n const message = d.string(obj[\"message\"]);\n const code = d.stringOpt(obj[\"code\"]);\n return { message, code };\n}\nexport function StmtResult(obj) {\n const cols = d.arrayObjectsMap(obj[\"cols\"], Col);\n const rows = d.array(obj[\"rows\"]).map((rowObj) => d.arrayObjectsMap(rowObj, Value));\n const affectedRowCount = d.number(obj[\"affected_row_count\"]);\n const lastInsertRowidStr = d.stringOpt(obj[\"last_insert_rowid\"]);\n const lastInsertRowid = lastInsertRowidStr !== undefined\n ? BigInt(lastInsertRowidStr) : undefined;\n return { cols, rows, affectedRowCount, lastInsertRowid };\n}\nfunction Col(obj) {\n const name = d.stringOpt(obj[\"name\"]);\n const decltype = d.stringOpt(obj[\"decltype\"]);\n return { name, decltype };\n}\nexport function BatchResult(obj) {\n const stepResults = new Map();\n d.array(obj[\"step_results\"]).forEach((value, i) => {\n if (value !== null) {\n stepResults.set(i, StmtResult(d.object(value)));\n }\n });\n const stepErrors = new Map();\n d.array(obj[\"step_errors\"]).forEach((value, i) => {\n if (value !== null) {\n stepErrors.set(i, Error(d.object(value)));\n }\n });\n return { stepResults, stepErrors };\n}\nexport function CursorEntry(obj) {\n const type = d.string(obj[\"type\"]);\n if (type === \"step_begin\") {\n const step = d.number(obj[\"step\"]);\n const cols = d.arrayObjectsMap(obj[\"cols\"], Col);\n return { type: \"step_begin\", step, cols };\n }\n else if (type === \"step_end\") {\n const affectedRowCount = d.number(obj[\"affected_row_count\"]);\n const lastInsertRowidStr = d.stringOpt(obj[\"last_insert_rowid\"]);\n const lastInsertRowid = lastInsertRowidStr !== undefined\n ? BigInt(lastInsertRowidStr) : undefined;\n return { type: \"step_end\", affectedRowCount, lastInsertRowid };\n }\n else if (type === \"step_error\") {\n const step = d.number(obj[\"step\"]);\n const error = Error(d.object(obj[\"error\"]));\n return { type: \"step_error\", step, error };\n }\n else if (type === \"row\") {\n const row = d.arrayObjectsMap(obj[\"row\"], Value);\n return { type: \"row\", row };\n }\n else if (type === \"error\") {\n const error = Error(d.object(obj[\"error\"]));\n return { type: \"error\", error };\n }\n else {\n throw new ProtoError(\"Unexpected type of CursorEntry\");\n }\n}\nexport function DescribeResult(obj) {\n const params = d.arrayObjectsMap(obj[\"params\"], DescribeParam);\n const cols = d.arrayObjectsMap(obj[\"cols\"], DescribeCol);\n const isExplain = d.boolean(obj[\"is_explain\"]);\n const isReadonly = d.boolean(obj[\"is_readonly\"]);\n return { params, cols, isExplain, isReadonly };\n}\nfunction DescribeParam(obj) {\n const name = d.stringOpt(obj[\"name\"]);\n return { name };\n}\nfunction DescribeCol(obj) {\n const name = d.string(obj[\"name\"]);\n const decltype = d.stringOpt(obj[\"decltype\"]);\n return { name, decltype };\n}\nexport function Value(obj) {\n const type = d.string(obj[\"type\"]);\n if (type === \"null\") {\n return null;\n }\n else if (type === \"integer\") {\n const value = d.string(obj[\"value\"]);\n return BigInt(value);\n }\n else if (type === \"float\") {\n return d.number(obj[\"value\"]);\n }\n else if (type === \"text\") {\n return d.string(obj[\"value\"]);\n }\n else if (type === \"blob\") {\n return Base64.toUint8Array(d.string(obj[\"base64\"]));\n }\n else {\n throw new ProtoError(\"Unexpected type of Value\");\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}