{"version":3,"file":"once-upon-a-pipe.mjs","sources":["../../../projects/once-upon-a-pipe/src/lib/once-upon-a-pipe.pipe.ts","../../../projects/once-upon-a-pipe/src/lib/once-upon-a-pipe.module.ts","../../../projects/once-upon-a-pipe/src/public-api.ts","../../../projects/once-upon-a-pipe/src/once-upon-a-pipe.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\ninterface Interval {\n  unit: string;\n  value: number;\n}\n\n@Pipe({\n  name: 'onceUponAPipe'\n})\nexport class OnceUponAPipePipe implements PipeTransform {\n  intervals: Interval[] = [\n    {unit: 'year', value: 31536000},\n    {unit: 'month', value: 2592000},\n    {unit: 'week', value: 604800},\n    {unit: 'day', value: 86400},\n    {unit: 'hour', value: 3600},\n    {unit: 'minute', value: 60},\n    {unit: 'second', value: 1}\n  ]\n\n  transform(value: any, args?: any): any {\n    if (value) {\n      let counter = 0;\n      const seconds = Math.floor((+new Date() - +new Date(value)) / 1000);\n      const suffix = seconds < 0 ? 'from now' : 'ago';\n\n      if (seconds > -1 && seconds < 29) return 'Just now';\n\n      const interval = this.intervals.find( interval => {\n        counter = Math.floor(Math.abs(seconds) / interval.value);\n        return counter > 0;\n      });\n\n      return `${counter} ${interval?.unit}${counter > 1 ? 's' : ''} ${suffix}`;\n    }\n    return value;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { OnceUponAPipePipe } from './once-upon-a-pipe.pipe';\n\n@NgModule({\n  declarations: [OnceUponAPipePipe],\n  exports: [OnceUponAPipePipe]\n})\nexport class OnceUponAPipeModule { }\n","/*\n * Public API Surface of once-upon-a-pipe\n */\n\nexport * from './lib/once-upon-a-pipe.module';\nexport * from './lib/once-upon-a-pipe.pipe';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAUa,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIE,QAAA,IAAA,CAAA,SAAS,GAAe;AACtB,YAAA,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAC;AAC/B,YAAA,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC;AAC/B,YAAA,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC;AAC7B,YAAA,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC;AAC3B,YAAA,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC;AAC3B,YAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;AAC3B,YAAA,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAC;SAC3B,CAAA;AAmBF,KAAA;IAjBC,SAAS,CAAC,KAAU,EAAE,IAAU,EAAA;AAC9B,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;AACpE,YAAA,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC;AAEhD,YAAA,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,EAAE;AAAE,gBAAA,OAAO,UAAU,CAAC;YAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAE,QAAQ,IAAG;AAC/C,gBAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzD,OAAO,OAAO,GAAG,CAAC,CAAC;AACrB,aAAC,CAAC,CAAC;YAEH,OAAO,CAAA,EAAG,OAAO,CAAI,CAAA,EAAA,QAAQ,EAAE,IAAI,CAAA,EAAG,OAAO,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,CAAC;AAC1E,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;;+GA3BU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA,CAAA;;;MCFY,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHf,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,iBAAiB,CAAA,EAAA,CAAA,CAAA;kHAEhB,mBAAmB,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;ACND;;AAEG;;ACFH;;AAEG;;;;"}