UNPKG

@deno/kv

Version:

A Deno KV client library optimized for Node.js.

75 lines (74 loc) 3.51 kB
// @ts-nocheck import { encodeJson as encodeJson_1, decodeJson as decodeJson_1, encodeBinary as encodeBinary_1, decodeBinary as decodeBinary_1, } from "./Check.js"; import { encodeJson as encodeJson_2, decodeJson as decodeJson_2, encodeBinary as encodeBinary_2, decodeBinary as decodeBinary_2, } from "./Mutation.js"; import { encodeJson as encodeJson_3, decodeJson as decodeJson_3, encodeBinary as encodeBinary_3, decodeBinary as decodeBinary_3, } from "./Enqueue.js"; import { WireType, } from "../../../../../runtime/wire/index.js"; import { default as serialize, } from "../../../../../runtime/wire/serialize.js"; import { default as deserialize, } from "../../../../../runtime/wire/deserialize.js"; export function getDefaultValue() { return { checks: [], mutations: [], enqueues: [], }; } export function createValue(partialValue) { return { ...getDefaultValue(), ...partialValue, }; } export function encodeJson(value) { const result = {}; result.checks = value.checks.map(value => encodeJson_1(value)); result.mutations = value.mutations.map(value => encodeJson_2(value)); result.enqueues = value.enqueues.map(value => encodeJson_3(value)); return result; } export function decodeJson(value) { const result = getDefaultValue(); result.checks = value.checks?.map((value) => decodeJson_1(value)) ?? []; result.mutations = value.mutations?.map((value) => decodeJson_2(value)) ?? []; result.enqueues = value.enqueues?.map((value) => decodeJson_3(value)) ?? []; return result; } export function encodeBinary(value) { const result = []; for (const tsValue of value.checks) { result.push([1, { type: WireType.LengthDelimited, value: encodeBinary_1(tsValue) }]); } for (const tsValue of value.mutations) { result.push([2, { type: WireType.LengthDelimited, value: encodeBinary_2(tsValue) }]); } for (const tsValue of value.enqueues) { result.push([3, { type: WireType.LengthDelimited, value: encodeBinary_3(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.checks = value; } collection: { const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 2).map(([, wireValue]) => wireValue); const value = wireValues.map((wireValue) => wireValue.type === WireType.LengthDelimited ? decodeBinary_2(wireValue.value) : undefined).filter(x => x !== undefined); if (!value.length) break collection; result.mutations = value; } collection: { const wireValues = wireMessage.filter(([fieldNumber]) => fieldNumber === 3).map(([, wireValue]) => wireValue); const value = wireValues.map((wireValue) => wireValue.type === WireType.LengthDelimited ? decodeBinary_3(wireValue.value) : undefined).filter(x => x !== undefined); if (!value.length) break collection; result.enqueues = value; } return result; }