UNPKG

@versatiledatakit/data-pipelines

Version:

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

33 lines 4.19 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { CollectionsUtil } from '@versatiledatakit/shared'; /** * ** Executions Time Period filter criteria. */ export class ExecutionsTimePeriodCriteria { /** * ** Constructor. */ constructor(fromDateTime, toDateTime) { this._fromDateTime = fromDateTime; this._toDateTime = toDateTime; } /** * @inheritDoc */ meetCriteria(executions) { return [...(executions ?? [])].filter((execution) => { if (CollectionsUtil.isNil(this._fromDateTime) || CollectionsUtil.isNil(this._toDateTime)) { return true; } if (!CollectionsUtil.isString(execution.startTime)) { return false; } const startTime = new Date(execution.startTime).getTime(); return this._fromDateTime.getTime() <= startTime && startTime <= this._toDateTime.getTime(); }); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9ucy10aW1lLXBlcmlvZC5jcml0ZXJpYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtcGlwZWxpbmVzL3NyYy9saWIvY29tcG9uZW50cy9kYXRhLWpvYi9wYWdlcy9leGVjdXRpb25zL2RhdGEtam9iLWV4ZWN1dGlvbnMtcGFnZS9jcml0ZXJpYS90aW1lLXBlcmlvZC9leGVjdXRpb25zLXRpbWUtcGVyaW9kLmNyaXRlcmlhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUlyRTs7R0FFRztBQUNILE1BQU0sT0FBTyw0QkFBNEI7SUFJckM7O09BRUc7SUFDSCxZQUFZLFlBQWtCLEVBQUUsVUFBZ0I7UUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFVBQWtDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEQsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdEYsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDaEQsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFMUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMy0yMDI1IEJyb2FkY29tXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENvbGxlY3Rpb25zVXRpbCwgQ3JpdGVyaWEgfSBmcm9tICdAdmVyc2F0aWxlZGF0YWtpdC9zaGFyZWQnO1xuXG5pbXBvcnQgeyBHcmlkRGF0YUpvYkV4ZWN1dGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVsJztcblxuLyoqXG4gKiAqKiBFeGVjdXRpb25zIFRpbWUgUGVyaW9kIGZpbHRlciBjcml0ZXJpYS5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4ZWN1dGlvbnNUaW1lUGVyaW9kQ3JpdGVyaWEgaW1wbGVtZW50cyBDcml0ZXJpYTxHcmlkRGF0YUpvYkV4ZWN1dGlvbj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zyb21EYXRlVGltZTogRGF0ZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90b0RhdGVUaW1lOiBEYXRlO1xuXG4gICAgLyoqXG4gICAgICogKiogQ29uc3RydWN0b3IuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZnJvbURhdGVUaW1lOiBEYXRlLCB0b0RhdGVUaW1lOiBEYXRlKSB7XG4gICAgICAgIHRoaXMuX2Zyb21EYXRlVGltZSA9IGZyb21EYXRlVGltZTtcbiAgICAgICAgdGhpcy5fdG9EYXRlVGltZSA9IHRvRGF0ZVRpbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBtZWV0Q3JpdGVyaWEoZXhlY3V0aW9uczogR3JpZERhdGFKb2JFeGVjdXRpb25bXSk6IEdyaWREYXRhSm9iRXhlY3V0aW9uW10ge1xuICAgICAgICByZXR1cm4gWy4uLihleGVjdXRpb25zID8/IFtdKV0uZmlsdGVyKChleGVjdXRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChDb2xsZWN0aW9uc1V0aWwuaXNOaWwodGhpcy5fZnJvbURhdGVUaW1lKSB8fCBDb2xsZWN0aW9uc1V0aWwuaXNOaWwodGhpcy5fdG9EYXRlVGltZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFDb2xsZWN0aW9uc1V0aWwuaXNTdHJpbmcoZXhlY3V0aW9uLnN0YXJ0VGltZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKGV4ZWN1dGlvbi5zdGFydFRpbWUpLmdldFRpbWUoKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zyb21EYXRlVGltZS5nZXRUaW1lKCkgPD0gc3RhcnRUaW1lICYmIHN0YXJ0VGltZSA8PSB0aGlzLl90b0RhdGVUaW1lLmdldFRpbWUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19