CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
RespEncoderLegacy.js105 linesDownload Raw Back to resp
1"use strict";2Object.defineProperty(exports, "__esModule", { value: true });3exports.RespEncoderLegacy = void 0;4const extensions_1 = require("./extensions");5const JsonPackExtension_1 = require("../JsonPackExtension");6const RespEncoder_1 = require("./RespEncoder");7const REG_RN = /[\r\n]/;8const isSafeInteger = Number.isSafeInteger;9class RespEncoderLegacy extends RespEncoder_1.RespEncoder {10    writeAny(value) {11        switch (typeof value) {12            case 'number':13                return this.writeNumber(value);14            case 'string':15                return this.writeStr(value);16            case 'boolean':17                return this.writeSimpleStr(value ? 'TRUE' : 'FALSE');18            case 'object': {19                if (!value)20                    return this.writeNull();21                if (value instanceof Array)22                    return this.writeArr(value);23                if (value instanceof Uint8Array)24                    return this.writeBin(value);25                if (value instanceof Error)26                    return this.writeErr(value.message);27                if (value instanceof Set)28                    return this.writeSet(value);29                if (value instanceof JsonPackExtension_1.JsonPackExtension) {30                    if (value instanceof extensions_1.RespPush)31                        return this.writeArr(value.val);32                    if (value instanceof extensions_1.RespVerbatimString)33                        return this.writeStr(value.val);34                    if (value instanceof extensions_1.RespAttributes)35                        return this.writeObj(value.val);36                }37                return this.writeObj(value);38            }39            case 'undefined':40                return this.writeUndef();41            case 'bigint':42                return this.writeSimpleStrAscii(value + '');43            default:44                return this.writeUnknown(value);45        }46    }47    writeNumber(num) {48        if (isSafeInteger(num))49            this.writeInteger(num);50        else51            this.writeSimpleStrAscii(num + '');52    }53    writeStr(str) {54        const length = str.length;55        if (length < 64 && !REG_RN.test(str))56            this.writeSimpleStr(str);57        else58            this.writeBulkStr(str);59    }60    writeNull() {61        this.writeNullArr();62    }63    writeErr(str) {64        if (str.length < 64 && !REG_RN.test(str))65            this.writeSimpleErr(str);66        else67            this.writeBulkStr(str);68    }69    writeSet(set) {70        this.writeArr([...set]);71    }72    writeArr(arr) {73        const writer = this.writer;74        const length = arr.length;75        writer.u8(42);76        this.writeLength(length);77        writer.u16(3338);78        for (let i = 0; i < length; i++) {79            const val = arr[i];80            if (val === null)81                this.writeNullStr();82            else83                this.writeAny(val);84        }85    }86    writeObj(obj) {87        const writer = this.writer;88        const keys = Object.keys(obj);89        const length = keys.length;90        writer.u8(42);91        this.writeLength(length << 1);92        writer.u16(3338);93        for (let i = 0; i < length; i++) {94            const key = keys[i];95            this.writeStr(key);96            const val = obj[key];97            if (val === null)98                this.writeNullStr();99            else100                this.writeAny(val);101        }102    }103}104exports.RespEncoderLegacy = RespEncoderLegacy;105//# sourceMappingURL=RespEncoderLegacy.js.map
basant307/AI_Governance_Project · CoolFace