@deno/kv
Version:
A Deno KV client library optimized for Node.js.
176 lines (175 loc) • 7.02 kB
JavaScript
"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 KvValue_js_1 = require("./KvValue.js");
const MutationType_js_1 = require("./MutationType.js");
const scalar_js_1 = require("../../../../../runtime/json/scalar.js");
const index_js_1 = require("../../../../../runtime/wire/index.js");
const serialize_js_1 = __importDefault(require("../../../../../runtime/wire/serialize.js"));
const scalar_js_2 = require("../../../../../runtime/wire/scalar.js");
const Long_js_1 = __importDefault(require("../../../../../runtime/Long.js"));
const deserialize_js_1 = __importDefault(require("../../../../../runtime/wire/deserialize.js"));
function getDefaultValue() {
return {
key: new Uint8Array(),
value: undefined,
mutationType: "M_UNSPECIFIED",
expireAtMs: "0",
sumMin: new Uint8Array(),
sumMax: new Uint8Array(),
sumClamp: false,
};
}
exports.getDefaultValue = getDefaultValue;
function createValue(partialValue) {
return {
...getDefaultValue(),
...partialValue,
};
}
exports.createValue = createValue;
function encodeJson(value) {
const result = {};
if (value.key !== undefined)
result.key = scalar_js_1.tsValueToJsonValueFns.bytes(value.key);
if (value.value !== undefined)
result.value = (0, KvValue_js_1.encodeJson)(value.value);
if (value.mutationType !== undefined)
result.mutationType = scalar_js_1.tsValueToJsonValueFns.enum(value.mutationType);
if (value.expireAtMs !== undefined)
result.expireAtMs = scalar_js_1.tsValueToJsonValueFns.int64(value.expireAtMs);
if (value.sumMin !== undefined)
result.sumMin = scalar_js_1.tsValueToJsonValueFns.bytes(value.sumMin);
if (value.sumMax !== undefined)
result.sumMax = scalar_js_1.tsValueToJsonValueFns.bytes(value.sumMax);
if (value.sumClamp !== undefined)
result.sumClamp = scalar_js_1.tsValueToJsonValueFns.bool(value.sumClamp);
return result;
}
exports.encodeJson = encodeJson;
function decodeJson(value) {
const result = getDefaultValue();
if (value.key !== undefined)
result.key = scalar_js_1.jsonValueToTsValueFns.bytes(value.key);
if (value.value !== undefined)
result.value = (0, KvValue_js_1.decodeJson)(value.value);
if (value.mutationType !== undefined)
result.mutationType = scalar_js_1.jsonValueToTsValueFns.enum(value.mutationType);
if (value.expireAtMs !== undefined)
result.expireAtMs = scalar_js_1.jsonValueToTsValueFns.int64(value.expireAtMs);
if (value.sumMin !== undefined)
result.sumMin = scalar_js_1.jsonValueToTsValueFns.bytes(value.sumMin);
if (value.sumMax !== undefined)
result.sumMax = scalar_js_1.jsonValueToTsValueFns.bytes(value.sumMax);
if (value.sumClamp !== undefined)
result.sumClamp = scalar_js_1.jsonValueToTsValueFns.bool(value.sumClamp);
return result;
}
exports.decodeJson = decodeJson;
function encodeBinary(value) {
const result = [];
if (value.key !== undefined) {
const tsValue = value.key;
result.push([1, scalar_js_2.tsValueToWireValueFns.bytes(tsValue)]);
}
if (value.value !== undefined) {
const tsValue = value.value;
result.push([2, { type: index_js_1.WireType.LengthDelimited, value: (0, KvValue_js_1.encodeBinary)(tsValue) }]);
}
if (value.mutationType !== undefined) {
const tsValue = value.mutationType;
result.push([3, { type: index_js_1.WireType.Varint, value: new Long_js_1.default(MutationType_js_1.name2num[tsValue]) }]);
}
if (value.expireAtMs !== undefined) {
const tsValue = value.expireAtMs;
result.push([4, scalar_js_2.tsValueToWireValueFns.int64(tsValue)]);
}
if (value.sumMin !== undefined) {
const tsValue = value.sumMin;
result.push([5, scalar_js_2.tsValueToWireValueFns.bytes(tsValue)]);
}
if (value.sumMax !== undefined) {
const tsValue = value.sumMax;
result.push([6, scalar_js_2.tsValueToWireValueFns.bytes(tsValue)]);
}
if (value.sumClamp !== undefined) {
const tsValue = value.sumClamp;
result.push([7, scalar_js_2.tsValueToWireValueFns.bool(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.key = value;
}
field: {
const wireValue = wireFields.get(2);
if (wireValue === undefined)
break field;
const value = wireValue.type === index_js_1.WireType.LengthDelimited ? (0, KvValue_js_1.decodeBinary)(wireValue.value) : undefined;
if (value === undefined)
break field;
result.value = value;
}
field: {
const wireValue = wireFields.get(3);
if (wireValue === undefined)
break field;
const value = wireValue.type === index_js_1.WireType.Varint ? MutationType_js_1.num2name[wireValue.value[0]] : undefined;
if (value === undefined)
break field;
result.mutationType = value;
}
field: {
const wireValue = wireFields.get(4);
if (wireValue === undefined)
break field;
const value = scalar_js_2.wireValueToTsValueFns.int64(wireValue);
if (value === undefined)
break field;
result.expireAtMs = value;
}
field: {
const wireValue = wireFields.get(5);
if (wireValue === undefined)
break field;
const value = scalar_js_2.wireValueToTsValueFns.bytes(wireValue);
if (value === undefined)
break field;
result.sumMin = value;
}
field: {
const wireValue = wireFields.get(6);
if (wireValue === undefined)
break field;
const value = scalar_js_2.wireValueToTsValueFns.bytes(wireValue);
if (value === undefined)
break field;
result.sumMax = value;
}
field: {
const wireValue = wireFields.get(7);
if (wireValue === undefined)
break field;
const value = scalar_js_2.wireValueToTsValueFns.bool(wireValue);
if (value === undefined)
break field;
result.sumClamp = value;
}
return result;
}
exports.decodeBinary = decodeBinary;