@deno/kv
Version:
A Deno KV client library optimized for Node.js.
59 lines (58 loc) • 2.31 kB
JavaScript
;
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 WatchKey_js_1 = require("./WatchKey.js");
const index_js_1 = require("../../../../../runtime/wire/index.js");
const serialize_js_1 = __importDefault(require("../../../../../runtime/wire/serialize.js"));
const deserialize_js_1 = __importDefault(require("../../../../../runtime/wire/deserialize.js"));
function getDefaultValue() {
return {
keys: [],
};
}
exports.getDefaultValue = getDefaultValue;
function createValue(partialValue) {
return {
...getDefaultValue(),
...partialValue,
};
}
exports.createValue = createValue;
function encodeJson(value) {
const result = {};
result.keys = value.keys.map(value => (0, WatchKey_js_1.encodeJson)(value));
return result;
}
exports.encodeJson = encodeJson;
function decodeJson(value) {
const result = getDefaultValue();
result.keys = value.keys?.map((value) => (0, WatchKey_js_1.decodeJson)(value)) ?? [];
return result;
}
exports.decodeJson = decodeJson;
function encodeBinary(value) {
const result = [];
for (const tsValue of value.keys) {
result.push([1, { type: index_js_1.WireType.LengthDelimited, value: (0, WatchKey_js_1.encodeBinary)(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);
collection: {
const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 1).map(([, wireValue]) => wireValue);
const value = wireValues.map((wireValue) => wireValue.type === index_js_1.WireType.LengthDelimited ? (0, WatchKey_js_1.decodeBinary)(wireValue.value) : undefined).filter(x => x !== undefined);
if (!value.length)
break collection;
result.keys = value;
}
return result;
}
exports.decodeBinary = decodeBinary;