UNPKG

@jsonjoy.com/json-pack

Version:

High-performance JSON serialization library

28 lines 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonEncoderStable = void 0; const JsonEncoder_1 = require("./JsonEncoder"); const insertion2_1 = require("@jsonjoy.com/util/lib/sort/insertion2"); const objKeyCmp_1 = require("@jsonjoy.com/util/lib/objKeyCmp"); class JsonEncoderStable extends JsonEncoder_1.JsonEncoder { writeObj(obj) { const writer = this.writer; const keys = Object.keys(obj); (0, insertion2_1.sort)(keys, objKeyCmp_1.objKeyCmp); const length = keys.length; if (!length) return writer.u16(0x7b7d); // {} writer.u8(0x7b); // { for (let i = 0; i < length; i++) { const key = keys[i]; const value = obj[key]; this.writeStr(key); writer.u8(0x3a); // : this.writeAny(value); writer.u8(0x2c); // , } writer.uint8[writer.x - 1] = 0x7d; // } } } exports.JsonEncoderStable = JsonEncoderStable; //# sourceMappingURL=JsonEncoderStable.js.map