source: frontend/node_modules/webpack/lib/serialization/SetObjectSerializer.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.0 KB
Line 
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3*/
4
5"use strict";
6
7/** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
8/** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
9
10class SetObjectSerializer {
11 /**
12 * Serializes this instance into the provided serializer context.
13 * @template T
14 * @param {Set<T>} obj set
15 * @param {ObjectSerializerContext} context context
16 */
17 serialize(obj, context) {
18 context.write(obj.size);
19 for (const value of obj) {
20 context.write(value);
21 }
22 }
23
24 /**
25 * Restores this instance from the provided deserializer context.
26 * @template T
27 * @param {ObjectDeserializerContext} context context
28 * @returns {Set<T>} date
29 */
30 deserialize(context) {
31 /** @type {number} */
32 const size = context.read();
33 /** @type {Set<T>} */
34 const set = new Set();
35 for (let i = 0; i < size; i++) {
36 set.add(context.read());
37 }
38 return set;
39 }
40}
41
42module.exports = SetObjectSerializer;
Note: See TracBrowser for help on using the repository browser.