UNPKG

@jaketb/node-fred

Version:

Another nodejs wrapper for the st louis fed

282 lines (243 loc) 10.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _api = _interopRequireDefault(require("../api")); var _releaseBuilder = _interopRequireDefault(require("./Builders/releaseBuilder")); 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"); } } 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; } var Releases = /*#__PURE__*/ function () { function Releases(apiKey, returnType) { _classCallCheck(this, Releases); this.apiKey = apiKey; this.returnType = returnType; this.releaseBuilder = new _releaseBuilder["default"](); } /** * Gets all releases of economic data. * @param {Object} params * @returns {Promise} Resolves with all releases of economic data or errors out */ _createClass(Releases, [{ key: "getAllReleases", value: function getAllReleases(params) { var _this = this; return new Promise(function (resolve, reject) { try { var url = _this.releaseBuilder.setAPIKey(_this.apiKey).setFileType(_this.returnType).setRealTimeStart(params).setRealTimeEnd(params).setLimit(params).setOffset(params).setOrderBy(params).setSortOrder(params).getUrl(); _api["default"].get("releases?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Gets release dates for all releases of economic data. * @param {Object} params * @returns {Promise} Resolves with all releases dates of economic data or errors out */ }, { key: "getAllReleasesWithDates", value: function getAllReleasesWithDates(params) { var _this2 = this; return new Promise(function (resolve, reject) { try { var url = _this2.releaseBuilder.setAPIKey(_this2.apiKey).setFileType(_this2.returnType).setRealTimeStart(params).setRealTimeEnd(params).setLimit(params).setOffset(params).setOrderBy(params).setSortOrder(params).setIncludeRelatedDatesWithNoData(params).getUrl(); _api["default"].get("releases/dates?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Gets a release of economic data. * @param {Number} releaseId * @param {Object} params * @returns {Promise} Resolves with all releases dates of economic data or errors out */ }, { key: "getRelease", value: function getRelease(releaseId) { var _this3 = this; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { try { var url = _this3.releaseBuilder.setAPIKey(_this3.apiKey).setFileType(_this3.returnType).setReleaseId(releaseId).setRealTimeStart(params).setRealTimeEnd(params).getUrl(); _api["default"].get("release?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Get release dates for a release of economic data. * @param {Number} releaseId * @param {Object} params * @returns {Promise} Resolves with all releases dates of economic data or errors out */ }, { key: "getReleaseWithDates", value: function getReleaseWithDates(releaseId) { var _this4 = this; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { try { var url = _this4.releaseBuilder.setAPIKey(_this4.apiKey).setFileType(_this4.returnType).setReleaseId(releaseId).setRealTimeStart(params).setRealTimeEnd(params).setLimit(params).setOffset(params).setSortOrder(params).setIncludeRelatedDatesWithNoData(params).getUrl(); _api["default"].get("release/dates?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Gets the series on a release of economic data. * @param {Number} releaseId * @param {Object} params * @returns {Promise} Resolves with the series on a release of economic data or errors out */ }, { key: "getSeriesForRelease", value: function getSeriesForRelease(releaseId) { var _this5 = this; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { try { var url = _this5.releaseBuilder.setAPIKey(_this5.apiKey).setFileType(_this5.returnType).setReleaseId(releaseId).setRealTimeStart(params).setRealTimeEnd(params).setLimit(params).setOffset(params).setSortOrder(params).setOrderBy(params).setFilterVariable(params).setFilterValue(params).setTagNames(params).setExcludeTagNames(params).getUrl(); _api["default"].get("release/series?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Gets the sources for a release of economic data. * @param {Number} releaseId * @param {Object} params * @returns {Promise} Resolves with the sources for a release of economic data or errors out */ }, { key: "getSourcesForRelease", value: function getSourcesForRelease(releaseId) { var _this6 = this; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { try { var url = _this6.releaseBuilder.setAPIKey(_this6.apiKey).setFileType(_this6.returnType).setReleaseId(releaseId).setRealTimeStart(params).setRealTimeEnd(params).getUrl(); _api["default"].get("release/sources?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Gets the FRED tags for a release. * @param {Number} releaseId * @param {Object} params * @returns {Promise} Resolves with the sources for a release of economic data or errors out */ }, { key: "getTagsForRelease", value: function getTagsForRelease(releaseId) { var _this7 = this; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { try { var url = _this7.releaseBuilder.setAPIKey(_this7.apiKey).setFileType(_this7.returnType).setReleaseId(releaseId).setRealTimeStart(params).setRealTimeEnd(params).setLimit(params).setOffset(params).setSortOrder(params).setOrderBy(params).setTagNames(params).setTagGroupId(params).setSearchText(params).getUrl(); _api["default"].get("release/tags?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Get the related FRED tags for one or more FRED tags within a release. * @param {Number} releaseId * @param {String} tagNames * @param {Object} params * @returns {Promise} Resolves with the related FRED tags for * one or more FRED tags within a release or errors out */ }, { key: "getRelatedTagsForRelease", value: function getRelatedTagsForRelease(releaseId, tagNames) { var _this8 = this; var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; return new Promise(function (resolve, reject) { try { var url = _this8.releaseBuilder.setAPIKey(_this8.apiKey).setFileType(_this8.returnType).setReleaseId(releaseId).setRealTimeStart(params).setRealTimeEnd(params).setLimit(params).setOffset(params).setSortOrder(params).setOrderBy(params).setTagNames({ tag_names: tagNames }).setExcludeTagNames(params).setTagGroupId(params).setSearchText(params).getUrl(); _api["default"].get("release/related_tags?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } /** * Gets release table trees for a given release. * @param {Number} releaseId * @param {Object} params * @returns {Promise} Resolves with the release table * trees for a given release or errors out */ }, { key: "getTableTreesForRelease", value: function getTableTreesForRelease(releaseId) { var _this9 = this; var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return new Promise(function (resolve, reject) { try { var url = _this9.releaseBuilder.setAPIKey(_this9.apiKey).setFileType(_this9.returnType).setReleaseId(releaseId).setElementId(params).setIncludeObservationValues(params).setObservationDate(params).getUrl(); _api["default"].get("release/tables?".concat(url)).then(function (res) { resolve(res.data); })["catch"](function (err) { reject(err); }); } catch (e) { reject(e); } }); } }]); return Releases; }(); var _default = Releases; exports["default"] = _default; //# sourceMappingURL=releases.js.map