diff --git a/package.json b/package.json index 95fc763..f9378b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "revolt-api", - "version": "0.5.3-rc.6", + "version": "0.5.3-rc.7", "description": "Revolt API Library", "main": "dist/index.js", "homepage": "https://developers.revolt.chat", @@ -8,7 +8,7 @@ "author": "Paul Makles ", "license": "MIT", "scripts": { - "build": "STRICT=1 REWRITE_ANYOF=1 oapilib && tsc", + "build": "REWRITE_ANYOF=1 oapilib && tsc", "prepublish": "in-publish && yarn build || echo Skipping build." }, "devDependencies": { @@ -18,7 +18,7 @@ "typescript": "^4.6.2" }, "dependencies": { - "@insertish/oapi": "0.1.10", + "@insertish/oapi": "0.1.13", "axios": "^0.26.1", "lodash.defaultsdeep": "^4.6.1" } diff --git a/src/index.ts b/src/index.ts index dcba9ac..a58a990 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,6 +10,18 @@ import type { APIRoutes } from './routes'; import { defaultBaseURL } from './baseURL'; import { pathResolve, queryParams } from './params'; +type Methods = APIRoutes['method']; +type PickRoutes = APIRoutes & { method: Method }; + +type GetRoutes = PickRoutes<'get'>; +type PatchRoutes = PickRoutes<'patch'>; +type PutRoutes = PickRoutes<'put'>; +type DeleteRoutes = PickRoutes<'delete'>; +type PostRoutes = PickRoutes<'post'>; + +type Count = + Str extends `${infer _}${SubStr}${infer After}` ? Count : Matches['length']; + /** * Get the specific path name of any given path. * @param anyPath Any path @@ -34,15 +46,6 @@ export function getPathName(anyPath: string) { } } -type Methods = APIRoutes['method']; -type PickRoutes = APIRoutes & { method: Method }; - -type GetRoutes = PickRoutes<'get'>; -type PatchRoutes = PickRoutes<'patch'>; -type PutRoutes = PickRoutes<'put'>; -type DeleteRoutes = PickRoutes<'delete'>; -type PostRoutes = PickRoutes<'post'>; - /** * Client configuration options */ @@ -124,7 +127,7 @@ export class API { * @param config Axios configuration * @returns Typed Response Data */ - req, Path extends Routes['path'], Route extends Routes & { path: Path }>(method: Method, path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise { + req, Path extends Routes['path'], Route extends Routes & { path: Path, parts: Count }>(method: Method, path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise { let query, body; let named = getPathName(path); @@ -167,16 +170,17 @@ export class API { * @param config Axios configuration * @returns Typed Response Data */ - get(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; + get }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; /** * Send HTTP GET request. * @param path Path * @returns Typed Response Data */ - get(path: Path): Promise; + get }>(path: Path): Promise; get(path: any, params?: any, config?: AxiosRequestConfig): Promise { + // @ts-ignore-next-line return this.req('get', path, params, config); } @@ -187,16 +191,17 @@ export class API { * @param config Axios configuration * @returns Typed Response Data */ - patch(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; + patch }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; /** * Send HTTP PATCH request. * @param path Path * @returns Typed Response Data */ - patch(path: Path): Promise; + patch }>(path: Path): Promise; patch(path: any, params?: any, config?: AxiosRequestConfig): Promise { + // @ts-ignore-next-line return this.req('patch', path, params, config); } @@ -207,16 +212,17 @@ export class API { * @param config Axios configuration * @returns Typed Response Data */ - put(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; + put }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; /** * Send HTTP PUT request. * @param path Path * @returns Typed Response Data */ - put(path: Path): Promise; + put }>(path: Path): Promise; put(path: any, params?: any, config?: AxiosRequestConfig): Promise { + // @ts-ignore-next-line return this.req('put', path, params, config); } @@ -227,16 +233,17 @@ export class API { * @param config Axios configuration * @returns Typed Response Data */ - delete(path: Path, config?: AxiosRequestConfig): Promise; + delete }>(path: Path, config?: AxiosRequestConfig): Promise; /** * Send HTTP DELETE request. * @param path Path * @returns Typed Response Data */ - delete(path: Path): Promise; + delete }>(path: Path): Promise; delete(path: any, config?: AxiosRequestConfig): Promise { + // @ts-ignore-next-line return this.req('delete', path, undefined, config); } @@ -247,16 +254,17 @@ export class API { * @param config Axios configuration * @returns Typed Response Data */ - post(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; + post }>(path: Path, params: Route['params'], config?: AxiosRequestConfig): Promise; /** * Send HTTP POST request. * @param path Path * @returns Typed Response Data */ - post(path: Path): Promise; + post }>(path: Path): Promise; post(path: any, params?: any, config?: AxiosRequestConfig): Promise { + // @ts-ignore-next-line return this.req('post', path, params, config); } } diff --git a/src/routes.ts b/src/routes.ts index 4bbf5d8..76be459 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,86 +1,142 @@ // This file was auto-generated by @insertish/oapi! import { paths } from './schema'; export type APIRoutes = -| { method: 'get', path: `/`, params: undefined, response: paths['/']['get']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/users/@me`, params: undefined, response: paths['/users/@me']['get']['responses']['200']['content']['application/json'] } -| { method: 'patch', path: `/users/@me`, params: paths['/users/@me']['patch']['requestBody']['content']['application/json'], response: paths['/users/@me']['patch']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/users/{target}`, params: undefined, response: paths['/users/{target}']['get']['responses']['200']['content']['application/json'] } -| { method: 'patch', path: `/users/@me/username`, params: paths['/users/@me/username']['patch']['requestBody']['content']['application/json'], response: paths['/users/@me/username']['patch']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/users/{target}/default_avatar`, params: undefined, response: paths['/users/{target}/default_avatar']['get']['responses']['200']['content']['image/png'] } -| { method: 'get', path: `/users/{target}/profile`, params: undefined, response: paths['/users/{target}/profile']['get']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/users/dms`, params: undefined, response: paths['/users/dms']['get']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/users/{target}/dm`, params: undefined, response: paths['/users/{target}/dm']['get']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/users/{target}/mutual`, params: undefined, response: paths['/users/{target}/mutual']['get']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/users/{username}/friend`, params: undefined, response: paths['/users/{username}/friend']['put']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/users/{target}/friend`, params: undefined, response: paths['/users/{target}/friend']['delete']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/users/{target}/block`, params: undefined, response: paths['/users/{target}/block']['put']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/users/{target}/block`, params: undefined, response: paths['/users/{target}/block']['delete']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/bots/create`, params: paths['/bots/create']['post']['requestBody']['content']['application/json'], response: paths['/bots/create']['post']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/bots/{target}/invite`, params: undefined, response: paths['/bots/{target}/invite']['get']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/bots/{target}/invite`, params: paths['/bots/{target}/invite']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'get', path: `/bots/{target}`, params: undefined, response: paths['/bots/{target}']['get']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/bots/{target}`, params: undefined, response: undefined } -| { method: 'patch', path: `/bots/{target}`, params: paths['/bots/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/bots/{target}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/bots/@me`, params: undefined, response: paths['/bots/@me']['get']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/channels/{target}/ack/{message}`, params: undefined, response: undefined } -| { method: 'get', path: `/channels/{target}`, params: undefined, response: paths['/channels/{target}']['get']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/channels/{target}`, params: undefined, response: undefined } -| { method: 'patch', path: `/channels/{target}`, params: paths['/channels/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/channels/{target}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/channels/{target}/members`, params: undefined, response: paths['/channels/{target}/members']['get']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/channels/{target}/invites`, params: undefined, response: paths['/channels/{target}/invites']['post']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/channels/{target}/messages`, params: paths['/channels/{target}/messages']['get']['parameters']['query'], response: paths['/channels/{target}/messages']['get']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/channels/{target}/messages`, params: paths['/channels/{target}/messages']['post']['requestBody']['content']['application/json'], response: paths['/channels/{target}/messages']['post']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/channels/{target}/search`, params: paths['/channels/{target}/search']['post']['requestBody']['content']['application/json'], response: paths['/channels/{target}/search']['post']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/channels/{_target}/messages/stale`, params: paths['/channels/{_target}/messages/stale']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'get', path: `/channels/{target}/messages/{msg}`, params: undefined, response: paths['/channels/{target}/messages/{msg}']['get']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/channels/{target}/messages/{msg}`, params: undefined, response: undefined } -| { method: 'patch', path: `/channels/{target}/messages/{msg}`, params: paths['/channels/{target}/messages/{msg}']['patch']['requestBody']['content']['application/json'], response: paths['/channels/{target}/messages/{msg}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/channels/create`, params: paths['/channels/create']['post']['requestBody']['content']['application/json'], response: paths['/channels/create']['post']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/channels/{target}/recipients/{member}`, params: undefined, response: undefined } -| { method: 'delete', path: `/channels/{target}/recipients/{member}`, params: undefined, response: undefined } -| { method: 'post', path: `/channels/{_target}/join_call`, params: undefined, response: paths['/channels/{_target}/join_call']['post']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/channels/{target}/permissions/{role_id}`, params: paths['/channels/{target}/permissions/{role_id}']['put']['requestBody']['content']['application/json'], response: paths['/channels/{target}/permissions/{role_id}']['put']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/channels/{target}/permissions/default`, params: paths['/channels/{target}/permissions/default']['put']['requestBody']['content']['application/json'], response: paths['/channels/{target}/permissions/default']['put']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/servers/create`, params: paths['/servers/create']['post']['requestBody']['content']['application/json'], response: paths['/servers/create']['post']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/servers/{target}`, params: undefined, response: paths['/servers/{target}']['get']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/servers/{target}`, params: undefined, response: undefined } -| { method: 'patch', path: `/servers/{target}`, params: paths['/servers/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{target}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/servers/{target}/ack`, params: undefined, response: undefined } -| { method: 'post', path: `/servers/{target}/channels`, params: paths['/servers/{target}/channels']['post']['requestBody']['content']['application/json'], response: paths['/servers/{target}/channels']['post']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/servers/{target}/members`, params: undefined, response: paths['/servers/{target}/members']['get']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/servers/{target}/members/{member}`, params: undefined, response: paths['/servers/{target}/members/{member}']['get']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/servers/{target}/members/{member}`, params: undefined, response: undefined } -| { method: 'patch', path: `/servers/{server}/members/{target}`, params: paths['/servers/{server}/members/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{server}/members/{target}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/servers/{server}/bans/{target}`, params: paths['/servers/{server}/bans/{target}']['put']['requestBody']['content']['application/json'], response: paths['/servers/{server}/bans/{target}']['put']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/servers/{server}/bans/{target}`, params: undefined, response: undefined } -| { method: 'get', path: `/servers/{target}/bans`, params: undefined, response: paths['/servers/{target}/bans']['get']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/servers/{target}/invites`, params: undefined, response: paths['/servers/{target}/invites']['get']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/servers/{target}/roles`, params: paths['/servers/{target}/roles']['post']['requestBody']['content']['application/json'], response: paths['/servers/{target}/roles']['post']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/servers/{target}/roles/{role_id}`, params: undefined, response: undefined } -| { method: 'patch', path: `/servers/{target}/roles/{role_id}`, params: paths['/servers/{target}/roles/{role_id}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{target}/roles/{role_id}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/servers/{target}/permissions/{role_id}`, params: paths['/servers/{target}/permissions/{role_id}']['put']['requestBody']['content']['application/json'], response: paths['/servers/{target}/permissions/{role_id}']['put']['responses']['200']['content']['application/json'] } -| { method: 'put', path: `/servers/{target}/permissions/default`, params: paths['/servers/{target}/permissions/default']['put']['requestBody']['content']['application/json'], response: paths['/servers/{target}/permissions/default']['put']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/invites/{target}`, params: undefined, response: paths['/invites/{target}']['get']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/invites/{target}`, params: undefined, response: paths['/invites/{target}']['post']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/invites/{target}`, params: undefined, response: undefined } -| { method: 'post', path: `/auth/account/create`, params: paths['/auth/account/create']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'post', path: `/auth/account/reverify`, params: paths['/auth/account/reverify']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'get', path: `/auth/account/`, params: undefined, response: paths['/auth/account/']['get']['responses']['200']['content']['application/json'] } -| { method: 'patch', path: `/auth/account/change/password`, params: paths['/auth/account/change/password']['patch']['requestBody']['content']['application/json'], response: undefined } -| { method: 'patch', path: `/auth/account/change/email`, params: paths['/auth/account/change/email']['patch']['requestBody']['content']['application/json'], response: undefined } -| { method: 'post', path: `/auth/account/verify/{code}`, params: undefined, response: undefined } -| { method: 'post', path: `/auth/account/reset_password`, params: paths['/auth/account/reset_password']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'patch', path: `/auth/account/reset_password`, params: paths['/auth/account/reset_password']['patch']['requestBody']['content']['application/json'], response: undefined } -| { method: 'post', path: `/auth/session/login`, params: paths['/auth/session/login']['post']['requestBody']['content']['application/json'], response: paths['/auth/session/login']['post']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/auth/session/logout`, params: undefined, response: undefined } -| { method: 'get', path: `/auth/session/all`, params: undefined, response: paths['/auth/session/all']['get']['responses']['200']['content']['application/json'] } -| { method: 'delete', path: `/auth/session/all`, params: paths['/auth/session/all']['delete']['parameters']['query'], response: undefined } -| { method: 'delete', path: `/auth/session/{id}`, params: undefined, response: undefined } -| { method: 'patch', path: `/auth/session/{id}`, params: paths['/auth/session/{id}']['patch']['requestBody']['content']['application/json'], response: paths['/auth/session/{id}']['patch']['responses']['200']['content']['application/json'] } -| { method: 'get', path: `/onboard/hello`, params: undefined, response: paths['/onboard/hello']['get']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/onboard/complete`, params: paths['/onboard/complete']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'post', path: `/push/subscribe`, params: paths['/push/subscribe']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'post', path: `/push/unsubscribe`, params: undefined, response: undefined } -| { method: 'post', path: `/sync/settings/fetch`, params: paths['/sync/settings/fetch']['post']['requestBody']['content']['application/json'], response: paths['/sync/settings/fetch']['post']['responses']['200']['content']['application/json'] } -| { method: 'post', path: `/sync/settings/set`, params: paths['/sync/settings/set']['post']['parameters']['query']|paths['/sync/settings/set']['post']['requestBody']['content']['application/json'], response: undefined } -| { method: 'get', path: `/sync/unreads`, params: undefined, response: paths['/sync/unreads']['get']['responses']['200']['content']['application/json'] }; \ No newline at end of file +| { method: 'get', path: `/`, parts: 1, params: undefined, response: paths['/']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/users/@me`, parts: 2, params: undefined, response: paths['/users/@me']['get']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: `/users/@me`, parts: 2, params: paths['/users/@me']['patch']['requestBody']['content']['application/json'], response: paths['/users/@me']['patch']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/users/${string}`, parts: 2, params: undefined, response: paths['/users/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/users/{target}', parts: 2, params: undefined, response: paths['/users/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: `/users/@me/username`, parts: 3, params: paths['/users/@me/username']['patch']['requestBody']['content']['application/json'], response: paths['/users/@me/username']['patch']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/users/${string}/default_avatar`, parts: 3, params: undefined, response: paths['/users/{target}/default_avatar']['get']['responses']['200']['content']['image/png'] } +| { method: 'get', path: '-/users/{target}/default_avatar', parts: 3, params: undefined, response: paths['/users/{target}/default_avatar']['get']['responses']['200']['content']['image/png'] } +| { method: 'get', path: `/users/${string}/profile`, parts: 3, params: undefined, response: paths['/users/{target}/profile']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/users/{target}/profile', parts: 3, params: undefined, response: paths['/users/{target}/profile']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/users/dms`, parts: 2, params: undefined, response: paths['/users/dms']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/users/${string}/dm`, parts: 3, params: undefined, response: paths['/users/{target}/dm']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/users/{target}/dm', parts: 3, params: undefined, response: paths['/users/{target}/dm']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/users/${string}/mutual`, parts: 3, params: undefined, response: paths['/users/{target}/mutual']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/users/{target}/mutual', parts: 3, params: undefined, response: paths['/users/{target}/mutual']['get']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/users/${string}/friend`, parts: 3, params: undefined, response: paths['/users/{username}/friend']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/users/{username}/friend', parts: 3, params: undefined, response: paths['/users/{username}/friend']['put']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/users/${string}/friend`, parts: 3, params: undefined, response: paths['/users/{target}/friend']['delete']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: '-/users/{target}/friend', parts: 3, params: undefined, response: paths['/users/{target}/friend']['delete']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/users/${string}/block`, parts: 3, params: undefined, response: paths['/users/{target}/block']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/users/{target}/block', parts: 3, params: undefined, response: paths['/users/{target}/block']['put']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/users/${string}/block`, parts: 3, params: undefined, response: paths['/users/{target}/block']['delete']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: '-/users/{target}/block', parts: 3, params: undefined, response: paths['/users/{target}/block']['delete']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/bots/create`, parts: 2, params: paths['/bots/create']['post']['requestBody']['content']['application/json'], response: paths['/bots/create']['post']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/bots/${string}/invite`, parts: 3, params: undefined, response: paths['/bots/{target}/invite']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/bots/{target}/invite', parts: 3, params: undefined, response: paths['/bots/{target}/invite']['get']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/bots/${string}/invite`, parts: 3, params: paths['/bots/{target}/invite']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: '-/bots/{target}/invite', parts: 3, params: paths['/bots/{target}/invite']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'get', path: `/bots/${string}`, parts: 2, params: undefined, response: paths['/bots/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/bots/{target}', parts: 2, params: undefined, response: paths['/bots/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/bots/${string}`, parts: 2, params: undefined, response: undefined } +| { method: 'delete', path: '-/bots/{target}', parts: 2, params: undefined, response: undefined } +| { method: 'patch', path: `/bots/${string}`, parts: 2, params: paths['/bots/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/bots/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/bots/{target}', parts: 2, params: paths['/bots/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/bots/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/bots/@me`, parts: 2, params: undefined, response: paths['/bots/@me']['get']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/channels/${string}/ack/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'put', path: '-/channels/{target}/ack/{message}', parts: 4, params: undefined, response: undefined } +| { method: 'get', path: `/channels/${string}`, parts: 2, params: undefined, response: paths['/channels/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/channels/{target}', parts: 2, params: undefined, response: paths['/channels/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/channels/${string}`, parts: 2, params: undefined, response: undefined } +| { method: 'delete', path: '-/channels/{target}', parts: 2, params: undefined, response: undefined } +| { method: 'patch', path: `/channels/${string}`, parts: 2, params: paths['/channels/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/channels/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/channels/{target}', parts: 2, params: paths['/channels/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/channels/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/channels/${string}/members`, parts: 3, params: undefined, response: paths['/channels/{target}/members']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/channels/{target}/members', parts: 3, params: undefined, response: paths['/channels/{target}/members']['get']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/channels/${string}/invites`, parts: 3, params: undefined, response: paths['/channels/{target}/invites']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/channels/{target}/invites', parts: 3, params: undefined, response: paths['/channels/{target}/invites']['post']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/channels/${string}/messages`, parts: 3, params: paths['/channels/{target}/messages']['get']['parameters']['query'], response: paths['/channels/{target}/messages']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/channels/{target}/messages', parts: 3, params: paths['/channels/{target}/messages']['get']['parameters']['query'], response: paths['/channels/{target}/messages']['get']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/channels/${string}/messages`, parts: 3, params: paths['/channels/{target}/messages']['post']['requestBody']['content']['application/json'], response: paths['/channels/{target}/messages']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/channels/{target}/messages', parts: 3, params: paths['/channels/{target}/messages']['post']['requestBody']['content']['application/json'], response: paths['/channels/{target}/messages']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/channels/${string}/search`, parts: 3, params: paths['/channels/{target}/search']['post']['requestBody']['content']['application/json'], response: paths['/channels/{target}/search']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/channels/{target}/search', parts: 3, params: paths['/channels/{target}/search']['post']['requestBody']['content']['application/json'], response: paths['/channels/{target}/search']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/channels/${string}/messages/stale`, parts: 4, params: paths['/channels/{_target}/messages/stale']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: '-/channels/{_target}/messages/stale', parts: 4, params: paths['/channels/{_target}/messages/stale']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'get', path: `/channels/${string}/messages/${string}`, parts: 4, params: undefined, response: paths['/channels/{target}/messages/{msg}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/channels/{target}/messages/{msg}', parts: 4, params: undefined, response: paths['/channels/{target}/messages/{msg}']['get']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/channels/${string}/messages/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'delete', path: '-/channels/{target}/messages/{msg}', parts: 4, params: undefined, response: undefined } +| { method: 'patch', path: `/channels/${string}/messages/${string}`, parts: 4, params: paths['/channels/{target}/messages/{msg}']['patch']['requestBody']['content']['application/json'], response: paths['/channels/{target}/messages/{msg}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/channels/{target}/messages/{msg}', parts: 4, params: paths['/channels/{target}/messages/{msg}']['patch']['requestBody']['content']['application/json'], response: paths['/channels/{target}/messages/{msg}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/channels/create`, parts: 2, params: paths['/channels/create']['post']['requestBody']['content']['application/json'], response: paths['/channels/create']['post']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/channels/${string}/recipients/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'put', path: '-/channels/{target}/recipients/{member}', parts: 4, params: undefined, response: undefined } +| { method: 'delete', path: `/channels/${string}/recipients/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'delete', path: '-/channels/{target}/recipients/{member}', parts: 4, params: undefined, response: undefined } +| { method: 'post', path: `/channels/${string}/join_call`, parts: 3, params: undefined, response: paths['/channels/{_target}/join_call']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/channels/{_target}/join_call', parts: 3, params: undefined, response: paths['/channels/{_target}/join_call']['post']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/channels/${string}/permissions/${string}`, parts: 4, params: paths['/channels/{target}/permissions/{role_id}']['put']['requestBody']['content']['application/json'], response: paths['/channels/{target}/permissions/{role_id}']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/channels/{target}/permissions/{role_id}', parts: 4, params: paths['/channels/{target}/permissions/{role_id}']['put']['requestBody']['content']['application/json'], response: paths['/channels/{target}/permissions/{role_id}']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/channels/${string}/permissions/default`, parts: 4, params: paths['/channels/{target}/permissions/default']['put']['requestBody']['content']['application/json'], response: paths['/channels/{target}/permissions/default']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/channels/{target}/permissions/default', parts: 4, params: paths['/channels/{target}/permissions/default']['put']['requestBody']['content']['application/json'], response: paths['/channels/{target}/permissions/default']['put']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/servers/create`, parts: 2, params: paths['/servers/create']['post']['requestBody']['content']['application/json'], response: paths['/servers/create']['post']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/servers/${string}`, parts: 2, params: undefined, response: paths['/servers/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/servers/{target}', parts: 2, params: undefined, response: paths['/servers/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/servers/${string}`, parts: 2, params: undefined, response: undefined } +| { method: 'delete', path: '-/servers/{target}', parts: 2, params: undefined, response: undefined } +| { method: 'patch', path: `/servers/${string}`, parts: 2, params: paths['/servers/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/servers/{target}', parts: 2, params: paths['/servers/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/servers/${string}/ack`, parts: 3, params: undefined, response: undefined } +| { method: 'put', path: '-/servers/{target}/ack', parts: 3, params: undefined, response: undefined } +| { method: 'post', path: `/servers/${string}/channels`, parts: 3, params: paths['/servers/{target}/channels']['post']['requestBody']['content']['application/json'], response: paths['/servers/{target}/channels']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/servers/{target}/channels', parts: 3, params: paths['/servers/{target}/channels']['post']['requestBody']['content']['application/json'], response: paths['/servers/{target}/channels']['post']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/servers/${string}/members`, parts: 3, params: undefined, response: paths['/servers/{target}/members']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/servers/{target}/members', parts: 3, params: undefined, response: paths['/servers/{target}/members']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/servers/${string}/members/${string}`, parts: 4, params: undefined, response: paths['/servers/{target}/members/{member}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/servers/{target}/members/{member}', parts: 4, params: undefined, response: paths['/servers/{target}/members/{member}']['get']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/servers/${string}/members/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'delete', path: '-/servers/{target}/members/{member}', parts: 4, params: undefined, response: undefined } +| { method: 'patch', path: `/servers/${string}/members/${string}`, parts: 4, params: paths['/servers/{server}/members/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{server}/members/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/servers/{server}/members/{target}', parts: 4, params: paths['/servers/{server}/members/{target}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{server}/members/{target}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/servers/${string}/bans/${string}`, parts: 4, params: paths['/servers/{server}/bans/{target}']['put']['requestBody']['content']['application/json'], response: paths['/servers/{server}/bans/{target}']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/servers/{server}/bans/{target}', parts: 4, params: paths['/servers/{server}/bans/{target}']['put']['requestBody']['content']['application/json'], response: paths['/servers/{server}/bans/{target}']['put']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/servers/${string}/bans/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'delete', path: '-/servers/{server}/bans/{target}', parts: 4, params: undefined, response: undefined } +| { method: 'get', path: `/servers/${string}/bans`, parts: 3, params: undefined, response: paths['/servers/{target}/bans']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/servers/{target}/bans', parts: 3, params: undefined, response: paths['/servers/{target}/bans']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/servers/${string}/invites`, parts: 3, params: undefined, response: paths['/servers/{target}/invites']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/servers/{target}/invites', parts: 3, params: undefined, response: paths['/servers/{target}/invites']['get']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/servers/${string}/roles`, parts: 3, params: paths['/servers/{target}/roles']['post']['requestBody']['content']['application/json'], response: paths['/servers/{target}/roles']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/servers/{target}/roles', parts: 3, params: paths['/servers/{target}/roles']['post']['requestBody']['content']['application/json'], response: paths['/servers/{target}/roles']['post']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/servers/${string}/roles/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'delete', path: '-/servers/{target}/roles/{role_id}', parts: 4, params: undefined, response: undefined } +| { method: 'patch', path: `/servers/${string}/roles/${string}`, parts: 4, params: paths['/servers/{target}/roles/{role_id}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{target}/roles/{role_id}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/servers/{target}/roles/{role_id}', parts: 4, params: paths['/servers/{target}/roles/{role_id}']['patch']['requestBody']['content']['application/json'], response: paths['/servers/{target}/roles/{role_id}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/servers/${string}/permissions/${string}`, parts: 4, params: paths['/servers/{target}/permissions/{role_id}']['put']['requestBody']['content']['application/json'], response: paths['/servers/{target}/permissions/{role_id}']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/servers/{target}/permissions/{role_id}', parts: 4, params: paths['/servers/{target}/permissions/{role_id}']['put']['requestBody']['content']['application/json'], response: paths['/servers/{target}/permissions/{role_id}']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: `/servers/${string}/permissions/default`, parts: 4, params: paths['/servers/{target}/permissions/default']['put']['requestBody']['content']['application/json'], response: paths['/servers/{target}/permissions/default']['put']['responses']['200']['content']['application/json'] } +| { method: 'put', path: '-/servers/{target}/permissions/default', parts: 4, params: paths['/servers/{target}/permissions/default']['put']['requestBody']['content']['application/json'], response: paths['/servers/{target}/permissions/default']['put']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/invites/${string}`, parts: 2, params: undefined, response: paths['/invites/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'get', path: '-/invites/{target}', parts: 2, params: undefined, response: paths['/invites/{target}']['get']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/invites/${string}`, parts: 2, params: undefined, response: paths['/invites/{target}']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: '-/invites/{target}', parts: 2, params: undefined, response: paths['/invites/{target}']['post']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/invites/${string}`, parts: 2, params: undefined, response: undefined } +| { method: 'delete', path: '-/invites/{target}', parts: 2, params: undefined, response: undefined } +| { method: 'post', path: `/auth/account/create`, parts: 3, params: paths['/auth/account/create']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: `/auth/account/reverify`, parts: 3, params: paths['/auth/account/reverify']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'get', path: `/auth/account/`, parts: 3, params: undefined, response: paths['/auth/account/']['get']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: `/auth/account/change/password`, parts: 4, params: paths['/auth/account/change/password']['patch']['requestBody']['content']['application/json'], response: undefined } +| { method: 'patch', path: `/auth/account/change/email`, parts: 4, params: paths['/auth/account/change/email']['patch']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: `/auth/account/verify/${string}`, parts: 4, params: undefined, response: undefined } +| { method: 'post', path: '-/auth/account/verify/{code}', parts: 4, params: undefined, response: undefined } +| { method: 'post', path: `/auth/account/reset_password`, parts: 3, params: paths['/auth/account/reset_password']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'patch', path: `/auth/account/reset_password`, parts: 3, params: paths['/auth/account/reset_password']['patch']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: `/auth/session/login`, parts: 3, params: paths['/auth/session/login']['post']['requestBody']['content']['application/json'], response: paths['/auth/session/login']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/auth/session/logout`, parts: 3, params: undefined, response: undefined } +| { method: 'get', path: `/auth/session/all`, parts: 3, params: undefined, response: paths['/auth/session/all']['get']['responses']['200']['content']['application/json'] } +| { method: 'delete', path: `/auth/session/all`, parts: 3, params: paths['/auth/session/all']['delete']['parameters']['query'], response: undefined } +| { method: 'delete', path: `/auth/session/${string}`, parts: 3, params: undefined, response: undefined } +| { method: 'delete', path: '-/auth/session/{id}', parts: 3, params: undefined, response: undefined } +| { method: 'patch', path: `/auth/session/${string}`, parts: 3, params: paths['/auth/session/{id}']['patch']['requestBody']['content']['application/json'], response: paths['/auth/session/{id}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'patch', path: '-/auth/session/{id}', parts: 3, params: paths['/auth/session/{id}']['patch']['requestBody']['content']['application/json'], response: paths['/auth/session/{id}']['patch']['responses']['200']['content']['application/json'] } +| { method: 'get', path: `/onboard/hello`, parts: 2, params: undefined, response: paths['/onboard/hello']['get']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/onboard/complete`, parts: 2, params: paths['/onboard/complete']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: `/push/subscribe`, parts: 2, params: paths['/push/subscribe']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'post', path: `/push/unsubscribe`, parts: 2, params: undefined, response: undefined } +| { method: 'post', path: `/sync/settings/fetch`, parts: 3, params: paths['/sync/settings/fetch']['post']['requestBody']['content']['application/json'], response: paths['/sync/settings/fetch']['post']['responses']['200']['content']['application/json'] } +| { method: 'post', path: `/sync/settings/set`, parts: 3, params: paths['/sync/settings/set']['post']['parameters']['query']|paths['/sync/settings/set']['post']['requestBody']['content']['application/json'], response: undefined } +| { method: 'get', path: `/sync/unreads`, parts: 2, params: undefined, response: paths['/sync/unreads']['get']['responses']['200']['content']['application/json'] }; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index dea08e6..0b8907f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@insertish/oapi@0.1.10": - version "0.1.10" - resolved "https://registry.yarnpkg.com/@insertish/oapi/-/oapi-0.1.10.tgz#2352cb6a89d96b72d3c16fc726460ced79e89baa" - integrity sha512-xP6R2D0/GizgdyS1lnQcmeJPt/4Ert3zKgIYG1VFgDdCrKnVEVxQC1jjAug+wTJ7KRp5R9rnG2KDrRHme1KPMg== +"@insertish/oapi@0.1.13": + version "0.1.13" + resolved "https://registry.yarnpkg.com/@insertish/oapi/-/oapi-0.1.13.tgz#92579172bd6896152e9b68ef5bafcf8cc2048492" + integrity sha512-yj1Jk3VlNCjp0hNOsknevyR7PwVzSzc5pbUTuyhtyPlbuHRTv1b9DWs8Ki7xbF/mrIy2DzkHoUu4Ik/Q4oS93w== dependencies: typescript "^4.6.2" optionalDependencies: