belvo
Version:
The node.js module for the Belvo API
216 lines (180 loc) • 7.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
var id = 0;
function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
var _endpoint = /*#__PURE__*/_classPrivateFieldLooseKey("endpoint");
/** Represents a Belvo API resource */
var Resource = /*#__PURE__*/function () {
/**
* Instantiate a resource.
* @param {APISession} session - Belvo API session.
*/
function Resource(session) {
_classCallCheck(this, Resource);
Object.defineProperty(this, _endpoint, {
writable: true,
value: null
});
this.session = session;
}
/**
* Get a list of resources.
* @async
* @param {Object} params - Receives two parameters.
* @param {number} [params.limit=100] - Maximum number of results.
* @param {Object} [params.filters={}] - Filters to get custom results.
* @returns {array} List of results.
* @throws {RequestError}
*/
_createClass(Resource, [{
key: "list",
value: function () {
var _list = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var _ref,
_ref$limit,
limit,
_ref$filters,
filters,
result,
_args = arguments;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_ref = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref$limit = _ref.limit, limit = _ref$limit === void 0 ? 100 : _ref$limit, _ref$filters = _ref.filters, filters = _ref$filters === void 0 ? {} : _ref$filters;
_context.next = 3;
return this.session.list(_classPrivateFieldLooseBase(this, _endpoint)[_endpoint], limit, filters);
case 3:
result = _context.sent;
return _context.abrupt("return", result);
case 5:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function list() {
return _list.apply(this, arguments);
}
return list;
}()
/**
* Get specific record details.
* @async
* @param {string} id - UUID4 representation of the resource Id.
* @returns {object}
* @throws {RequestError}
*/
}, {
key: "detail",
value: function () {
var _detail = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(id) {
var result;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return this.session.get(_classPrivateFieldLooseBase(this, _endpoint)[_endpoint], id);
case 2:
result = _context2.sent;
return _context2.abrupt("return", result);
case 4:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function detail(_x) {
return _detail.apply(this, arguments);
}
return detail;
}()
/**
* Delete specific record.
* @async
* @param {string} id - UUID4 representation of the resource Id.
* @returns {boolean} When the record is successfuly deleted returns true, otherwise false.
*/
}, {
key: "delete",
value: function () {
var _delete2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(id) {
var result;
return regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this.session["delete"](_classPrivateFieldLooseBase(this, _endpoint)[_endpoint], id);
case 2:
result = _context3.sent;
return _context3.abrupt("return", result);
case 4:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function _delete(_x2) {
return _delete2.apply(this, arguments);
}
return _delete;
}()
/**
* Resume a "pending" session that requires an OTP token.
* Use this function to resume sessions that returned HTTP 428 status code.
* @async
* @param {string} session - UUID4 representation of a "pending" session.
* @param {string} token - OTP token.
* @param {string} link - UUID4 representation of the link being used.
* @returns {object} Response.
* @throws {RequestError}
*/
}, {
key: "resume",
value: function () {
var _resume = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(session, token, link) {
var result;
return regeneratorRuntime.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return this.session.patch(_classPrivateFieldLooseBase(this, _endpoint)[_endpoint], {
session: session,
token: token,
link: link
});
case 2:
result = _context4.sent;
return _context4.abrupt("return", result);
case 4:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function resume(_x3, _x4, _x5) {
return _resume.apply(this, arguments);
}
return resume;
}()
}]);
return Resource;
}();
var _default = Resource;
exports["default"] = _default;