Comparing version 0.0.5 to 0.0.6
@@ -0,1 +1,11 @@ | ||
## [0.0.6](https://github.com/posva/mande/compare/v0.0.5...v0.0.6) (2020-05-18) | ||
### Bug Fixes | ||
- use options when providing only body ([e5a9bef](https://github.com/posva/mande/commit/e5a9bef007439d42d6d6a2a7ddeffb18dd8bc34b)) | ||
### Features | ||
- allow global defaults ([a87fdda](https://github.com/posva/mande/commit/a87fddaa1c2aea4ae05ca39bbe911d80f19cecb5)) | ||
## [0.0.5](https://github.com/posva/mande/compare/v0.0.4...v0.0.5) (2020-05-18) | ||
@@ -2,0 +12,0 @@ |
/*! | ||
* mande v0.0.4 | ||
* mande v0.0.5 | ||
* (c) 2020 Eduardo San Martin Morote | ||
@@ -22,2 +22,16 @@ * @license MIT | ||
/** | ||
* Global default options as {@link Options} that are applied to **all** mande | ||
* instances. Always contain an initialized `headers` property with the default | ||
* headers: | ||
* - Accept: 'application/json' | ||
* - 'Content-Type': 'application/json' | ||
*/ | ||
const defaults = { | ||
responseAs: 'json', | ||
headers: { | ||
Accept: 'application/json', | ||
'Content-Type': 'application/json', | ||
}, | ||
}; | ||
/** | ||
* Create a Mande instance | ||
@@ -33,7 +47,6 @@ * | ||
* @param baseURL - absolute url | ||
* @param globalOptions - optional global options that will be applied to every | ||
* other request | ||
* @param instanceOptions - optional options that will be applied to every | ||
* other request for this instance | ||
*/ | ||
function mande(baseURL, globalOptions = {}) { | ||
let options = Object.assign({ responseAs: 'json', headers: {} }, globalOptions); | ||
function mande(baseURL, instanceOptions = {}) { | ||
function _fetch(method, urlOrData, dataOrOptions, localOptions = {}) { | ||
@@ -45,2 +58,3 @@ let url; | ||
data = urlOrData; | ||
localOptions = dataOrOptions || {}; | ||
} | ||
@@ -51,10 +65,8 @@ else { | ||
} | ||
let mergedOptions = Object.assign(Object.assign(Object.assign({}, options), { method }), localOptions); | ||
let query = Object.assign(Object.assign({}, options.query), localOptions.query); | ||
let mergedOptions = Object.assign(Object.assign(Object.assign(Object.assign({}, defaults), instanceOptions), { method }), localOptions); | ||
let query = Object.assign(Object.assign(Object.assign({}, defaults.query), instanceOptions.query), localOptions.query); | ||
let { responseAs } = mergedOptions; | ||
mergedOptions.headers = Object.assign(Object.assign(Object.assign({}, options.headers), { Accept: 'application/json', 'Content-Type': 'application/json' }), localOptions.headers); | ||
mergedOptions.headers = Object.assign(Object.assign(Object.assign({}, defaults.headers), instanceOptions.headers), localOptions.headers); | ||
url = joinURL(baseURL, typeof url === 'number' ? '' + url : url || ''); | ||
// TODO: | ||
// if (__DEV__ && url.startsWith('/')) | ||
// TODO: | ||
// TODO: warn about multiple queries provided not supported | ||
// if (__DEV__ && query && urlInstance.search) | ||
@@ -75,6 +87,4 @@ url += stringifyQuery(query); | ||
} | ||
// TODO: | ||
// if (__DEV__ && !baseURL.endsWith('/')) | ||
return { | ||
options, | ||
options: instanceOptions, | ||
post: _fetch.bind(null, 'POST'), | ||
@@ -89,2 +99,3 @@ put: _fetch.bind(null, 'PUT'), | ||
exports.defaults = defaults; | ||
exports.mande = mande; |
/** | ||
* Global default options as {@link Options} that are applied to **all** mande | ||
* instances. Always contain an initialized `headers` property with the default | ||
* headers: | ||
* - Accept: 'application/json' | ||
* - 'Content-Type': 'application/json' | ||
*/ | ||
export declare const defaults: Options & Pick<Required<Options>, 'headers' | 'responseAs'>; | ||
/** | ||
* Create a Mande instance | ||
@@ -13,6 +22,6 @@ * | ||
* @param baseURL - absolute url | ||
* @param globalOptions - optional global options that will be applied to every | ||
* other request | ||
* @param instanceOptions - optional options that will be applied to every | ||
* other request for this instance | ||
*/ | ||
export declare function mande(baseURL: string, globalOptions?: Options): MandeInstance; | ||
export declare function mande(baseURL: string, instanceOptions?: Options): MandeInstance; | ||
@@ -33,3 +42,3 @@ /** | ||
*/ | ||
options: Options & Pick<RequiredRequestInit, 'headers'>; | ||
options: Options; | ||
/** | ||
@@ -121,6 +130,8 @@ * Sends a GET request to the given url. | ||
responseAs?: 'json' | 'text' | 'response'; | ||
/** | ||
* Headers sent alongside the request | ||
*/ | ||
headers?: Record<string, string>; | ||
} | ||
declare type RequiredRequestInit = Required<RequestInit>; | ||
export { } |
/*! | ||
* mande v0.0.4 | ||
* mande v0.0.5 | ||
* (c) 2020 Eduardo San Martin Morote | ||
@@ -18,2 +18,16 @@ * @license MIT | ||
/** | ||
* Global default options as {@link Options} that are applied to **all** mande | ||
* instances. Always contain an initialized `headers` property with the default | ||
* headers: | ||
* - Accept: 'application/json' | ||
* - 'Content-Type': 'application/json' | ||
*/ | ||
const defaults = { | ||
responseAs: 'json', | ||
headers: { | ||
Accept: 'application/json', | ||
'Content-Type': 'application/json', | ||
}, | ||
}; | ||
/** | ||
* Create a Mande instance | ||
@@ -29,7 +43,6 @@ * | ||
* @param baseURL - absolute url | ||
* @param globalOptions - optional global options that will be applied to every | ||
* other request | ||
* @param instanceOptions - optional options that will be applied to every | ||
* other request for this instance | ||
*/ | ||
function mande(baseURL, globalOptions = {}) { | ||
let options = Object.assign({ responseAs: 'json', headers: {} }, globalOptions); | ||
function mande(baseURL, instanceOptions = {}) { | ||
function _fetch(method, urlOrData, dataOrOptions, localOptions = {}) { | ||
@@ -41,2 +54,3 @@ let url; | ||
data = urlOrData; | ||
localOptions = dataOrOptions || {}; | ||
} | ||
@@ -47,10 +61,8 @@ else { | ||
} | ||
let mergedOptions = Object.assign(Object.assign(Object.assign({}, options), { method }), localOptions); | ||
let query = Object.assign(Object.assign({}, options.query), localOptions.query); | ||
let mergedOptions = Object.assign(Object.assign(Object.assign(Object.assign({}, defaults), instanceOptions), { method }), localOptions); | ||
let query = Object.assign(Object.assign(Object.assign({}, defaults.query), instanceOptions.query), localOptions.query); | ||
let { responseAs } = mergedOptions; | ||
mergedOptions.headers = Object.assign(Object.assign(Object.assign({}, options.headers), { Accept: 'application/json', 'Content-Type': 'application/json' }), localOptions.headers); | ||
mergedOptions.headers = Object.assign(Object.assign(Object.assign({}, defaults.headers), instanceOptions.headers), localOptions.headers); | ||
url = joinURL(baseURL, typeof url === 'number' ? '' + url : url || ''); | ||
// TODO: | ||
// if (__DEV__ && url.startsWith('/')) | ||
// TODO: | ||
// TODO: warn about multiple queries provided not supported | ||
// if (__DEV__ && query && urlInstance.search) | ||
@@ -71,6 +83,4 @@ url += stringifyQuery(query); | ||
} | ||
// TODO: | ||
// if (__DEV__ && !baseURL.endsWith('/')) | ||
return { | ||
options, | ||
options: instanceOptions, | ||
post: _fetch.bind(null, 'POST'), | ||
@@ -85,2 +95,2 @@ put: _fetch.bind(null, 'PUT'), | ||
export { mande }; | ||
export { defaults, mande }; |
/*! | ||
* mande v0.0.4 | ||
* mande v0.0.5 | ||
* (c) 2020 Eduardo San Martin Morote | ||
* @license MIT | ||
*/ | ||
let e=/\/+$/,t=/^\/+/;function n(n,s={}){let o=Object.assign({responseAs:"json",headers:{}},s);function r(s,r,a,i={}){let c,l;"object"==typeof r?(c="",l=r):(c=r,l=a);let u=Object.assign(Object.assign(Object.assign({},o),{method:s}),i),p=Object.assign(Object.assign({},o.query),i.query),{responseAs:b}=u;return u.headers=Object.assign(Object.assign(Object.assign({},o.headers),{Accept:"application/json","Content-Type":"application/json"}),i.headers),c=function(n,s){return n.replace(e,"")+"/"+s.replace(t,"")}(n,"number"==typeof c?""+c:c||""),c+=function(e){let t=Object.keys(e).map(t=>[t,e[t]].map(encodeURIComponent).join("=")).join("&");return t?"?"+t:""}(p),l&&(u.body=JSON.stringify(l)),fetch(c,u).then(e=>{if(e.status>=200&&e.status<300)return"response"===b?e:204==e.status?null:e[b]();let t=new Error(e.statusText);throw t.response=e,t})}return{options:o,post:r.bind(null,"POST"),put:r.bind(null,"PUT"),patch:r.bind(null,"PATCH"),get:(e,t)=>r("GET",e,null,t),delete:(e,t)=>r("DELETE",e,null,t)}}export{n as mande}; | ||
let e=/\/+$/,t=/^\/+/;const n={responseAs:"json",headers:{Accept:"application/json","Content-Type":"application/json"}};function s(s,o={}){function r(r,a,i,c={}){let u,l;"object"==typeof a?(u="",l=a,c=i||{}):(u=a,l=i);let p=Object.assign(Object.assign(Object.assign(Object.assign({},n),o),{method:r}),c),b=Object.assign(Object.assign(Object.assign({},n.query),o.query),c.query),{responseAs:j}=p;return p.headers=Object.assign(Object.assign(Object.assign({},n.headers),o.headers),c.headers),u=function(n,s){return n.replace(e,"")+"/"+s.replace(t,"")}(s,"number"==typeof u?""+u:u||""),u+=function(e){let t=Object.keys(e).map(t=>[t,e[t]].map(encodeURIComponent).join("=")).join("&");return t?"?"+t:""}(b),l&&(p.body=JSON.stringify(l)),fetch(u,p).then(e=>{if(e.status>=200&&e.status<300)return"response"===j?e:204==e.status?null:e[j]();let t=new Error(e.statusText);throw t.response=e,t})}return{options:o,post:r.bind(null,"POST"),put:r.bind(null,"PUT"),patch:r.bind(null,"PATCH"),get:(e,t)=>r("GET",e,null,t),delete:(e,t)=>r("DELETE",e,null,t)}}export{n as defaults,s as mande}; |
/*! | ||
* mande v0.0.4 | ||
* mande v0.0.5 | ||
* (c) 2020 Eduardo San Martin Morote | ||
@@ -21,2 +21,16 @@ * @license MIT | ||
/** | ||
* Global default options as {@link Options} that are applied to **all** mande | ||
* instances. Always contain an initialized `headers` property with the default | ||
* headers: | ||
* - Accept: 'application/json' | ||
* - 'Content-Type': 'application/json' | ||
*/ | ||
const defaults = { | ||
responseAs: 'json', | ||
headers: { | ||
Accept: 'application/json', | ||
'Content-Type': 'application/json', | ||
}, | ||
}; | ||
/** | ||
* Create a Mande instance | ||
@@ -32,7 +46,6 @@ * | ||
* @param baseURL - absolute url | ||
* @param globalOptions - optional global options that will be applied to every | ||
* other request | ||
* @param instanceOptions - optional options that will be applied to every | ||
* other request for this instance | ||
*/ | ||
function mande(baseURL, globalOptions = {}) { | ||
let options = Object.assign({ responseAs: 'json', headers: {} }, globalOptions); | ||
function mande(baseURL, instanceOptions = {}) { | ||
function _fetch(method, urlOrData, dataOrOptions, localOptions = {}) { | ||
@@ -44,2 +57,3 @@ let url; | ||
data = urlOrData; | ||
localOptions = dataOrOptions || {}; | ||
} | ||
@@ -50,10 +64,8 @@ else { | ||
} | ||
let mergedOptions = Object.assign(Object.assign(Object.assign({}, options), { method }), localOptions); | ||
let query = Object.assign(Object.assign({}, options.query), localOptions.query); | ||
let mergedOptions = Object.assign(Object.assign(Object.assign(Object.assign({}, defaults), instanceOptions), { method }), localOptions); | ||
let query = Object.assign(Object.assign(Object.assign({}, defaults.query), instanceOptions.query), localOptions.query); | ||
let { responseAs } = mergedOptions; | ||
mergedOptions.headers = Object.assign(Object.assign(Object.assign({}, options.headers), { Accept: 'application/json', 'Content-Type': 'application/json' }), localOptions.headers); | ||
mergedOptions.headers = Object.assign(Object.assign(Object.assign({}, defaults.headers), instanceOptions.headers), localOptions.headers); | ||
url = joinURL(baseURL, typeof url === 'number' ? '' + url : url || ''); | ||
// TODO: | ||
// if (__DEV__ && url.startsWith('/')) | ||
// TODO: | ||
// TODO: warn about multiple queries provided not supported | ||
// if (__DEV__ && query && urlInstance.search) | ||
@@ -74,6 +86,4 @@ url += stringifyQuery(query); | ||
} | ||
// TODO: | ||
// if (__DEV__ && !baseURL.endsWith('/')) | ||
return { | ||
options, | ||
options: instanceOptions, | ||
post: _fetch.bind(null, 'POST'), | ||
@@ -88,2 +98,3 @@ put: _fetch.bind(null, 'PUT'), | ||
exports.defaults = defaults; | ||
exports.mande = mande; | ||
@@ -90,0 +101,0 @@ |
/*! | ||
* mande v0.0.4 | ||
* mande v0.0.5 | ||
* (c) 2020 Eduardo San Martin Morote | ||
* @license MIT | ||
*/ | ||
var Mande=function(e){"use strict";let t=/\/+$/,n=/^\/+/;return e.mande=function(e,s={}){let r=Object.assign({responseAs:"json",headers:{}},s);function o(s,o,a,i={}){let c,u;"object"==typeof o?(c="",u=o):(c=o,u=a);let l=Object.assign(Object.assign(Object.assign({},r),{method:s}),i),p=Object.assign(Object.assign({},r.query),i.query),{responseAs:b}=l;return l.headers=Object.assign(Object.assign(Object.assign({},r.headers),{Accept:"application/json","Content-Type":"application/json"}),i.headers),c=function(e,s){return e.replace(t,"")+"/"+s.replace(n,"")}(e,"number"==typeof c?""+c:c||""),c+=function(e){let t=Object.keys(e).map(t=>[t,e[t]].map(encodeURIComponent).join("=")).join("&");return t?"?"+t:""}(p),u&&(l.body=JSON.stringify(u)),fetch(c,l).then(e=>{if(e.status>=200&&e.status<300)return"response"===b?e:204==e.status?null:e[b]();let t=new Error(e.statusText);throw t.response=e,t})}return{options:r,post:o.bind(null,"POST"),put:o.bind(null,"PUT"),patch:o.bind(null,"PATCH"),get:(e,t)=>o("GET",e,null,t),delete:(e,t)=>o("DELETE",e,null,t)}},e}({}); | ||
var Mande=function(e){"use strict";let t=/\/+$/,n=/^\/+/;const s={responseAs:"json",headers:{Accept:"application/json","Content-Type":"application/json"}};return e.defaults=s,e.mande=function(e,r={}){function a(a,o,i,c={}){let u,l;"object"==typeof o?(u="",l=o,c=i||{}):(u=o,l=i);let p=Object.assign(Object.assign(Object.assign(Object.assign({},s),r),{method:a}),c),b=Object.assign(Object.assign(Object.assign({},s.query),r.query),c.query),{responseAs:j}=p;return p.headers=Object.assign(Object.assign(Object.assign({},s.headers),r.headers),c.headers),u=function(e,s){return e.replace(t,"")+"/"+s.replace(n,"")}(e,"number"==typeof u?""+u:u||""),u+=function(e){let t=Object.keys(e).map(t=>[t,e[t]].map(encodeURIComponent).join("=")).join("&");return t?"?"+t:""}(b),l&&(p.body=JSON.stringify(l)),fetch(u,p).then(e=>{if(e.status>=200&&e.status<300)return"response"===j?e:204==e.status?null:e[j]();let t=new Error(e.statusText);throw t.response=e,t})}return{options:r,post:a.bind(null,"POST"),put:a.bind(null,"PUT"),patch:a.bind(null,"PATCH"),get:(e,t)=>a("GET",e,null,t),delete:(e,t)=>a("DELETE",e,null,t)}},e}({}); |
{ | ||
"name": "mande", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"description": "Some awesome description", | ||
@@ -5,0 +5,0 @@ "main": "dist/mande.common.js", |
@@ -105,2 +105,10 @@ # mande [![Build Status](https://badgen.net/circleci/github/posva/mande/master)](https://circleci.com/gh/posva/mande) [![npm package](https://badgen.net/npm/v/mande)](https://www.npmjs.com/package/mande) [![coverage](https://badgen.net/codecov/c/github/posva/mande/master)](https://codecov.io/github/posva/mande) [![thanks](https://badgen.net/badge/thanks/♥/pink)](https://github.com/posva/thanks) | ||
You can also globally add default options to all _mande_ instances: | ||
```js | ||
import { defaults } from 'mande' | ||
defaults.headers.Authorization = 'Bearer token' | ||
``` | ||
## API | ||
@@ -107,0 +115,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
23753
423
125