UNPKG

gatsby-source-buzzsprout

Version:
74 lines (60 loc) 2.91 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // const qs = require('qs'); var fetch = require('node-fetch'); /** * Todos: */ var Buzzsprout = function Buzzsprout(_ref) { var _this = this; var token = _ref.token, podcastId = _ref.podcastId; (0, _defineProperty2.default)(this, "setHeaders", function (headers) { if (headers === void 0) { headers = {}; } // extract auth values to avoid potential bugs var _headers = headers, Authorization = _headers.Authorization, authorization = _headers.authorization, newHeaders = (0, _objectWithoutPropertiesLoose2.default)(_headers, ["Authorization", "authorization"]); var currentHeaders = _this.headers; _this.headers = _objectSpread({}, currentHeaders, {}, newHeaders); }); (0, _defineProperty2.default)(this, "request", function (path, params, method) { if (path === void 0) { path = ''; } if (params === void 0) { params = {}; } if (method === void 0) { method = 'GET'; } // TODO: let query = qs.stringify(params) || ''; var url = _this.baseUrl + path; return fetch(url, { method: method, headers: _this.headers, cache: 'default' }); }); (0, _defineProperty2.default)(this, "getEpisodes", function () { return _this.request('/episodes.json').then(function (res) { return res.json(); }).catch(console.error); }); this.token = token; this.podcastId = podcastId; this.headers = { 'Access-Control-Allow-Origin': '*', Authorization: "Token token=" + this.token, 'Content-Type': 'application/json' }; this.baseUrl = "https://www.buzzsprout.com/api/" + this.podcastId; }; module.exports = Buzzsprout;