UNPKG

@deno/kv

Version:

A Deno KV client library optimized for Node.js.

80 lines (79 loc) 3.4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodeBinary = exports.encodeBinary = exports.decodeJson = exports.encodeJson = exports.createValue = exports.getDefaultValue = void 0; // @ts-nocheck const SnapshotReadStatus_js_1 = require("./SnapshotReadStatus.js"); const WatchKeyOutput_js_1 = require("./WatchKeyOutput.js"); const scalar_js_1 = require("../../../../../runtime/json/scalar.js"); const index_js_1 = require("../../../../../runtime/wire/index.js"); const serialize_js_1 = __importDefault(require("../../../../../runtime/wire/serialize.js")); const Long_js_1 = __importDefault(require("../../../../../runtime/Long.js")); const deserialize_js_1 = __importDefault(require("../../../../../runtime/wire/deserialize.js")); function getDefaultValue() { return { status: "SR_UNSPECIFIED", keys: [], }; } exports.getDefaultValue = getDefaultValue; function createValue(partialValue) { return { ...getDefaultValue(), ...partialValue, }; } exports.createValue = createValue; function encodeJson(value) { const result = {}; if (value.status !== undefined) result.status = scalar_js_1.tsValueToJsonValueFns.enum(value.status); result.keys = value.keys.map(value => (0, WatchKeyOutput_js_1.encodeJson)(value)); return result; } exports.encodeJson = encodeJson; function decodeJson(value) { const result = getDefaultValue(); if (value.status !== undefined) result.status = scalar_js_1.jsonValueToTsValueFns.enum(value.status); result.keys = value.keys?.map((value) => (0, WatchKeyOutput_js_1.decodeJson)(value)) ?? []; return result; } exports.decodeJson = decodeJson; function encodeBinary(value) { const result = []; if (value.status !== undefined) { const tsValue = value.status; result.push([1, { type: index_js_1.WireType.Varint, value: new Long_js_1.default(SnapshotReadStatus_js_1.name2num[tsValue]) }]); } for (const tsValue of value.keys) { result.push([2, { type: index_js_1.WireType.LengthDelimited, value: (0, WatchKeyOutput_js_1.encodeBinary)(tsValue) }]); } return (0, serialize_js_1.default)(result); } exports.encodeBinary = encodeBinary; function decodeBinary(binary) { const result = getDefaultValue(); const wireMessage = (0, deserialize_js_1.default)(binary); const wireFields = new Map(wireMessage); field: { const wireValue = wireFields.get(1); if (wireValue === undefined) break field; const value = wireValue.type === index_js_1.WireType.Varint ? SnapshotReadStatus_js_1.num2name[wireValue.value[0]] : undefined; if (value === undefined) break field; result.status = value; } collection: { const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 2).map(([, wireValue]) => wireValue); const value = wireValues.map((wireValue) => wireValue.type === index_js_1.WireType.LengthDelimited ? (0, WatchKeyOutput_js_1.decodeBinary)(wireValue.value) : undefined).filter(x => x !== undefined); if (!value.length) break collection; result.keys = value; } return result; } exports.decodeBinary = decodeBinary;