@deno/kv
Version:
A Deno KV client library optimized for Node.js.
106 lines (105 loc) • 3.61 kB
JavaScript
// @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 {
start: new Uint8Array(),
end: new Uint8Array(),
limit: 0,
reverse: false,
};
}
export function createValue(partialValue) {
return {
...getDefaultValue(),
...partialValue,
};
}
export function encodeJson(value) {
const result = {};
if (value.start !== undefined)
result.start = tsValueToJsonValueFns.bytes(value.start);
if (value.end !== undefined)
result.end = tsValueToJsonValueFns.bytes(value.end);
if (value.limit !== undefined)
result.limit = tsValueToJsonValueFns.int32(value.limit);
if (value.reverse !== undefined)
result.reverse = tsValueToJsonValueFns.bool(value.reverse);
return result;
}
export function decodeJson(value) {
const result = getDefaultValue();
if (value.start !== undefined)
result.start = jsonValueToTsValueFns.bytes(value.start);
if (value.end !== undefined)
result.end = jsonValueToTsValueFns.bytes(value.end);
if (value.limit !== undefined)
result.limit = jsonValueToTsValueFns.int32(value.limit);
if (value.reverse !== undefined)
result.reverse = jsonValueToTsValueFns.bool(value.reverse);
return result;
}
export function encodeBinary(value) {
const result = [];
if (value.start !== undefined) {
const tsValue = value.start;
result.push([1, tsValueToWireValueFns.bytes(tsValue)]);
}
if (value.end !== undefined) {
const tsValue = value.end;
result.push([2, tsValueToWireValueFns.bytes(tsValue)]);
}
if (value.limit !== undefined) {
const tsValue = value.limit;
result.push([3, tsValueToWireValueFns.int32(tsValue)]);
}
if (value.reverse !== undefined) {
const tsValue = value.reverse;
result.push([4, tsValueToWireValueFns.bool(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.start = value;
}
field: {
const wireValue = wireFields.get(2);
if (wireValue === undefined)
break field;
const value = wireValueToTsValueFns.bytes(wireValue);
if (value === undefined)
break field;
result.end = value;
}
field: {
const wireValue = wireFields.get(3);
if (wireValue === undefined)
break field;
const value = wireValueToTsValueFns.int32(wireValue);
if (value === undefined)
break field;
result.limit = value;
}
field: {
const wireValue = wireFields.get(4);
if (wireValue === undefined)
break field;
const value = wireValueToTsValueFns.bool(wireValue);
if (value === undefined)
break field;
result.reverse = value;
}
return result;
}