deserialize(context) {
		const keys = context.read();
		const obj = /** @type {T} */ ({});
		if (Array.isArray(keys)) {
			for (const key of keys) {
				obj[/** @type {keyof T} */ (key)] = context.read();
			}
		} else if (keys !== null) {
			obj[/** @type {keyof T} */ (keys)] = context.read();
		}
		return obj;
	}
@template {object} T
@param {ObjectDeserializerContext} context context
@returns {T} plain object