| 55 | }; |
| 56 | |
| 57 | export interface Releaser { |
| 58 | getReleaseByTag(params: { owner: string; repo: string; tag: string }): Promise<{ data: Release }>; |
| 59 | |
| 60 | createRelease(params: ReleaseMutationParams): Promise<{ data: Release }>; |
| 61 | |
| 62 | updateRelease( |
| 63 | params: ReleaseMutationParams & { |
| 64 | release_id: number; |
| 65 | target_commitish: string; |
| 66 | }, |
| 67 | ): Promise<{ data: Release }>; |
| 68 | |
| 69 | finalizeRelease(params: { |
| 70 | owner: string; |
| 71 | repo: string; |
| 72 | release_id: number; |
| 73 | make_latest: 'true' | 'false' | 'legacy' | undefined; |
| 74 | discussion_category_name: string | undefined; |
| 75 | }): Promise<{ data: Release }>; |
| 76 | |
| 77 | allReleases(params: { owner: string; repo: string }): AsyncIterable<{ data: Release[] }>; |
| 78 | |
| 79 | listReleaseAssets(params: { |
| 80 | owner: string; |
| 81 | repo: string; |
| 82 | release_id: number; |
| 83 | }): Promise<Array<{ id: number; name: string; label?: string | null; [key: string]: any }>>; |
| 84 | |
| 85 | deleteReleaseAsset(params: { owner: string; repo: string; asset_id: number }): Promise<void>; |
| 86 | |
| 87 | deleteRelease(params: { owner: string; repo: string; release_id: number }): Promise<void>; |
| 88 | |
| 89 | updateReleaseAsset(params: { |
| 90 | owner: string; |
| 91 | repo: string; |
| 92 | asset_id: number; |
| 93 | name: string; |
| 94 | label: string; |
| 95 | }): Promise<{ data: any }>; |
| 96 | |
| 97 | uploadReleaseAsset(params: { |
| 98 | url: string; |
| 99 | size: number; |
| 100 | mime: string; |
| 101 | token: string; |
| 102 | data: any; |
| 103 | }): Promise<{ status: number; data: any }>; |
| 104 | } |
| 105 | |
| 106 | export class GitHubReleaser implements Releaser { |
| 107 | github: GitHub; |
no outgoing calls
no test coverage detected