{"version":3,"file":"SetMasterOrSlaveNext.mjs","names":[],"sources":["../../generated/api/SetMasterOrSlaveNext.ts"],"sourcesContent":["import { ErrorType, Request, Session } from '@novastar/codec';\nimport AddressMapping from '../AddressMapping';\n\ndeclare module '@novastar/codec' {\n  interface API {\n    SetMasterOrSlaveNext(\n      addr: number,\n      bBroadcast: boolean,\n      masterOrSlaveBytes: number[] | Buffer\n    ): Promise<void>;\n    trySetMasterOrSlaveNext(\n      addr: number,\n      masterOrSlaveBytes: number[] | Buffer\n    ): Promise<ErrorType | null>;\n  }\n}\nexport default function createSetMasterOrSlaveNext<Broadcast extends boolean>(\n  addr: number,\n  bBroadcast: Broadcast,\n  masterOrSlaveBytes: number[] | Buffer\n): Request<Broadcast> {\n  if (masterOrSlaveBytes.length !== AddressMapping.MasterOrSlaveOccupancy)\n    throw new TypeError(`Invalid buffer size: ${masterOrSlaveBytes.length}`);\n  const req = new Request(masterOrSlaveBytes, bBroadcast, 'SetMasterOrSlaveNext');\n  req.destination = addr;\n  req.address = AddressMapping.MasterOrSlaveNewAddr;\n  return req;\n}\nSession.prototype.SetMasterOrSlaveNext = async function SetMasterOrSlaveNext(\n  this: Session,\n  addr: number,\n  bBroadcast: boolean,\n  masterOrSlaveBytes: number[] | Buffer\n): Promise<void> {\n  const req = createSetMasterOrSlaveNext(addr, bBroadcast, masterOrSlaveBytes);\n  await this.connection.send(req);\n};\nSession.prototype.trySetMasterOrSlaveNext = async function trySetMasterOrSlaveNext(\n  this: Session,\n  addr: number,\n  masterOrSlaveBytes: number[] | Buffer\n): Promise<ErrorType | null> {\n  const req = createSetMasterOrSlaveNext(addr, false, masterOrSlaveBytes);\n  return (await this.connection.trySend(req))?.ack ?? null;\n};\n"],"mappings":";;;;AAgBA,SAAwB,2BACtB,MACA,YACA,oBACoB;CACpB,IAAI,mBAAmB,cACrB,MAAM,IAAI,UAAU,wBAAwB,mBAAmB,QAAQ;CACzE,MAAM,MAAM,IAAI,QAAQ,oBAAoB,YAAY,sBAAsB;CAC9E,IAAI,cAAc;CAClB,IAAI;CACJ,OAAO;AACT;AACA,QAAQ,UAAU,uBAAuB,eAAe,qBAEtD,MACA,YACA,oBACe;CACf,MAAM,MAAM,2BAA2B,MAAM,YAAY,kBAAkB;CAC3E,MAAM,KAAK,WAAW,KAAK,GAAG;AAChC;AACA,QAAQ,UAAU,0BAA0B,eAAe,wBAEzD,MACA,oBAC2B;CAC3B,MAAM,MAAM,2BAA2B,MAAM,OAAO,kBAAkB;CACtE,QAAQ,MAAM,KAAK,WAAW,QAAQ,GAAG,IAAI,OAAO;AACtD"}