/// /// Copyright 2015-2026 Micro Focus or one of its affiliates. /// /// Licensed under the Apache License, Version 2.0 (the "License"); /// you may not use this file except in compliance with the License. /// You may obtain a copy of the License at /// /// http://www.apache.org/licenses/LICENSE-2.0 /// /// Unless required by applicable law or agreed to in writing, software /// distributed under the License is distributed on an "AS IS" BASIS, /// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. /// See the License for the specific language governing permissions and /// limitations under the License. /// import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'duration' }) export class DurationPipe implements PipeTransform { transform(seconds: number): string { let minutes = Math.floor(seconds / 60); let hours = Math.floor(minutes / 60); const days = Math.floor(hours / 24); hours = hours - days * 24; minutes = minutes - days * 24 * 60 - hours * 60; seconds = Math.floor(seconds - days * 24 * 60 * 60 - hours * 60 * 60 - minutes * 60); if (hours > 0) { return `${this.pad(hours)}:${this.pad(minutes)}:${this.pad(seconds)}`; } else { return `${this.pad(minutes)}:${this.pad(seconds)}`; } } pad(value: number): string { if (value < 10) { return `0${value}`; } return value.toString(); } }