vk-universal-api
Advanced tools
Comparing version
@@ -6,45 +6,35 @@ 'use strict'; | ||
}); | ||
var UniversalApi = require('universal-api'); | ||
var token = null; | ||
var setToken = function setToken(_token) { | ||
return token = _token; | ||
}; | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } | ||
exports.setToken = setToken; | ||
var api = new UniversalApi('https://api.vk.com/method/', { | ||
jsonp: true, | ||
transformRequest: function transformRequest(method, params) { | ||
params.access_token = token; | ||
return params; | ||
}, | ||
transformResponse: function transformResponse(res, resolve, reject) { | ||
if (res.body.error) { | ||
// console.log(res.body.error); | ||
reject(res.body.error); | ||
} else if (res.body.response) { | ||
if (res.body.response.shift) { | ||
var count = res.body.response.shift(); | ||
var _universalApi = require('universal-api'); | ||
resolve({ | ||
meta: count, | ||
items: res.body.response | ||
}); | ||
var _universalApi2 = _interopRequireDefault(_universalApi); | ||
function VkUniversalApi() { | ||
var _this = this; | ||
_universalApi2['default'].call(this, { | ||
baseUrl: 'https://api.vk.com/method/', | ||
jsonp: true, | ||
query: function query() { | ||
return { access_token: _this.token }; | ||
}, | ||
transformResponse: function transformResponse(response) { | ||
if (response.response) { | ||
return response.response; | ||
} else { | ||
resolve(res.body.response); | ||
throw response.error; | ||
} | ||
} | ||
} | ||
}); | ||
}); | ||
}; | ||
var method = api.apiRequest; | ||
VkUniversalApi.prototype = Object.create(_universalApi2['default'].prototype); | ||
exports.method = method; | ||
var audioSearch = function audioSearch(q) { | ||
return api.apiRequest('audio.search', { q: q }); | ||
VkUniversalApi.prototype.setToken = function (token) { | ||
this.token = token; | ||
}; | ||
exports.audioSearch = audioSearch; | ||
if (typeof window !== 'undefined') { | ||
window.vk = module.exports; | ||
} | ||
exports['default'] = new VkUniversalApi(); | ||
module.exports = exports['default']; |
{ | ||
"name": "vk-universal-api", | ||
"version": "0.0.2", | ||
"version": "0.1.0", | ||
"description": "vk-universal-api", | ||
@@ -27,3 +27,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"universal-api": "0.0.1" | ||
"universal-api": "^0.1.0" | ||
}, | ||
@@ -30,0 +30,0 @@ "devDependencies": { |
# vk-universal-api | ||
works both on server and in browser via jsonp | ||
> Convenience wrapper for [vk.com api](https://vk.com/dev/methods) to interact both from node and browsers (via bundlers like browserify or webpack) | ||
@@ -14,12 +14,16 @@ ## Install | ||
```javascript | ||
var api = require('vk-universal-api'); | ||
api.setToken(<string>); | ||
import api from 'vk-universal-api'; | ||
api.setToken('<string>'); | ||
api.method('audio.search', { q: 'noisia' }).then(function(result) { | ||
// result | ||
}); | ||
api | ||
.get('audio.search', { q: 'noisia' }) | ||
.then(([count, ...audios]) => {}); | ||
``` | ||
## Changelog | ||
- `v0.1.0` - breaking changes due to `universal-api` refactoring | ||
## License | ||
MIT © [ewnd9](http://ewnd9.com) |
@@ -1,39 +0,24 @@ | ||
var UniversalApi = require('universal-api'); | ||
import UniversalApi from 'universal-api'; | ||
var token = null; | ||
export var setToken = (_token) => token = _token; | ||
var api = new UniversalApi('https://api.vk.com/method/', { | ||
jsonp: true, | ||
transformRequest: function(method, params) { | ||
params.access_token = token; | ||
return params; | ||
}, | ||
transformResponse: function(res, resolve, reject) { | ||
if (res.body.error) { | ||
// console.log(res.body.error); | ||
reject(res.body.error); | ||
} else if (res.body.response) { | ||
if (res.body.response.shift) { | ||
var count = res.body.response.shift(); | ||
resolve({ | ||
meta: count, | ||
items: res.body.response | ||
}); | ||
function VkUniversalApi() { | ||
UniversalApi.call(this, { | ||
baseUrl: 'https://api.vk.com/method/', | ||
jsonp: true, | ||
query: () => ({ access_token: this.token }), | ||
transformResponse: response => { | ||
if (response.response) { | ||
return response.response; | ||
} else { | ||
resolve(res.body.response); | ||
throw response.error; | ||
} | ||
} | ||
} | ||
}); | ||
}); | ||
}; | ||
export var method = api.apiRequest; | ||
VkUniversalApi.prototype = Object.create(UniversalApi.prototype); | ||
export var audioSearch = function(q) { | ||
return api.apiRequest('audio.search', { q: q }); | ||
VkUniversalApi.prototype.setToken = function(token) { | ||
this.token = token; | ||
}; | ||
if (typeof window !== 'undefined') { | ||
window.vk = module.exports; | ||
} | ||
export default new VkUniversalApi(); |
@@ -7,10 +7,13 @@ var fs = require('fs'); [0/33] | ||
var lib = require('./../src/index'); | ||
lib.setToken(process.env['VK_TOKEN']); | ||
lib.setToken(process.env.VK_TOKEN); | ||
it('audio.search', function(done) { | ||
it('audio.search success', function(done) { | ||
this.timeout(10000); | ||
lib.method('audio.search', { q: 'noisia' }).then(function(result) { | ||
expect(result.meta).to.be.above(700000); | ||
expect(result.items.length).to.equal(30); | ||
lib.get('audio.search', { q: 'noisia' }).then(function(result) { | ||
const [count, ...audio] = result; | ||
expect(count).to.be.above(200000); | ||
expect(audio.length).to.equal(30); | ||
done(); | ||
@@ -20,2 +23,13 @@ }); | ||
it('wall.editComment throw error', function(done) { | ||
this.timeout(10000); | ||
lib.get('wall.editComment', {}).then(function(result) { | ||
done('fail'); | ||
}).catch(err => { | ||
expect(err.error_msg).to.equal('Access denied: no access to call this method'); | ||
done(); | ||
}); | ||
}); | ||
}); |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
29
16%4076
-1.07%73
-17.05%+ Added
- Removed
Updated