39 lines
1.5 KiB
JavaScript
39 lines
1.5 KiB
JavaScript
|
import { Deprecation } from "deprecation";
|
||
|
import endpointsByScope from "./generated/endpoints";
|
||
|
import { VERSION } from "./version";
|
||
|
import { registerEndpoints } from "./register-endpoints";
|
||
|
/**
|
||
|
* This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary
|
||
|
* goal is to rebuild @octokit/rest on top of @octokit/core. Once that is
|
||
|
* done, we will remove the registerEndpoints methods and return the methods
|
||
|
* directly as with the other plugins. At that point we will also remove the
|
||
|
* legacy workarounds and deprecations.
|
||
|
*
|
||
|
* See the plan at
|
||
|
* https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1
|
||
|
*/
|
||
|
export function restEndpointMethods(octokit) {
|
||
|
// @ts-ignore
|
||
|
octokit.registerEndpoints = registerEndpoints.bind(null, octokit);
|
||
|
registerEndpoints(octokit, endpointsByScope);
|
||
|
// Aliasing scopes for backward compatibility
|
||
|
// See https://github.com/octokit/rest.js/pull/1134
|
||
|
[
|
||
|
["gitdata", "git"],
|
||
|
["authorization", "oauthAuthorizations"],
|
||
|
["pullRequests", "pulls"]
|
||
|
].forEach(([deprecatedScope, scope]) => {
|
||
|
Object.defineProperty(octokit, deprecatedScope, {
|
||
|
get() {
|
||
|
octokit.log.warn(
|
||
|
// @ts-ignore
|
||
|
new Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`));
|
||
|
// @ts-ignore
|
||
|
return octokit[scope];
|
||
|
}
|
||
|
});
|
||
|
});
|
||
|
return {};
|
||
|
}
|
||
|
restEndpointMethods.VERSION = VERSION;
|