/**
 * @mergeTarget
 * @module Src/Messages/Received/Handlers
 */

import { MessageManager } from "../../managers/message-manager";
import { InputManager } from "../../managers/input-manager";
import { LisioParameterNames } from "@lisio/lisio-profils";

/**
 * Handler for received message {@link Src/Messages/Received.ReceivedMessageNames.DISABLE_READING_MASK | DISABLE_READING_MASK}.\
 * This function disable all profiles which have parameter "reading_mask" and disable parameter "reading_mask"
 * @async
 * @param {MessageManager} this - Context of {@link Src/Managers.MessageManager | MessageManager}
 * @param {string} _ - Additional datas sent by client script
 * @returns Returns a promise containing nothing
 * @source
 */
async function disableParameterHandler(
  this: MessageManager,
  datas: string,
): Promise<void> {
  const parsedDatas: { value: LisioParameterNames } = JSON.parse(datas);
  InputManager.current.disableParameter(parsedDatas.value);
}

export { disableParameterHandler };
