New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update TypeScript typings with generic type parameters #1061
Conversation
…ethods & AxiosResponse
Has there been any movement on this? Currently using a basic wrapper around axios to get similar functionality but would be great to be able to do this natively 🎉 |
@d-fischer Thank you! |
@nickuraltsev any idea when the next release will be? Looking to use these new typings. |
@psachs21 Hopefully, this weekend |
Awesome!
…On Fri, Oct 20, 2017 at 11:03 AM, Nick Uraltsev ***@***.***> wrote:
@psachs21 <https://github.com/psachs21> Hopefully, this weekend
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1061 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AK61gD5EBfvqq2fES7-csUVOo-J_-Lm7ks5suLZSgaJpZM4PGbNr>
.
|
This Pull Request updates dependency [axios](https://github.com/axios/axios) from `v0.15.2` to `v0.18.0` <details> <summary>Release Notes</summary> ### [`v0.18.0`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0180-Feb-19-2018) [Compare Source](axios/axios@v0.17.1...v0.18.0) - Adding support for UNIX Sockets when running with Node.js ([#​1070](`axios/axios#1070)) - Fixing typings ([#​1177](`axios/axios#1177)): - AxiosRequestConfig.proxy: allows type false - AxiosProxyConfig: added auth field - Adding function signature in AxiosInstance interface so AxiosInstance can be invoked ([#​1192](`axios/axios#1192), [#​1254](`axios/axios#1254)) - Allowing maxContentLength to pass through to redirected calls as maxBodyLength in follow-redirects config ([#​1287](`axios/axios#1287)) - Fixing configuration when using an instance - method can now be set ([#​1342](`axios/axios#1342)) --- ### [`v0.17.1`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0171-Nov-11-2017) [Compare Source](axios/axios@v0.17.0...v0.17.1) - Fixing issue with web workers ([#​1160](`axios/axios#1160)) - Allowing overriding transport ([#​1080](`axios/axios#1080)) - Updating TypeScript typings ([#​1165](`axios/axios#1165), [#​1125](`axios/axios#1125), [#​1131](`axios/axios#1131)) --- ### [`v0.17.0`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0170-Oct-21-2017) [Compare Source](axios/axios@v0.16.2...v0.17.0) - **BREAKING** Fixing issue with `baseURL` and interceptors ([#​950](`axios/axios#950)) - **BREAKING** Improving handing of duplicate headers ([#​874](`axios/axios#874)) - Adding support for disabling proxies ([#​691](`axios/axios#691)) - Updating TypeScript typings with generic type parameters ([#​1061](`axios/axios#1061)) --- ### [`v0.16.2`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0162-Jun-3-2017) [Compare Source](axios/axios@v0.16.1...v0.16.2) - Fixing issue with including `buffer` in bundle ([#​887](`axios/axios#887)) - Including underlying request in errors ([#​830](`axios/axios#830)) - Convert `method` to lowercase ([#​930](`axios/axios#930)) --- ### [`v0.16.1`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0161-Apr-8-2017) [Compare Source](axios/axios@v0.16.0...v0.16.1) - Improving HTTP adapter to return last request in case of redirects ([#​828](`axios/axios#828)) - Updating `follow-redirects` dependency ([#​829](`axios/axios#829)) - Adding support for passing `Buffer` in node ([#​773](`axios/axios#773)) --- ### [`v0.16.0`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0160-Mar-31-2017) [Compare Source](axios/axios@v0.15.3...v0.16.0) - **BREAKING** Removing `Promise` from axios typings in favor of built-in type declarations ([#​480](`axios/axios#480)) - Adding `options` shortcut method ([#​461](`axios/axios#461)) - Fixing issue with using `responseType: 'json'` in browsers incompatible with XHR Level 2 ([#​654](`axios/axios#654)) - Improving React Native detection ([#​731](`axios/axios#731)) - Fixing `combineURLs` to support empty `relativeURL` ([#​581](`axios/axios#581)) - Removing `PROTECTION_PREFIX` support ([#​561](`axios/axios#561)) --- ### [`v0.15.3`](https://github.com/axios/axios/blob/master/CHANGELOG.md#​0153-Nov-27-2016) [Compare Source](axios/axios@v0.15.2...v0.15.3) - Fixing issue with custom instances and global defaults ([#​443](`axios/axios#443)) - Renaming `axios.d.ts` to `index.d.ts` ([#​519](`axios/axios#519)) - Adding `get`, `head`, and `delete` to `defaults.headers` ([#​509](`axios/axios#509)) - Fixing issue with `btoa` and IE ([#​507](`axios/axios#507)) - Adding support for proxy authentication ([#​483](`axios/axios#483)) - Improving HTTP adapter to use `http` protocol by default ([#​493](`axios/axios#493)) - Fixing proxy issues ([#​491](`axios/axios#491)) --- </details> --- This PR has been generated by [Renovate Bot](https://renovatebot.com).
I don't know if this is desired behaviour but when using Maybe I am doing something wrong but I would have expected that import axios from 'axios';
async function asyncBroken() {
const response = await axios.get<User>.get('http://localhost/users');
response.data // Unresolved variable data here because User is inferred.
}
function getUsers() {
axios.get<User>.get('http://localhost/users').then((response) => resonse.data);
} |
|
This aims to fix #718.
I know there's already an effort to fix this in #730. However, this PR differs in a few ways:
AxiosPromise
andAxiosResponse
as well asAxiosInstance.get
and similar methods. All instances of these new type parameters default toany
, so backwards compatibility is ensured. If users want to add a type to the response data, they can do it usingget<MyType>(...)
, and if they don't, they just keep their code as is and it still works the same.