UNPKG

panda-sky-client

Version:

Auto-assembling client for APIs deployed with Panda Sky

67 lines (50 loc) 4.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _log = _interopRequireDefault(require("./log")); var _assemble = _interopRequireDefault(require("./assemble")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var skyClient; skyClient = async function (discoveryURL, options) { var _headers, fetch, headers, k, lib, logging, resources, response, v, validator; if (options != null) { ({ fetch, validator, logging, headers = {} } = options); } if ((fetch != null ? fetch : fetch = typeof window !== "undefined" && window !== null ? window.fetch : void 0) == null) { throw new Error("Provide fetch API, ex: fetch-h2"); } // Provides debug level logging on network traffic from the client. Defaults to false. if (logging != null) { fetch = (0, _log.default)(fetch); } // Fetch from the discovery endpoint and parse, _headers = { Accept: "application/json" }; for (k in headers) { v = headers[k]; _headers[k] = v; } response = await fetch(discoveryURL, { method: "GET", headers: _headers }); ({ resources } = await response.json()); // lib is the low level interfaces to make and validate the HTTP request. lib = { fetch, validator, headers }; // assemble the client for external use. return (0, _assemble.default)(lib, discoveryURL, resources); }; var _default = skyClient; exports.default = _default; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9kYXZpZC9yZXBvcy9wYW5kYS1za3ktY2xpZW50L3NyYy9pbmRleC5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7O0FBREEsSUFBQSxTQUFBOztBQUdBLFNBQUEsR0FBWSxnQkFBQSxZQUFBLEVBQUEsT0FBQSxFQUFBO0FBQ1YsTUFBQSxRQUFBLEVBQUEsS0FBQSxFQUFBLE9BQUEsRUFBQSxDQUFBLEVBQUEsR0FBQSxFQUFBLE9BQUEsRUFBQSxTQUFBLEVBQUEsUUFBQSxFQUFBLENBQUEsRUFBQSxTQUFBOztBQUFBLE1BQUcsT0FBQSxJQUFILElBQUEsRUFBQTtBQUNFLEtBQUE7QUFBQSxNQUFBLEtBQUE7QUFBQSxNQUFBLFNBQUE7QUFBQSxNQUFBLE9BQUE7QUFBNEIsTUFBQSxPQUFBLEdBQTVCO0FBQUEsUUFERixPQUNFOzs7QUFFRixNQUFJLENBQUEsS0FBQSxJQUFBLElBQUEsR0FBQSxLQUFBLEdBQUEsS0FBQSxHQUFBLE9BQUEsTUFBQSxLQUFBLFdBQUEsSUFBQSxNQUFBLEtBQUEsSUFBQSxHQUFBLE1BQUEsQ0FBQSxLQUFBLEdBQUEsS0FBQSxDQUFBLEtBQUosSUFBQSxFQUFBO0FBQ0UsVUFBTSxJQUFBLEtBQUEsQ0FEUixpQ0FDUSxDQUFOO0FBSkYsR0FEVSxDOzs7QUFRVixNQUFHLE9BQUEsSUFBSCxJQUFBLEVBQUE7QUFDRSxJQUFBLEtBQUEsR0FBUSxrQkFEVixLQUNVLENBQVI7QUFSRixHQURVLEM7OztBQVlWLEVBQUEsUUFBQSxHQUFXO0FBQUEsSUFBQSxNQUFBLEVBQVE7QUFBUixHQUFYOztBQUNnQixPQUFBLENBQUEsSUFBQSxPQUFBLEVBQUE7O0FBQWhCLElBQUEsUUFBUyxDQUFULENBQVMsQ0FBVCxHQUFjLENBQWQ7QUFBZ0I7O0FBRWhCLEVBQUEsUUFBQSxHQUFXLE1BQU0sS0FBQSxDQUFBLFlBQUEsRUFDZjtBQUFBLElBQUEsTUFBQSxFQUFBLEtBQUE7QUFDQSxJQUFBLE9BQUEsRUFBUztBQURULEdBRGUsQ0FBakI7QUFJQSxHQUFBO0FBQUEsSUFBQTtBQUFBLE1BQWMsTUFBTSxRQUFRLENBbEI1QixJQWtCb0IsRUFBcEIsRUFuQlUsQzs7QUFzQlYsRUFBQSxHQUFBLEdBQU07QUFBQSxJQUFBLEtBQUE7QUFBQSxJQUFBLFNBQUE7QUFyQk4sSUFBQTtBQXFCTSxHQUFOLENBdEJVLEM7O1NBeUJWLHVCQUFBLEdBQUEsRUFBQSxZQUFBLEVBQUEsU0FBQSxDO0FBekJVLENBQVo7O2VBMkJlLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbG9nIGZyb20gXCIuL2xvZ1wiXG5pbXBvcnQgYXNzZW1ibGUgZnJvbSBcIi4vYXNzZW1ibGVcIlxuXG5za3lDbGllbnQgPSAoZGlzY292ZXJ5VVJMLCBvcHRpb25zKSAtPlxuICBpZiBvcHRpb25zP1xuICAgIHtmZXRjaCwgdmFsaWRhdG9yLCBsb2dnaW5nLCBoZWFkZXJzPXt9fSA9IG9wdGlvbnNcbiAgIyBJbiB0aGUgYnJvd3Nlciwgd2UgaGF2ZSBhY2Nlc3MgdG8gdGhlIEZldGNoIEFQSSwgYnV0IGluIE5vZGUsIHlvdSBuZWVkIHRvIHN1cHBseSB5b3VyIG93bi5cbiAgaWYgIShmZXRjaCA/PSB3aW5kb3c/LmZldGNoKT9cbiAgICB0aHJvdyBuZXcgRXJyb3IgXCJQcm92aWRlIGZldGNoIEFQSSwgZXg6IGZldGNoLWgyXCJcblxuICAjIFByb3ZpZGVzIGRlYnVnIGxldmVsIGxvZ2dpbmcgb24gbmV0d29yayB0cmFmZmljIGZyb20gdGhlIGNsaWVudC4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gIGlmIGxvZ2dpbmc/XG4gICAgZmV0Y2ggPSBsb2cgZmV0Y2hcblxuICAjIEZldGNoIGZyb20gdGhlIGRpc2NvdmVyeSBlbmRwb2ludCBhbmQgcGFyc2UsXG4gIF9oZWFkZXJzID0gQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIlxuICBfaGVhZGVyc1trXSA9IHYgZm9yIGssIHYgb2YgaGVhZGVyc1xuXG4gIHJlc3BvbnNlID0gYXdhaXQgZmV0Y2ggZGlzY292ZXJ5VVJMLFxuICAgIG1ldGhvZDogXCJHRVRcIlxuICAgIGhlYWRlcnM6IF9oZWFkZXJzXG5cbiAge3Jlc291cmNlc30gPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAjIGxpYiBpcyB0aGUgbG93IGxldmVsIGludGVyZmFjZXMgdG8gbWFrZSBhbmQgdmFsaWRhdGUgdGhlIEhUVFAgcmVxdWVzdC5cbiAgbGliID0ge2ZldGNoLCB2YWxpZGF0b3IsIGhlYWRlcnN9XG5cbiAgIyBhc3NlbWJsZSB0aGUgY2xpZW50IGZvciBleHRlcm5hbCB1c2UuXG4gIGFzc2VtYmxlIGxpYiwgZGlzY292ZXJ5VVJMLCByZXNvdXJjZXNcblxuZXhwb3J0IGRlZmF1bHQgc2t5Q2xpZW50XG4iXSwic291cmNlUm9vdCI6IiJ9 //# sourceURL=/Users/david/repos/panda-sky-client/src/index.coffee