UNPKG

@deno/kv

Version:

A Deno KV client library optimized for Node.js.

52 lines (51 loc) 1.66 kB
// @ts-nocheck import { tsValueToJsonValueFns, jsonValueToTsValueFns, } from "../../../../../runtime/json/scalar.js"; import { default as serialize, } from "../../../../../runtime/wire/serialize.js"; import { tsValueToWireValueFns, wireValueToTsValueFns, } from "../../../../../runtime/wire/scalar.js"; import { default as deserialize, } from "../../../../../runtime/wire/deserialize.js"; export function getDefaultValue() { return { key: new Uint8Array(), }; } export function createValue(partialValue) { return { ...getDefaultValue(), ...partialValue, }; } export function encodeJson(value) { const result = {}; if (value.key !== undefined) result.key = tsValueToJsonValueFns.bytes(value.key); return result; } export function decodeJson(value) { const result = getDefaultValue(); if (value.key !== undefined) result.key = jsonValueToTsValueFns.bytes(value.key); return result; } export function encodeBinary(value) { const result = []; if (value.key !== undefined) { const tsValue = value.key; result.push([1, tsValueToWireValueFns.bytes(tsValue)]); } return serialize(result); } export function decodeBinary(binary) { const result = getDefaultValue(); const wireMessage = deserialize(binary); const wireFields = new Map(wireMessage); field: { const wireValue = wireFields.get(1); if (wireValue === undefined) break field; const value = wireValueToTsValueFns.bytes(wireValue); if (value === undefined) break field; result.key = value; } return result; }