You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/* MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
/** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */ /** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
class ArraySerializer { /** * @template T * @param {T[]} array array * @param {ObjectSerializerContext} context context */ serialize(array, context) { context.write(array.length); for (const item of array) context.write(item); }
/** * @template T * @param {ObjectDeserializerContext} context context * @returns {T[]} array */ deserialize(context) { /** @type {number} */ const length = context.read(); /** @type {T[]} */ const array = []; for (let i = 0; i < length; i++) { array.push(context.read()); } return array; } }
module.exports = ArraySerializer;
|