| 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; |