{"version":3,"sources":["../../src/clients/index.ts"],"names":["HttpClient"],"mappings":";;;;;;;;;;;;;;;;AAeO,MAAM,MAAA,CAAO;AAAA,EACT,UAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EAET,IAAI,IAAA,GAAO;AACT,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA,EACA,IAAI,KAAK,CAAA,EAAG;AACV,IAAA,IAAA,CAAK,MAAM,IAAA,GAAO,CAAA;AAClB,IAAA,IAAA,CAAK,cAAc,IAAA,GAAO,CAAA;AAC1B,IAAA,IAAA,CAAK,MAAM,IAAA,GAAO,CAAA;AAClB,IAAA,IAAA,CAAK,MAAM,IAAA,GAAO,CAAA;AAClB,IAAA,IAAA,CAAK,SAAS,IAAA,GAAO,CAAA;AACrB,IAAA,IAAA,CAAK,WAAW,IAAA,GAAO,CAAA;AACvB,IAAA,IAAA,CAAK,KAAA,GAAQ,CAAA;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,IAAA,GAAO;AACT,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,SAAA,GAAY;AACd,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAAA,EACU,KAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA,kBAAA;AAAA,EAEV,WAAA,CAAY,UAAA,EAAoB,OAAA,EAA0C,iBAAA,EAAgD,KAAA,EAA0B;AAClJ,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAElB,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,IAAA,CAAK,KAAA,GAAQ,IAAIA,QAAA,EAAW;AAAA,IAC9B,CAAA,MAAA,IAAW,aAAa,OAAA,EAAS;AAC/B,MAAA,IAAA,CAAK,KAAA,GAAQ,OAAA;AAAA,IACf,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,KAAA,GAAQ,IAAIA,QAAA,CAAW;AAAA,QAC1B,GAAG,OAAA;AAAA,QACH,OAAA,EAAS;AAAA,UACP,GAAG,OAAA,EAAS,OAAA;AAAA,UACZ,cAAA,EAAgB;AAAA;AAClB,OACD,CAAA;AAAA,IACH;AAEA,IAAA,IAAA,CAAK,kBAAA,GAAqB,sBAAA,CAAuB,iBAAA,EAAmB,KAAK,CAAA;AAEzE,IAAA,IAAA,CAAK,QAAQ,IAAI,SAAA,CAAU,IAAA,CAAK,IAAA,EAAM,KAAK,kBAAkB,CAAA;AAC7D,IAAA,IAAA,CAAK,QAAQ,IAAI,UAAA,CAAW,IAAA,CAAK,IAAA,EAAM,KAAK,kBAAkB,CAAA;AAC9D,IAAA,IAAA,CAAK,gBAAgB,IAAI,kBAAA,CAAmB,YAAY,IAAA,CAAK,IAAA,EAAM,KAAK,kBAAkB,CAAA;AAC1F,IAAA,IAAA,CAAK,QAAQ,IAAI,UAAA,CAAW,YAAY,IAAA,CAAK,IAAA,EAAM,KAAK,kBAAkB,CAAA;AAC1E,IAAA,IAAA,CAAK,WAAW,IAAI,aAAA,CAAc,YAAY,IAAA,CAAK,IAAA,EAAM,KAAK,kBAAkB,CAAA;AAChF,IAAA,IAAA,CAAK,aAAa,IAAI,cAAA,CAAe,YAAY,IAAA,CAAK,IAAA,EAAM,KAAK,kBAAkB,CAAA;AAAA,EACrF;AACF","file":"index.mjs","sourcesContent":["import {\n  Client as HttpClient,\n  type ClientOptions as HttpClientOptions\n} from '@microsoft/teams.common';\n\nimport { CloudEnvironment } from '../auth/cloud-environment';\n\nimport { ApiClientSettings, mergeApiClientSettings } from './api-client-settings';\nimport { BotClient } from './bot';\nimport { ConversationClient } from './conversation';\nimport { MeetingClient } from './meeting';\nimport { ReactionClient } from './reaction';\nimport { TeamClient } from './team';\nimport { UserClient } from './user';\n\nexport class Client {\n  readonly serviceUrl: string;\n  readonly users: UserClient;\n  readonly conversations: ConversationClient;\n  readonly teams: TeamClient;\n  readonly meetings: MeetingClient;\n\n  get http() {\n    return this._http;\n  }\n  set http(v) {\n    this._bots.http = v;\n    this.conversations.http = v;\n    this.users.http = v;\n    this.teams.http = v;\n    this.meetings.http = v;\n    this._reactions.http = v;\n    this._http = v;\n  }\n  /**\n   * @deprecated The bot client is no longer used and will be removed in a\n   * future release.\n   */\n  get bots() {\n    return this._bots;\n  }\n  /**\n   * @deprecated Use `conversations.addReaction(...)` and\n   * `conversations.deleteReaction(...)` instead. This will be removed in a\n   * future release.\n   */\n  get reactions() {\n    return this._reactions;\n  }\n  protected _http: HttpClient;\n  protected _bots: BotClient;\n  protected _reactions: ReactionClient;\n  protected _apiClientSettings: Partial<ApiClientSettings>;\n\n  constructor(serviceUrl: string, options?: HttpClient | HttpClientOptions, apiClientSettings?: Partial<ApiClientSettings>, cloud?: CloudEnvironment) {\n    this.serviceUrl = serviceUrl;\n\n    if (!options) {\n      this._http = new HttpClient();\n    } else if ('request' in options) {\n      this._http = options;\n    } else {\n      this._http = new HttpClient({\n        ...options,\n        headers: {\n          ...options?.headers,\n          'Content-Type': 'application/json',\n        },\n      });\n    }\n\n    this._apiClientSettings = mergeApiClientSettings(apiClientSettings, cloud);\n\n    this._bots = new BotClient(this.http, this._apiClientSettings);\n    this.users = new UserClient(this.http, this._apiClientSettings);\n    this.conversations = new ConversationClient(serviceUrl, this.http, this._apiClientSettings);\n    this.teams = new TeamClient(serviceUrl, this.http, this._apiClientSettings);\n    this.meetings = new MeetingClient(serviceUrl, this.http, this._apiClientSettings);\n    this._reactions = new ReactionClient(serviceUrl, this.http, this._apiClientSettings);\n  }\n}\n\nexport * from './user';\nexport * from './bot';\nexport * from './conversation';\nexport * from './meeting';\nexport * from './reaction';\nexport * from './team';\nexport * from './api-client-settings';\n"]}