nordnet-next-api
Advanced tools
Comparing version 2.3.1 to 2.3.2
@@ -1,16 +0,6 @@ | ||
'use strict'; | ||
import api from '../../index'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _index = require('../../index'); | ||
var _index2 = _interopRequireDefault(_index); | ||
exports['default'] = { | ||
export default { | ||
conditions: { | ||
request: [_index2['default'].get, ['/api/2/accounts']], | ||
request: [api.get, ['/api/2/accounts']], | ||
response: ['GET', '/api/2/accounts', [401, { 'Content-Type': 'application/json; charset=UTF-8' }, JSON.stringify({ code: 'NEXT_INVALID_SESSION' })]] | ||
@@ -20,3 +10,3 @@ }, | ||
url: '/api/2/accounts', | ||
headers: { 'accept': 'application/json' }, | ||
headers: { accept: 'application/json', ntag: 'NO_NTAG_RECEIVED_YET' }, | ||
method: 'get', | ||
@@ -29,3 +19,2 @@ credentials: true, | ||
} | ||
}; | ||
module.exports = exports['default']; | ||
}; |
@@ -1,24 +0,14 @@ | ||
'use strict'; | ||
import api from '../../index'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
const params = { instrument_id: 123, positions: [456, 789], accno: 987 }; | ||
const headers = { 'Accept-Language': 'sv' }; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _index = require('../../index'); | ||
var _index2 = _interopRequireDefault(_index); | ||
var params = { instrument_id: 123, positions: [456, 789], accno: 987 }; | ||
var headers = { 'Accept-Language': 'sv' }; | ||
exports['default'] = { | ||
export default { | ||
conditions: { | ||
request: [_index2['default'].get, ['/api/2/instruments/{instrument_id}?positions={positions}', params, headers]], | ||
request: [api.get, ['/api/2/instruments/{instrument_id}?positions={positions}', params, headers]], | ||
response: ['GET', '/api/2/instruments/123?positions=456%2C789&accno=987', [200, { 'Content-Type': 'application/json; charset=UTF-8' }, JSON.stringify({ instrument_id: 123 })]] | ||
}, | ||
expected: { | ||
url: '/api/2/instruments/123?positions=' + encodeURIComponent('456,789') + '&accno=987', | ||
headers: { 'accept-language': 'sv', 'accept': 'application/json' }, | ||
url: `/api/2/instruments/123?positions=${ encodeURIComponent('456,789') }&accno=987`, | ||
headers: { 'accept-language': 'sv', accept: 'application/json', ntag: 'NO_NTAG_RECEIVED_YET' }, | ||
method: 'get', | ||
@@ -31,3 +21,2 @@ credentials: true, | ||
} | ||
}; | ||
module.exports = exports['default']; | ||
}; |
@@ -1,36 +0,13 @@ | ||
'use strict'; | ||
import getInstrument from './get-instrument'; | ||
import getAccounts from './get-accounts'; | ||
import postUserSettings from './post-user-settings'; | ||
import postUserLists from './post-user-lists'; | ||
import ping from './ping'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _getInstrument = require('./get-instrument'); | ||
var _getInstrument2 = _interopRequireDefault(_getInstrument); | ||
var _getAccounts = require('./get-accounts'); | ||
var _getAccounts2 = _interopRequireDefault(_getAccounts); | ||
var _postUserSettings = require('./post-user-settings'); | ||
var _postUserSettings2 = _interopRequireDefault(_postUserSettings); | ||
var _postUserLists = require('./post-user-lists'); | ||
var _postUserLists2 = _interopRequireDefault(_postUserLists); | ||
var _ping = require('./ping'); | ||
var _ping2 = _interopRequireDefault(_ping); | ||
exports['default'] = { | ||
getInstrument: _getInstrument2['default'], | ||
getAccounts: _getAccounts2['default'], | ||
postUserSettings: _postUserSettings2['default'], | ||
postUserLists: _postUserLists2['default'], | ||
ping: _ping2['default'] | ||
}; | ||
module.exports = exports['default']; | ||
export default { | ||
getInstrument, | ||
getAccounts, | ||
postUserSettings, | ||
postUserLists, | ||
ping | ||
}; |
@@ -1,16 +0,6 @@ | ||
'use strict'; | ||
import api from '../../index'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _index = require('../../index'); | ||
var _index2 = _interopRequireDefault(_index); | ||
exports['default'] = { | ||
export default { | ||
conditions: { | ||
request: [_index2['default'].get, ['/api/2/ping']], | ||
request: [api.get, ['/api/2/ping']], | ||
response: ['GET', '/api/2/ping', [200, {}, 'pong']] | ||
@@ -24,3 +14,2 @@ }, | ||
} | ||
}; | ||
module.exports = exports['default']; | ||
}; |
@@ -1,20 +0,10 @@ | ||
'use strict'; | ||
import api from '../../index'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
const name = 'abc'; | ||
const params = { name }; | ||
const response = { id: 1, name }; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _index = require('../../index'); | ||
var _index2 = _interopRequireDefault(_index); | ||
var name = 'abc'; | ||
var params = { name: name }; | ||
var response = { id: 1, name: name }; | ||
exports['default'] = { | ||
export default { | ||
conditions: { | ||
request: [_index2['default'].post, ['/api/2/user/lists', params]], | ||
request: [api.post, ['/api/2/user/lists', params]], | ||
response: ['POST', '/api/2/user/lists', [201, { 'Content-type': 'application/json; charset=UTF-8' }, JSON.stringify(response)]] | ||
@@ -27,3 +17,3 @@ }, | ||
credentials: true, | ||
body: 'name=' + name, | ||
body: `name=${ name }`, | ||
status: 201, | ||
@@ -33,3 +23,2 @@ data: response, | ||
} | ||
}; | ||
module.exports = exports['default']; | ||
}; |
@@ -1,19 +0,9 @@ | ||
'use strict'; | ||
import api from '../../index'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
const params = { key: 1, settings: { widgets: [{ id: 1, name: 'winners/losers' }] } }; | ||
const headers = { 'content-type': 'application/json' }; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _index = require('../../index'); | ||
var _index2 = _interopRequireDefault(_index); | ||
var params = { key: 1, settings: { widgets: [{ id: 1, name: 'winners/losers' }] } }; | ||
var headers = { 'content-type': 'application/json' }; | ||
exports['default'] = { | ||
export default { | ||
conditions: { | ||
request: [_index2['default'].post, ['/api/2/user/settings/{key}', params, headers]], | ||
request: [api.post, ['/api/2/user/settings/{key}', params, headers]], | ||
response: ['POST', '/api/2/user/settings/1', [201, { 'Content-type': 'application/json; charset=UTF-8' }, JSON.stringify(params)]] | ||
@@ -31,3 +21,2 @@ }, | ||
} | ||
}; | ||
module.exports = exports['default']; | ||
}; |
@@ -1,48 +0,19 @@ | ||
'use strict'; | ||
import { initSandBox, respondWith, execute, expectations } from 'test-helper'; | ||
import tests from './expectations'; | ||
import api from '../index'; | ||
import { expect } from 'chai'; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
var _testHelper = require('test-helper'); | ||
var _expectations = require('./expectations'); | ||
var _expectations2 = _interopRequireDefault(_expectations); | ||
var _index = require('../index'); | ||
var _index2 = _interopRequireDefault(_index); | ||
var _chai = require('chai'); | ||
function init(done, _ref) { | ||
var _this = this; | ||
var request = _ref.request; | ||
var response = _ref.response; | ||
_testHelper.initSandBox.apply(this); | ||
_testHelper.respondWith.call(this, response); | ||
_testHelper.execute.apply(null, request).then(function (res) { | ||
return _this.response = res; | ||
}, function (res) { | ||
return _this.response = res; | ||
}).then(function () { | ||
return done(); | ||
})['catch'](function () { | ||
return done(); | ||
}); | ||
function init(done, { request, response }) { | ||
initSandBox.apply(this); | ||
respondWith.call(this, response); | ||
execute.apply(null, request).then(res => this.response = res, res => this.response = res).then(() => done()).catch(() => done()); | ||
} | ||
function verifyExpectations(expected) { | ||
Object.keys(expected).forEach(function (key) { | ||
return it('should have expected ' + key, function () { | ||
_testHelper.expectations[key].call(this, expected[key]); | ||
}); | ||
}); | ||
Object.keys(expected).forEach(key => it(`should have expected ${ key }`, function () { | ||
expectations[key].call(this, expected[key]); | ||
})); | ||
} | ||
function test(_ref2) { | ||
var conditions = _ref2.conditions; | ||
var expected = _ref2.expected; | ||
function test({ conditions, expected }) { | ||
return function () { | ||
@@ -63,5 +34,3 @@ beforeEach(function (done) { | ||
return function () { | ||
conditions.forEach(function (condition) { | ||
return Object.keys(_index2['default']).forEach(testMethodThrows(condition)); | ||
}); | ||
conditions.forEach(condition => Object.keys(api).forEach(testMethodThrows(condition))); | ||
}; | ||
@@ -71,9 +40,3 @@ } | ||
function testMethodThrows(condition) { | ||
return function (method) { | ||
return it('should throw an error with ' + method + ' and url \'' + condition + '\'', function () { | ||
return (0, _chai.expect)(function () { | ||
return _index2['default'][method](condition); | ||
}).to['throw'](Error); | ||
}); | ||
}; | ||
return method => it(`should throw an error with ${ method } and url '${ condition }'`, () => expect(() => api[method](condition)).to.throw(Error)); | ||
} | ||
@@ -83,7 +46,7 @@ | ||
describe('when url is invalid', testThrows([undefined, '', '/api/2/accounts/{accno}'])); | ||
describe('when request succeeded', test(_expectations2['default'].getInstrument)); | ||
describe('when request failed', test(_expectations2['default'].getAccounts)); | ||
describe('when response is not JSON', test(_expectations2['default'].ping)); | ||
describe('when making POST request', test(_expectations2['default'].postUserLists)); | ||
describe('when making POST request with JSON payload', test(_expectations2['default'].postUserSettings)); | ||
describe('when request succeeded', test(tests.getInstrument)); | ||
describe('when request failed', test(tests.getAccounts)); | ||
describe('when response is not JSON', test(tests.ping)); | ||
describe('when making POST request', test(tests.postUserLists)); | ||
describe('when making POST request with JSON payload', test(tests.postUserSettings)); | ||
}); |
184
lib/index.js
@@ -1,49 +0,30 @@ | ||
'use strict'; | ||
import 'babel-polyfill'; | ||
import es6Promise from 'es6-promise'; | ||
Object.defineProperty(exports, '__esModule', { | ||
value: true | ||
}); | ||
exports.get = get; | ||
exports.post = post; | ||
exports.put = put; | ||
exports.del = del; | ||
es6Promise.polyfill(); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
import 'isomorphic-fetch'; | ||
require('babel-core/polyfill'); | ||
const HTTP_NO_CONTENT = 204; | ||
const HTTP_BAD_REQUEST = 400; | ||
var _es6Promise = require('es6-promise'); | ||
var _es6Promise2 = _interopRequireDefault(_es6Promise); | ||
require('isomorphic-fetch'); | ||
_es6Promise2['default'].polyfill(); | ||
var HTTP_NO_CONTENT = 204; | ||
var HTTP_BAD_REQUEST = 400; | ||
var HTTP_OK = 200; | ||
var defaultHeaders = { | ||
const defaultHeaders = { | ||
accept: 'application/json' | ||
}; | ||
var postDefaultHeaders = Object.assign({ | ||
const postDefaultHeaders = Object.assign({ | ||
'content-type': 'application/x-www-form-urlencoded' | ||
}, defaultHeaders); | ||
var state = { | ||
const state = { | ||
nTag: 'NO_NTAG_RECEIVED_YET' | ||
}; | ||
var credentials = 'include'; | ||
const credentials = 'include'; | ||
function get(url) { | ||
var params = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var headers = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = { | ||
url: url, | ||
params: params, | ||
headers: headers, | ||
export function get(url, params = {}, headers = {}) { | ||
const options = { | ||
url, | ||
params, | ||
headers, | ||
method: 'get' | ||
@@ -55,10 +36,7 @@ }; | ||
function post(url) { | ||
var params = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var headers = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = { | ||
url: url, | ||
params: params, | ||
headers: headers, | ||
export function post(url, params = {}, headers = {}) { | ||
const options = { | ||
url, | ||
params, | ||
headers, | ||
method: 'post' | ||
@@ -70,10 +48,7 @@ }; | ||
function put(url) { | ||
var params = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var headers = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = { | ||
url: url, | ||
params: params, | ||
headers: headers, | ||
export function put(url, params = {}, headers = {}) { | ||
const options = { | ||
url, | ||
params, | ||
headers, | ||
method: 'put' | ||
@@ -85,10 +60,7 @@ }; | ||
function del(url) { | ||
var params = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var headers = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = { | ||
url: url, | ||
params: params, | ||
headers: headers, | ||
export function del(url, params = {}, headers = {}) { | ||
const options = { | ||
url, | ||
params, | ||
headers, | ||
method: 'delete' | ||
@@ -100,7 +72,7 @@ }; | ||
exports['default'] = { | ||
get: get, | ||
post: post, | ||
put: put, | ||
del: del | ||
export default { | ||
get, | ||
post, | ||
put, | ||
del | ||
}; | ||
@@ -111,15 +83,15 @@ | ||
var path = buildPath(options.url, options.params); | ||
var params = omit(options.params, getPathParams(options.url)); | ||
const path = buildPath(options.url, options.params); | ||
const params = omit(options.params, getPathParams(options.url)); | ||
var query = hasQuery(options.method) ? buildParams(params) : undefined; | ||
var headers = buildHeaders(options.method, options.headers); | ||
var body = buildBody(options.method, params, headers); | ||
const query = hasQuery(options.method) ? buildParams(params) : undefined; | ||
const headers = buildHeaders(options.method, options.headers); | ||
const body = buildBody(options.method, params, headers); | ||
var fetchUrl = buildUrl(path, query); | ||
const fetchUrl = buildUrl(path, query); | ||
var fetchParams = { | ||
headers: headers, | ||
credentials: credentials, | ||
body: body, | ||
const fetchParams = { | ||
headers, | ||
credentials, | ||
body, | ||
method: options.method | ||
@@ -140,5 +112,3 @@ }; | ||
function toErrorResponse(response) { | ||
return parseContent(response).then(function (response) { | ||
return Promise.reject(response); | ||
}); | ||
return parseContent(response).then(res => Promise.reject(res)); | ||
} | ||
@@ -153,3 +123,3 @@ | ||
if (response.status === HTTP_NO_CONTENT) { | ||
return { response: response, status: response.status }; | ||
return { response, status: response.status }; | ||
} | ||
@@ -161,8 +131,6 @@ | ||
function parseContent(response) { | ||
var contentType = response.headers.get('Content-type'); | ||
var method = isJSON(contentType) ? 'json' : 'text'; | ||
const contentType = response.headers.get('Content-type'); | ||
const method = isJSON(contentType) ? 'json' : 'text'; | ||
return response[method]().then(function (data) { | ||
return { response: response, data: data, status: response.status }; | ||
}); | ||
return response[method]().then(data => ({ response, data, status: response.status })); | ||
} | ||
@@ -181,15 +149,11 @@ | ||
function getPathParams(url) { | ||
var keys = url.match(/{([\s\S]+?)}/g) || []; | ||
return keys.map(function (key) { | ||
return key.replace(/({|})/g, ''); | ||
}); | ||
const keys = url.match(/{([\s\S]+?)}/g) || []; | ||
return keys.map(key => key.replace(/({|})/g, '')); | ||
} | ||
function buildUrl(path) { | ||
var query = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1]; | ||
function buildUrl(path, query = '') { | ||
const queryParams = query.length ? query.join('&') : ''; | ||
const pathContainsQuery = path.indexOf('?') !== -1; | ||
var queryParams = query.length ? query.join('&') : ''; | ||
var pathContainsQuery = path.indexOf('?') !== -1; | ||
var delimiter = ''; | ||
let delimiter = ''; | ||
if (pathContainsQuery && queryParams) { | ||
@@ -201,3 +165,3 @@ delimiter = '&'; | ||
return '' + path + delimiter + queryParams; | ||
return `${ path }${ delimiter }${ queryParams }`; | ||
} | ||
@@ -212,3 +176,3 @@ | ||
if (params[key] === undefined) { | ||
throw new Error('unknown parameter ' + key); | ||
throw new Error(`unknown parameter ${ key }`); | ||
} | ||
@@ -220,23 +184,15 @@ | ||
function buildParams() { | ||
var params = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
return Object.keys(params).map(function (key) { | ||
return encodeURIComponent(key) + '=' + uriEncode(params[key]); | ||
}); | ||
function buildParams(params = {}) { | ||
return Object.keys(params).map(key => encodeURIComponent(key) + '=' + uriEncode(params[key])); | ||
} | ||
function buildHeaders(method, headers) { | ||
var sanitisedHeaders = convertKeysToLowerCase(headers); | ||
return Object.assign({ ntag: state.nTag }, getDefaultMethodHeaders(method), sanitizeHeaders(headers)); | ||
} | ||
if (method === 'post' || method === 'put') { | ||
return Object.assign({ ntag: state.nTag }, postDefaultHeaders, sanitisedHeaders); | ||
} else if (method === 'delete') { | ||
return Object.assign({ ntag: state.nTag }, defaultHeaders, sanitisedHeaders); | ||
} | ||
return Object.assign({}, sanitisedHeaders, defaultHeaders); | ||
function getDefaultMethodHeaders(method) { | ||
return method === 'post' || method === 'put' ? postDefaultHeaders : defaultHeaders; | ||
} | ||
function convertKeysToLowerCase(obj) { | ||
function sanitizeHeaders(obj) { | ||
return Object.keys(obj).reduce(keyToLowerCase(obj), {}); | ||
@@ -246,3 +202,3 @@ } | ||
function keyToLowerCase(obj) { | ||
return function (accumulator, key) { | ||
return (accumulator, key) => { | ||
accumulator[key.toLowerCase()] = obj[key]; | ||
@@ -255,3 +211,3 @@ return accumulator; | ||
if (!hasBody(method)) { | ||
return; | ||
return undefined; | ||
} | ||
@@ -263,3 +219,3 @@ | ||
function isJsonContentType(headers) { | ||
var contentType = Object.keys(headers).find(contains('content-type')); | ||
const contentType = Object.keys(headers).find(contains('content-type')); | ||
return isJSON(headers[contentType]); | ||
@@ -269,3 +225,3 @@ } | ||
function uriEncode(value) { | ||
var encoded = undefined; | ||
let encoded; | ||
if (Array.isArray(value)) { | ||
@@ -301,3 +257,3 @@ encoded = value.join(','); | ||
function omitKey(source, props) { | ||
return function (accumulator, key) { | ||
return (accumulator, key) => { | ||
if (props.indexOf(key) === -1) { | ||
@@ -304,0 +260,0 @@ accumulator[key] = source[key]; |
{ | ||
"name": "nordnet-next-api", | ||
"version": "2.3.1", | ||
"version": "2.3.2", | ||
"description": "Nordnet nExt API Javascript client", | ||
@@ -10,3 +10,3 @@ "main": "lib/index.js", | ||
"build:umd": "webpack --config ./webpack/webpack.config src/index.js dist/nordnet-next-api.js && NODE_ENV=production webpack --config ./webpack/webpack.config src/index.js dist/nordnet-next-api.min.js", | ||
"eslint": "eslint --ext=.jsx --ext=.js -c .eslintrc src || echo \"Linting failed...\"", | ||
"eslint": "eslint src || echo \"Linting failed...\"", | ||
"lint": "npm run eslint", | ||
@@ -34,11 +34,14 @@ "pretest": "rimraf reports/test-results.xml reports/coverage", | ||
"devDependencies": { | ||
"babel": "^5.5.8", | ||
"babel-core": "^5.6.18", | ||
"babel-eslint": "^3.1.23", | ||
"babel-loader": "^5.1.4", | ||
"babel-cli": "^6.6.5", | ||
"babel-core": "6.4.0", | ||
"babel-eslint": "4.1.6", | ||
"babel-loader": "6.2.1", | ||
"babel-plugin-add-module-exports": "0.1.2", | ||
"babel-polyfill": "6.3.14", | ||
"babel-preset-es2015": "6.3.13", | ||
"chai": "^3.0.0", | ||
"chai-as-promised": "^5.1.0", | ||
"es5-shim": "^4.1.7", | ||
"eslint": "^0.24.0", | ||
"eslint-config-airbnb": "0.0.6", | ||
"eslint": "1.10.3", | ||
"eslint-config-airbnb": "3.1.0", | ||
"husky": "^0.8.1", | ||
@@ -45,0 +48,0 @@ "isparta": "^3.0.3", |
@@ -17,3 +17,3 @@ import api from '../../index'; | ||
url: '/api/2/accounts', | ||
headers: { 'accept': 'application/json' }, | ||
headers: { accept: 'application/json', ntag: 'NO_NTAG_RECEIVED_YET' }, | ||
method: 'get', | ||
@@ -20,0 +20,0 @@ credentials: true, |
@@ -20,3 +20,3 @@ import api from '../../index'; | ||
url: `/api/2/instruments/123?positions=${encodeURIComponent('456,789')}&accno=987`, | ||
headers: { 'accept-language': 'sv', 'accept': 'application/json' }, | ||
headers: { 'accept-language': 'sv', accept: 'application/json', ntag: 'NO_NTAG_RECEIVED_YET' }, | ||
method: 'get', | ||
@@ -23,0 +23,0 @@ credentials: true, |
@@ -5,3 +5,3 @@ import api from '../../index'; | ||
const params = { name }; | ||
const response = { id: 1, name } | ||
const response = { id: 1, name }; | ||
@@ -8,0 +8,0 @@ export default { |
import api from '../../index'; | ||
const params = { key: 1, settings: { widgets: [{ id: 1, name: 'winners/losers' }] }}; | ||
const params = { key: 1, settings: { widgets: [{ id: 1, name: 'winners/losers' }] } }; | ||
const headers = { 'content-type': 'application/json' }; | ||
@@ -5,0 +5,0 @@ |
@@ -17,3 +17,3 @@ import { initSandBox, respondWith, execute, expectations } from 'test-helper'; | ||
Object.keys(expected) | ||
.forEach(key => it(`should have expected ${key}`, function() { | ||
.forEach(key => it(`should have expected ${key}`, function () { | ||
expectations[key].call(this, expected[key]); | ||
@@ -24,8 +24,8 @@ })); | ||
function test({ conditions, expected }) { | ||
return function() { | ||
beforeEach(function(done) { | ||
return function () { | ||
beforeEach(function (done) { | ||
init.call(this, done, conditions); | ||
}); | ||
afterEach(function() { | ||
afterEach(function () { | ||
this.sandbox.restore(); | ||
@@ -39,3 +39,3 @@ }); | ||
function testThrows(conditions) { | ||
return function() { | ||
return function () { | ||
conditions.forEach(condition => Object.keys(api).forEach(testMethodThrows(condition))); | ||
@@ -50,3 +50,3 @@ }; | ||
describe('api', function() { | ||
describe('api', function () { | ||
describe('when url is invalid', testThrows([undefined, '', '/api/2/accounts/{accno}'])); | ||
@@ -53,0 +53,0 @@ describe('when request succeeded', test(tests.getInstrument)); |
@@ -1,2 +0,2 @@ | ||
import 'babel-core/polyfill'; | ||
import 'babel-polyfill'; | ||
import es6Promise from 'es6-promise'; | ||
@@ -10,3 +10,2 @@ | ||
const HTTP_BAD_REQUEST = 400; | ||
const HTTP_OK = 200; | ||
@@ -112,3 +111,3 @@ const defaultHeaders = { | ||
function toErrorResponse(response) { | ||
return parseContent(response).then(response => Promise.reject(response)); | ||
return parseContent(response).then(res => Promise.reject(res)); | ||
} | ||
@@ -184,14 +183,10 @@ | ||
function buildHeaders(method, headers) { | ||
const sanitisedHeaders = convertKeysToLowerCase(headers); | ||
return Object.assign({ ntag: state.nTag }, getDefaultMethodHeaders(method), sanitizeHeaders(headers)); | ||
} | ||
if (method === 'post' || method === 'put') { | ||
return Object.assign({ ntag: state.nTag }, postDefaultHeaders, sanitisedHeaders); | ||
} else if (method === 'delete') { | ||
return Object.assign({ ntag: state.nTag }, defaultHeaders, sanitisedHeaders); | ||
} | ||
return Object.assign({}, sanitisedHeaders, defaultHeaders); | ||
function getDefaultMethodHeaders(method) { | ||
return method === 'post' || method === 'put' ? postDefaultHeaders : defaultHeaders; | ||
} | ||
function convertKeysToLowerCase(obj) { | ||
function sanitizeHeaders(obj) { | ||
return Object.keys(obj).reduce(keyToLowerCase(obj), {}); | ||
@@ -204,3 +199,3 @@ } | ||
return accumulator; | ||
} | ||
}; | ||
} | ||
@@ -210,3 +205,3 @@ | ||
if (!hasBody(method)) { | ||
return; | ||
return undefined; | ||
} | ||
@@ -244,3 +239,3 @@ | ||
function contains(string) { | ||
return function(value) { | ||
return function (value) { | ||
return !!value && value.toLowerCase().indexOf(string) !== -1; | ||
@@ -247,0 +242,0 @@ }; |
@@ -37,3 +37,7 @@ const webpack = require('webpack'); | ||
loaders: [ | ||
{ test: /\.js[x]?$/, loader: 'babel-loader', exclude: /node_module/ } | ||
{ | ||
test: /\.js[x]?$/, | ||
loader: 'babel?presets[]=es2015&plugins[]=add-module-exports', | ||
exclude: /node_module/ | ||
} | ||
] | ||
@@ -40,0 +44,0 @@ }, |
@@ -25,3 +25,3 @@ var webpack = require('webpack'); | ||
test: /\.js$/, | ||
loaders: ['babel-loader'], | ||
loaders: ['babel?presets[]=es2015&plugins[]=add-module-exports'], | ||
exclude: /node_modules/ | ||
@@ -28,0 +28,0 @@ }] |
Sorry, the diff of this file is not supported yet
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
37
38344
38
1020