@jaketb/node-fred
Version:
Another nodejs wrapper for the st louis fed
282 lines (243 loc) • 10.5 kB
JavaScript
;
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