{"version":3,"file":"SetPortWidth.cjs","names":["Request"],"sources":["../../generated/api/SetPortWidth.ts"],"sourcesContent":["import { encodeUIntLE, ErrorType, Request, Session } from '@novastar/codec';\nimport AddressMapping from '../AddressMapping';\n\ndeclare module '@novastar/codec' {\n  interface API {\n    SetPortWidth(\n      addr: number,\n      bBroadcast: boolean,\n      portWidth: number,\n      index: number\n    ): Promise<void>;\n    trySetPortWidth(addr: number, portWidth: number, index: number): Promise<ErrorType | null>;\n  }\n}\nexport default function createSetPortWidth<Broadcast extends boolean>(\n  addr: number,\n  bBroadcast: Broadcast,\n  portWidth: number,\n  index: number\n): Request<Broadcast> {\n  const $data = encodeUIntLE(portWidth, AddressMapping.PortWidthOccupancy);\n  const req = new Request($data, bBroadcast, 'SetPortWidth');\n  req.destination = addr;\n  req.address = 0;\n  if (index >= AddressMapping.New32PortOccupancy) {\n    req.address =\n      AddressMapping.PortWidthNew32Addr +\n      AddressMapping.PortOccupancy * (index - AddressMapping.New32PortOccupancy);\n  } else if (index >= AddressMapping.New16PortOccupancy) {\n    req.address =\n      AddressMapping.PortWidthNew16Addr +\n      AddressMapping.PortOccupancy * (index - AddressMapping.New16PortOccupancy);\n  } else if (index >= AddressMapping.NewPortOccupancy) {\n    req.address =\n      AddressMapping.PortWidthNewAddr +\n      AddressMapping.PortOccupancy * (index - AddressMapping.NewPortOccupancy);\n  } else {\n    req.address = AddressMapping.PortWidthAddr + AddressMapping.PortOccupancy * index;\n  }\n  return req;\n}\nSession.prototype.SetPortWidth = async function SetPortWidth(\n  this: Session,\n  addr: number,\n  bBroadcast: boolean,\n  portWidth: number,\n  index: number\n): Promise<void> {\n  const req = createSetPortWidth(addr, bBroadcast, portWidth, index);\n  await this.connection.send(req);\n};\nSession.prototype.trySetPortWidth = async function trySetPortWidth(\n  this: Session,\n  addr: number,\n  portWidth: number,\n  index: number\n): Promise<ErrorType | null> {\n  const req = createSetPortWidth(addr, false, portWidth, index);\n  return (await this.connection.trySend(req))?.ack ?? null;\n};\n"],"mappings":";;;;;AAcA,SAAwB,mBACtB,MACA,YACA,WACA,OACoB;CAEpB,MAAM,MAAM,IAAIA,0DADW,YACC,GAAG,YAAY,cAAc;CACzD,IAAI,cAAc;CAClB,IAAI,UAAU;CACd,IAAI,aACF,IAAI,0BAE8B;MAC7B,IAAI,YACT,IAAI,0BAE8B;MAC7B,IAAI,YACT,IAAI,0BAE8B;MAElC,IAAI,yBAAwE;CAE9E,OAAO;AACT;AACA,wBAAQ,UAAU,eAAe,eAAe,aAE9C,MACA,YACA,WACA,OACe;CACf,MAAM,MAAM,mBAAmB,MAAM,YAAY,WAAW,KAAK;CACjE,MAAM,KAAK,WAAW,KAAK,GAAG;AAChC;AACA,wBAAQ,UAAU,kBAAkB,eAAe,gBAEjD,MACA,WACA,OAC2B;CAC3B,MAAM,MAAM,mBAAmB,MAAM,OAAO,WAAW,KAAK;CAC5D,QAAQ,MAAM,KAAK,WAAW,QAAQ,GAAG,IAAI,OAAO;AACtD"}