export var JobType;
(function (JobType) {
    JobType["COMPILE_PROJECT"] = "COMPILE_PROJECT";
    JobType["CREATE_PROJECT"] = "CREATE_PROJECT";
})(JobType || (JobType = {}));
export var JobStatusType;
(function (JobStatusType) {
    JobStatusType["STARTED"] = "STARTED";
    JobStatusType["DONE"] = "DONE";
    JobStatusType["RUNNING"] = "RUNNING";
    JobStatusType["ERROR"] = "ERROR";
})(JobStatusType || (JobStatusType = {}));
export var JobStepStatusType;
(function (JobStepStatusType) {
    JobStepStatusType["DONE"] = "DONE";
    JobStepStatusType["RUNNING"] = "RUNNING";
    JobStepStatusType["ERROR"] = "ERROR";
    JobStepStatusType["PENDING"] = "PENDING";
    JobStepStatusType["SKIPPED"] = "SKIPPED";
})(JobStepStatusType || (JobStepStatusType = {}));
export var JobStepType;
(function (JobStepType) {
    /* CLONING = 'CLONING',
    INSTALLING_DEPENDENCIES = 'INSTALLING_DEPENDENCIES',
    COMPILING_DBT = 'COMPILING_DBT',
    GETTING_SCHEMA = 'GETTING_SCHEMA',
    COMPILING_METRICS = 'COMPILING_METRICS', */
    JobStepType["TESTING_ADAPTOR"] = "TESTING_ADAPTOR";
    JobStepType["COMPILING"] = "COMPILING";
    JobStepType["CREATING_PROJECT"] = "CREATING_PROJECT";
    JobStepType["CACHING"] = "CACHING";
})(JobStepType || (JobStepType = {}));
export const JobLabels = {
    /* CLONING: 'Cloning dbt project from Github',
    INSTALLING_DEPENDENCIES: 'Installing dbt project dependencies',
    COMPILING_DBT: 'Compiling dbt project',
    GETTING_SCHEMA: 'Getting latest data warehouse schema',
    COMPILING_METRICS: 'Compiling metrics & dimensions', */
    TESTING_ADAPTOR: 'Testing adaptor',
    COMPILING: 'Compiling',
    CREATING_PROJECT: 'Creating project',
    CACHING: 'Saving cache',
};
export function isCompileJob(value) {
    return (typeof value === 'object' &&
        value != null &&
        'jobType' in value &&
        value.jobType === JobType.COMPILE_PROJECT);
}
export function isCreateProjectJob(value) {
    return (typeof value === 'object' &&
        value != null &&
        'jobType' in value &&
        value.jobType === JobType.CREATE_PROJECT);
}
export function isDbtLog(value) {
    return (typeof value === 'object' &&
        value != null &&
        'info' in value &&
        typeof value.info === 'object' &&
        typeof value.info != null &&
        'level' in value.info &&
        typeof value.info.level === 'string' &&
        'msg' in value.info &&
        typeof value.info.msg === 'string');
}
//# sourceMappingURL=job.js.map