Files
release-action/src/ArtifactUploader.ts
2019-09-02 21:17:47 -04:00

24 lines
701 B
TypeScript

import { Artifact } from "./Artifact";
import { Releases } from "./Releases";
export interface ArtifactUploader {
uploadArtifacts(artifacts: Artifact[], uploadUrl: string): void
}
export class GithubArtifactUploader implements ArtifactUploader {
private releases: Releases
constructor(releases: Releases) {
this.releases = releases
}
async uploadArtifacts(artifacts: Artifact[], uploadUrl: string) {
artifacts.forEach(async artifact => {
await this.releases.uploadArtifact(uploadUrl,
artifact.contentLength,
artifact.contentType,
artifact.readFile(),
artifact.name)
});
}
}