UNPKG

@octokit/request

Version:

Send parameterized requests to GitHub's APIs with sensible defaults in browsers and Node

28 lines (27 loc) 862 B
import fetchWrapper from "./fetch-wrapper.js"; function withDefaults(oldEndpoint, newDefaults) { const endpoint = oldEndpoint.defaults(newDefaults); const newApi = function(route, parameters) { const endpointOptions = endpoint.merge(route, parameters); if (!endpointOptions.request || !endpointOptions.request.hook) { return fetchWrapper(endpoint.parse(endpointOptions)); } const request = (route2, parameters2) => { return fetchWrapper( endpoint.parse(endpoint.merge(route2, parameters2)) ); }; Object.assign(request, { endpoint, defaults: withDefaults.bind(null, endpoint) }); return endpointOptions.request.hook(request, endpointOptions); }; return Object.assign(newApi, { endpoint, defaults: withDefaults.bind(null, endpoint) }); } export { withDefaults as default };