iterating over responses not releases

This commit is contained in:
softprops 2019-09-17 18:04:39 +09:00
parent a31211f9ff
commit fcf37b79bd
2 changed files with 10 additions and 16 deletions

View File

@ -71,14 +71,11 @@ exports.release = (config, releaser) => __awaiter(void 0, void 0, void 0, functi
owner, owner,
repo repo
})), _c; _c = yield _b.next(), !_c.done;) { })), _c; _c = yield _b.next(), !_c.done;) {
const release = _c.value; const response = _c.value;
console.log(`release`); let release = response.data.find(release => release.tag_name === tag);
console.log(release); if (release) {
console.log(release.data); return release;
if (tag == release.data.tag_name) {
return release.data;
} }
console.log(`release '${release.data.tag_name}' not equal to target tag '${tag}'`);
} }
} }
catch (e_1_1) { e_1 = { error: e_1_1 }; } catch (e_1_1) { e_1 = { error: e_1_1 }; }

View File

@ -36,7 +36,7 @@ export interface Releaser {
allReleases(params: { allReleases(params: {
owner: string; owner: string;
repo: string; repo: string;
}): AsyncIterableIterator<{ data: Release }>; }): AsyncIterableIterator<{ data: Release[] }>;
} }
export class GitHubReleaseer { export class GitHubReleaseer {
@ -67,7 +67,7 @@ export class GitHubReleaseer {
allReleases(params: { allReleases(params: {
owner: string; owner: string;
repo: string; repo: string;
}): AsyncIterableIterator<{ data: Release }> { }): AsyncIterableIterator<{ data: Release[] }> {
return this.github.paginate.iterator( return this.github.paginate.iterator(
this.github.repos.listReleases.endpoint.merge(params) this.github.repos.listReleases.endpoint.merge(params)
); );
@ -115,17 +115,14 @@ export const release = async (
// you can't get a an existing draft by tag // you can't get a an existing draft by tag
// so we must find one in the list of all releases // so we must find one in the list of all releases
if (config.input_draft) { if (config.input_draft) {
for await (const release of releaser.allReleases({ for await (const response of releaser.allReleases({
owner, owner,
repo repo
})) { })) {
console.log(`release`); let release = response.data.find(release => release.tag_name === tag);
console.log(release); if (release) {
console.log(release.data); return release;
if (tag == release.data.tag_name) {
return release.data;
} }
console.log(`release '${release.data.tag_name}' not equal to target tag '${tag}'`);
} }
} }
let release = await releaser.getReleaseByTag({ let release = await releaser.getReleaseByTag({