UNPKG

ng-time-past-pipe

Version:

Reactive textual representation of the time that has been passed between a given date and now in your Angular App.

41 lines 4.49 kB
import { Inject, Injectable } from '@angular/core'; import { createTimeDiff, TIME_DIFF_GENERATOR } from './time-diff'; import { parseInputValue, validateTAInputType } from './time-past'; import * as i0 from "@angular/core"; /** * Public TimePast Service Class * * @public * @api */ export class TimePastService { constructor(timeDiffGenerator) { this.timeDiffGenerator = timeDiffGenerator; } /** * Transform anything that can be parsed to a Date in the past, to a string that represent the relative * time that has been passed between now and this point of time. * * @param value A value that can be parsed to a Date in the past * @return The textual representation of the time that has been passed between the given Date * and the current. */ timePast(value) { if (validateTAInputType(value) === false) { return undefined; } const seconds = parseInputValue(value); const timeDiff = createTimeDiff(seconds); return this.timeDiffGenerator(timeDiff); } } TimePastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: TimePastService, deps: [{ token: TIME_DIFF_GENERATOR }], target: i0.ɵɵFactoryTarget.Injectable }); TimePastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: TimePastService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: TimePastService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Inject, args: [TIME_DIFF_GENERATOR] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1wYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10aW1lLXBhc3QtcGlwZS9zcmMvbGliL3RpbWUtcGFzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sYUFBYSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQVcsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRzVFOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBMEQsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRW5HOzs7Ozs7O09BT0c7SUFDSCxRQUFRLENBQUMsS0FBYztRQUNyQixJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRTtZQUN4QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFekMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7NEdBcEJVLGVBQWUsa0JBQ04sbUJBQW1CO2dIQUQ1QixlQUFlLGNBUEYsTUFBTTsyRkFPbkIsZUFBZTtrQkFQM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQVFuQixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlVGltZURpZmYsIFRJTUVfRElGRl9HRU5FUkFUT1IsIFRpbWVEaWZmR2VuZXJhdG9yIH0gZnJvbSAnLi90aW1lLWRpZmYnO1xuaW1wb3J0IHsgcGFyc2VJbnB1dFZhbHVlLCBUQUlucHV0LCB2YWxpZGF0ZVRBSW5wdXRUeXBlIH0gZnJvbSAnLi90aW1lLXBhc3QnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuLyoqXG4gKiBQdWJsaWMgVGltZVBhc3QgU2VydmljZSBDbGFzc1xuICpcbiAqIEBwdWJsaWNcbiAqIEBhcGlcbiAqL1xuZXhwb3J0IGNsYXNzIFRpbWVQYXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVElNRV9ESUZGX0dFTkVSQVRPUikgcHJpdmF0ZSByZWFkb25seSB0aW1lRGlmZkdlbmVyYXRvcjogVGltZURpZmZHZW5lcmF0b3IpIHsgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gYW55dGhpbmcgdGhhdCBjYW4gYmUgcGFyc2VkIHRvIGEgRGF0ZSBpbiB0aGUgcGFzdCwgdG8gYSBzdHJpbmcgdGhhdCByZXByZXNlbnQgdGhlIHJlbGF0aXZlXG4gICAqICB0aW1lIHRoYXQgaGFzIGJlZW4gcGFzc2VkIGJldHdlZW4gbm93IGFuZCB0aGlzIHBvaW50IG9mIHRpbWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBBIHZhbHVlIHRoYXQgY2FuIGJlIHBhcnNlZCB0byBhIERhdGUgaW4gdGhlIHBhc3RcbiAgICogQHJldHVybiBUaGUgdGV4dHVhbCByZXByZXNlbnRhdGlvbiBvZiB0aGUgdGltZSB0aGF0IGhhcyBiZWVuIHBhc3NlZCBiZXR3ZWVuIHRoZSBnaXZlbiBEYXRlXG4gICAqICBhbmQgdGhlIGN1cnJlbnQuXG4gICAqL1xuICB0aW1lUGFzdCh2YWx1ZTogVEFJbnB1dCk6IHN0cmluZyB7XG4gICAgaWYgKHZhbGlkYXRlVEFJbnB1dFR5cGUodmFsdWUpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRzID0gcGFyc2VJbnB1dFZhbHVlKHZhbHVlKTtcbiAgICBjb25zdCB0aW1lRGlmZiA9IGNyZWF0ZVRpbWVEaWZmKHNlY29uZHMpO1xuXG4gICAgcmV0dXJuIHRoaXMudGltZURpZmZHZW5lcmF0b3IodGltZURpZmYpO1xuICB9XG59XG4iXX0=