UNPKG

@deno/kv

Version:

A Deno KV client library optimized for Node.js.

108 lines (107 loc) 4.51 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 scalar_js_1 = require("../../../../../runtime/json/scalar.js"); const serialize_js_1 = __importDefault(require("../../../../../runtime/wire/serialize.js")); const scalar_js_2 = require("../../../../../runtime/wire/scalar.js"); const deserialize_js_1 = __importDefault(require("../../../../../runtime/wire/deserialize.js")); function getDefaultValue() { return { payload: new Uint8Array(), deadlineMs: "0", keysIfUndelivered: [], backoffSchedule: [], }; } exports.getDefaultValue = getDefaultValue; function createValue(partialValue) { return { ...getDefaultValue(), ...partialValue, }; } exports.createValue = createValue; function encodeJson(value) { const result = {}; if (value.payload !== undefined) result.payload = scalar_js_1.tsValueToJsonValueFns.bytes(value.payload); if (value.deadlineMs !== undefined) result.deadlineMs = scalar_js_1.tsValueToJsonValueFns.int64(value.deadlineMs); result.keysIfUndelivered = value.keysIfUndelivered.map(value => scalar_js_1.tsValueToJsonValueFns.bytes(value)); result.backoffSchedule = value.backoffSchedule.map(value => scalar_js_1.tsValueToJsonValueFns.uint32(value)); return result; } exports.encodeJson = encodeJson; function decodeJson(value) { const result = getDefaultValue(); if (value.payload !== undefined) result.payload = scalar_js_1.jsonValueToTsValueFns.bytes(value.payload); if (value.deadlineMs !== undefined) result.deadlineMs = scalar_js_1.jsonValueToTsValueFns.int64(value.deadlineMs); result.keysIfUndelivered = value.keysIfUndelivered?.map((value) => scalar_js_1.jsonValueToTsValueFns.bytes(value)) ?? []; result.backoffSchedule = value.backoffSchedule?.map((value) => scalar_js_1.jsonValueToTsValueFns.uint32(value)) ?? []; return result; } exports.decodeJson = decodeJson; function encodeBinary(value) { const result = []; if (value.payload !== undefined) { const tsValue = value.payload; result.push([1, scalar_js_2.tsValueToWireValueFns.bytes(tsValue)]); } if (value.deadlineMs !== undefined) { const tsValue = value.deadlineMs; result.push([2, scalar_js_2.tsValueToWireValueFns.int64(tsValue)]); } for (const tsValue of value.keysIfUndelivered) { result.push([3, scalar_js_2.tsValueToWireValueFns.bytes(tsValue)]); } for (const tsValue of value.backoffSchedule) { result.push([4, scalar_js_2.tsValueToWireValueFns.uint32(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 = scalar_js_2.wireValueToTsValueFns.bytes(wireValue); if (value === undefined) break field; result.payload = value; } field: { const wireValue = wireFields.get(2); if (wireValue === undefined) break field; const value = scalar_js_2.wireValueToTsValueFns.int64(wireValue); if (value === undefined) break field; result.deadlineMs = value; } collection: { const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 3).map(([, wireValue]) => wireValue); const value = wireValues.map((wireValue) => scalar_js_2.wireValueToTsValueFns.bytes(wireValue)).filter(x => x !== undefined); if (!value.length) break collection; result.keysIfUndelivered = value; } collection: { const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 4).map(([, wireValue]) => wireValue); const value = Array.from(scalar_js_2.unpackFns.uint32(wireValues)); if (!value.length) break collection; result.backoffSchedule = value; } return result; } exports.decodeBinary = decodeBinary;