UNPKG

@haelp/teto

Version:

A typescript-based controllable TETR.IO client.

1 lines 3.15 kB
{"version":3,"sources":["../../../src/utils/api/index.ts"],"sourcesContent":["// export * as API from \"./wrapper\";\nimport { CONSTANTS } from \"../constants\";\nimport { type Get, type Post, basic } from \"./basic\";\nimport { channel } from \"./channel\";\nimport { relationship } from \"./relationship\";\nimport { rooms } from \"./rooms\";\nimport { server } from \"./server\";\nimport { users } from \"./users\";\n\nexport interface APIDefaults {\n token: string;\n userAgent: string;\n /** a cf_clearance Cloudflare turnstile token. */\n turnstile: string | null;\n}\n\nexport class API {\n readonly defaults: APIDefaults = {\n token: \"\",\n userAgent: CONSTANTS.userAgent,\n turnstile: null\n };\n\n get!: Get;\n post!: Post;\n\n rooms!: ReturnType<typeof rooms>;\n server!: ReturnType<typeof server>;\n users!: ReturnType<typeof users>;\n social!: ReturnType<typeof relationship>;\n channel!: ReturnType<typeof channel>;\n\n /** @hideconstructor */\n constructor(options: Partial<APIDefaults> = {}) {\n this.update(options);\n }\n\n update(options: Partial<APIDefaults> = {}) {\n (Object.keys(options) as (keyof APIDefaults)[]).forEach((key) => {\n this.defaults[key] = options[key]!;\n });\n\n const b = basic(this.defaults);\n this.get = b.get;\n this.post = b.post;\n\n this.rooms = rooms(this.get, this.post, this.defaults);\n this.server = server(this.get, this.post, this.defaults);\n this.users = users(this.get, this.post, this.defaults);\n this.social = relationship(this.get, this.post, this.defaults);\n this.channel = channel(this.get, this.post, this.defaults);\n }\n}\n\nexport * as APITypes from \"./wrapper\";\n"],"names":["CONSTANTS","basic","channel","relationship","rooms","server","users","API","defaults","token","userAgent","turnstile","get","post","social","options","update","Object","keys","forEach","key","b","APITypes"],"mappings":"AAAA,oCAAoC;AACpC,SAASA,SAAS,QAAQ,eAAe;AACzC,SAA8BC,KAAK,QAAQ,UAAU;AACrD,SAASC,OAAO,QAAQ,YAAY;AACpC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,KAAK,QAAQ,UAAU;AAShC,OAAO,MAAMC;IACFC,WAAwB;QAC/BC,OAAO;QACPC,WAAWV,UAAUU,SAAS;QAC9BC,WAAW;IACb,EAAE;IAEFC,IAAU;IACVC,KAAY;IAEZT,MAAiC;IACjCC,OAAmC;IACnCC,MAAiC;IACjCQ,OAAyC;IACzCZ,QAAqC;IAErC,qBAAqB,GACrB,YAAYa,UAAgC,CAAC,CAAC,CAAE;QAC9C,IAAI,CAACC,MAAM,CAACD;IACd;IAEAC,OAAOD,UAAgC,CAAC,CAAC,EAAE;QACxCE,OAAOC,IAAI,CAACH,SAAmCI,OAAO,CAAC,CAACC;YACvD,IAAI,CAACZ,QAAQ,CAACY,IAAI,GAAGL,OAAO,CAACK,IAAI;QACnC;QAEA,MAAMC,IAAIpB,MAAM,IAAI,CAACO,QAAQ;QAC7B,IAAI,CAACI,GAAG,GAAGS,EAAET,GAAG;QAChB,IAAI,CAACC,IAAI,GAAGQ,EAAER,IAAI;QAElB,IAAI,CAACT,KAAK,GAAGA,MAAM,IAAI,CAACQ,GAAG,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACL,QAAQ;QACrD,IAAI,CAACH,MAAM,GAAGA,OAAO,IAAI,CAACO,GAAG,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACL,QAAQ;QACvD,IAAI,CAACF,KAAK,GAAGA,MAAM,IAAI,CAACM,GAAG,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACL,QAAQ;QACrD,IAAI,CAACM,MAAM,GAAGX,aAAa,IAAI,CAACS,GAAG,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACL,QAAQ;QAC7D,IAAI,CAACN,OAAO,GAAGA,QAAQ,IAAI,CAACU,GAAG,EAAE,IAAI,CAACC,IAAI,EAAE,IAAI,CAACL,QAAQ;IAC3D;AACF;AAEA,OAAO,KAAKc,QAAQ,MAAM,YAAY"}