@deno/kv
Version:
A Deno KV client library optimized for Node.js.
105 lines (104 loc) • 4.35 kB
JavaScript
// @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;
}