UNPKG

@deno/kv

Version:

A Deno KV client library optimized for Node.js.

105 lines (104 loc) 4.35 kB
// @ts-nocheck import { encodeJson as encodeJson_1, decodeJson as decodeJson_1, encodeBinary as encodeBinary_1, decodeBinary as decodeBinary_1, } from "./ReadRangeOutput.js"; import { name2num, num2name, } from "./SnapshotReadStatus.js"; import { tsValueToJsonValueFns, jsonValueToTsValueFns, } from "../../../../../runtime/json/scalar.js"; import { WireType, } from "../../../../../runtime/wire/index.js"; import { default as serialize, } from "../../../../../runtime/wire/serialize.js"; import { tsValueToWireValueFns, wireValueToTsValueFns, } from "../../../../../runtime/wire/scalar.js"; import { default as Long, } from "../../../../../runtime/Long.js"; import { default as deserialize, } from "../../../../../runtime/wire/deserialize.js"; export function getDefaultValue() { return { ranges: [], readDisabled: false, readIsStronglyConsistent: false, status: "SR_UNSPECIFIED", }; } export function createValue(partialValue) { return { ...getDefaultValue(), ...partialValue, }; } export function encodeJson(value) { const result = {}; result.ranges = value.ranges.map(value => encodeJson_1(value)); if (value.readDisabled !== undefined) result.readDisabled = tsValueToJsonValueFns.bool(value.readDisabled); if (value.readIsStronglyConsistent !== undefined) result.readIsStronglyConsistent = tsValueToJsonValueFns.bool(value.readIsStronglyConsistent); if (value.status !== undefined) result.status = tsValueToJsonValueFns.enum(value.status); return result; } export function decodeJson(value) { const result = getDefaultValue(); result.ranges = value.ranges?.map((value) => decodeJson_1(value)) ?? []; if (value.readDisabled !== undefined) result.readDisabled = jsonValueToTsValueFns.bool(value.readDisabled); if (value.readIsStronglyConsistent !== undefined) result.readIsStronglyConsistent = jsonValueToTsValueFns.bool(value.readIsStronglyConsistent); if (value.status !== undefined) result.status = jsonValueToTsValueFns.enum(value.status); return result; } export function encodeBinary(value) { const result = []; for (const tsValue of value.ranges) { result.push([1, { type: WireType.LengthDelimited, value: encodeBinary_1(tsValue) }]); } if (value.readDisabled !== undefined) { const tsValue = value.readDisabled; result.push([2, tsValueToWireValueFns.bool(tsValue)]); } if (value.readIsStronglyConsistent !== undefined) { const tsValue = value.readIsStronglyConsistent; result.push([4, tsValueToWireValueFns.bool(tsValue)]); } if (value.status !== undefined) { const tsValue = value.status; result.push([8, { type: WireType.Varint, value: new Long(name2num[tsValue]) }]); } return serialize(result); } export function decodeBinary(binary) { const result = getDefaultValue(); const wireMessage = deserialize(binary); const wireFields = new Map(wireMessage); collection: { const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 1).map(([, wireValue]) => wireValue); const value = wireValues.map((wireValue) => wireValue.type === WireType.LengthDelimited ? decodeBinary_1(wireValue.value) : undefined).filter(x => x !== undefined); if (!value.length) break collection; result.ranges = value; } field: { const wireValue = wireFields.get(2); if (wireValue === undefined) break field; const value = wireValueToTsValueFns.bool(wireValue); if (value === undefined) break field; result.readDisabled = value; } field: { const wireValue = wireFields.get(4); if (wireValue === undefined) break field; const value = wireValueToTsValueFns.bool(wireValue); if (value === undefined) break field; result.readIsStronglyConsistent = value; } field: { const wireValue = wireFields.get(8); if (wireValue === undefined) break field; const value = wireValue.type === WireType.Varint ? num2name[wireValue.value[0]] : undefined; if (value === undefined) break field; result.status = value; } return result; }