UNPKG

belvo

Version:
216 lines (180 loc) 7.51 kB
"use strict"; 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;