{"ast":null,"code":"\"use strict\";\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mapHranaError = exports.resultSetFromHrana = exports.stmtToHrana = exports.executeHranaBatch = exports.HranaTransaction = void 0;\nconst hrana = __importStar(require(\"@libsql/hrana-client\"));\nconst api_1 = require(\"@libsql/core/api\");\nconst util_1 = require(\"@libsql/core/util\");\nclass HranaTransaction {\n #mode;\n #version;\n // Promise that is resolved when the BEGIN statement completes, or `undefined` if we haven't executed the\n // BEGIN statement yet.\n #started;\n /** @private */\n constructor(mode, version) {\n this.#mode = mode;\n this.#version = version;\n this.#started = undefined;\n }\n execute(stmt) {\n return this.batch([stmt]).then(results => results[0]);\n }\n async batch(stmts) {\n const stream = this._getStream();\n if (stream.closed) {\n throw new api_1.LibsqlError(\"Cannot execute statements because the transaction is closed\", \"TRANSACTION_CLOSED\");\n }\n try {\n const hranaStmts = stmts.map(stmtToHrana);\n let rowsPromises;\n if (this.#started === undefined) {\n // The transaction hasn't started yet, so we need to send the BEGIN statement in a batch with\n // `hranaStmts`.\n this._getSqlCache().apply(hranaStmts);\n const batch = stream.batch(this.#version >= 3);\n const beginStep = batch.step();\n const beginPromise = beginStep.run((0, util_1.transactionModeToBegin)(this.#mode));\n // Execute the `hranaStmts` only if the BEGIN succeeded, to make sure that we don't execute it\n // outside of a transaction.\n let lastStep = beginStep;\n rowsPromises = hranaStmts.map(hranaStmt => {\n const stmtStep = batch.step().condition(hrana.BatchCond.ok(lastStep));\n if (this.#version >= 3) {\n // If the Hrana version supports it, make sure that we are still in a transaction\n stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const rowsPromise = stmtStep.query(hranaStmt);\n rowsPromise.catch(() => undefined); // silence Node warning\n lastStep = stmtStep;\n return rowsPromise;\n });\n // `this.#started` is resolved successfully only if the batch and the BEGIN statement inside\n // of the batch are both successful.\n this.#started = batch.execute().then(() => beginPromise).then(() => undefined);\n try {\n await this.#started;\n } catch (e) {\n // If the BEGIN failed, the transaction is unusable and we must close it. However, if the\n // BEGIN suceeds and `hranaStmts` fail, the transaction is _not_ closed.\n this.close();\n throw e;\n }\n } else {\n if (this.#version < 3) {\n // The transaction has started, so we must wait until the BEGIN statement completed to make\n // sure that we don't execute `hranaStmts` outside of a transaction.\n await this.#started;\n } else {\n // The transaction has started, but we will use `hrana.BatchCond.isAutocommit()` to make\n // sure that we don't execute `hranaStmts` outside of a transaction, so we don't have to\n // wait for `this.#started`\n }\n this._getSqlCache().apply(hranaStmts);\n const batch = stream.batch(this.#version >= 3);\n let lastStep = undefined;\n rowsPromises = hranaStmts.map(hranaStmt => {\n const stmtStep = batch.step();\n if (lastStep !== undefined) {\n stmtStep.condition(hrana.BatchCond.ok(lastStep));\n }\n if (this.#version >= 3) {\n stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const rowsPromise = stmtStep.query(hranaStmt);\n rowsPromise.catch(() => undefined); // silence Node warning\n lastStep = stmtStep;\n return rowsPromise;\n });\n await batch.execute();\n }\n const resultSets = [];\n for (const rowsPromise of rowsPromises) {\n const rows = await rowsPromise;\n if (rows === undefined) {\n throw new api_1.LibsqlError(\"Statement in a transaction was not executed, \" + \"probably because the transaction has been rolled back\", \"TRANSACTION_CLOSED\");\n }\n resultSets.push(resultSetFromHrana(rows));\n }\n return resultSets;\n } catch (e) {\n throw mapHranaError(e);\n }\n }\n async executeMultiple(sql) {\n const stream = this._getStream();\n if (stream.closed) {\n throw new api_1.LibsqlError(\"Cannot execute statements because the transaction is closed\", \"TRANSACTION_CLOSED\");\n }\n try {\n if (this.#started === undefined) {\n // If the transaction hasn't started yet, start it now\n this.#started = stream.run((0, util_1.transactionModeToBegin)(this.#mode)).then(() => undefined);\n try {\n await this.#started;\n } catch (e) {\n this.close();\n throw e;\n }\n } else {\n // Wait until the transaction has started\n await this.#started;\n }\n await stream.sequence(sql);\n } catch (e) {\n throw mapHranaError(e);\n }\n }\n async rollback() {\n try {\n const stream = this._getStream();\n if (stream.closed) {\n return;\n }\n if (this.#started !== undefined) {\n // We don't have to wait for the BEGIN statement to complete. If the BEGIN fails, we will\n // execute a ROLLBACK outside of an active transaction, which should be harmless.\n } else {\n // We did nothing in the transaction, so there is nothing to rollback.\n return;\n }\n // Pipeline the ROLLBACK statement and the stream close.\n const promise = stream.run(\"ROLLBACK\").catch(e => {\n throw mapHranaError(e);\n });\n stream.closeGracefully();\n await promise;\n } catch (e) {\n throw mapHranaError(e);\n } finally {\n // `this.close()` may close the `hrana.Client`, which aborts all pending stream requests, so we\n // must call it _after_ we receive the ROLLBACK response.\n // Also note that the current stream should already be closed, but we need to call `this.close()`\n // anyway, because it may need to do more cleanup.\n this.close();\n }\n }\n async commit() {\n // (this method is analogous to `rollback()`)\n try {\n const stream = this._getStream();\n if (stream.closed) {\n throw new api_1.LibsqlError(\"Cannot commit the transaction because it is already closed\", \"TRANSACTION_CLOSED\");\n }\n if (this.#started !== undefined) {\n // Make sure to execute the COMMIT only if the BEGIN was successful.\n await this.#started;\n } else {\n return;\n }\n const promise = stream.run(\"COMMIT\").catch(e => {\n throw mapHranaError(e);\n });\n stream.closeGracefully();\n await promise;\n } catch (e) {\n throw mapHranaError(e);\n } finally {\n this.close();\n }\n }\n}\nexports.HranaTransaction = HranaTransaction;\nasync function executeHranaBatch(mode, version, batch, hranaStmts, disableForeignKeys = false) {\n if (disableForeignKeys) {\n batch.step().run(\"PRAGMA foreign_keys=off\");\n }\n const beginStep = batch.step();\n const beginPromise = beginStep.run((0, util_1.transactionModeToBegin)(mode));\n let lastStep = beginStep;\n const stmtPromises = hranaStmts.map(hranaStmt => {\n const stmtStep = batch.step().condition(hrana.BatchCond.ok(lastStep));\n if (version >= 3) {\n stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const stmtPromise = stmtStep.query(hranaStmt);\n lastStep = stmtStep;\n return stmtPromise;\n });\n const commitStep = batch.step().condition(hrana.BatchCond.ok(lastStep));\n if (version >= 3) {\n commitStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const commitPromise = commitStep.run(\"COMMIT\");\n const rollbackStep = batch.step().condition(hrana.BatchCond.not(hrana.BatchCond.ok(commitStep)));\n rollbackStep.run(\"ROLLBACK\").catch(_ => undefined);\n if (disableForeignKeys) {\n batch.step().run(\"PRAGMA foreign_keys=on\");\n }\n await batch.execute();\n const resultSets = [];\n await beginPromise;\n for (const stmtPromise of stmtPromises) {\n const hranaRows = await stmtPromise;\n if (hranaRows === undefined) {\n throw new api_1.LibsqlError(\"Statement in a batch was not executed, probably because the transaction has been rolled back\", \"TRANSACTION_CLOSED\");\n }\n resultSets.push(resultSetFromHrana(hranaRows));\n }\n await commitPromise;\n return resultSets;\n}\nexports.executeHranaBatch = executeHranaBatch;\nfunction stmtToHrana(stmt) {\n if (typeof stmt === \"string\") {\n return new hrana.Stmt(stmt);\n }\n const hranaStmt = new hrana.Stmt(stmt.sql);\n if (Array.isArray(stmt.args)) {\n hranaStmt.bindIndexes(stmt.args);\n } else {\n for (const [key, value] of Object.entries(stmt.args)) {\n hranaStmt.bindName(key, value);\n }\n }\n return hranaStmt;\n}\nexports.stmtToHrana = stmtToHrana;\nfunction resultSetFromHrana(hranaRows) {\n const columns = hranaRows.columnNames.map(c => c ?? \"\");\n const columnTypes = hranaRows.columnDecltypes.map(c => c ?? \"\");\n const rows = hranaRows.rows;\n const rowsAffected = hranaRows.affectedRowCount;\n const lastInsertRowid = hranaRows.lastInsertRowid !== undefined ? hranaRows.lastInsertRowid : undefined;\n return new util_1.ResultSetImpl(columns, columnTypes, rows, rowsAffected, lastInsertRowid);\n}\nexports.resultSetFromHrana = resultSetFromHrana;\nfunction mapHranaError(e) {\n if (e instanceof hrana.ClientError) {\n const code = mapHranaErrorCode(e);\n return new api_1.LibsqlError(e.message, code, undefined, e);\n }\n return e;\n}\nexports.mapHranaError = mapHranaError;\nfunction mapHranaErrorCode(e) {\n if (e instanceof hrana.ResponseError && e.code !== undefined) {\n return e.code;\n } else if (e instanceof hrana.ProtoError) {\n return \"HRANA_PROTO_ERROR\";\n } else if (e instanceof hrana.ClosedError) {\n return e.cause instanceof hrana.ClientError ? mapHranaErrorCode(e.cause) : \"HRANA_CLOSED_ERROR\";\n } else if (e instanceof hrana.WebSocketError) {\n return \"HRANA_WEBSOCKET_ERROR\";\n } else if (e instanceof hrana.HttpServerError) {\n return \"SERVER_ERROR\";\n } else if (e instanceof hrana.ProtocolVersionError) {\n return \"PROTOCOL_VERSION_ERROR\";\n } else if (e instanceof hrana.InternalError) {\n return \"INTERNAL_ERROR\";\n } else {\n return \"UNKNOWN\";\n }\n}","map":{"version":3,"names":["__createBinding","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","mod","result","prototype","hasOwnProperty","call","exports","mapHranaError","resultSetFromHrana","stmtToHrana","executeHranaBatch","HranaTransaction","hrana","require","api_1","util_1","mode","version","started","constructor","execute","stmt","batch","then","results","stmts","stream","_getStream","closed","LibsqlError","hranaStmts","map","rowsPromises","_getSqlCache","apply","beginStep","step","beginPromise","run","transactionModeToBegin","lastStep","hranaStmt","stmtStep","condition","BatchCond","ok","not","isAutocommit","rowsPromise","query","catch","e","close","resultSets","rows","push","executeMultiple","sql","sequence","rollback","promise","closeGracefully","commit","disableForeignKeys","stmtPromises","stmtPromise","commitStep","commitPromise","rollbackStep","_","hranaRows","Stmt","Array","isArray","args","bindIndexes","key","entries","bindName","columns","columnNames","c","columnTypes","columnDecltypes","rowsAffected","affectedRowCount","lastInsertRowid","ResultSetImpl","ClientError","code","mapHranaErrorCode","message","ResponseError","ProtoError","ClosedError","cause","WebSocketError","HttpServerError","ProtocolVersionError","InternalError"],"sources":["/Users/shoofle/Projects/the-forest/node_modules/@libsql/client/lib-cjs/hrana.js"],"sourcesContent":["\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.mapHranaError = exports.resultSetFromHrana = exports.stmtToHrana = exports.executeHranaBatch = exports.HranaTransaction = void 0;\nconst hrana = __importStar(require(\"@libsql/hrana-client\"));\nconst api_1 = require(\"@libsql/core/api\");\nconst util_1 = require(\"@libsql/core/util\");\nclass HranaTransaction {\n #mode;\n #version;\n // Promise that is resolved when the BEGIN statement completes, or `undefined` if we haven't executed the\n // BEGIN statement yet.\n #started;\n /** @private */\n constructor(mode, version) {\n this.#mode = mode;\n this.#version = version;\n this.#started = undefined;\n }\n execute(stmt) {\n return this.batch([stmt]).then((results) => results[0]);\n }\n async batch(stmts) {\n const stream = this._getStream();\n if (stream.closed) {\n throw new api_1.LibsqlError(\"Cannot execute statements because the transaction is closed\", \"TRANSACTION_CLOSED\");\n }\n try {\n const hranaStmts = stmts.map(stmtToHrana);\n let rowsPromises;\n if (this.#started === undefined) {\n // The transaction hasn't started yet, so we need to send the BEGIN statement in a batch with\n // `hranaStmts`.\n this._getSqlCache().apply(hranaStmts);\n const batch = stream.batch(this.#version >= 3);\n const beginStep = batch.step();\n const beginPromise = beginStep.run((0, util_1.transactionModeToBegin)(this.#mode));\n // Execute the `hranaStmts` only if the BEGIN succeeded, to make sure that we don't execute it\n // outside of a transaction.\n let lastStep = beginStep;\n rowsPromises = hranaStmts.map((hranaStmt) => {\n const stmtStep = batch\n .step()\n .condition(hrana.BatchCond.ok(lastStep));\n if (this.#version >= 3) {\n // If the Hrana version supports it, make sure that we are still in a transaction\n stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const rowsPromise = stmtStep.query(hranaStmt);\n rowsPromise.catch(() => undefined); // silence Node warning\n lastStep = stmtStep;\n return rowsPromise;\n });\n // `this.#started` is resolved successfully only if the batch and the BEGIN statement inside\n // of the batch are both successful.\n this.#started = batch\n .execute()\n .then(() => beginPromise)\n .then(() => undefined);\n try {\n await this.#started;\n }\n catch (e) {\n // If the BEGIN failed, the transaction is unusable and we must close it. However, if the\n // BEGIN suceeds and `hranaStmts` fail, the transaction is _not_ closed.\n this.close();\n throw e;\n }\n }\n else {\n if (this.#version < 3) {\n // The transaction has started, so we must wait until the BEGIN statement completed to make\n // sure that we don't execute `hranaStmts` outside of a transaction.\n await this.#started;\n }\n else {\n // The transaction has started, but we will use `hrana.BatchCond.isAutocommit()` to make\n // sure that we don't execute `hranaStmts` outside of a transaction, so we don't have to\n // wait for `this.#started`\n }\n this._getSqlCache().apply(hranaStmts);\n const batch = stream.batch(this.#version >= 3);\n let lastStep = undefined;\n rowsPromises = hranaStmts.map((hranaStmt) => {\n const stmtStep = batch.step();\n if (lastStep !== undefined) {\n stmtStep.condition(hrana.BatchCond.ok(lastStep));\n }\n if (this.#version >= 3) {\n stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const rowsPromise = stmtStep.query(hranaStmt);\n rowsPromise.catch(() => undefined); // silence Node warning\n lastStep = stmtStep;\n return rowsPromise;\n });\n await batch.execute();\n }\n const resultSets = [];\n for (const rowsPromise of rowsPromises) {\n const rows = await rowsPromise;\n if (rows === undefined) {\n throw new api_1.LibsqlError(\"Statement in a transaction was not executed, \" +\n \"probably because the transaction has been rolled back\", \"TRANSACTION_CLOSED\");\n }\n resultSets.push(resultSetFromHrana(rows));\n }\n return resultSets;\n }\n catch (e) {\n throw mapHranaError(e);\n }\n }\n async executeMultiple(sql) {\n const stream = this._getStream();\n if (stream.closed) {\n throw new api_1.LibsqlError(\"Cannot execute statements because the transaction is closed\", \"TRANSACTION_CLOSED\");\n }\n try {\n if (this.#started === undefined) {\n // If the transaction hasn't started yet, start it now\n this.#started = stream\n .run((0, util_1.transactionModeToBegin)(this.#mode))\n .then(() => undefined);\n try {\n await this.#started;\n }\n catch (e) {\n this.close();\n throw e;\n }\n }\n else {\n // Wait until the transaction has started\n await this.#started;\n }\n await stream.sequence(sql);\n }\n catch (e) {\n throw mapHranaError(e);\n }\n }\n async rollback() {\n try {\n const stream = this._getStream();\n if (stream.closed) {\n return;\n }\n if (this.#started !== undefined) {\n // We don't have to wait for the BEGIN statement to complete. If the BEGIN fails, we will\n // execute a ROLLBACK outside of an active transaction, which should be harmless.\n }\n else {\n // We did nothing in the transaction, so there is nothing to rollback.\n return;\n }\n // Pipeline the ROLLBACK statement and the stream close.\n const promise = stream.run(\"ROLLBACK\").catch((e) => {\n throw mapHranaError(e);\n });\n stream.closeGracefully();\n await promise;\n }\n catch (e) {\n throw mapHranaError(e);\n }\n finally {\n // `this.close()` may close the `hrana.Client`, which aborts all pending stream requests, so we\n // must call it _after_ we receive the ROLLBACK response.\n // Also note that the current stream should already be closed, but we need to call `this.close()`\n // anyway, because it may need to do more cleanup.\n this.close();\n }\n }\n async commit() {\n // (this method is analogous to `rollback()`)\n try {\n const stream = this._getStream();\n if (stream.closed) {\n throw new api_1.LibsqlError(\"Cannot commit the transaction because it is already closed\", \"TRANSACTION_CLOSED\");\n }\n if (this.#started !== undefined) {\n // Make sure to execute the COMMIT only if the BEGIN was successful.\n await this.#started;\n }\n else {\n return;\n }\n const promise = stream.run(\"COMMIT\").catch((e) => {\n throw mapHranaError(e);\n });\n stream.closeGracefully();\n await promise;\n }\n catch (e) {\n throw mapHranaError(e);\n }\n finally {\n this.close();\n }\n }\n}\nexports.HranaTransaction = HranaTransaction;\nasync function executeHranaBatch(mode, version, batch, hranaStmts, disableForeignKeys = false) {\n if (disableForeignKeys) {\n batch.step().run(\"PRAGMA foreign_keys=off\");\n }\n const beginStep = batch.step();\n const beginPromise = beginStep.run((0, util_1.transactionModeToBegin)(mode));\n let lastStep = beginStep;\n const stmtPromises = hranaStmts.map((hranaStmt) => {\n const stmtStep = batch.step().condition(hrana.BatchCond.ok(lastStep));\n if (version >= 3) {\n stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const stmtPromise = stmtStep.query(hranaStmt);\n lastStep = stmtStep;\n return stmtPromise;\n });\n const commitStep = batch.step().condition(hrana.BatchCond.ok(lastStep));\n if (version >= 3) {\n commitStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch)));\n }\n const commitPromise = commitStep.run(\"COMMIT\");\n const rollbackStep = batch\n .step()\n .condition(hrana.BatchCond.not(hrana.BatchCond.ok(commitStep)));\n rollbackStep.run(\"ROLLBACK\").catch((_) => undefined);\n if (disableForeignKeys) {\n batch.step().run(\"PRAGMA foreign_keys=on\");\n }\n await batch.execute();\n const resultSets = [];\n await beginPromise;\n for (const stmtPromise of stmtPromises) {\n const hranaRows = await stmtPromise;\n if (hranaRows === undefined) {\n throw new api_1.LibsqlError(\"Statement in a batch was not executed, probably because the transaction has been rolled back\", \"TRANSACTION_CLOSED\");\n }\n resultSets.push(resultSetFromHrana(hranaRows));\n }\n await commitPromise;\n return resultSets;\n}\nexports.executeHranaBatch = executeHranaBatch;\nfunction stmtToHrana(stmt) {\n if (typeof stmt === \"string\") {\n return new hrana.Stmt(stmt);\n }\n const hranaStmt = new hrana.Stmt(stmt.sql);\n if (Array.isArray(stmt.args)) {\n hranaStmt.bindIndexes(stmt.args);\n }\n else {\n for (const [key, value] of Object.entries(stmt.args)) {\n hranaStmt.bindName(key, value);\n }\n }\n return hranaStmt;\n}\nexports.stmtToHrana = stmtToHrana;\nfunction resultSetFromHrana(hranaRows) {\n const columns = hranaRows.columnNames.map((c) => c ?? \"\");\n const columnTypes = hranaRows.columnDecltypes.map((c) => c ?? \"\");\n const rows = hranaRows.rows;\n const rowsAffected = hranaRows.affectedRowCount;\n const lastInsertRowid = hranaRows.lastInsertRowid !== undefined\n ? hranaRows.lastInsertRowid\n : undefined;\n return new util_1.ResultSetImpl(columns, columnTypes, rows, rowsAffected, lastInsertRowid);\n}\nexports.resultSetFromHrana = resultSetFromHrana;\nfunction mapHranaError(e) {\n if (e instanceof hrana.ClientError) {\n const code = mapHranaErrorCode(e);\n return new api_1.LibsqlError(e.message, code, undefined, e);\n }\n return e;\n}\nexports.mapHranaError = mapHranaError;\nfunction mapHranaErrorCode(e) {\n if (e instanceof hrana.ResponseError && e.code !== undefined) {\n return e.code;\n }\n else if (e instanceof hrana.ProtoError) {\n return \"HRANA_PROTO_ERROR\";\n }\n else if (e instanceof hrana.ClosedError) {\n return e.cause instanceof hrana.ClientError\n ? mapHranaErrorCode(e.cause)\n : \"HRANA_CLOSED_ERROR\";\n }\n else if (e instanceof hrana.WebSocketError) {\n return \"HRANA_WEBSOCKET_ERROR\";\n }\n else if (e instanceof hrana.HttpServerError) {\n return \"SERVER_ERROR\";\n }\n else if (e instanceof hrana.ProtocolVersionError) {\n return \"PROTOCOL_VERSION_ERROR\";\n }\n else if (e instanceof hrana.InternalError) {\n return \"INTERNAL_ERROR\";\n }\n else {\n return \"UNKNOWN\";\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}