{"version":3,"file":"ng-nest-ui-time-range.mjs","sources":["../../../../lib/ng-nest/ui/time-range/time-range.property.ts","../../../../lib/ng-nest/ui/time-range/time-range.pipe.ts","../../../../lib/ng-nest/ui/time-range/time-range.module.ts","../../../../lib/ng-nest/ui/time-range/ng-nest-ui-time-range.ts"],"sourcesContent":["/**\r\n * TimeRange\r\n * @selector xTimeRange\r\n * @decorator pipe\r\n */\r\nexport const XTimeRangePrefix = 'xTimeRange';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { XTimeRangePrefix } from './time-range.property';\r\n\r\nexport const timeUnits: Array<[string, number]> = [\r\n  ['Y', 1000 * 60 * 60 * 24 * 365], // years\r\n  ['M', 1000 * 60 * 60 * 24 * 30], // months\r\n  ['D', 1000 * 60 * 60 * 24], // days\r\n  ['H', 1000 * 60 * 60], // hours\r\n  ['m', 1000 * 60], // minutes\r\n  ['s', 1000], // seconds\r\n  ['S', 1] // million seconds\r\n];\r\n\r\n@Pipe({ name: `${XTimeRangePrefix}` })\r\nexport class XTimeRangePipe implements PipeTransform {\r\n  transform(value: string | number, format: string = 'HH:mm:ss'): string {\r\n    let duration = Number(value || 0);\r\n\r\n    return timeUnits.reduce((current, [name, unit]) => {\r\n      if (current.indexOf(name) !== -1) {\r\n        const v = Math.floor(duration / unit);\r\n        duration -= v * unit;\r\n        return current.replace(new RegExp(`${name}+`, 'g'), (match: string) => {\r\n          return this.padStart(v.toString(), match.length, '0');\r\n        });\r\n      }\r\n      return current;\r\n    }, format);\r\n  }\r\n\r\n  padStart(toPad: string, length: number, element: string): string {\r\n    if (toPad.length > length) {\r\n      return toPad;\r\n    }\r\n    const joined = `${this.getRepeatedElement(length, element)}${toPad}`;\r\n    return joined.slice(joined.length - length, joined.length);\r\n  }\r\n\r\n  getRepeatedElement(length: number, element: string): string {\r\n    return Array(length).fill(element).join('');\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTimeRangePipe } from './time-range.pipe';\r\n\r\n@NgModule({\r\n  exports: [XTimeRangePipe],\r\n  imports: [XTimeRangePipe]\r\n})\r\nexport class XTimeRangeModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}