Socket
Socket
Sign inDemoInstall

mande

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mande - npm Package Compare versions

Comparing version 0.0.5 to 0.0.6

10

CHANGELOG.md

@@ -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 @@

39

dist/mande.common.js
/*!
* 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 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc