{"version":3,"sources":["../../../../src/lib/managers/BaseManager.ts"],"sourcesContent":["import type { Client } from '../Client';\r\nimport type { Logger } from '../Logger';\r\n\r\n/**\r\n * The base manager which all other managers extend from\r\n * @category Managers\r\n * @group Managers\r\n */\r\nexport class BaseManager {\r\n\t/**\r\n\t * Whether or not the manager requires API key authorization.\r\n\t */\r\n\tprotected requiresAuth: boolean;\r\n\r\n\t/**\r\n\t * The instantiated hypixel.ts client\r\n\t */\r\n\tprotected client: Client;\r\n\r\n\t/**\r\n\t * The logger instance.\r\n\t */\r\n\tprotected logger: Logger;\r\n\r\n\tpublic constructor(client: Client, requiresAuth: boolean, logger: Logger) {\r\n\t\tthis.client = client;\r\n\t\tthis.requiresAuth = requiresAuth;\r\n\t\tthis.logger = logger;\r\n\r\n\t\tthis.logger.trace(`${this.constructor.name} initialized`);\r\n\t}\r\n\r\n\t/**\r\n\t * Calls the request manager to create (and execute) requests to the API.\r\n\t *\r\n\t * **NOTE**: Do not directly use this method unless you know what you are doing. Consider using the methods provided in the managers.\r\n\t * @param path The path/endpoint of the request\r\n\t * @private\r\n\t */\r\n\tprotected async makeGetRequest<T>(path: string) {\r\n\t\treturn this.client.requests.execute<T>(path, this.requiresAuth);\r\n\t}\r\n}\r\n"],"mappings":";;;;AAQO,IAAM,cAAN,MAAkB;AAAA,EARzB,OAQyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAId;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,EAEH,YAAY,QAAgB,cAAuB,QAAgB;AACzE,SAAK,SAAS;AACd,SAAK,eAAe;AACpB,SAAK,SAAS;AAEd,SAAK,OAAO,MAAM,GAAG,KAAK,YAAY,IAAI,cAAc;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAgB,eAAkB,MAAc;AAC/C,WAAO,KAAK,OAAO,SAAS,QAAW,MAAM,KAAK,YAAY;AAAA,EAC/D;AACD;","names":[]}