import { LisioReaderAdapter } from "../../../adapters/reader/lisio-reader-adapter";

async function lisioChangeChannelHandler(
  this: LisioReaderAdapter,
  datas: string,
) {
  const { value, target } = JSON.parse(datas) as {
    value: string;
    target: number;
  };
  const element = document.querySelector<HTMLInputElement>(
    `[data-lisio-change="${target}"]`,
  );
  if (
    element instanceof HTMLInputElement &&
    (element.getAttribute("type") === "radio" ||
      element.getAttribute("type") === "checkbox")
  ) {
    element.checked = value === "true";
  } else if (element instanceof HTMLInputElement) {
    element.value = value;
  }
}

export default lisioChangeChannelHandler;
