@versatiledatakit/data-pipelines
Version:
Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')
48 lines • 5.33 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
import { Inject, LOCALE_ID, Pipe } from '@angular/core';
import { PercentPipe } from '@angular/common';
import { CollectionsUtil } from '@versatiledatakit/shared';
import * as i0 from "@angular/core";
export class ExecutionSuccessRatePipe {
/**
* ** Constructor.
*/
constructor(localeId) {
this.localeId = localeId;
this._percentPipe = new PercentPipe(localeId);
}
/**
* @inheritDoc
*/
transform(deployments) {
let result = '';
if (CollectionsUtil.isArrayEmpty(deployments)) {
return result;
}
const firstDeployment = deployments[0];
const allExecutions = firstDeployment.successfulExecutions + firstDeployment.failedExecutions;
if (allExecutions === 0) {
return result;
}
result += this._percentPipe.transform(firstDeployment.successfulExecutions / allExecutions, '1.2-2');
if (firstDeployment.failedExecutions > 0) {
result += ` (${firstDeployment.failedExecutions} failed)`;
}
return result;
}
}
ExecutionSuccessRatePipe.ɵfac = function ExecutionSuccessRatePipe_Factory(t) { return new (t || ExecutionSuccessRatePipe)(i0.ɵɵdirectiveInject(LOCALE_ID, 16)); };
ExecutionSuccessRatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "executionSuccessRate", type: ExecutionSuccessRatePipe, pure: true });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExecutionSuccessRatePipe, [{
type: Pipe,
args: [{
name: 'executionSuccessRate'
}]
}], function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [LOCALE_ID]
}] }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLXN1Y2Nlc3MtcmF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1waXBlbGluZXMvc3JjL2xpYi9zaGFyZWQvcGlwZXMvZXhlY3V0aW9uLXN1Y2Nlc3MtcmF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQzs7T0FFRztJQUNILFlBQXdDLFFBQWdCO1FBQWhCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDcEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsV0FBZ0M7UUFDdEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLElBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMzQyxPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUVELE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1FBRTlGLElBQUksYUFBYSxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUVELE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsb0JBQW9CLEdBQUcsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXJHLElBQUksZUFBZSxDQUFDLGdCQUFnQixHQUFHLENBQUMsRUFBRTtZQUN0QyxNQUFNLElBQUksS0FBSyxlQUFlLENBQUMsZ0JBQWdCLFVBQVUsQ0FBQztTQUM3RDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2dHQWxDUSx3QkFBd0IsdUJBTWIsU0FBUztxR0FOcEIsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FIcEMsSUFBSTtlQUFDO2dCQUNGLElBQUksRUFBRSxzQkFBc0I7YUFDL0I7O3NCQU9nQixNQUFNO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjMtMjAyNSBCcm9hZGNvbVxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIExPQ0FMRV9JRCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGVyY2VudFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBDb2xsZWN0aW9uc1V0aWwgfSBmcm9tICdAdmVyc2F0aWxlZGF0YWtpdC9zaGFyZWQnO1xuXG5pbXBvcnQgeyBEYXRhSm9iRGVwbG95bWVudCB9IGZyb20gJy4uLy4uL21vZGVsJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdleGVjdXRpb25TdWNjZXNzUmF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgRXhlY3V0aW9uU3VjY2Vzc1JhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcGVyY2VudFBpcGU6IFBlcmNlbnRQaXBlO1xuXG4gICAgLyoqXG4gICAgICogKiogQ29uc3RydWN0b3IuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHJlYWRvbmx5IGxvY2FsZUlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGVyY2VudFBpcGUgPSBuZXcgUGVyY2VudFBpcGUobG9jYWxlSWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgdHJhbnNmb3JtKGRlcGxveW1lbnRzOiBEYXRhSm9iRGVwbG95bWVudFtdKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gICAgICAgIGlmIChDb2xsZWN0aW9uc1V0aWwuaXNBcnJheUVtcHR5KGRlcGxveW1lbnRzKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpcnN0RGVwbG95bWVudCA9IGRlcGxveW1lbnRzWzBdO1xuICAgICAgICBjb25zdCBhbGxFeGVjdXRpb25zID0gZmlyc3REZXBsb3ltZW50LnN1Y2Nlc3NmdWxFeGVjdXRpb25zICsgZmlyc3REZXBsb3ltZW50LmZhaWxlZEV4ZWN1dGlvbnM7XG5cbiAgICAgICAgaWYgKGFsbEV4ZWN1dGlvbnMgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQgKz0gdGhpcy5fcGVyY2VudFBpcGUudHJhbnNmb3JtKGZpcnN0RGVwbG95bWVudC5zdWNjZXNzZnVsRXhlY3V0aW9ucyAvIGFsbEV4ZWN1dGlvbnMsICcxLjItMicpO1xuXG4gICAgICAgIGlmIChmaXJzdERlcGxveW1lbnQuZmFpbGVkRXhlY3V0aW9ucyA+IDApIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBgICgke2ZpcnN0RGVwbG95bWVudC5mYWlsZWRFeGVjdXRpb25zfSBmYWlsZWQpYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19