{"version":3,"file":"SetRowsCtrlByDataGroup.mjs","names":[],"sources":["../../generated/api/SetRowsCtrlByDataGroup.ts"],"sourcesContent":["import { ErrorType, Request, Session } from '@novastar/codec';\nimport AddressMapping from '../AddressMapping';\n\ndeclare module '@novastar/codec' {\n  interface API {\n    SetRowsCtrlByDataGroup(\n      addr: number,\n      portAddr: number,\n      scanBoardAddr: number,\n      bBroadcast: boolean,\n      countCtrlByDataGroup: number[] | Buffer\n    ): Promise<void>;\n    trySetRowsCtrlByDataGroup(\n      addr: number,\n      portAddr: number,\n      scanBoardAddr: number,\n      countCtrlByDataGroup: number[] | Buffer\n    ): Promise<ErrorType | null>;\n  }\n}\nexport default function createSetRowsCtrlByDataGroup<Broadcast extends boolean>(\n  addr: number,\n  portAddr: number,\n  scanBoardAddr: number,\n  bBroadcast: Broadcast,\n  countCtrlByDataGroup: number[] | Buffer\n): Request<Broadcast> {\n  if (\n    countCtrlByDataGroup.length !==\n    AddressMapping.RowsCtrlByDataGroupOccupancy * AddressMapping.RowsCtrlByDataGroupNum\n  )\n    throw new TypeError(`Invalid buffer size: ${countCtrlByDataGroup.length}`);\n  const req = new Request(countCtrlByDataGroup, bBroadcast, 'SetRowsCtrlByDataGroup');\n  req.destination = addr;\n  req.deviceType = 1;\n  req.port = portAddr;\n  req.rcvIndex = scanBoardAddr;\n  req.address = AddressMapping.RowsCtrlByDataGroupAddr;\n  return req;\n}\nSession.prototype.SetRowsCtrlByDataGroup = async function SetRowsCtrlByDataGroup(\n  this: Session,\n  addr: number,\n  portAddr: number,\n  scanBoardAddr: number,\n  bBroadcast: boolean,\n  countCtrlByDataGroup: number[] | Buffer\n): Promise<void> {\n  const req = createSetRowsCtrlByDataGroup(\n    addr,\n    portAddr,\n    scanBoardAddr,\n    bBroadcast,\n    countCtrlByDataGroup\n  );\n  await this.connection.send(req);\n};\nSession.prototype.trySetRowsCtrlByDataGroup = async function trySetRowsCtrlByDataGroup(\n  this: Session,\n  addr: number,\n  portAddr: number,\n  scanBoardAddr: number,\n  countCtrlByDataGroup: number[] | Buffer\n): Promise<ErrorType | null> {\n  const req = createSetRowsCtrlByDataGroup(\n    addr,\n    portAddr,\n    scanBoardAddr,\n    false,\n    countCtrlByDataGroup\n  );\n  return (await this.connection.trySend(req))?.ack ?? null;\n};\n"],"mappings":";;;;AAoBA,SAAwB,6BACtB,MACA,UACA,eACA,YACA,sBACoB;CACpB,IACE,qBAAqB,kBAGrB,MAAM,IAAI,UAAU,wBAAwB,qBAAqB,QAAQ;CAC3E,MAAM,MAAM,IAAI,QAAQ,sBAAsB,YAAY,wBAAwB;CAClF,IAAI,cAAc;CAClB,IAAI,aAAa;CACjB,IAAI,OAAO;CACX,IAAI,WAAW;CACf,IAAI;CACJ,OAAO;AACT;AACA,QAAQ,UAAU,yBAAyB,eAAe,uBAExD,MACA,UACA,eACA,YACA,sBACe;CACf,MAAM,MAAM,6BACV,MACA,UACA,eACA,YACA,oBACF;CACA,MAAM,KAAK,WAAW,KAAK,GAAG;AAChC;AACA,QAAQ,UAAU,4BAA4B,eAAe,0BAE3D,MACA,UACA,eACA,sBAC2B;CAC3B,MAAM,MAAM,6BACV,MACA,UACA,eACA,OACA,oBACF;CACA,QAAQ,MAAM,KAAK,WAAW,QAAQ,GAAG,IAAI,OAAO;AACtD"}