UNPKG

@versatiledatakit/data-pipelines

Version:

Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')

41 lines 5.18 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { CollectionsUtil } from '@versatiledatakit/shared'; /** * ** Executions Status filter criteria. */ export class ExecutionsStatusCriteria { /** * ** Constructor. */ constructor(dataJobExecutionStatusesSerialized) { this._dataJobExecutionStatuses = ExecutionsStatusCriteria._deserializeExecutionStatuses(dataJobExecutionStatusesSerialized); } /** * @inheritDoc */ meetCriteria(executions) { return [...(executions ?? [])].filter((execution) => { const status = execution.status; if (this._dataJobExecutionStatuses.length === 0) { return true; } return this._dataJobExecutionStatuses.includes(status); }); } static _deserializeExecutionStatuses(dataJobExecutionStatusesSerialized) { try { if (!CollectionsUtil.isStringWithContent(dataJobExecutionStatusesSerialized)) { return []; } return dataJobExecutionStatusesSerialized.toUpperCase().split(','); } catch (e) { console.error(`ExecutionsStatusCriteria: failed to deserialize Data Job Execution Statuses.`); return []; } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9ucy1zdGF0dXMuY3JpdGVyaWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLXBpcGVsaW5lcy9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1qb2IvcGFnZXMvZXhlY3V0aW9ucy9kYXRhLWpvYi1leGVjdXRpb25zLWdyaWQvY3JpdGVyaWEvc3RhdHVzL2V4ZWN1dGlvbnMtc3RhdHVzLmNyaXRlcmlhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQU1yRTs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFHakM7O09BRUc7SUFDSCxZQUFZLGtDQUEwQztRQUNsRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsd0JBQXdCLENBQUMsNkJBQTZCLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNoSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsVUFBa0M7UUFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNoRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBRWhDLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzdDLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sTUFBTSxDQUFDLDZCQUE2QixDQUFDLGtDQUEwQztRQUNuRixJQUFJO1lBQ0EsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxrQ0FBa0MsQ0FBQyxFQUFFO2dCQUMxRSxPQUFPLEVBQUUsQ0FBQzthQUNiO1lBRUQsT0FBTyxrQ0FBa0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUE2QixDQUFDO1NBQ2xHO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLDhFQUE4RSxDQUFDLENBQUM7WUFFOUYsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMy0yMDI1IEJyb2FkY29tXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENvbGxlY3Rpb25zVXRpbCwgQ3JpdGVyaWEgfSBmcm9tICdAdmVyc2F0aWxlZGF0YWtpdC9zaGFyZWQnO1xuXG5pbXBvcnQgeyBEYXRhSm9iRXhlY3V0aW9uU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWwnO1xuXG5pbXBvcnQgeyBHcmlkRGF0YUpvYkV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVsJztcblxuLyoqXG4gKiAqKiBFeGVjdXRpb25zIFN0YXR1cyBmaWx0ZXIgY3JpdGVyaWEuXG4gKi9cbmV4cG9ydCBjbGFzcyBFeGVjdXRpb25zU3RhdHVzQ3JpdGVyaWEgaW1wbGVtZW50cyBDcml0ZXJpYTxHcmlkRGF0YUpvYkV4ZWN1dGlvbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RhdGFKb2JFeGVjdXRpb25TdGF0dXNlczogRGF0YUpvYkV4ZWN1dGlvblN0YXR1c1tdO1xuXG4gICAgLyoqXG4gICAgICogKiogQ29uc3RydWN0b3IuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YUpvYkV4ZWN1dGlvblN0YXR1c2VzU2VyaWFsaXplZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2RhdGFKb2JFeGVjdXRpb25TdGF0dXNlcyA9IEV4ZWN1dGlvbnNTdGF0dXNDcml0ZXJpYS5fZGVzZXJpYWxpemVFeGVjdXRpb25TdGF0dXNlcyhkYXRhSm9iRXhlY3V0aW9uU3RhdHVzZXNTZXJpYWxpemVkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIG1lZXRDcml0ZXJpYShleGVjdXRpb25zOiBHcmlkRGF0YUpvYkV4ZWN1dGlvbltdKTogR3JpZERhdGFKb2JFeGVjdXRpb25bXSB7XG4gICAgICAgIHJldHVybiBbLi4uKGV4ZWN1dGlvbnMgPz8gW10pXS5maWx0ZXIoKGV4ZWN1dGlvbikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gZXhlY3V0aW9uLnN0YXR1cztcblxuICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGFKb2JFeGVjdXRpb25TdGF0dXNlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFKb2JFeGVjdXRpb25TdGF0dXNlcy5pbmNsdWRlcyhzdGF0dXMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBfZGVzZXJpYWxpemVFeGVjdXRpb25TdGF0dXNlcyhkYXRhSm9iRXhlY3V0aW9uU3RhdHVzZXNTZXJpYWxpemVkOiBzdHJpbmcpOiBEYXRhSm9iRXhlY3V0aW9uU3RhdHVzW10ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCFDb2xsZWN0aW9uc1V0aWwuaXNTdHJpbmdXaXRoQ29udGVudChkYXRhSm9iRXhlY3V0aW9uU3RhdHVzZXNTZXJpYWxpemVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRhdGFKb2JFeGVjdXRpb25TdGF0dXNlc1NlcmlhbGl6ZWQudG9VcHBlckNhc2UoKS5zcGxpdCgnLCcpIGFzIERhdGFKb2JFeGVjdXRpb25TdGF0dXNbXTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRXhlY3V0aW9uc1N0YXR1c0NyaXRlcmlhOiBmYWlsZWQgdG8gZGVzZXJpYWxpemUgRGF0YSBKb2IgRXhlY3V0aW9uIFN0YXR1c2VzLmApO1xuXG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=