{"version":3,"file":"SetRgbCode.mjs","names":[],"sources":["../../generated/api/SetRgbCode.ts"],"sourcesContent":["import { encodeUIntLE, ErrorType, Request, Session } from '@novastar/codec';\nimport AddressMapping from '../AddressMapping';\n\ndeclare module '@novastar/codec' {\n  interface API {\n    SetRgbCode(\n      addr: number,\n      portAddr: number,\n      scanBoardAddr: number,\n      bBroadcast: boolean,\n      red: number,\n      green: number,\n      blue: number,\n      virtualRed: number\n    ): Promise<void>;\n    trySetRgbCode(\n      addr: number,\n      portAddr: number,\n      scanBoardAddr: number,\n      red: number,\n      green: number,\n      blue: number,\n      virtualRed: number\n    ): Promise<ErrorType | null>;\n  }\n}\nexport default function createSetRgbCode<Broadcast extends boolean>(\n  addr: number,\n  portAddr: number,\n  scanBoardAddr: number,\n  bBroadcast: Broadcast,\n  red: number,\n  green: number,\n  blue: number,\n  virtualRed: number\n): Request<Broadcast> {\n  const $data = encodeUIntLE(\n    red | (green << 2) | (blue << 4) | (virtualRed << 6),\n    AddressMapping.RgbCodeOccupancy\n  );\n  const req = new Request($data, bBroadcast, 'SetRgbCode');\n  req.destination = addr;\n  req.deviceType = 1;\n  req.port = portAddr;\n  req.rcvIndex = scanBoardAddr;\n  req.address = AddressMapping.RgbCodeAddr;\n  return req;\n}\nSession.prototype.SetRgbCode = async function SetRgbCode(\n  this: Session,\n  addr: number,\n  portAddr: number,\n  scanBoardAddr: number,\n  bBroadcast: boolean,\n  red: number,\n  green: number,\n  blue: number,\n  virtualRed: number\n): Promise<void> {\n  const req = createSetRgbCode(\n    addr,\n    portAddr,\n    scanBoardAddr,\n    bBroadcast,\n    red,\n    green,\n    blue,\n    virtualRed\n  );\n  await this.connection.send(req);\n};\nSession.prototype.trySetRgbCode = async function trySetRgbCode(\n  this: Session,\n  addr: number,\n  portAddr: number,\n  scanBoardAddr: number,\n  red: number,\n  green: number,\n  blue: number,\n  virtualRed: number\n): Promise<ErrorType | null> {\n  const req = createSetRgbCode(addr, portAddr, scanBoardAddr, false, red, green, blue, virtualRed);\n  return (await this.connection.trySend(req))?.ack ?? null;\n};\n"],"mappings":";;;;AA0BA,SAAwB,iBACtB,MACA,UACA,eACA,YACA,KACA,OACA,MACA,YACoB;CAKpB,MAAM,MAAM,IAAI,QAJF,aACZ,MAAO,SAAS,IAAM,QAAQ,IAAM,cAAc,IAGxB,GAAG,YAAY,YAAY;CACvD,IAAI,cAAc;CAClB,IAAI,aAAa;CACjB,IAAI,OAAO;CACX,IAAI,WAAW;CACf,IAAI;CACJ,OAAO;AACT;AACA,QAAQ,UAAU,aAAa,eAAe,WAE5C,MACA,UACA,eACA,YACA,KACA,OACA,MACA,YACe;CACf,MAAM,MAAM,iBACV,MACA,UACA,eACA,YACA,KACA,OACA,MACA,UACF;CACA,MAAM,KAAK,WAAW,KAAK,GAAG;AAChC;AACA,QAAQ,UAAU,gBAAgB,eAAe,cAE/C,MACA,UACA,eACA,KACA,OACA,MACA,YAC2B;CAC3B,MAAM,MAAM,iBAAiB,MAAM,UAAU,eAAe,OAAO,KAAK,OAAO,MAAM,UAAU;CAC/F,QAAQ,MAAM,KAAK,WAAW,QAAQ,GAAG,IAAI,OAAO;AACtD"}