design-angular-kit
Version:
Un toolkit Angular conforme alle linee guida di design per i servizi web della PA
115 lines • 13.6 kB
JavaScript
import { Pipe } from '@angular/core';
import { TranslatePipe } from '@ngx-translate/core';
import * as i0 from "@angular/core";
/**
* Transform a number into a duration.
* Is necessary indicate the value expressed by the number, for example 'day'.
* @example
* - 1, 'day' -> 1 day
* - 5, 'day' -> 5 days
* - 7, 'day' -> 1 week
* - 365, 'day' -> 1 year
* - 2, 'week' -> 2 weeks
* ...
*/
export class ItDurationPipe extends TranslatePipe {
/**
* Transform a number into a duration.
* Is necessary indicate the value expressed by the number, for example 'day'.
* @example
* - 1, 'day' -> 1 day
* - 5, 'day' -> 5 days
* - 7, 'day' -> 1 week
* - 8, 'day' -> 1 week
* - 365, 'day' -> 1 year
* - 2, 'week' -> 2 weeks
* - 24, 'month' -> 1 year
* ...
* @param value the number
* @param type the number expressed type
*/
transform(value, type) {
let valueAdjust = Number(value);
if (isNaN(valueAdjust)) {
return '';
}
switch (type) {
// eslint-disable-next-line no-fallthrough,@typescript-eslint/ban-ts-comment
// @ts-ignore
case 'second':
if (valueAdjust < 60) {
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
}
valueAdjust = Math.round(valueAdjust / 60);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line no-fallthrough
case 'minute':
if (valueAdjust < 60) {
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
}
valueAdjust = Math.round(valueAdjust / 60);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line no-fallthrough
case 'hour':
if (valueAdjust < 24) {
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
}
valueAdjust = Math.round(valueAdjust / 24);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line no-fallthrough
case 'day':
if (valueAdjust < 7) {
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
}
valueAdjust = Math.round(valueAdjust / 7);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line no-fallthrough
case 'week':
if (valueAdjust < 5) {
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
}
valueAdjust = Math.round(valueAdjust / 5);
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
// eslint-disable-next-line no-fallthrough
case 'month':
if (valueAdjust < 24) {
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
}
valueAdjust = Math.round(valueAdjust / 24);
// eslint-disable-next-line no-fallthrough
case 'year':
return super.transform(`it.duration.${type}${valueAdjust === 1 ? '' : 's'}`, {
count: valueAdjust,
});
default:
return '';
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItDurationPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItDurationPipe, isStandalone: true, name: "itDuration" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItDurationPipe, decorators: [{
type: Pipe,
args: [{
name: 'itDuration',
standalone: true,
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL3BpcGVzL2R1cmF0aW9uLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUlwRDs7Ozs7Ozs7OztHQVVHO0FBS0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBQy9DOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ00sU0FBUyxDQUFDLEtBQWtDLEVBQUUsSUFBd0I7UUFDN0UsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLDRFQUE0RTtZQUM1RSxhQUFhO1lBQ2IsS0FBSyxRQUFRO2dCQUNYLElBQUksV0FBVyxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUNyQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBZSxJQUFJLEdBQUcsV0FBVyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDM0UsS0FBSyxFQUFFLFdBQVc7cUJBQ25CLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM3Qyw2REFBNkQ7WUFDN0QsYUFBYTtZQUNiLDBDQUEwQztZQUMxQyxLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxXQUFXLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQ3JCLE9BQU8sS0FB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aW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBJdER1cmF0aW9uUGlwZVR5cGUgPSAneWVhcicgfCAnbW9udGgnIHwgJ3dlZWsnIHwgJ2RheScgfCAnaG91cicgfCAnbWludXRlJyB8ICdzZWNvbmQnO1xuXG4vKipcbiAqIFRyYW5zZm9ybSBhIG51bWJlciBpbnRvIGEgZHVyYXRpb24uXG4gKiBJcyBuZWNlc3NhcnkgaW5kaWNhdGUgdGhlIHZhbHVlIGV4cHJlc3NlZCBieSB0aGUgbnVtYmVyLCBmb3IgZXhhbXBsZSAnZGF5Jy5cbiAqIEBleGFtcGxlXG4gKiAgLSAxLCAnZGF5JyAtPiAxIGRheVxuICogIC0gNSwgJ2RheScgLT4gNSBkYXlzXG4gKiAgLSA3LCAnZGF5JyAtPiAxIHdlZWtcbiAqICAtIDM2NSwgJ2RheScgLT4gMSB5ZWFyXG4gKiAgLSAyLCAnd2VlaycgLT4gMiB3ZWVrc1xuICogIC4uLlxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdpdER1cmF0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSXREdXJhdGlvblBpcGUgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYSBudW1iZXIgaW50byBhIGR1cmF0aW9uLlxuICAgKiBJcyBuZWNlc3NhcnkgaW5kaWNhdGUgdGhlIHZhbHVlIGV4cHJlc3NlZCBieSB0aGUgbnVtYmVyLCBmb3IgZXhhbXBsZSAnZGF5Jy5cbiAgICogQGV4YW1wbGVcbiAgICogIC0gMSwgJ2RheScgLT4gMSBkYXlcbiAgICogIC0gNSwgJ2RheScgLT4gNSBkYXlzXG4gICAqICAtIDcsICdkYXknIC0+IDEgd2Vla1xuICAgKiAgLSA4LCAnZGF5JyAtPiAxIHdlZWtcbiAgICogIC0gMzY1LCAnZGF5JyAtPiAxIHllYXJcbiAgICogIC0gMiwgJ3dlZWsnIC0+IDIgd2Vla3NcbiAgICogIC0gMjQsICdtb250aCcgLT4gMSB5ZWFyXG4gICAqICAuLi5cbiAgICogQHBhcmFtIHZhbHVlIHRoZSBudW1iZXJcbiAgICogQHBhcmFtIHR5cGUgdGhlIG51bWJlciBleHByZXNzZWQgdHlwZVxuICAgKi9cbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsIHR5cGU6IEl0RHVyYXRpb25QaXBlVHlwZSk6IHN0cmluZyB7XG4gICAgbGV0IHZhbHVlQWRqdXN0ID0gTnVtYmVyKHZhbHVlKTtcbiAgICBpZiAoaXNOYU4odmFsdWVBZGp1c3QpKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2gsQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICBpZiAodmFsdWVBZGp1c3QgPCA2MCkge1xuICAgICAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oYGl0LmR1cmF0aW9uLiR7dHlwZX0ke3ZhbHVlQWRqdXN0ID09PSAxID8gJycgOiAncyd9YCwge1xuICAgICAgICAgICAgY291bnQ6IHZhbHVlQWRqdXN0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlQWRqdXN0ID0gTWF0aC5yb3VuZCh2YWx1ZUFkanVzdCAvIDYwKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgICAgY2FzZSAnbWludXRlJzpcbiAgICAgICAgaWYgKHZhbHVlQWRqdXN0IDwgNjApIHtcbiAgICAgICAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKGBpdC5kdXJhdGlvbi4ke3R5cGV9JHt2YWx1ZUFkanVzdCA9PT0gMSA/ICcnIDogJ3MnfWAsIHtcbiAgICAgICAgICAgIGNvdW50OiB2YWx1ZUFkanVzdCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZUFkanVzdCA9IE1hdGgucm91bmQodmFsdWVBZGp1c3QgLyA2MCk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgIGNhc2UgJ2hvdXInOlxuICAgICAgICBpZiAodmFsdWVBZGp1c3QgPCAyNCkge1xuICAgICAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oYGl0LmR1cmF0aW9uLiR7dHlwZX0ke3ZhbHVlQWRqdXN0ID09PSAxID8gJycgOiAncyd9YCwge1xuICAgICAgICAgICAgY291bnQ6IHZhbHVlQWRqdXN0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlQWRqdXN0ID0gTWF0aC5yb3VuZCh2YWx1ZUFkanVzdCAvIDI0KTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgaWYgKHZhbHVlQWRqdXN0IDwgNykge1xuICAgICAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oYGl0LmR1cmF0aW9uLiR7dHlwZX0ke3ZhbHVlQWRqdXN0ID09PSAxID8gJycgOiAncyd9YCwge1xuICAgICAgICAgICAgY291bnQ6IHZhbHVlQWRqdXN0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlQWRqdXN0ID0gTWF0aC5yb3VuZCh2YWx1ZUFkanVzdCAvIDcpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgaWYgKHZhbHVlQWRqdXN0IDwgNSkge1xuICAgICAgICAgIHJldHVybiBzdXBlci50cmFuc2Zvcm0oYGl0LmR1cmF0aW9uLiR7dHlwZX0ke3ZhbHVlQWRqdXN0ID09PSAxID8gJycgOiAncyd9YCwge1xuICAgICAgICAgICAgY291bnQ6IHZhbHVlQWRqdXN0LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlQWRqdXN0ID0gTWF0aC5yb3VuZCh2YWx1ZUFkanVzdCAvIDUpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIGlmICh2YWx1ZUFkanVzdCA8IDI0KSB7XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybShgaXQuZHVyYXRpb24uJHt0eXBlfSR7dmFsdWVBZGp1c3QgPT09IDEgPyAnJyA6ICdzJ31gLCB7XG4gICAgICAgICAgICBjb3VudDogdmFsdWVBZGp1c3QsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVBZGp1c3QgPSBNYXRoLnJvdW5kKHZhbHVlQWRqdXN0IC8gMjQpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybShgaXQuZHVyYXRpb24uJHt0eXBlfSR7dmFsdWVBZGp1c3QgPT09IDEgPyAnJyA6ICdzJ31gLCB7XG4gICAgICAgICAgY291bnQ6IHZhbHVlQWRqdXN0LFxuICAgICAgICB9KTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==