@js-sugar/angular
Version:
JS-Sugar core package (Angular)
1 lines • 4.4 kB
Source Map (JSON)
{"version":3,"file":"js-sugar-angular-date.mjs","sources":["../../../projects/angular/date/src/lib/jss-date/types.ts","../../../projects/angular/date/src/lib/jss-date/jss-date.pipe.ts","../../../projects/angular/date/src/lib/jss-date/jss-date.module.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\n/**\r\n * JssDate Pipe default options\r\n */\r\nexport interface JssDatePipeOptions {\r\n format: string;\r\n}\r\n\r\n/**\r\n * Optionally-provided default options to use for all instances of JssDatePipe.\r\n */\r\nexport const JSS_DATE_PIPE_OPTIONS = new InjectionToken<JssDatePipeOptions>('DATE_PIPE_DEFAULT_TIMEZONE');\r\n","import { Inject, Optional, Pipe, PipeTransform } from '@angular/core';\r\nimport { Calendars, DateTime } from '@js-sugar/date';\r\nimport { format, Formats } from '@js-sugar/date/plugins/format';\r\nimport { parseIso } from '@js-sugar/date/plugins/parse-iso';\r\nimport { JssDatePipeOptions, JSS_DATE_PIPE_OPTIONS } from './types';\r\n\r\n@Pipe({\r\n name: 'jssDate'\r\n})\r\nexport class JssDatePipe implements PipeTransform {\r\n constructor(@Optional() @Inject(JSS_DATE_PIPE_OPTIONS) private options: JssDatePipeOptions) {\r\n }\r\n\r\n transform(value: string | DateTime, formatStr?: string): string {\r\n // Adjust date formats accourding to angular date pipe:\r\n // https://angular.io/api/common/DatePipe\r\n //\r\n\r\n if (typeof formatStr === 'string') {\r\n switch (formatStr) {\r\n case 'short':\r\n formatStr = 'M/d/YY, HH:mm';\r\n break;\r\n case 'shortDate':\r\n formatStr = 'M/d/YY';\r\n break;\r\n }\r\n } else {\r\n formatStr = this.options?.format ?? 'M/d/YY, HH:mm';\r\n }\r\n\r\n let date: DateTime;\r\n if (value == null) {\r\n return '';\r\n } else if (typeof value === 'string') {\r\n date = parseIso(value);\r\n } else if (value instanceof DateTime) {\r\n date = value;\r\n } else {\r\n throw Error('Invalid date');\r\n }\r\n\r\n if (Calendars.default) {\r\n date = date.to(Calendars.default);\r\n }\r\n\r\n return format(date, formatStr);\r\n }\r\n}\r\n","import { NgModule, Inject } from '@angular/core';\r\nimport { JssDatePipe } from './jss-date.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n JssDatePipe\r\n ],\r\n exports: [\r\n JssDatePipe\r\n ]\r\n})\r\nexport class JssDateModule {\r\n}\r\n"],"names":[],"mappings":";;;;;;MAYa,qBAAqB,GAAG,IAAI,cAAc,CAAqB,4BAA4B;;MCH3F,WAAW,CAAA;AACpB,IAAA,WAAA,CAA+D,OAA2B,EAAA;QAA3B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;KACzF;IAED,SAAS,CAAC,KAAwB,EAAE,SAAkB,EAAA;AAKlD,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAC/B,YAAA,QAAQ,SAAS;AACb,gBAAA,KAAK,OAAO;oBACR,SAAS,GAAG,eAAe,CAAC;oBAC5B,MAAM;AACV,gBAAA,KAAK,WAAW;oBACZ,SAAS,GAAG,QAAQ,CAAC;oBACrB,MAAM;AACb,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,eAAe,CAAC;AACvD,SAAA;AAED,QAAA,IAAI,IAAc,CAAC;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE;AACf,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AAAM,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;aAAM,IAAI,KAAK,YAAY,QAAQ,EAAE;YAClC,IAAI,GAAG,KAAK,CAAC;AAChB,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;AAC/B,SAAA;QAED,IAAI,SAAS,CAAC,OAAO,EAAE;YACnB,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAClC;;AAtCQ,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBACY,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAD5C,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,SAAS;AAClB,iBAAA,CAAA;;0BAEgB,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;;;MCC5C,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2GAAb,aAAa,EAAA,YAAA,EAAA,CANlB,WAAW,CAAA,EAAA,OAAA,EAAA,CAGX,WAAW,CAAA,EAAA,CAAA,CAAA;2GAGN,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,WAAW;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,WAAW;AACd,qBAAA;AACJ,iBAAA,CAAA;;;;;"}