@apipass/pipes 1.0.92 → 1.0.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,99 @@
1
+ import { Pipe } from '@angular/core';
2
+ import moment from 'moment';
3
+ import * as i0 from "@angular/core";
4
+ class DurationPipe {
5
+ transform(durationInMillis, config) {
6
+ if (!durationInMillis) {
7
+ return config?.emptyLabel || '---';
8
+ }
9
+ try {
10
+ const { tempTime, millisLabel, secondsLimit, secondsLabel, minutesLimit, minutesLabel, hoursLimit, hoursLabel, daysLimit, daysLabel } = this.parseConfiguration(durationInMillis, config);
11
+ if (durationInMillis >= daysLimit) {
12
+ return this.getDaysHoursMinutesSecondsAndMillisLabel(config, tempTime, daysLabel, hoursLabel, minutesLabel, secondsLabel, millisLabel);
13
+ }
14
+ else if (durationInMillis >= hoursLimit) {
15
+ return this.getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel);
16
+ }
17
+ else if (durationInMillis >= minutesLimit) {
18
+ return this.getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel);
19
+ }
20
+ else if (durationInMillis >= secondsLimit) {
21
+ return this.getSecondsAndMillisLabel(config, tempTime, secondsLabel, millisLabel);
22
+ }
23
+ else {
24
+ return `${this.parseDecimals(tempTime.asMilliseconds())}${millisLabel}`;
25
+ }
26
+ }
27
+ catch (e) {
28
+ return config?.convertErrorLabel || '---';
29
+ }
30
+ }
31
+ parseConfiguration(durationInMillis, config) {
32
+ const tempTime = moment.duration(durationInMillis, 'milliseconds');
33
+ const millisLabel = config?.milliseconds?.suffix || 'ms';
34
+ const secondsLimit = (config?.seconds?.limit * 1000) || 5000;
35
+ const secondsLabel = config?.seconds?.suffix || 's';
36
+ const minutesLimit = (config?.minutes?.limit * 1000 * 60) || (60 * 1000);
37
+ const minutesLabel = config?.minutes?.suffix || 'm';
38
+ const hoursLimit = (config?.hours?.limit * 60 * 60 * 1000) || (60 * 60 * 1000);
39
+ const hoursLabel = config?.hours?.suffix || 'h';
40
+ const daysLimit = (config?.days?.limit * 24 * 60 * 60 * 1000) || (24 * 60 * 60 * 1000);
41
+ const daysLabel = config?.days?.suffix || 'd';
42
+ return {
43
+ tempTime,
44
+ millisLabel,
45
+ secondsLimit,
46
+ secondsLabel,
47
+ minutesLimit,
48
+ minutesLabel,
49
+ hoursLimit,
50
+ hoursLabel,
51
+ daysLimit,
52
+ daysLabel
53
+ };
54
+ }
55
+ getDaysHoursMinutesSecondsAndMillisLabel(config, tempTime, daysLabel, hoursLabel, minutesLabel, secondsLabel, millisLabel) {
56
+ const daysValue = tempTime.days() > 0 ? `${this.parseDecimals(tempTime.days())}${daysLabel} ` : '';
57
+ if (config?.onlyLargestUnit) {
58
+ return daysValue;
59
+ }
60
+ return `${daysValue}${this.getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel)}`;
61
+ }
62
+ getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel) {
63
+ const hoursValue = tempTime.hours() > 0 ? `${this.parseDecimals(tempTime.hours())}${hoursLabel} ` : '';
64
+ if (config?.onlyLargestUnit) {
65
+ return hoursValue;
66
+ }
67
+ return `${hoursValue}${this.getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel)}`;
68
+ }
69
+ getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel) {
70
+ const minutesValue = tempTime.minutes() > 0 ? ` ${this.parseDecimals(tempTime.minutes())}${minutesLabel} ` : '';
71
+ if (config?.onlyLargestUnit) {
72
+ return minutesValue;
73
+ }
74
+ return `${minutesValue}${this.getSecondsLabel(tempTime, secondsLabel)}`;
75
+ }
76
+ getSecondsLabel(tempTime, secondsLabel) {
77
+ const secondsValue = tempTime.seconds() > 0 ? `${tempTime.seconds()}${secondsLabel} ` : '';
78
+ return `${secondsValue}`;
79
+ }
80
+ getSecondsAndMillisLabel(config, tempTime, secondsLabel, millisLabel) {
81
+ const secondsValue = tempTime.seconds() > 0 ? `${this.parseDecimals(tempTime.seconds())}${secondsLabel} ` : '';
82
+ if (config?.onlyLargestUnit) {
83
+ return secondsValue;
84
+ }
85
+ const millisValue = tempTime.milliseconds() > 0 ? `${this.parseDecimals(tempTime.milliseconds())}${millisLabel} ` : '';
86
+ return `${secondsValue}${millisValue}`;
87
+ }
88
+ parseDecimals(value) {
89
+ return +value.toFixed(0);
90
+ }
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
92
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: DurationPipe, name: "durationTime" });
93
+ }
94
+ export { DurationPipe };
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationPipe, decorators: [{
96
+ type: Pipe,
97
+ args: [{ name: 'durationTime' }]
98
+ }] });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3BpcGVzL3NyYy9saWIvZHVyYXRpb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQTtBQUNuRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUE7O0FBa0IzQixNQUNhLFlBQVk7SUFFaEIsU0FBUyxDQUFDLGdCQUF3QixFQUFFLE1BQWtDO1FBQzNFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQixPQUFPLE1BQU0sRUFBRSxVQUFVLElBQUksS0FBSyxDQUFBO1NBQ25DO1FBQ0QsSUFBSTtZQUNGLE1BQU0sRUFDSixRQUFRLEVBQ1IsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1YsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFdEQsSUFBSSxnQkFBZ0IsSUFBSSxTQUFTLEVBQUU7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDLHdDQUF3QyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFBO2FBQ3ZJO2lCQUFNLElBQUksZ0JBQWdCLElBQUksVUFBVSxFQUFFO2dCQUN6QyxPQUFPLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFBO2FBQ3hIO2lCQUFNLElBQUksZ0JBQWdCLElBQUksWUFBWSxFQUFFO2dCQUMzQyxPQUFPLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVks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Q0FBQyxFQUFFLENBQUE7UUFDMUYsT0FBTyxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxNQUFpQyxFQUFFLFFBQXlCLEVBQUUsWUFBb0IsRUFBRSxXQUFtQjtRQUN0SSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUM5RyxJQUFJLE1BQU0sRUFBRSxlQUFlLEVBQUU7WUFDM0IsT0FBTyxZQUFZLENBQUE7U0FDcEI7UUFFRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUN0SCxPQUFPLEdBQUcsWUFBWSxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxhQUFhLENBQUMsS0FBYTtRQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO3VHQTNHVSxZQUFZO3FHQUFaLFlBQVk7O1NBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5cbmV4cG9ydCBpbnRlcmZhY2UgRHVyYXRpb25JdGVtQ29uZmlndXJhdGlvbiB7XG4gIGxpbWl0PzogbnVtYmVyXG4gIHN1ZmZpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIER1cmF0aW9uUGlwZUNvbmZpZ3VyYXRpb24ge1xuICBtaWxsaXNlY29uZHM/OiB7IHN1ZmZpeD86IHN0cmluZyB9XG4gIG1pbnV0ZXM/OiBEdXJhdGlvbkl0ZW1Db25maWd1cmF0aW9uXG4gIHNlY29uZHM/OiBEdXJhdGlvbkl0ZW1Db25maWd1cmF0aW9uXG4gIGhvdXJzPzogRHVyYXRpb25JdGVtQ29uZmlndXJhdGlvblxuICBkYXlzPzogRHVyYXRpb25JdGVtQ29uZmlndXJhdGlvblxuICBlbXB0eUxhYmVsPzogc3RyaW5nXG4gIGNvbnZlcnRFcnJvckxhYmVsPzogc3RyaW5nXG4gIG9ubHlMYXJnZXN0VW5pdD86IGJvb2xlYW5cbn1cblxuQFBpcGUoeyBuYW1lOiAnZHVyYXRpb25UaW1lJyB9KVxuZXhwb3J0IGNsYXNzIER1cmF0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oZHVyYXRpb25Jbk1pbGxpczogbnVtYmVyLCBjb25maWc/OiBEdXJhdGlvblBpcGVDb25maWd1cmF0aW9uKTogc3RyaW5nIHtcbiAgICBpZiAoIWR1cmF0aW9uSW5NaWxsaXMpIHtcbiAgICAgIHJldHVybiBjb25maWc/LmVtcHR5TGFiZWwgfHwgJy0tLSdcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgdGVtcFRpbWUsXG4gICAgICAgIG1pbGxpc0xhYmVsLFxuICAgICAgICBzZWNvbmRzTGltaXQsXG4gICAgICAgIHNlY29uZHNMYWJlbCxcbiAgICAgICAgbWludXRlc0xpbWl0LFxuICAgICAgICBtaW51dGVzTGFiZWwsXG4gICAgICAgIGhvdXJzTGltaXQsXG4gICAgICAgIGhvdXJzTGFiZWwsXG4gICAgICAgIGRheXNMaW1pdCxcbiAgICAgICAgZGF5c0xhYmVsXG4gICAgICB9ID0gdGhpcy5wYXJzZUNvbmZpZ3VyYXRpb24oZHVyYXRpb25Jbk1pbGxpcywgY29uZmlnKTtcblxuICAgICAgaWYgKGR1cmF0aW9uSW5NaWxsaXMgPj0gZGF5c0xpbWl0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERheXNIb3Vyc01pbnV0ZXNTZWNvbmRzQW5kTWlsbGlzTGFiZWwoY29uZmlnLCB0ZW1wVGltZSwgZGF5c0xhYmVsLCBob3Vyc0xhYmVsLCBtaW51dGVzTGFiZWwsIHNlY29uZHNMYWJlbCwgbWlsbGlzTGFiZWwpXG4gICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uSW5NaWxsaXMgPj0gaG91cnNMaW1pdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIb3Vyc01pbnV0ZXNTZWNvbmRzQW5kTWlsbGlzTGFiZWwoY29uZmlnLCB0ZW1wVGltZSwgaG91cnNMYWJlbCwgbWludXRlc0xhYmVsLCBzZWNvbmRzTGFiZWwsIG1pbGxpc0xhYmVsKVxuICAgICAgfSBlbHNlIGlmIChkdXJhdGlvbkluTWlsbGlzID49IG1pbnV0ZXNMaW1pdCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNaW51dGVzU2Vjb25kc0FuZE1pbGxpc0xhYmVsKGNvbmZpZywgdGVtcFRpbWUsIG1pbnV0ZXNMYWJlbCwgc2Vjb25kc0xhYmVsLCBtaWxsaXNMYWJlbClcbiAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25Jbk1pbGxpcyA+PSBzZWNvbmRzTGltaXQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2Vjb25kc0FuZE1pbGxpc0xhYmVsKGNvbmZpZywgdGVtcFRpbWUsIHNlY29uZHNMYWJlbCwgbWlsbGlzTGFiZWwpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5wYXJzZURlY2ltYWxzKHRlbXBUaW1lLmFzTWlsbGlzZWNvbmRzKCkpfSR7bWlsbGlzTGFiZWx9YFxuICAgICAgfVxuXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGNvbmZpZz8uY29udmVydEVycm9yTGFiZWwgfHwgJy0tLSdcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcnNlQ29uZmlndXJhdGlvbihkdXJhdGlvbkluTWlsbGlzOiBudW1iZXIsIGNvbmZpZzogRHVyYXRpb25QaXBlQ29uZmlndXJhdGlvbik6IGFueSB7XG4gICAgY29uc3QgdGVtcFRpbWU6IG1vbWVudC5EdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbihkdXJhdGlvbkluTWlsbGlzLCAnbWlsbGlzZWNvbmRzJyk7XG4gICAgY29uc3QgbWlsbGlzTGFiZWw6IHN0cmluZyA9IGNvbmZpZz8ubWlsbGlzZWNvbmRzPy5zdWZmaXggfHwgJ21zJ1xuXG4gICAgY29uc3Qgc2Vjb25kc0xpbWl0OiBudW1iZXIgPSAoY29uZmlnPy5zZWNvbmRzPy5saW1pdCAqIDEwMDApIHx8IDUwMDBcbiAgICBjb25zdCBzZWNvbmRzTGFiZWw6IHN0cmluZyA9IGNvbmZpZz8uc2Vjb25kcz8uc3VmZml4IHx8ICdzJ1xuXG4gICAgY29uc3QgbWludXRlc0xpbWl0OiBudW1iZXIgPSAoY29uZmlnPy5taW51dGVzPy5saW1pdCAqIDEwMDAgKiA2MCkgfHwgKDYwICogMTAwMClcbiAgICBjb25zdCBtaW51dGVzTGFiZWw6IHN0cmluZyA9IGNvbmZpZz8ubWludXRlcz8uc3VmZml4IHx8ICdtJ1xuXG4gICAgY29uc3QgaG91cnNMaW1pdDogbnVtYmVyID0gKGNvbmZpZz8uaG91cnM/LmxpbWl0ICogNjAgKiA2MCAqIDEwMDApIHx8ICg2MCAqIDYwICogMTAwMCk7XG4gICAgY29uc3QgaG91cnNMYWJlbDogc3RyaW5nID0gY29uZmlnPy5ob3Vycz8uc3VmZml4IHx8ICdoJ1xuXG4gICAgY29uc3QgZGF5c0xpbWl0OiBudW1iZXIgPSAoY29uZmlnPy5kYXlzPy5saW1pdCAqIDI0ICogNjAgKiA2MCAqIDEwMDApIHx8ICgyNCAqIDYwICogNjAgKiAxMDAwKVxuICAgIGNvbnN0IGRheXNMYWJlbDogc3RyaW5nID0gY29uZmlnPy5kYXlzPy5zdWZmaXggfHwgJ2QnXG4gICAgcmV0dXJuIHtcbiAgICAgIHRlbXBUaW1lLFxuICAgICAgbWlsbGlzTGFiZWwsXG4gICAgICBzZWNvbmRzTGltaXQsXG4gICAgICBzZWNvbmRzTGFiZWwsXG4gICAgICBtaW51dGVzTGltaXQsXG4gICAgICBtaW51dGVzTGFiZWwsXG4gICAgICBob3Vyc0xpbWl0LFxuICAgICAgaG91cnNMYWJlbCxcbiAgICAgIGRheXNMaW1pdCxcbiAgICAgIGRheXNMYWJlbFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldERheXNIb3Vyc01pbnV0ZXNTZWNvbmRzQW5kTWlsbGlzTGFiZWwoY29uZmlnOiBEdXJhdGlvblBpcGVDb25maWd1cmF0aW9uLCB0ZW1wVGltZTogbW9tZW50LkR1cmF0aW9uLCBkYXlzTGFiZWw6IHN0cmluZywgaG91cnNMYWJlbDogc3RyaW5nLCBtaW51dGVzTGFiZWw6IHN0cmluZywgc2Vjb25kc0xhYmVsOiBzdHJpbmcsIG1pbGxpc0xhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRheXNWYWx1ZSA9IHRlbXBUaW1lLmRheXMoKSA+IDAgPyBgJHt0aGlzLnBhcnNlRGVjaW1hbHModGVtcFRpbWUuZGF5cygpKX0ke2RheXNMYWJlbH0gYCA6ICcnXG4gICAgaWYgKGNvbmZpZz8ub25seUxhcmdlc3RVbml0KSB7XG4gICAgICByZXR1cm4gZGF5c1ZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gYCR7ZGF5c1ZhbHVlfSR7dGhpcy5nZXRIb3Vyc01pbnV0ZXNTZWNvbmRzQW5kTWlsbGlzTGFiZWwoY29uZmlnLCB0ZW1wVGltZSwgaG91cnNMYWJlbCwgbWludXRlc0xhYmVsLCBzZWNvbmRzTGFiZWwsIG1pbGxpc0xhYmVsKX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb3Vyc01pbnV0ZXNTZWNvbmRzQW5kTWlsbGlzTGFiZWwoY29uZmlnOiBEdXJhdGlvblBpcGVDb25maWd1cmF0aW9uLCB0ZW1wVGltZTogbW9tZW50LkR1cmF0aW9uLCBob3Vyc0xhYmVsOiBzdHJpbmcsIG1pbnV0ZXNMYWJlbDogc3RyaW5nLCBzZWNvbmRzTGFiZWw6IHN0cmluZywgbWlsbGlzTGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgaG91cnNWYWx1ZSA9IHRlbXBUaW1lLmhvdXJzKCkgPiAwID8gYCR7dGhpcy5wYXJzZURlY2ltYWxzKHRlbXBUaW1lLmhvdXJzKCkpfSR7aG91cnNMYWJlbH0gYCA6ICcnXG4gICAgaWYgKGNvbmZpZz8ub25seUxhcmdlc3RVbml0KSB7XG4gICAgICByZXR1cm4gaG91cnNWYWx1ZVxuICAgIH1cbiAgICByZXR1cm4gYCR7aG91cnNWYWx1ZX0ke3RoaXMuZ2V0TWludXRlc1NlY29uZHNBbmRNaWxsaXNMYWJlbChjb25maWcsIHRlbXBUaW1lLCBtaW51dGVzTGFiZWwsIHNlY29uZHNMYWJlbCwgbWlsbGlzTGFiZWwpfWA7XG4gIH1cblxuICBwcml2YXRlIGdldE1pbnV0ZXNTZWNvbmRzQW5kTWlsbGlzTGFiZWwoY29uZmlnOiBEdXJhdGlvblBpcGVDb25maWd1cmF0aW9uLCB0ZW1wVGltZTogbW9tZW50LkR1cmF0aW9uLCBtaW51dGVzTGFiZWw6IHN0cmluZywgc2Vjb25kc0xhYmVsOiBzdHJpbmcsIG1pbGxpc0xhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1pbnV0ZXNWYWx1ZSA9IHRlbXBUaW1lLm1pbnV0ZXMoKSA+IDAgPyBgICR7dGhpcy5wYXJzZURlY2ltYWxzKHRlbXBUaW1lLm1pbnV0ZXMoKSl9JHttaW51dGVzTGFiZWx9IGAgOiAnJ1xuICAgIGlmIChjb25maWc/Lm9ubHlMYXJnZXN0VW5pdCkge1xuICAgICAgcmV0dXJuIG1pbnV0ZXNWYWx1ZVxuICAgIH1cbiAgICByZXR1cm4gYCR7bWludXRlc1ZhbHVlfSR7dGhpcy5nZXRTZWNvbmRzTGFiZWwodGVtcFRpbWUsIHNlY29uZHNMYWJlbCl9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vjb25kc0xhYmVsKHRlbXBUaW1lOiBtb21lbnQuRHVyYXRpb24sIHNlY29uZHNMYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWNvbmRzVmFsdWUgPSB0ZW1wVGltZS5zZWNvbmRzKCkgPiAwID8gYCR7dGVtcFRpbWUuc2Vjb25kcygpfSR7c2Vjb25kc0xhYmVsfSBgIDogJydcbiAgICByZXR1cm4gYCR7c2Vjb25kc1ZhbHVlfWA7XG4gIH1cblxuICBwcml2YXRlIGdldFNlY29uZHNBbmRNaWxsaXNMYWJlbChjb25maWc6IER1cmF0aW9uUGlwZUNvbmZpZ3VyYXRpb24sIHRlbXBUaW1lOiBtb21lbnQuRHVyYXRpb24sIHNlY29uZHNMYWJlbDogc3RyaW5nLCBtaWxsaXNMYWJlbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWNvbmRzVmFsdWUgPSB0ZW1wVGltZS5zZWNvbmRzKCkgPiAwID8gYCR7dGhpcy5wYXJzZURlY2ltYWxzKHRlbXBUaW1lLnNlY29uZHMoKSl9JHtzZWNvbmRzTGFiZWx9IGAgOiAnJ1xuICAgIGlmIChjb25maWc/Lm9ubHlMYXJnZXN0VW5pdCkge1xuICAgICAgcmV0dXJuIHNlY29uZHNWYWx1ZVxuICAgIH1cblxuICAgIGNvbnN0IG1pbGxpc1ZhbHVlID0gdGVtcFRpbWUubWlsbGlzZWNvbmRzKCkgPiAwID8gYCR7dGhpcy5wYXJzZURlY2ltYWxzKHRlbXBUaW1lLm1pbGxpc2Vjb25kcygpKX0ke21pbGxpc0xhYmVsfSBgIDogJydcbiAgICByZXR1cm4gYCR7c2Vjb25kc1ZhbHVlfSR7bWlsbGlzVmFsdWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VEZWNpbWFscyh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3ZhbHVlLnRvRml4ZWQoMCk7XG4gIH1cblxufVxuIl19
@@ -3,17 +3,26 @@ import { SelectFilterPipe } from './select.filter.pipe';
3
3
  import { SelectEnumFilterPipe } from './select.enum.filter.pipe';
4
4
  import { EnumPipe } from './keys.pipe';
5
5
  import { SafePipe } from './safe-pipe';
6
+ import { DurationPipe } from './duration.pipe';
6
7
  import * as i0 from "@angular/core";
7
8
  class PipeModule {
8
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
10
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, declarations: [SelectFilterPipe,
10
11
  SelectEnumFilterPipe,
11
12
  EnumPipe,
12
- SafePipe], exports: [SelectFilterPipe,
13
+ SafePipe,
14
+ DurationPipe], exports: [SelectFilterPipe,
13
15
  SelectEnumFilterPipe,
14
16
  EnumPipe,
15
- SafePipe] });
16
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule });
17
+ SafePipe,
18
+ DurationPipe] });
19
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, providers: [
20
+ SelectFilterPipe,
21
+ SelectEnumFilterPipe,
22
+ EnumPipe,
23
+ SafePipe,
24
+ DurationPipe
25
+ ] });
17
26
  }
18
27
  export { PipeModule };
19
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, decorators: [{
@@ -23,14 +32,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
23
32
  SelectFilterPipe,
24
33
  SelectEnumFilterPipe,
25
34
  EnumPipe,
26
- SafePipe
35
+ SafePipe,
36
+ DurationPipe
27
37
  ],
28
38
  exports: [
29
39
  SelectFilterPipe,
30
40
  SelectEnumFilterPipe,
31
41
  EnumPipe,
32
- SafePipe
42
+ SafePipe,
43
+ DurationPipe
44
+ ],
45
+ providers: [
46
+ SelectFilterPipe,
47
+ SelectEnumFilterPipe,
48
+ EnumPipe,
49
+ SafePipe,
50
+ DurationPipe
33
51
  ]
34
52
  }]
35
53
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9waXBlcy9zcmMvbGliL3BpcGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFBOztBQUV0QyxNQWNhLFVBQVU7dUdBQVYsVUFBVTt3R0FBVixVQUFVLGlCQVpuQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLFFBQVE7WUFDUixRQUFRLGFBR1IsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixRQUFRO1lBQ1IsUUFBUTt3R0FHQyxVQUFVOztTQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFkdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLFFBQVE7d0JBQ1IsUUFBUTtxQkFDVDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLFFBQVE7d0JBQ1IsUUFBUTtxQkFDVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFNlbGVjdEZpbHRlclBpcGUgfSBmcm9tICcuL3NlbGVjdC5maWx0ZXIucGlwZSdcbmltcG9ydCB7IFNlbGVjdEVudW1GaWx0ZXJQaXBlIH0gZnJvbSAnLi9zZWxlY3QuZW51bS5maWx0ZXIucGlwZSdcbmltcG9ydCB7IEVudW1QaXBlIH0gZnJvbSAnLi9rZXlzLnBpcGUnXG5pbXBvcnQgeyBTYWZlUGlwZSB9IGZyb20gJy4vc2FmZS1waXBlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTZWxlY3RGaWx0ZXJQaXBlLFxuICAgIFNlbGVjdEVudW1GaWx0ZXJQaXBlLFxuICAgIEVudW1QaXBlLFxuICAgIFNhZmVQaXBlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWxlY3RGaWx0ZXJQaXBlLFxuICAgIFNlbGVjdEVudW1GaWx0ZXJQaXBlLFxuICAgIEVudW1QaXBlLFxuICAgIFNhZmVQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGlwZU1vZHVsZSB7XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9waXBlcy9zcmMvbGliL3BpcGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0MsTUF1QmEsVUFBVTt1R0FBVixVQUFVO3dHQUFWLFVBQVUsaUJBckJuQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLFFBQVE7WUFDUixRQUFRO1lBQ1IsWUFBWSxhQUdaLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsUUFBUTtZQUNSLFFBQVE7WUFDUixZQUFZO3dHQVVILFVBQVUsYUFSVjtZQUNULGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsUUFBUTtZQUNSLFFBQVE7WUFDUixZQUFZO1NBQ2I7O1NBRVUsVUFBVTsyRkFBVixVQUFVO2tCQXZCdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsUUFBUTt3QkFDUixRQUFRO3dCQUNSLFlBQVk7cUJBQ2I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixRQUFRO3dCQUNSLFFBQVE7d0JBQ1IsWUFBWTtxQkFDYjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFNlbGVjdEZpbHRlclBpcGUgfSBmcm9tICcuL3NlbGVjdC5maWx0ZXIucGlwZSdcbmltcG9ydCB7IFNlbGVjdEVudW1GaWx0ZXJQaXBlIH0gZnJvbSAnLi9zZWxlY3QuZW51bS5maWx0ZXIucGlwZSdcbmltcG9ydCB7IEVudW1QaXBlIH0gZnJvbSAnLi9rZXlzLnBpcGUnXG5pbXBvcnQgeyBTYWZlUGlwZSB9IGZyb20gJy4vc2FmZS1waXBlJ1xuaW1wb3J0IHsgRHVyYXRpb25QaXBlIH0gZnJvbSAnLi9kdXJhdGlvbi5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2VsZWN0RmlsdGVyUGlwZSxcbiAgICBTZWxlY3RFbnVtRmlsdGVyUGlwZSxcbiAgICBFbnVtUGlwZSxcbiAgICBTYWZlUGlwZSxcbiAgICBEdXJhdGlvblBpcGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNlbGVjdEZpbHRlclBpcGUsXG4gICAgU2VsZWN0RW51bUZpbHRlclBpcGUsXG4gICAgRW51bVBpcGUsXG4gICAgU2FmZVBpcGUsXG4gICAgRHVyYXRpb25QaXBlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNlbGVjdEZpbHRlclBpcGUsXG4gICAgU2VsZWN0RW51bUZpbHRlclBpcGUsXG4gICAgRW51bVBpcGUsXG4gICAgU2FmZVBpcGUsXG4gICAgRHVyYXRpb25QaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGlwZU1vZHVsZSB7XG59XG4iXX0=
@@ -3,4 +3,5 @@ export * from './lib/keys.pipe';
3
3
  export * from './lib/safe-pipe';
4
4
  export * from './lib/select.enum.filter.pipe';
5
5
  export * from './lib/select.filter.pipe';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BpcGVzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIva2V5cy5waXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2FmZS1waXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LmVudW0uZmlsdGVyLnBpcGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QuZmlsdGVyLnBpcGUnXG4iXX0=
6
+ export * from './lib/duration.pipe';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BpcGVzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHFCQUFxQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZS5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9rZXlzLnBpcGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zYWZlLXBpcGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QuZW51bS5maWx0ZXIucGlwZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdC5maWx0ZXIucGlwZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2R1cmF0aW9uLnBpcGUnXG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Pipe, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/platform-browser';
4
+ import moment from 'moment';
4
5
 
5
6
  class SelectFilterPipe {
6
7
  transform(items, arg1, arg2) {
@@ -104,16 +105,119 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
104
105
  }]
105
106
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
106
107
 
108
+ class DurationPipe {
109
+ transform(durationInMillis, config) {
110
+ if (!durationInMillis) {
111
+ return config?.emptyLabel || '---';
112
+ }
113
+ try {
114
+ const { tempTime, millisLabel, secondsLimit, secondsLabel, minutesLimit, minutesLabel, hoursLimit, hoursLabel, daysLimit, daysLabel } = this.parseConfiguration(durationInMillis, config);
115
+ if (durationInMillis >= daysLimit) {
116
+ return this.getDaysHoursMinutesSecondsAndMillisLabel(config, tempTime, daysLabel, hoursLabel, minutesLabel, secondsLabel, millisLabel);
117
+ }
118
+ else if (durationInMillis >= hoursLimit) {
119
+ return this.getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel);
120
+ }
121
+ else if (durationInMillis >= minutesLimit) {
122
+ return this.getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel);
123
+ }
124
+ else if (durationInMillis >= secondsLimit) {
125
+ return this.getSecondsAndMillisLabel(config, tempTime, secondsLabel, millisLabel);
126
+ }
127
+ else {
128
+ return `${this.parseDecimals(tempTime.asMilliseconds())}${millisLabel}`;
129
+ }
130
+ }
131
+ catch (e) {
132
+ return config?.convertErrorLabel || '---';
133
+ }
134
+ }
135
+ parseConfiguration(durationInMillis, config) {
136
+ const tempTime = moment.duration(durationInMillis, 'milliseconds');
137
+ const millisLabel = config?.milliseconds?.suffix || 'ms';
138
+ const secondsLimit = (config?.seconds?.limit * 1000) || 5000;
139
+ const secondsLabel = config?.seconds?.suffix || 's';
140
+ const minutesLimit = (config?.minutes?.limit * 1000 * 60) || (60 * 1000);
141
+ const minutesLabel = config?.minutes?.suffix || 'm';
142
+ const hoursLimit = (config?.hours?.limit * 60 * 60 * 1000) || (60 * 60 * 1000);
143
+ const hoursLabel = config?.hours?.suffix || 'h';
144
+ const daysLimit = (config?.days?.limit * 24 * 60 * 60 * 1000) || (24 * 60 * 60 * 1000);
145
+ const daysLabel = config?.days?.suffix || 'd';
146
+ return {
147
+ tempTime,
148
+ millisLabel,
149
+ secondsLimit,
150
+ secondsLabel,
151
+ minutesLimit,
152
+ minutesLabel,
153
+ hoursLimit,
154
+ hoursLabel,
155
+ daysLimit,
156
+ daysLabel
157
+ };
158
+ }
159
+ getDaysHoursMinutesSecondsAndMillisLabel(config, tempTime, daysLabel, hoursLabel, minutesLabel, secondsLabel, millisLabel) {
160
+ const daysValue = tempTime.days() > 0 ? `${this.parseDecimals(tempTime.days())}${daysLabel} ` : '';
161
+ if (config?.onlyLargestUnit) {
162
+ return daysValue;
163
+ }
164
+ return `${daysValue}${this.getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel)}`;
165
+ }
166
+ getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel) {
167
+ const hoursValue = tempTime.hours() > 0 ? `${this.parseDecimals(tempTime.hours())}${hoursLabel} ` : '';
168
+ if (config?.onlyLargestUnit) {
169
+ return hoursValue;
170
+ }
171
+ return `${hoursValue}${this.getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel)}`;
172
+ }
173
+ getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel) {
174
+ const minutesValue = tempTime.minutes() > 0 ? ` ${this.parseDecimals(tempTime.minutes())}${minutesLabel} ` : '';
175
+ if (config?.onlyLargestUnit) {
176
+ return minutesValue;
177
+ }
178
+ return `${minutesValue}${this.getSecondsLabel(tempTime, secondsLabel)}`;
179
+ }
180
+ getSecondsLabel(tempTime, secondsLabel) {
181
+ const secondsValue = tempTime.seconds() > 0 ? `${tempTime.seconds()}${secondsLabel} ` : '';
182
+ return `${secondsValue}`;
183
+ }
184
+ getSecondsAndMillisLabel(config, tempTime, secondsLabel, millisLabel) {
185
+ const secondsValue = tempTime.seconds() > 0 ? `${this.parseDecimals(tempTime.seconds())}${secondsLabel} ` : '';
186
+ if (config?.onlyLargestUnit) {
187
+ return secondsValue;
188
+ }
189
+ const millisValue = tempTime.milliseconds() > 0 ? `${this.parseDecimals(tempTime.milliseconds())}${millisLabel} ` : '';
190
+ return `${secondsValue}${millisValue}`;
191
+ }
192
+ parseDecimals(value) {
193
+ return +value.toFixed(0);
194
+ }
195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
196
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: DurationPipe, name: "durationTime" });
197
+ }
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DurationPipe, decorators: [{
199
+ type: Pipe,
200
+ args: [{ name: 'durationTime' }]
201
+ }] });
202
+
107
203
  class PipeModule {
108
204
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
109
205
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, declarations: [SelectFilterPipe,
110
206
  SelectEnumFilterPipe,
111
207
  EnumPipe,
112
- SafePipe], exports: [SelectFilterPipe,
208
+ SafePipe,
209
+ DurationPipe], exports: [SelectFilterPipe,
210
+ SelectEnumFilterPipe,
211
+ EnumPipe,
212
+ SafePipe,
213
+ DurationPipe] });
214
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, providers: [
215
+ SelectFilterPipe,
113
216
  SelectEnumFilterPipe,
114
217
  EnumPipe,
115
- SafePipe] });
116
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule });
218
+ SafePipe,
219
+ DurationPipe
220
+ ] });
117
221
  }
118
222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: PipeModule, decorators: [{
119
223
  type: NgModule,
@@ -122,13 +226,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
122
226
  SelectFilterPipe,
123
227
  SelectEnumFilterPipe,
124
228
  EnumPipe,
125
- SafePipe
229
+ SafePipe,
230
+ DurationPipe
126
231
  ],
127
232
  exports: [
128
233
  SelectFilterPipe,
129
234
  SelectEnumFilterPipe,
130
235
  EnumPipe,
131
- SafePipe
236
+ SafePipe,
237
+ DurationPipe
238
+ ],
239
+ providers: [
240
+ SelectFilterPipe,
241
+ SelectEnumFilterPipe,
242
+ EnumPipe,
243
+ SafePipe,
244
+ DurationPipe
132
245
  ]
133
246
  }]
134
247
  }] });
@@ -137,5 +250,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
137
250
  * Generated bundle index. Do not edit.
138
251
  */
139
252
 
140
- export { EnumPipe, PipeModule, SafePipe, SelectEnumFilterPipe, SelectFilterPipe };
253
+ export { DurationPipe, EnumPipe, PipeModule, SafePipe, SelectEnumFilterPipe, SelectFilterPipe };
141
254
  //# sourceMappingURL=apipass-pipes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"apipass-pipes.mjs","sources":["../../../projects/pipes/src/lib/select.filter.pipe.ts","../../../projects/pipes/src/lib/select.enum.filter.pipe.ts","../../../projects/pipes/src/lib/keys.pipe.ts","../../../projects/pipes/src/lib/safe-pipe.ts","../../../projects/pipes/src/lib/pipe.module.ts","../../../projects/pipes/src/apipass-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'selectFilter' })\nexport class SelectFilterPipe implements PipeTransform {\n\n transform (items: any[], arg1: any, arg2: any): any[] {\n let searchText = arg1\n const termName = arg2\n\n if (!searchText) {\n return items\n }\n\n searchText = searchText.toLowerCase()\n\n return items.filter(item => {\n return item[termName].toLowerCase().indexOf(searchText) > -1\n })\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'selectEnumFilter' })\nexport class SelectEnumFilterPipe implements PipeTransform {\n\n transform (items: any[], arg1: any): any[] {\n let searchText = arg1\n if (!searchText) {\n return items\n }\n searchText = searchText.toLowerCase()\n return items.filter(item => {\n return item.value.toLowerCase().indexOf(searchText) > -1\n })\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'enum' })\nexport class EnumPipe implements PipeTransform {\n\n transform (value: any, exception?: any): any {\n const keys = []\n let add = true\n\n for (const enumMember in value) {\n if (!value.hasOwnProperty(enumMember)) {\n continue\n }\n if (add && !this.isException(value[enumMember], exception)) {\n keys.push({\n key: enumMember,\n value: value[enumMember]\n })\n }\n add = !add\n }\n\n return keys\n }\n\n private isException (enumValue: any, exception: any): boolean {\n if (exception && Array.isArray(exception)) {\n return exception.some((exceptionValue) => enumValue === exceptionValue)\n }\n\n return exception ? enumValue === exception : false\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser'\n\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n\n constructor (protected sanitizer: DomSanitizer) {\n }\n\n transform (value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value)\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value)\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value)\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value)\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value)\n default:\n return this.sanitizer.bypassSecurityTrustHtml(value)\n }\n }\n\n}\n","import { NgModule } from '@angular/core'\nimport { SelectFilterPipe } from './select.filter.pipe'\nimport { SelectEnumFilterPipe } from './select.enum.filter.pipe'\nimport { EnumPipe } from './keys.pipe'\nimport { SafePipe } from './safe-pipe'\n\n@NgModule({\n declarations: [\n SelectFilterPipe,\n SelectEnumFilterPipe,\n EnumPipe,\n SafePipe\n ],\n exports: [\n SelectFilterPipe,\n SelectEnumFilterPipe,\n EnumPipe,\n SafePipe\n ]\n})\nexport class PipeModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apipass-pipes.mjs","sources":["../../../projects/pipes/src/lib/select.filter.pipe.ts","../../../projects/pipes/src/lib/select.enum.filter.pipe.ts","../../../projects/pipes/src/lib/keys.pipe.ts","../../../projects/pipes/src/lib/safe-pipe.ts","../../../projects/pipes/src/lib/duration.pipe.ts","../../../projects/pipes/src/lib/pipe.module.ts","../../../projects/pipes/src/apipass-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'selectFilter' })\nexport class SelectFilterPipe implements PipeTransform {\n\n transform (items: any[], arg1: any, arg2: any): any[] {\n let searchText = arg1\n const termName = arg2\n\n if (!searchText) {\n return items\n }\n\n searchText = searchText.toLowerCase()\n\n return items.filter(item => {\n return item[termName].toLowerCase().indexOf(searchText) > -1\n })\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'selectEnumFilter' })\nexport class SelectEnumFilterPipe implements PipeTransform {\n\n transform (items: any[], arg1: any): any[] {\n let searchText = arg1\n if (!searchText) {\n return items\n }\n searchText = searchText.toLowerCase()\n return items.filter(item => {\n return item.value.toLowerCase().indexOf(searchText) > -1\n })\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\n@Pipe({ name: 'enum' })\nexport class EnumPipe implements PipeTransform {\n\n transform (value: any, exception?: any): any {\n const keys = []\n let add = true\n\n for (const enumMember in value) {\n if (!value.hasOwnProperty(enumMember)) {\n continue\n }\n if (add && !this.isException(value[enumMember], exception)) {\n keys.push({\n key: enumMember,\n value: value[enumMember]\n })\n }\n add = !add\n }\n\n return keys\n }\n\n private isException (enumValue: any, exception: any): boolean {\n if (exception && Array.isArray(exception)) {\n return exception.some((exceptionValue) => enumValue === exceptionValue)\n }\n\n return exception ? enumValue === exception : false\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from '@angular/platform-browser'\n\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n\n constructor (protected sanitizer: DomSanitizer) {\n }\n\n transform (value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value)\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value)\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value)\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value)\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value)\n default:\n return this.sanitizer.bypassSecurityTrustHtml(value)\n }\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core'\nimport moment from 'moment'\n\nexport interface DurationItemConfiguration {\n limit?: number\n suffix?: string\n}\n\nexport interface DurationPipeConfiguration {\n milliseconds?: { suffix?: string }\n minutes?: DurationItemConfiguration\n seconds?: DurationItemConfiguration\n hours?: DurationItemConfiguration\n days?: DurationItemConfiguration\n emptyLabel?: string\n convertErrorLabel?: string\n onlyLargestUnit?: boolean\n}\n\n@Pipe({ name: 'durationTime' })\nexport class DurationPipe implements PipeTransform {\n\n public transform(durationInMillis: number, config?: DurationPipeConfiguration): string {\n if (!durationInMillis) {\n return config?.emptyLabel || '---'\n }\n try {\n const {\n tempTime,\n millisLabel,\n secondsLimit,\n secondsLabel,\n minutesLimit,\n minutesLabel,\n hoursLimit,\n hoursLabel,\n daysLimit,\n daysLabel\n } = this.parseConfiguration(durationInMillis, config);\n\n if (durationInMillis >= daysLimit) {\n return this.getDaysHoursMinutesSecondsAndMillisLabel(config, tempTime, daysLabel, hoursLabel, minutesLabel, secondsLabel, millisLabel)\n } else if (durationInMillis >= hoursLimit) {\n return this.getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel)\n } else if (durationInMillis >= minutesLimit) {\n return this.getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel)\n } else if (durationInMillis >= secondsLimit) {\n return this.getSecondsAndMillisLabel(config, tempTime, secondsLabel, millisLabel)\n } else {\n return `${this.parseDecimals(tempTime.asMilliseconds())}${millisLabel}`\n }\n\n } catch (e) {\n return config?.convertErrorLabel || '---'\n }\n }\n\n private parseConfiguration(durationInMillis: number, config: DurationPipeConfiguration): any {\n const tempTime: moment.Duration = moment.duration(durationInMillis, 'milliseconds');\n const millisLabel: string = config?.milliseconds?.suffix || 'ms'\n\n const secondsLimit: number = (config?.seconds?.limit * 1000) || 5000\n const secondsLabel: string = config?.seconds?.suffix || 's'\n\n const minutesLimit: number = (config?.minutes?.limit * 1000 * 60) || (60 * 1000)\n const minutesLabel: string = config?.minutes?.suffix || 'm'\n\n const hoursLimit: number = (config?.hours?.limit * 60 * 60 * 1000) || (60 * 60 * 1000);\n const hoursLabel: string = config?.hours?.suffix || 'h'\n\n const daysLimit: number = (config?.days?.limit * 24 * 60 * 60 * 1000) || (24 * 60 * 60 * 1000)\n const daysLabel: string = config?.days?.suffix || 'd'\n return {\n tempTime,\n millisLabel,\n secondsLimit,\n secondsLabel,\n minutesLimit,\n minutesLabel,\n hoursLimit,\n hoursLabel,\n daysLimit,\n daysLabel\n };\n }\n\n private getDaysHoursMinutesSecondsAndMillisLabel(config: DurationPipeConfiguration, tempTime: moment.Duration, daysLabel: string, hoursLabel: string, minutesLabel: string, secondsLabel: string, millisLabel: string): string {\n const daysValue = tempTime.days() > 0 ? `${this.parseDecimals(tempTime.days())}${daysLabel} ` : ''\n if (config?.onlyLargestUnit) {\n return daysValue;\n }\n return `${daysValue}${this.getHoursMinutesSecondsAndMillisLabel(config, tempTime, hoursLabel, minutesLabel, secondsLabel, millisLabel)}`;\n }\n\n private getHoursMinutesSecondsAndMillisLabel(config: DurationPipeConfiguration, tempTime: moment.Duration, hoursLabel: string, minutesLabel: string, secondsLabel: string, millisLabel: string): string {\n const hoursValue = tempTime.hours() > 0 ? `${this.parseDecimals(tempTime.hours())}${hoursLabel} ` : ''\n if (config?.onlyLargestUnit) {\n return hoursValue\n }\n return `${hoursValue}${this.getMinutesSecondsAndMillisLabel(config, tempTime, minutesLabel, secondsLabel, millisLabel)}`;\n }\n\n private getMinutesSecondsAndMillisLabel(config: DurationPipeConfiguration, tempTime: moment.Duration, minutesLabel: string, secondsLabel: string, millisLabel: string): string {\n const minutesValue = tempTime.minutes() > 0 ? ` ${this.parseDecimals(tempTime.minutes())}${minutesLabel} ` : ''\n if (config?.onlyLargestUnit) {\n return minutesValue\n }\n return `${minutesValue}${this.getSecondsLabel(tempTime, secondsLabel)}`;\n }\n\n private getSecondsLabel(tempTime: moment.Duration, secondsLabel: string): string {\n const secondsValue = tempTime.seconds() > 0 ? `${tempTime.seconds()}${secondsLabel} ` : ''\n return `${secondsValue}`;\n }\n\n private getSecondsAndMillisLabel(config: DurationPipeConfiguration, tempTime: moment.Duration, secondsLabel: string, millisLabel: string): string {\n const secondsValue = tempTime.seconds() > 0 ? `${this.parseDecimals(tempTime.seconds())}${secondsLabel} ` : ''\n if (config?.onlyLargestUnit) {\n return secondsValue\n }\n\n const millisValue = tempTime.milliseconds() > 0 ? `${this.parseDecimals(tempTime.milliseconds())}${millisLabel} ` : ''\n return `${secondsValue}${millisValue}`;\n }\n\n private parseDecimals(value: number): number {\n return +value.toFixed(0);\n }\n\n}\n","import { NgModule } from '@angular/core'\nimport { SelectFilterPipe } from './select.filter.pipe'\nimport { SelectEnumFilterPipe } from './select.enum.filter.pipe'\nimport { EnumPipe } from './keys.pipe'\nimport { SafePipe } from './safe-pipe'\nimport { DurationPipe } from './duration.pipe';\n\n@NgModule({\n declarations: [\n SelectFilterPipe,\n SelectEnumFilterPipe,\n EnumPipe,\n SafePipe,\n DurationPipe\n ],\n exports: [\n SelectFilterPipe,\n SelectEnumFilterPipe,\n EnumPipe,\n SafePipe,\n DurationPipe\n ],\n providers: [\n SelectFilterPipe,\n SelectEnumFilterPipe,\n EnumPipe,\n SafePipe,\n DurationPipe\n ]\n})\nexport class PipeModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export interface DurationItemConfiguration {
4
+ limit?: number;
5
+ suffix?: string;
6
+ }
7
+ export interface DurationPipeConfiguration {
8
+ milliseconds?: {
9
+ suffix?: string;
10
+ };
11
+ minutes?: DurationItemConfiguration;
12
+ seconds?: DurationItemConfiguration;
13
+ hours?: DurationItemConfiguration;
14
+ days?: DurationItemConfiguration;
15
+ emptyLabel?: string;
16
+ convertErrorLabel?: string;
17
+ onlyLargestUnit?: boolean;
18
+ }
19
+ export declare class DurationPipe implements PipeTransform {
20
+ transform(durationInMillis: number, config?: DurationPipeConfiguration): string;
21
+ private parseConfiguration;
22
+ private getDaysHoursMinutesSecondsAndMillisLabel;
23
+ private getHoursMinutesSecondsAndMillisLabel;
24
+ private getMinutesSecondsAndMillisLabel;
25
+ private getSecondsLabel;
26
+ private getSecondsAndMillisLabel;
27
+ private parseDecimals;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<DurationPipe, never>;
29
+ static ɵpipe: i0.ɵɵPipeDeclaration<DurationPipe, "durationTime", false>;
30
+ }
@@ -3,8 +3,9 @@ import * as i1 from "./select.filter.pipe";
3
3
  import * as i2 from "./select.enum.filter.pipe";
4
4
  import * as i3 from "./keys.pipe";
5
5
  import * as i4 from "./safe-pipe";
6
+ import * as i5 from "./duration.pipe";
6
7
  export declare class PipeModule {
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<PipeModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<PipeModule, [typeof i1.SelectFilterPipe, typeof i2.SelectEnumFilterPipe, typeof i3.EnumPipe, typeof i4.SafePipe], never, [typeof i1.SelectFilterPipe, typeof i2.SelectEnumFilterPipe, typeof i3.EnumPipe, typeof i4.SafePipe]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PipeModule, [typeof i1.SelectFilterPipe, typeof i2.SelectEnumFilterPipe, typeof i3.EnumPipe, typeof i4.SafePipe, typeof i5.DurationPipe], never, [typeof i1.SelectFilterPipe, typeof i2.SelectEnumFilterPipe, typeof i3.EnumPipe, typeof i4.SafePipe, typeof i5.DurationPipe]>;
9
10
  static ɵinj: i0.ɵɵInjectorDeclaration<PipeModule>;
10
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apipass/pipes",
3
- "version": "1.0.92",
3
+ "version": "1.0.95",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "16.0.2",
6
6
  "@angular/cdk": "16.0.1",
@@ -12,7 +12,8 @@
12
12
  "tslib": "2.5.2",
13
13
  "@ngx-translate/core": "15.0.0",
14
14
  "@ngx-translate/http-loader": "8.0.0",
15
- "rxjs": "7.8.1"
15
+ "rxjs": "7.8.1",
16
+ "moment": "^2.29.1"
16
17
  },
17
18
  "module": "fesm2022/apipass-pipes.mjs",
18
19
  "typings": "index.d.ts",
package/public-api.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './lib/keys.pipe';
3
3
  export * from './lib/safe-pipe';
4
4
  export * from './lib/select.enum.filter.pipe';
5
5
  export * from './lib/select.filter.pipe';
6
+ export * from './lib/duration.pipe';