refactor: remove grunt and babel

remove grunt from dependencies, and use transformed code instead using babel/register.
change API a litte
This commit is contained in:
Ali Movahedi
2016-03-28 00:59:00 +04:30
parent 8e14a026df
commit e5c25bd9c1
44 changed files with 576 additions and 1446 deletions

View File

@ -1,18 +1,18 @@
// API methods
'use strict';
Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
var _fetch = require('./fetch');
var _fetch2 = _interopRequireDefault(_fetch);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } // API methods
/**
* API class, has a function for each method of the Telegram API which take
* an object argument, and send request to the API server
@ -33,10 +33,11 @@ function API(token) {
this.token = token;
};
exports['default'] = API;
exports.default = API;
API.prototype.request = function request(method, data) {
return (0, _fetch2['default'])(this.token + '/' + method, data);
return (0, _fetch2.default)(this.token + '/' + method, data);
};
var methods = ['getMe', 'sendMessage', 'forwardMessage', 'sendPhoto', 'sendAudio', 'sendDocument', 'sendSticker', 'sendVideo', 'sendLocation', 'sendChatAction', 'getUserProfilePhotos', 'getUpdates', 'setWebhook'];

View File

@ -1,12 +1,12 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })();
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
exports['default'] = argumentParser;
exports.default = argumentParser;
var FORMAT_REQUIRED = /<(\W*)(\w+)\|?(\w+)?>/g;
var FORMAT_OPTIONAL = /\[(\W*)(\w+)\|?(\w+)?\]/g;
var FORMAT_REST = /\.{3}(\w+)/g;
@ -45,7 +45,6 @@ var REST = 2;
* @param {string} string The message to parse
* @return {object} Parsed arguments
*/
function argumentParser(format, string) {
string = string.replace(/[^\s]+/, '').trim();
format = format.replace(/[^\s]+/, '').trim();
@ -56,15 +55,17 @@ function argumentParser(format, string) {
params = {};
format = format.replace(/\s/g, '\\s*');
format = format.replace(FORMAT_REQUIRED, function (f, symbols, arg, type, offset) {
if (type === undefined) type = 'word';
format = format.replace(FORMAT_REQUIRED, function (f, symbols, arg) {
var type = arguments.length <= 3 || arguments[3] === undefined ? 'word' : arguments[3];
var offset = arguments[4];
indexes.push({ arg: arg, offset: offset });
params[arg] = REQUIRED;
return (escape(symbols) + getFormat(type, 'required')).trim();
});
format = format.replace(FORMAT_OPTIONAL, function (f, symbols, arg, type, offset) {
if (type === undefined) type = 'word';
format = format.replace(FORMAT_OPTIONAL, function (f, symbols, arg) {
var type = arguments.length <= 3 || arguments[3] === undefined ? 'word' : arguments[3];
var offset = arguments[4];
indexes.push({ arg: arg, offset: offset });
params[arg] = OPTIONAL;
@ -107,8 +108,8 @@ function argumentParser(format, string) {
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
@ -121,7 +122,7 @@ function argumentParser(format, string) {
}
function escape(symbols) {
var append = arguments[1] === undefined ? '' : arguments[1];
var append = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1];
return symbols.split('').map(function (symbol) {
return (ESCAPABLE.indexOf(symbol) ? '\\' + symbol : symbol) + append;
@ -134,8 +135,8 @@ var TYPES = {
};
function getFormat() {
var type = arguments[0] === undefined ? 'word' : arguments[0];
var param = arguments[1] === undefined ? 'required' : arguments[1];
var type = arguments.length <= 0 || arguments[0] === undefined ? 'word' : arguments[0];
var param = arguments.length <= 1 || arguments[1] === undefined ? 'required' : arguments[1];
var t = TYPES[type];

View File

@ -1,19 +1,19 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = fetch;
exports.default = fetch;
exports.getBody = getBody;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _unirest = require('unirest');
var _unirest2 = _interopRequireDefault(_unirest);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function fetch(path) {
var data = arguments[1] === undefined ? {} : arguments[1];
var data = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
return new Promise(function (resolve, reject) {
var files = {};
@ -36,8 +36,8 @@ function fetch(path) {
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
@ -46,7 +46,7 @@ function fetch(path) {
}
}
_unirest2['default'].post('https://api.telegram.org/bot' + path).field(data).attach(files).end(function (response) {
_unirest2.default.post('https://api.telegram.org/bot' + path).field(data).attach(files).end(function (response) {
if (response.statusType === 4 || response.statusType === 5 || !response.body || !response.body.ok) {
reject(response);
} else {

View File

@ -1,10 +1,9 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = poll;
exports.default = poll;
function poll(bot) {
return bot.api.getUpdates(bot.update).then(function (response) {
if (!response.result.length) {
@ -16,5 +15,4 @@ function poll(bot) {
return poll(bot);
});
}
module.exports = exports['default'];

View File

@ -1,11 +1,9 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports['default'] = webhook;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports.default = webhook;
var _http = require('http');
@ -17,26 +15,28 @@ var _qs2 = _interopRequireDefault(_qs);
var _fetch = require('./fetch');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var DEFAULTS = {
server: {},
port: 443
};
function webhook(options, bot) {
if (options === undefined) options = {};
function webhook() {
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var bot = arguments[1];
options = Object.assign(DEFAULTS, options);
return bot.api.setWebhook(options.url).then(function () {
bot._webhookServer = _http2['default'].createServer(options.server, function (req, res) {
bot._webhookServer = _http2.default.createServer(options.server, function (req, res) {
return (0, _fetch.getBody)(req).then(function (data) {
bot.emit('update', _qs2['default'].parse(data).result);
bot.emit('update', _qs2.default.parse(data).result);
res.end('OK');
});
}).listen(options.port);
});
}
module.exports = exports['default'];