38 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
/* eslint-disable @typescript-eslint/no-require-imports */
 | 
						|
class Context {
 | 
						|
    /**
 | 
						|
     * Hydrate the context from the environment
 | 
						|
     */
 | 
						|
    constructor() {
 | 
						|
        this.payload = process.env.GITHUB_EVENT_PATH
 | 
						|
            ? require(process.env.GITHUB_EVENT_PATH)
 | 
						|
            : {};
 | 
						|
        this.eventName = process.env.GITHUB_EVENT_NAME;
 | 
						|
        this.sha = process.env.GITHUB_SHA;
 | 
						|
        this.ref = process.env.GITHUB_REF;
 | 
						|
        this.workflow = process.env.GITHUB_WORKFLOW;
 | 
						|
        this.action = process.env.GITHUB_ACTION;
 | 
						|
        this.actor = process.env.GITHUB_ACTOR;
 | 
						|
    }
 | 
						|
    get issue() {
 | 
						|
        const payload = this.payload;
 | 
						|
        return Object.assign({}, this.repo, { number: (payload.issue || payload.pullRequest || payload).number });
 | 
						|
    }
 | 
						|
    get repo() {
 | 
						|
        if (process.env.GITHUB_REPOSITORY) {
 | 
						|
            const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
 | 
						|
            return { owner, repo };
 | 
						|
        }
 | 
						|
        if (this.payload.repository) {
 | 
						|
            return {
 | 
						|
                owner: this.payload.repository.owner.login,
 | 
						|
                repo: this.payload.repository.name
 | 
						|
            };
 | 
						|
        }
 | 
						|
        throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
 | 
						|
    }
 | 
						|
}
 | 
						|
exports.Context = Context;
 | 
						|
//# sourceMappingURL=context.js.map
 |