@angular/material-luxon-adapter 16.0.0-next.0 → 16.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,18 +12,19 @@ import { MAT_LUXON_DATE_FORMATS } from './luxon-date-formats';
12
12
  import * as i0 from "@angular/core";
13
13
  export * from './luxon-date-adapter';
14
14
  export * from './luxon-date-formats';
15
- export class LuxonDateModule {
15
+ class LuxonDateModule {
16
16
  }
17
- LuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- LuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule });
19
- LuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, providers: [
17
+ LuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ LuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule });
19
+ LuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, providers: [
20
20
  {
21
21
  provide: DateAdapter,
22
22
  useClass: LuxonDateAdapter,
23
23
  deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],
24
24
  },
25
25
  ] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, decorators: [{
26
+ export { LuxonDateModule };
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, decorators: [{
27
28
  type: NgModule,
28
29
  args: [{
29
30
  providers: [
@@ -35,16 +36,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0",
35
36
  ],
36
37
  }]
37
38
  }] });
38
- export class MatLuxonDateModule {
39
+ class MatLuxonDateModule {
39
40
  }
40
- MatLuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
41
- MatLuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, imports: [LuxonDateModule] });
42
- MatLuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }], imports: [LuxonDateModule] });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, decorators: [{
41
+ MatLuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
+ MatLuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, imports: [LuxonDateModule] });
43
+ MatLuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }], imports: [LuxonDateModule] });
44
+ export { MatLuxonDateModule };
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, decorators: [{
44
46
  type: NgModule,
45
47
  args: [{
46
48
  imports: [LuxonDateModule],
47
49
  providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }],
48
50
  }]
49
51
  }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtbHV4b24tYWRhcHRlci9hZGFwdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsOEJBQThCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFNUQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBV3JDLE1BQU0sT0FBTyxlQUFlOzttSEFBZixlQUFlO29IQUFmLGVBQWU7b0hBQWYsZUFBZSxhQVJmO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsV0FBVztZQUNwQixRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQztTQUN4RDtLQUNGO2tHQUVVLGVBQWU7a0JBVDNCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixRQUFRLEVBQUUsZ0JBQWdCOzRCQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7eUJBQ3hEO3FCQUNGO2lCQUNGOztBQU9ELE1BQU0sT0FBTyxrQkFBa0I7O3NIQUFsQixrQkFBa0I7dUhBQWxCLGtCQUFrQixZQU5sQixlQUFlO3VIQU1mLGtCQUFrQixhQUZsQixDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBQyxDQUFDLFlBRGhFLGVBQWU7a0dBR2Qsa0JBQWtCO2tCQUo5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDMUIsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFDLENBQUM7aUJBQzNFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TLCBMdXhvbkRhdGVBZGFwdGVyfSBmcm9tICcuL2x1eG9uLWRhdGUtYWRhcHRlcic7XG5pbXBvcnQge01BVF9MVVhPTl9EQVRFX0ZPUk1BVFN9IGZyb20gJy4vbHV4b24tZGF0ZS1mb3JtYXRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9sdXhvbi1kYXRlLWFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sdXhvbi1kYXRlLWZvcm1hdHMnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBMdXhvbkRhdGVBZGFwdGVyLFxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMdXhvbkRhdGVNb2R1bGUge31cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0x1eG9uRGF0ZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTUFUX0xVWE9OX0RBVEVfRk9STUFUU31dLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRMdXhvbkRhdGVNb2R1bGUge31cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtbHV4b24tYWRhcHRlci9hZGFwdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsOEJBQThCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFNUQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLE1BU2EsZUFBZTs7bUhBQWYsZUFBZTtvSEFBZixlQUFlO29IQUFmLGVBQWUsYUFSZjtRQUNUO1lBQ0UsT0FBTyxFQUFFLFdBQVc7WUFDcEIsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7U0FDeEQ7S0FDRjtTQUVVLGVBQWU7a0dBQWYsZUFBZTtrQkFUM0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7NEJBQzFCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDeEQ7cUJBQ0Y7aUJBQ0Y7O0FBR0QsTUFJYSxrQkFBa0I7O3NIQUFsQixrQkFBa0I7dUhBQWxCLGtCQUFrQixZQU5sQixlQUFlO3VIQU1mLGtCQUFrQixhQUZsQixDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBQyxDQUFDLFlBRGhFLGVBQWU7U0FHZCxrQkFBa0I7a0dBQWxCLGtCQUFrQjtrQkFKOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBQyxDQUFDO2lCQUMzRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge01BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUywgTHV4b25EYXRlQWRhcHRlcn0gZnJvbSAnLi9sdXhvbi1kYXRlLWFkYXB0ZXInO1xuaW1wb3J0IHtNQVRfTFVYT05fREFURV9GT1JNQVRTfSBmcm9tICcuL2x1eG9uLWRhdGUtZm9ybWF0cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbHV4b24tZGF0ZS1hZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbHV4b24tZGF0ZS1mb3JtYXRzJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTHV4b25EYXRlQWRhcHRlcixcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTHV4b25EYXRlTW9kdWxlIHt9XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtMdXhvbkRhdGVNb2R1bGVdLFxuICBwcm92aWRlcnM6IFt7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IE1BVF9MVVhPTl9EQVRFX0ZPUk1BVFN9XSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0THV4b25EYXRlTW9kdWxlIHt9XG4iXX0=
@@ -30,7 +30,7 @@ function range(length, valueFunction) {
30
30
  return valuesArray;
31
31
  }
32
32
  /** Adapts Luxon Dates for use with Angular Material. */
33
- export class LuxonDateAdapter extends DateAdapter {
33
+ class LuxonDateAdapter extends DateAdapter {
34
34
  constructor(dateLocale, options) {
35
35
  super();
36
36
  this._useUTC = !!options?.useUtc;
@@ -189,9 +189,10 @@ export class LuxonDateAdapter extends DateAdapter {
189
189
  };
190
190
  }
191
191
  }
192
- LuxonDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
193
- LuxonDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter });
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter, decorators: [{
192
+ LuxonDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
193
+ LuxonDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter });
194
+ export { LuxonDateAdapter };
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter, decorators: [{
195
196
  type: Injectable
196
197
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
197
198
  type: Optional
@@ -204,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0",
204
205
  type: Inject,
205
206
  args: [MAT_LUXON_DATE_ADAPTER_OPTIONS]
206
207
  }] }]; } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4b24tZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWx1eG9uLWFkYXB0ZXIvYWRhcHRlci9sdXhvbi1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxRQUFRLElBQUksYUFBYSxFQUN6QixJQUFJLElBQUksU0FBUyxHQUVsQixNQUFNLE9BQU8sQ0FBQzs7QUFpQmYsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxnQ0FBZ0MsRUFDaEM7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsc0NBQXNDO0NBQ2hELENBQ0YsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLFVBQVUsc0NBQXNDO0lBQ3BELE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSztRQUNiLGNBQWMsRUFBRSxDQUFDO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQsaURBQWlEO0FBQ2pELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNuRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELHdEQUF3RDtBQUV4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QUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBUTtRQUNyQixPQUFPLEdBQUcsWUFBWSxhQUFhLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFtQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsc0ZBQXNGO0lBQzlFLFdBQVc7UUFDakIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDOztvSEF2TVUsZ0JBQWdCLGtCQUtMLGVBQWUsNkJBRTNCLDhCQUE4Qjt3SEFQN0IsZ0JBQWdCO2tHQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQU1OLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs7MEJBQ2xDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIERhdGVUaW1lIGFzIEx1eG9uRGF0ZVRpbWUsXG4gIEluZm8gYXMgTHV4b25JbmZvLFxuICBEYXRlVGltZU9wdGlvbnMgYXMgTHV4b25EYXRlVGltZU9wdGlvbnMsXG59IGZyb20gJ2x1eG9uJztcblxuLyoqIENvbmZpZ3VyYWJsZSBvcHRpb25zIGZvciB0aGUgYEx1eG9uRGF0ZUFkYXB0ZXJgLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUdXJucyB0aGUgdXNlIG9mIHV0YyBkYXRlcyBvbiBvciBvZmYuXG4gICAqIENoYW5naW5nIHRoaXMgd2lsbCBjaGFuZ2UgaG93IEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBsaWtlIERhdGVQaWNrZXIgb3V0cHV0IGRhdGVzLlxuICAgKi9cbiAgdXNlVXRjOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBmaXJzdCBkYXkgb2Ygd2Vlay5cbiAgICogQ2hhbmdpbmcgdGhpcyB3aWxsIGNoYW5nZSBob3cgQW5ndWxhciBNYXRlcmlhbCBjb21wb25lbnRzIGxpa2UgRGF0ZVBpY2tlciBzaG93cyBzdGFydCBvZiB3ZWVrLlxuICAgKi9cbiAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcbn1cblxuLyoqIEluamVjdGlvblRva2VuIGZvciBMdXhvbkRhdGVBZGFwdGVyIHRvIGNvbmZpZ3VyZSBvcHRpb25zLiAqL1xuZXhwb3J0IGNvbnN0IE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucz4oXG4gICdNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6IE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZLFxuICB9LFxuKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlNfRkFDVE9SWSgpOiBNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucyB7XG4gIHJldHVybiB7XG4gICAgdXNlVXRjOiBmYWxzZSxcbiAgICBmaXJzdERheU9mV2VlazogMCxcbiAgfTtcbn1cblxuLyoqIENyZWF0ZXMgYW4gYXJyYXkgYW5kIGZpbGxzIGl0IHdpdGggdmFsdWVzLiAqL1xuZnVuY3Rpb24gcmFuZ2U8VD4obGVuZ3RoOiBudW1iZXIsIHZhbHVlRnVuY3Rpb246IChpbmRleDogbnVtYmVyKSA9PiBUKTogVFtdIHtcbiAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgdmFsdWVzQXJyYXlbaV0gPSB2YWx1ZUZ1bmN0aW9uKGkpO1xuICB9XG4gIHJldHVybiB2YWx1ZXNBcnJheTtcbn1cblxuLyoqIEFkYXB0cyBMdXhvbiBEYXRlcyBmb3IgdXNlIHdpdGggQW5ndWxhciBNYXRlcmlhbC4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMdXhvbkRhdGVBZGFwdGVyIGV4dGVuZHMgRGF0ZUFkYXB0ZXI8THV4b25EYXRlVGltZT4ge1xuICBwcml2YXRlIF91c2VVVEM6IGJvb2xlYW47XG4gIHByaXZhdGUgX2ZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9MT0NBTEUpIGRhdGVMb2NhbGU6IHN0cmluZyxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TKVxuICAgIG9wdGlvbnM/OiBNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl91c2VVVEMgPSAhIW9wdGlvbnM/LnVzZVV0YztcbiAgICB0aGlzLl9maXJzdERheU9mV2VlayA9IG9wdGlvbnM/LmZpcnN0RGF5T2ZXZWVrIHx8IDA7XG4gICAgdGhpcy5zZXRMb2NhbGUoZGF0ZUxvY2FsZSB8fCBMdXhvbkRhdGVUaW1lLmxvY2FsKCkubG9jYWxlKTtcbiAgfVxuXG4gIGdldFllYXIoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUueWVhcjtcbiAgfVxuXG4gIGdldE1vbnRoKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIC8vIEx1eG9uIHdvcmtzIHdpdGggMS1pbmRleGVkIG1vbnRocyB3aGVyZWFzIG91ciBjb2RlIGV4cGVjdHMgMC1pbmRleGVkLlxuICAgIHJldHVybiBkYXRlLm1vbnRoIC0gMTtcbiAgfVxuXG4gIGdldERhdGUoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZGF5O1xuICB9XG5cbiAgZ2V0RGF5T2ZXZWVrKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLndlZWtkYXk7XG4gIH1cblxuICBnZXRNb250aE5hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEx1eG9uSW5mby5tb250aHMoc3R5bGUsIHtsb2NhbGU6IHRoaXMubG9jYWxlfSk7XG4gIH1cblxuICBnZXREYXRlTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIC8vIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIEx1eG9uIGRvZXNuJ3Qgb2ZmZXIgc2ltaWxhclxuICAgIC8vIGZ1bmN0aW9uYWxpdHkgc28gd2UgaGF2ZSB0byBmYWxsIGJhY2sgdG8gdGhlIEludGwgQVBJLlxuICAgIGNvbnN0IGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxlLCB7ZGF5OiAnbnVtZXJpYycsIHRpbWVab25lOiAndXRjJ30pO1xuXG4gICAgLy8gRm9ybWF0IGEgVVRDIGRhdGUgaW4gb3JkZXIgdG8gYXZvaWQgRFNUIGlzc3Vlcy5cbiAgICByZXR1cm4gcmFuZ2UoMzEsIGkgPT4gZHRmLmZvcm1hdChMdXhvbkRhdGVUaW1lLnV0YygyMDE3LCAxLCBpICsgMSkudG9KU0RhdGUoKSkpO1xuICB9XG5cbiAgZ2V0RGF5T2ZXZWVrTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICAvLyBOb3RlIHRoYXQgd2Ugc2hpZnQgdGhlIGFycmF5IG9uY2UsIGJlY2F1c2UgTHV4b24gcmV0dXJucyBNb25kYXkgYXMgdGhlXG4gICAgLy8gZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLCB3aGVyZWFzIG91ciBsb2dpYyBhc3N1bWVzIHRoYXQgaXQncyBTdW5kYXkuIFNlZTpcbiAgICAvLyBodHRwczovL21vbWVudC5naXRodWIuaW8vbHV4b24vYXBpLWRvY3MvaW5kZXguaHRtbCNpbmZvd2Vla2RheXNcbiAgICBjb25zdCBkYXlzID0gTHV4b25JbmZvLndlZWtkYXlzKHN0eWxlLCB7bG9jYWxlOiB0aGlzLmxvY2FsZX0pO1xuICAgIGRheXMudW5zaGlmdChkYXlzLnBvcCgpISk7XG4gICAgcmV0dXJuIGRheXM7XG4gIH1cblxuICBnZXRZZWFyTmFtZShkYXRlOiBMdXhvbkRhdGVUaW1lKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZS50b0Zvcm1hdCgneXl5eScpO1xuICB9XG5cbiAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs7XG4gIH1cblxuICBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5kYXlzSW5Nb250aDtcbiAgfVxuXG4gIGNsb25lKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gTHV4b25EYXRlVGltZS5mcm9tT2JqZWN0KGRhdGUudG9PYmplY3QoKSk7XG4gIH1cblxuICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgaWYgKG1vbnRoIDwgMCB8fCBtb250aCA+IDExKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCBcIiR7bW9udGh9XCIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO1xuICAgIH1cblxuICAgIGlmIChkYXRlIDwgMSkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIi4gRGF0ZSBoYXMgdG8gYmUgZ3JlYXRlciB0aGFuIDAuYCk7XG4gICAgfVxuXG4gICAgLy8gTHV4b24gdXNlcyAxLWluZGV4ZWQgbW9udGhzIHNvIHdlIG5lZWQgdG8gYWRkIG9uZSB0byB0aGUgbW9udGguXG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdXNlVVRDXG4gICAgICA/IEx1eG9uRGF0ZVRpbWUudXRjKHllYXIsIG1vbnRoICsgMSwgZGF0ZSlcbiAgICAgIDogTHV4b25EYXRlVGltZS5sb2NhbCh5ZWFyLCBtb250aCArIDEsIGRhdGUpO1xuXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQocmVzdWx0KSkge1xuICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIi4gUmVhc29uOiBcIiR7cmVzdWx0LmludmFsaWRSZWFzb259XCIuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdC5zZXRMb2NhbGUodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgdG9kYXkoKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuICh0aGlzLl91c2VVVEMgPyBMdXhvbkRhdGVUaW1lLnV0YygpIDogTHV4b25EYXRlVGltZS5sb2NhbCgpKS5zZXRMb2NhbGUodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IHN0cmluZyB8IHN0cmluZ1tdKTogTHV4b25EYXRlVGltZSB8IG51bGwge1xuICAgIGNvbnN0IG9wdGlvbnM6IEx1eG9uRGF0ZVRpbWVPcHRpb25zID0gdGhpcy5fZ2V0T3B0aW9ucygpO1xuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpc284NjAxRGF0ZSA9IEx1eG9uRGF0ZVRpbWUuZnJvbUlTTyh2YWx1ZSwgb3B0aW9ucyk7XG5cbiAgICAgIGlmICh0aGlzLmlzVmFsaWQoaXNvODYwMURhdGUpKSB7XG4gICAgICAgIHJldHVybiBpc284NjAxRGF0ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZm9ybWF0cyA9IEFycmF5LmlzQXJyYXkocGFyc2VGb3JtYXQpID8gcGFyc2VGb3JtYXQgOiBbcGFyc2VGb3JtYXRdO1xuXG4gICAgICBpZiAoIXBhcnNlRm9ybWF0Lmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBFcnJvcignRm9ybWF0cyBhcnJheSBtdXN0IG5vdCBiZSBlbXB0eS4nKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgICAgICBjb25zdCBmcm9tRm9ybWF0ID0gTHV4b25EYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXQsIG9wdGlvbnMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWQoZnJvbUZvcm1hdCkpIHtcbiAgICAgICAgICByZXR1cm4gZnJvbUZvcm1hdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5pbnZhbGlkKCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gTHV4b25EYXRlVGltZS5mcm9tTWlsbGlzKHZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIEx1eG9uRGF0ZVRpbWUuZnJvbUpTRGF0ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEx1eG9uRGF0ZVRpbWUpIHtcbiAgICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmZyb21NaWxsaXModmFsdWUudG9NaWxsaXMoKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmb3JtYXQoZGF0ZTogTHV4b25EYXRlVGltZSwgZGlzcGxheUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0x1eG9uRGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZVxuICAgICAgLnNldExvY2FsZSh0aGlzLmxvY2FsZSlcbiAgICAgIC5zZXRab25lKHRoaXMuX3VzZVVUQyA/ICd1dGMnIDogdW5kZWZpbmVkKVxuICAgICAgLnRvRm9ybWF0KGRpc3BsYXlGb3JtYXQpO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBMdXhvbkRhdGVUaW1lLCB5ZWFyczogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIGRhdGUucGx1cyh7eWVhcnN9KS5zZXRMb2NhbGUodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogTHV4b25EYXRlVGltZSwgbW9udGhzOiBudW1iZXIpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gZGF0ZS5wbHVzKHttb250aHN9KS5zZXRMb2NhbGUodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIGRheXM6IG51bWJlcik6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBkYXRlLnBsdXMoe2RheXN9KS5zZXRMb2NhbGUodGhpcy5sb2NhbGUpO1xuICB9XG5cbiAgdG9Jc284NjAxKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvSVNPKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZ2l2ZW4gdmFsdWUgaWYgZ2l2ZW4gYSB2YWxpZCBMdXhvbiBvciBudWxsLiBEZXNlcmlhbGl6ZXMgdmFsaWQgSVNPIDg2MDEgc3RyaW5nc1xuICAgKiAoaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBhbmQgdmFsaWQgRGF0ZSBvYmplY3RzIGludG8gdmFsaWQgRGF0ZVRpbWUgYW5kIGVtcHR5XG4gICAqIHN0cmluZyBpbnRvIG51bGwuIFJldHVybnMgYW4gaW52YWxpZCBkYXRlIGZvciBhbGwgb3RoZXIgdmFsdWVzLlxuICAgKi9cbiAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IEx1eG9uRGF0ZVRpbWUgfCBudWxsIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fZ2V0T3B0aW9ucygpO1xuICAgIGxldCBkYXRlOiBMdXhvbkRhdGVUaW1lIHwgdW5kZWZpbmVkO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGRhdGUgPSBMdXhvbkRhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGRhdGUgPSBMdXhvbkRhdGVUaW1lLmZyb21JU08odmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoZGF0ZSAmJiB0aGlzLmlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuICB9XG5cbiAgaXNEYXRlSW5zdGFuY2Uob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTHV4b25EYXRlVGltZTtcbiAgfVxuXG4gIGlzVmFsaWQoZGF0ZTogTHV4b25EYXRlVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRlLmlzVmFsaWQ7XG4gIH1cblxuICBpbnZhbGlkKCk6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmludmFsaWQoJ0ludmFsaWQgTHV4b24gRGF0ZVRpbWUgb2JqZWN0LicpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIG9wdGlvbnMgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIGNvbnN0cnVjdGluZyBhIG5ldyBgRGF0ZVRpbWVgIG9iamVjdC4gKi9cbiAgcHJpdmF0ZSBfZ2V0T3B0aW9ucygpOiBMdXhvbkRhdGVUaW1lT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHpvbmU6IHRoaXMuX3VzZVVUQyA/ICd1dGMnIDogdW5kZWZpbmVkLFxuICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4b24tZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWx1eG9uLWFkYXB0ZXIvYWRhcHRlci9sdXhvbi1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxRQUFRLElBQUksYUFBYSxFQUN6QixJQUFJLElBQUksU0FBUyxHQUVsQixNQUFNLE9BQU8sQ0FBQzs7QUFpQmYsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxnQ0FBZ0MsRUFDaEM7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsc0NBQXNDO0NBQ2hELENBQ0YsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLFVBQVUsc0NBQXNDO0lBQ3BELE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSztRQUNiLGNBQWMsRUFBRSxDQUFDO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQsaURBQWlEO0FBQ2pELFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztJQUNuRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELHdEQUF3RDtBQUN4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QUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVE7UUFDckIsT0FBTyxHQUFHLFlBQVksYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBbUI7UUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELHNGQUFzRjtJQUM5RSxXQUFXO1FBQ2pCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3RDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDO0lBQ0osQ0FBQzs7b0hBdk1VLGdCQUFnQixrQkFLTCxlQUFlLDZCQUUzQiw4QkFBOEI7d0hBUDdCLGdCQUFnQjtTQUFoQixnQkFBZ0I7a0dBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBTU4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzswQkFDbEMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0ZVRpbWUgYXMgTHV4b25EYXRlVGltZSxcbiAgSW5mbyBhcyBMdXhvbkluZm8sXG4gIERhdGVUaW1lT3B0aW9ucyBhcyBMdXhvbkRhdGVUaW1lT3B0aW9ucyxcbn0gZnJvbSAnbHV4b24nO1xuXG4vKiogQ29uZmlndXJhYmxlIG9wdGlvbnMgZm9yIHRoZSBgTHV4b25EYXRlQWRhcHRlcmAuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFR1cm5zIHRoZSB1c2Ugb2YgdXRjIGRhdGVzIG9uIG9yIG9mZi5cbiAgICogQ2hhbmdpbmcgdGhpcyB3aWxsIGNoYW5nZSBob3cgQW5ndWxhciBNYXRlcmlhbCBjb21wb25lbnRzIGxpa2UgRGF0ZVBpY2tlciBvdXRwdXQgZGF0ZXMuXG4gICAqL1xuICB1c2VVdGM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZpcnN0IGRheSBvZiB3ZWVrLlxuICAgKiBDaGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIGhvdyBBbmd1bGFyIE1hdGVyaWFsIGNvbXBvbmVudHMgbGlrZSBEYXRlUGlja2VyIHNob3dzIHN0YXJ0IG9mIHdlZWsuXG4gICAqL1xuICBmaXJzdERheU9mV2VlazogbnVtYmVyO1xufVxuXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIEx1eG9uRGF0ZUFkYXB0ZXIgdG8gY29uZmlndXJlIG9wdGlvbnMuICovXG5leHBvcnQgY29uc3QgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zPihcbiAgJ01BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUlksXG4gIH0sXG4pO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZKCk6IE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICB1c2VVdGM6IGZhbHNlLFxuICAgIGZpcnN0RGF5T2ZXZWVrOiAwLFxuICB9O1xufVxuXG4vKiogQ3JlYXRlcyBhbiBhcnJheSBhbmQgZmlsbHMgaXQgd2l0aCB2YWx1ZXMuICovXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xuICBjb25zdCB2YWx1ZXNBcnJheSA9IEFycmF5KGxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlc0FycmF5O1xufVxuXG4vKiogQWRhcHRzIEx1eG9uIERhdGVzIGZvciB1c2Ugd2l0aCBBbmd1bGFyIE1hdGVyaWFsLiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEx1eG9uRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxMdXhvbkRhdGVUaW1lPiB7XG4gIHByaXZhdGUgX3VzZVVUQzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZmlyc3REYXlPZldlZWs6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9EQVRFX0xPQ0FMRSkgZGF0ZUxvY2FsZTogc3RyaW5nLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMpXG4gICAgb3B0aW9ucz86IE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3VzZVVUQyA9ICEhb3B0aW9ucz8udXNlVXRjO1xuICAgIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrID0gb3B0aW9ucz8uZmlyc3REYXlPZldlZWsgfHwgMDtcbiAgICB0aGlzLnNldExvY2FsZShkYXRlTG9jYWxlIHx8IEx1eG9uRGF0ZVRpbWUubG9jYWwoKS5sb2NhbGUpO1xuICB9XG5cbiAgZ2V0WWVhcihkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS55ZWFyO1xuICB9XG5cbiAgZ2V0TW9udGgoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgLy8gTHV4b24gd29ya3Mgd2l0aCAxLWluZGV4ZWQgbW9udGhzIHdoZXJlYXMgb3VyIGNvZGUgZXhwZWN0cyAwLWluZGV4ZWQuXG4gICAgcmV0dXJuIGRhdGUubW9udGggLSAxO1xuICB9XG5cbiAgZ2V0RGF0ZShkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5kYXk7XG4gIH1cblxuICBnZXREYXlPZldlZWsoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUud2Vla2RheTtcbiAgfVxuXG4gIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gTHV4b25JbmZvLm1vbnRocyhzdHlsZSwge2xvY2FsZTogdGhpcy5sb2NhbGV9KTtcbiAgfVxuXG4gIGdldERhdGVOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgLy8gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgTHV4b24gZG9lc24ndCBvZmZlciBzaW1pbGFyXG4gICAgLy8gZnVuY3Rpb25hbGl0eSBzbyB3ZSBoYXZlIHRvIGZhbGwgYmFjayB0byB0aGUgSW50bCBBUEkuXG4gICAgY29uc3QgZHRmID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsIHtkYXk6ICdudW1lcmljJywgdGltZVpvbmU6ICd1dGMnfSk7XG5cbiAgICAvLyBGb3JtYXQgYSBVVEMgZGF0ZSBpbiBvcmRlciB0byBhdm9pZCBEU1QgaXNzdWVzLlxuICAgIHJldHVybiByYW5nZSgzMSwgaSA9PiBkdGYuZm9ybWF0KEx1eG9uRGF0ZVRpbWUudXRjKDIwMTcsIDEsIGkgKyAxKS50b0pTRGF0ZSgpKSk7XG4gIH1cblxuICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIC8vIE5vdGUgdGhhdCB3ZSBzaGlmdCB0aGUgYXJyYXkgb25jZSwgYmVjYXVzZSBMdXhvbiByZXR1cm5zIE1vbmRheSBhcyB0aGVcbiAgICAvLyBmaXJzdCBkYXkgb2YgdGhlIHdlZWssIHdoZXJlYXMgb3VyIGxvZ2ljIGFzc3VtZXMgdGhhdCBpdCdzIFN1bmRheS4gU2VlOlxuICAgIC8vIGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi9hcGktZG9jcy9pbmRleC5odG1sI2luZm93ZWVrZGF5c1xuICAgIGNvbnN0IGRheXMgPSBMdXhvbkluZm8ud2Vla2RheXMoc3R5bGUsIHtsb2NhbGU6IHRoaXMubG9jYWxlfSk7XG4gICAgZGF5cy51bnNoaWZ0KGRheXMucG9wKCkhKTtcbiAgICByZXR1cm4gZGF5cztcbiAgfVxuXG4gIGdldFllYXJOYW1lKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvRm9ybWF0KCd5eXl5Jyk7XG4gIH1cblxuICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9maXJzdERheU9mV2VlaztcbiAgfVxuXG4gIGdldE51bURheXNJbk1vbnRoKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmRheXNJbk1vbnRoO1xuICB9XG5cbiAgY2xvbmUoZGF0ZTogTHV4b25EYXRlVGltZSk6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmZyb21PYmplY3QoZGF0ZS50b09iamVjdCgpKTtcbiAgfVxuXG4gIGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICBpZiAobW9udGggPCAwIHx8IG1vbnRoID4gMTEpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgMTEuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICAvLyBMdXhvbiB1c2VzIDEtaW5kZXhlZCBtb250aHMgc28gd2UgbmVlZCB0byBhZGQgb25lIHRvIHRoZSBtb250aC5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl91c2VVVENcbiAgICAgID8gTHV4b25EYXRlVGltZS51dGMoeWVhciwgbW9udGggKyAxLCBkYXRlKVxuICAgICAgOiBMdXhvbkRhdGVUaW1lLmxvY2FsKHllYXIsIG1vbnRoICsgMSwgZGF0ZSk7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZChyZXN1bHQpKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBSZWFzb246IFwiJHtyZXN1bHQuaW52YWxpZFJlYXNvbn1cIi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0LnNldExvY2FsZSh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICB0b2RheSgpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gKHRoaXMuX3VzZVVUQyA/IEx1eG9uRGF0ZVRpbWUudXRjKCkgOiBMdXhvbkRhdGVUaW1lLmxvY2FsKCkpLnNldExvY2FsZSh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBwYXJzZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdDogc3RyaW5nIHwgc3RyaW5nW10pOiBMdXhvbkRhdGVUaW1lIHwgbnVsbCB7XG4gICAgY29uc3Qgb3B0aW9uczogTHV4b25EYXRlVGltZU9wdGlvbnMgPSB0aGlzLl9nZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGlzbzg2MDFEYXRlID0gTHV4b25EYXRlVGltZS5mcm9tSVNPKHZhbHVlLCBvcHRpb25zKTtcblxuICAgICAgaWYgKHRoaXMuaXNWYWxpZChpc284NjAxRGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGlzbzg2MDFEYXRlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtYXRzID0gQXJyYXkuaXNBcnJheShwYXJzZUZvcm1hdCkgPyBwYXJzZUZvcm1hdCA6IFtwYXJzZUZvcm1hdF07XG5cbiAgICAgIGlmICghcGFyc2VGb3JtYXQubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdGb3JtYXRzIGFycmF5IG11c3Qgbm90IGJlIGVtcHR5LicpO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBmb3JtYXRzKSB7XG4gICAgICAgIGNvbnN0IGZyb21Gb3JtYXQgPSBMdXhvbkRhdGVUaW1lLmZyb21Gb3JtYXQodmFsdWUsIGZvcm1hdCwgb3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZChmcm9tRm9ybWF0KSkge1xuICAgICAgICAgIHJldHVybiBmcm9tRm9ybWF0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmZyb21NaWxsaXModmFsdWUsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gTHV4b25EYXRlVGltZS5mcm9tSlNEYXRlKHZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgTHV4b25EYXRlVGltZSkge1xuICAgICAgcmV0dXJuIEx1eG9uRGF0ZVRpbWUuZnJvbU1pbGxpcyh2YWx1ZS50b01pbGxpcygpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvcm1hdChkYXRlOiBMdXhvbkRhdGVUaW1lLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICB0aHJvdyBFcnJvcignTHV4b25EYXRlQWRhcHRlcjogQ2Fubm90IGZvcm1hdCBpbnZhbGlkIGRhdGUuJyk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlXG4gICAgICAuc2V0TG9jYWxlKHRoaXMubG9jYWxlKVxuICAgICAgLnNldFpvbmUodGhpcy5fdXNlVVRDID8gJ3V0YycgOiB1bmRlZmluZWQpXG4gICAgICAudG9Gb3JtYXQoZGlzcGxheUZvcm1hdCk7XG4gIH1cblxuICBhZGRDYWxlbmRhclllYXJzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIHllYXJzOiBudW1iZXIpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gZGF0ZS5wbHVzKHt5ZWFyc30pLnNldExvY2FsZSh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBMdXhvbkRhdGVUaW1lLCBtb250aHM6IG51bWJlcik6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBkYXRlLnBsdXMoe21vbnRoc30pLnNldExvY2FsZSh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICBhZGRDYWxlbmRhckRheXMoZGF0ZTogTHV4b25EYXRlVGltZSwgZGF5czogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIGRhdGUucGx1cyh7ZGF5c30pLnNldExvY2FsZSh0aGlzLmxvY2FsZSk7XG4gIH1cblxuICB0b0lzbzg2MDEoZGF0ZTogTHV4b25EYXRlVGltZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGUudG9JU08oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBnaXZlbiB2YWx1ZSBpZiBnaXZlbiBhIHZhbGlkIEx1eG9uIG9yIG51bGwuIERlc2VyaWFsaXplcyB2YWxpZCBJU08gODYwMSBzdHJpbmdzXG4gICAqIChodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGFuZCB2YWxpZCBEYXRlIG9iamVjdHMgaW50byB2YWxpZCBEYXRlVGltZSBhbmQgZW1wdHlcbiAgICogc3RyaW5nIGludG8gbnVsbC4gUmV0dXJucyBhbiBpbnZhbGlkIGRhdGUgZm9yIGFsbCBvdGhlciB2YWx1ZXMuXG4gICAqL1xuICBvdmVycmlkZSBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55KTogTHV4b25EYXRlVGltZSB8IG51bGwge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9nZXRPcHRpb25zKCk7XG4gICAgbGV0IGRhdGU6IEx1eG9uRGF0ZVRpbWUgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgZGF0ZSA9IEx1eG9uRGF0ZVRpbWUuZnJvbUpTRGF0ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgZGF0ZSA9IEx1eG9uRGF0ZVRpbWUuZnJvbUlTTyh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGlmIChkYXRlICYmIHRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gIH1cblxuICBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBMdXhvbkRhdGVUaW1lO1xuICB9XG5cbiAgaXNWYWxpZChkYXRlOiBMdXhvbkRhdGVUaW1lKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGRhdGUuaXNWYWxpZDtcbiAgfVxuXG4gIGludmFsaWQoKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIEx1eG9uRGF0ZVRpbWUuaW52YWxpZCgnSW52YWxpZCBMdXhvbiBEYXRlVGltZSBvYmplY3QuJyk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgb3B0aW9ucyB0aGF0IHNob3VsZCBiZSB1c2VkIHdoZW4gY29uc3RydWN0aW5nIGEgbmV3IGBEYXRlVGltZWAgb2JqZWN0LiAqL1xuICBwcml2YXRlIF9nZXRPcHRpb25zKCk6IEx1eG9uRGF0ZVRpbWVPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgem9uZTogdGhpcy5fdXNlVVRDID8gJ3V0YycgOiB1bmRlZmluZWQsXG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -190,9 +190,9 @@ class LuxonDateAdapter extends DateAdapter {
190
190
  };
191
191
  }
192
192
  }
193
- LuxonDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
194
- LuxonDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter, decorators: [{
193
+ LuxonDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
194
+ LuxonDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter, decorators: [{
196
196
  type: Injectable
197
197
  }], ctorParameters: function () {
198
198
  return [{ type: undefined, decorators: [{
@@ -236,16 +236,16 @@ const MAT_LUXON_DATE_FORMATS = {
236
236
  */
237
237
  class LuxonDateModule {
238
238
  }
239
- LuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
240
- LuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule });
241
- LuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, providers: [
239
+ LuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
240
+ LuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule });
241
+ LuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, providers: [
242
242
  {
243
243
  provide: DateAdapter,
244
244
  useClass: LuxonDateAdapter,
245
245
  deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],
246
246
  },
247
247
  ] });
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, decorators: [{
249
249
  type: NgModule,
250
250
  args: [{
251
251
  providers: [
@@ -259,10 +259,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0",
259
259
  }] });
260
260
  class MatLuxonDateModule {
261
261
  }
262
- MatLuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
263
- MatLuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, imports: [LuxonDateModule] });
264
- MatLuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }], imports: [LuxonDateModule] });
265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, decorators: [{
262
+ MatLuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
263
+ MatLuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, imports: [LuxonDateModule] });
264
+ MatLuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }], imports: [LuxonDateModule] });
265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, decorators: [{
266
266
  type: NgModule,
267
267
  args: [{
268
268
  imports: [LuxonDateModule],
@@ -1 +1 @@
1
- {"version":3,"file":"material-luxon-adapter.mjs","sources":["../../../../../../src/material-luxon-adapter/adapter/luxon-date-adapter.ts","../../../../../../src/material-luxon-adapter/adapter/luxon-date-formats.ts","../../../../../../src/material-luxon-adapter/adapter/index.ts","../../../../../../src/material-luxon-adapter/public-api.ts","../../../../../../src/material-luxon-adapter/index.ts","../../../../../../src/material-luxon-adapter/material-luxon-adapter_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, Optional, InjectionToken} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n} from 'luxon';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class LuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string,\n @Optional()\n @Inject(MAT_LUXON_DATE_ADAPTER_OPTIONS)\n options?: MatLuxonDateAdapterOptions,\n ) {\n super();\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return LuxonInfo.months(style, {locale: this.locale});\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n\n // Format a UTC date in order to avoid DST issues.\n return range(31, i => dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, {locale: this.locale});\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy');\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date)\n : LuxonDateTime.local(year, month + 1, date);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result.setLocale(this.locale);\n }\n\n today(): LuxonDateTime {\n return (this._useUTC ? LuxonDateTime.utc() : LuxonDateTime.local()).setLocale(this.locale);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n const iso8601Date = LuxonDateTime.fromISO(value, options);\n\n if (this.isValid(iso8601Date)) {\n return iso8601Date;\n }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n return date\n .setLocale(this.locale)\n .setZone(this._useUTC ? 'utc' : undefined)\n .toFormat(displayFormat);\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.plus({years}).setLocale(this.locale);\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.plus({months}).setLocale(this.locale);\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.plus({days}).setLocale(this.locale);\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO();\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n };\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {MatDateFormats} from '@angular/material/core';\n\nexport const MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'D',\n },\n display: {\n dateInput: 'D',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DD',\n monthYearA11yLabel: 'LLLL yyyy',\n },\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MAT_LUXON_DATE_ADAPTER_OPTIONS, LuxonDateAdapter} from './luxon-date-adapter';\nimport {MAT_LUXON_DATE_FORMATS} from './luxon-date-formats';\n\nexport * from './luxon-date-adapter';\nexport * from './luxon-date-formats';\n\n@NgModule({\n providers: [\n {\n provide: DateAdapter,\n useClass: LuxonDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],\n },\n ],\n})\nexport class LuxonDateModule {}\n\n@NgModule({\n imports: [LuxonDateModule],\n providers: [{provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS}],\n})\nexport class MatLuxonDateModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './adapter/index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LuxonDateTime","LuxonInfo"],"mappings":"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"}
1
+ {"version":3,"file":"material-luxon-adapter.mjs","sources":["../../../../../../src/material-luxon-adapter/adapter/luxon-date-adapter.ts","../../../../../../src/material-luxon-adapter/adapter/luxon-date-formats.ts","../../../../../../src/material-luxon-adapter/adapter/index.ts","../../../../../../src/material-luxon-adapter/public-api.ts","../../../../../../src/material-luxon-adapter/index.ts","../../../../../../src/material-luxon-adapter/material-luxon-adapter_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, Optional, InjectionToken} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n} from 'luxon';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class LuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string,\n @Optional()\n @Inject(MAT_LUXON_DATE_ADAPTER_OPTIONS)\n options?: MatLuxonDateAdapterOptions,\n ) {\n super();\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return LuxonInfo.months(style, {locale: this.locale});\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n\n // Format a UTC date in order to avoid DST issues.\n return range(31, i => dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, {locale: this.locale});\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy');\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date)\n : LuxonDateTime.local(year, month + 1, date);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result.setLocale(this.locale);\n }\n\n today(): LuxonDateTime {\n return (this._useUTC ? LuxonDateTime.utc() : LuxonDateTime.local()).setLocale(this.locale);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n const iso8601Date = LuxonDateTime.fromISO(value, options);\n\n if (this.isValid(iso8601Date)) {\n return iso8601Date;\n }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n return date\n .setLocale(this.locale)\n .setZone(this._useUTC ? 'utc' : undefined)\n .toFormat(displayFormat);\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.plus({years}).setLocale(this.locale);\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.plus({months}).setLocale(this.locale);\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.plus({days}).setLocale(this.locale);\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO();\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n };\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {MatDateFormats} from '@angular/material/core';\n\nexport const MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'D',\n },\n display: {\n dateInput: 'D',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DD',\n monthYearA11yLabel: 'LLLL yyyy',\n },\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MAT_LUXON_DATE_ADAPTER_OPTIONS, LuxonDateAdapter} from './luxon-date-adapter';\nimport {MAT_LUXON_DATE_FORMATS} from './luxon-date-formats';\n\nexport * from './luxon-date-adapter';\nexport * from './luxon-date-formats';\n\n@NgModule({\n providers: [\n {\n provide: DateAdapter,\n useClass: LuxonDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],\n },\n ],\n})\nexport class LuxonDateModule {}\n\n@NgModule({\n imports: [LuxonDateModule],\n providers: [{provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS}],\n})\nexport class MatLuxonDateModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './adapter/index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LuxonDateTime","LuxonInfo"],"mappings":"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"}
@@ -190,9 +190,9 @@ class LuxonDateAdapter extends DateAdapter {
190
190
  };
191
191
  }
192
192
  }
193
- LuxonDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
194
- LuxonDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateAdapter, decorators: [{
193
+ LuxonDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
194
+ LuxonDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateAdapter, decorators: [{
196
196
  type: Injectable
197
197
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
198
198
  type: Optional
@@ -234,16 +234,16 @@ const MAT_LUXON_DATE_FORMATS = {
234
234
  */
235
235
  class LuxonDateModule {
236
236
  }
237
- LuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
238
- LuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule });
239
- LuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, providers: [
237
+ LuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
238
+ LuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule });
239
+ LuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, providers: [
240
240
  {
241
241
  provide: DateAdapter,
242
242
  useClass: LuxonDateAdapter,
243
243
  deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],
244
244
  },
245
245
  ] });
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: LuxonDateModule, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: LuxonDateModule, decorators: [{
247
247
  type: NgModule,
248
248
  args: [{
249
249
  providers: [
@@ -257,10 +257,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0",
257
257
  }] });
258
258
  class MatLuxonDateModule {
259
259
  }
260
- MatLuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
261
- MatLuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, imports: [LuxonDateModule] });
262
- MatLuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }], imports: [LuxonDateModule] });
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.0", ngImport: i0, type: MatLuxonDateModule, decorators: [{
260
+ MatLuxonDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
261
+ MatLuxonDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, imports: [LuxonDateModule] });
262
+ MatLuxonDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS }], imports: [LuxonDateModule] });
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.2", ngImport: i0, type: MatLuxonDateModule, decorators: [{
264
264
  type: NgModule,
265
265
  args: [{
266
266
  imports: [LuxonDateModule],
@@ -1 +1 @@
1
- {"version":3,"file":"material-luxon-adapter.mjs","sources":["../../../../../../src/material-luxon-adapter/adapter/luxon-date-adapter.ts","../../../../../../src/material-luxon-adapter/adapter/luxon-date-formats.ts","../../../../../../src/material-luxon-adapter/adapter/index.ts","../../../../../../src/material-luxon-adapter/public-api.ts","../../../../../../src/material-luxon-adapter/index.ts","../../../../../../src/material-luxon-adapter/material-luxon-adapter_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, Optional, InjectionToken} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n} from 'luxon';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class LuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string,\n @Optional()\n @Inject(MAT_LUXON_DATE_ADAPTER_OPTIONS)\n options?: MatLuxonDateAdapterOptions,\n ) {\n super();\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return LuxonInfo.months(style, {locale: this.locale});\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n\n // Format a UTC date in order to avoid DST issues.\n return range(31, i => dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, {locale: this.locale});\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy');\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date)\n : LuxonDateTime.local(year, month + 1, date);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result.setLocale(this.locale);\n }\n\n today(): LuxonDateTime {\n return (this._useUTC ? LuxonDateTime.utc() : LuxonDateTime.local()).setLocale(this.locale);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n const iso8601Date = LuxonDateTime.fromISO(value, options);\n\n if (this.isValid(iso8601Date)) {\n return iso8601Date;\n }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n return date\n .setLocale(this.locale)\n .setZone(this._useUTC ? 'utc' : undefined)\n .toFormat(displayFormat);\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.plus({years}).setLocale(this.locale);\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.plus({months}).setLocale(this.locale);\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.plus({days}).setLocale(this.locale);\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO();\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n };\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {MatDateFormats} from '@angular/material/core';\n\nexport const MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'D',\n },\n display: {\n dateInput: 'D',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DD',\n monthYearA11yLabel: 'LLLL yyyy',\n },\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MAT_LUXON_DATE_ADAPTER_OPTIONS, LuxonDateAdapter} from './luxon-date-adapter';\nimport {MAT_LUXON_DATE_FORMATS} from './luxon-date-formats';\n\nexport * from './luxon-date-adapter';\nexport * from './luxon-date-formats';\n\n@NgModule({\n providers: [\n {\n provide: DateAdapter,\n useClass: LuxonDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],\n },\n ],\n})\nexport class LuxonDateModule {}\n\n@NgModule({\n imports: [LuxonDateModule],\n providers: [{provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS}],\n})\nexport class MatLuxonDateModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './adapter/index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LuxonDateTime","LuxonInfo"],"mappings":"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"}
1
+ {"version":3,"file":"material-luxon-adapter.mjs","sources":["../../../../../../src/material-luxon-adapter/adapter/luxon-date-adapter.ts","../../../../../../src/material-luxon-adapter/adapter/luxon-date-formats.ts","../../../../../../src/material-luxon-adapter/adapter/index.ts","../../../../../../src/material-luxon-adapter/public-api.ts","../../../../../../src/material-luxon-adapter/index.ts","../../../../../../src/material-luxon-adapter/material-luxon-adapter_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Inject, Injectable, Optional, InjectionToken} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {\n DateTime as LuxonDateTime,\n Info as LuxonInfo,\n DateTimeOptions as LuxonDateTimeOptions,\n} from 'luxon';\n\n/** Configurable options for the `LuxonDateAdapter`. */\nexport interface MatLuxonDateAdapterOptions {\n /**\n * Turns the use of utc dates on or off.\n * Changing this will change how Angular Material components like DatePicker output dates.\n */\n useUtc: boolean;\n\n /**\n * Sets the first day of week.\n * Changing this will change how Angular Material components like DatePicker shows start of week.\n */\n firstDayOfWeek: number;\n}\n\n/** InjectionToken for LuxonDateAdapter to configure options. */\nexport const MAT_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken<MatLuxonDateAdapterOptions>(\n 'MAT_LUXON_DATE_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions {\n return {\n useUtc: false,\n firstDayOfWeek: 0,\n };\n}\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts Luxon Dates for use with Angular Material. */\n@Injectable()\nexport class LuxonDateAdapter extends DateAdapter<LuxonDateTime> {\n private _useUTC: boolean;\n private _firstDayOfWeek: number;\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string,\n @Optional()\n @Inject(MAT_LUXON_DATE_ADAPTER_OPTIONS)\n options?: MatLuxonDateAdapterOptions,\n ) {\n super();\n this._useUTC = !!options?.useUtc;\n this._firstDayOfWeek = options?.firstDayOfWeek || 0;\n this.setLocale(dateLocale || LuxonDateTime.local().locale);\n }\n\n getYear(date: LuxonDateTime): number {\n return date.year;\n }\n\n getMonth(date: LuxonDateTime): number {\n // Luxon works with 1-indexed months whereas our code expects 0-indexed.\n return date.month - 1;\n }\n\n getDate(date: LuxonDateTime): number {\n return date.day;\n }\n\n getDayOfWeek(date: LuxonDateTime): number {\n return date.weekday;\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return LuxonInfo.months(style, {locale: this.locale});\n }\n\n getDateNames(): string[] {\n // At the time of writing, Luxon doesn't offer similar\n // functionality so we have to fall back to the Intl API.\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n\n // Format a UTC date in order to avoid DST issues.\n return range(31, i => dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n // Note that we shift the array once, because Luxon returns Monday as the\n // first day of the week, whereas our logic assumes that it's Sunday. See:\n // https://moment.github.io/luxon/api-docs/index.html#infoweekdays\n const days = LuxonInfo.weekdays(style, {locale: this.locale});\n days.unshift(days.pop()!);\n return days;\n }\n\n getYearName(date: LuxonDateTime): string {\n return date.toFormat('yyyy');\n }\n\n getFirstDayOfWeek(): number {\n return this._firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: LuxonDateTime): number {\n return date.daysInMonth;\n }\n\n clone(date: LuxonDateTime): LuxonDateTime {\n return LuxonDateTime.fromObject(date.toObject());\n }\n\n createDate(year: number, month: number, date: number): LuxonDateTime {\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n // Luxon uses 1-indexed months so we need to add one to the month.\n const result = this._useUTC\n ? LuxonDateTime.utc(year, month + 1, date)\n : LuxonDateTime.local(year, month + 1, date);\n\n if (!this.isValid(result)) {\n throw Error(`Invalid date \"${date}\". Reason: \"${result.invalidReason}\".`);\n }\n\n return result.setLocale(this.locale);\n }\n\n today(): LuxonDateTime {\n return (this._useUTC ? LuxonDateTime.utc() : LuxonDateTime.local()).setLocale(this.locale);\n }\n\n parse(value: any, parseFormat: string | string[]): LuxonDateTime | null {\n const options: LuxonDateTimeOptions = this._getOptions();\n\n if (typeof value == 'string' && value.length > 0) {\n const iso8601Date = LuxonDateTime.fromISO(value, options);\n\n if (this.isValid(iso8601Date)) {\n return iso8601Date;\n }\n\n const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];\n\n if (!parseFormat.length) {\n throw Error('Formats array must not be empty.');\n }\n\n for (const format of formats) {\n const fromFormat = LuxonDateTime.fromFormat(value, format, options);\n\n if (this.isValid(fromFormat)) {\n return fromFormat;\n }\n }\n\n return this.invalid();\n } else if (typeof value === 'number') {\n return LuxonDateTime.fromMillis(value, options);\n } else if (value instanceof Date) {\n return LuxonDateTime.fromJSDate(value, options);\n } else if (value instanceof LuxonDateTime) {\n return LuxonDateTime.fromMillis(value.toMillis(), options);\n }\n\n return null;\n }\n\n format(date: LuxonDateTime, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('LuxonDateAdapter: Cannot format invalid date.');\n }\n return date\n .setLocale(this.locale)\n .setZone(this._useUTC ? 'utc' : undefined)\n .toFormat(displayFormat);\n }\n\n addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime {\n return date.plus({years}).setLocale(this.locale);\n }\n\n addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime {\n return date.plus({months}).setLocale(this.locale);\n }\n\n addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime {\n return date.plus({days}).setLocale(this.locale);\n }\n\n toIso8601(date: LuxonDateTime): string {\n return date.toISO();\n }\n\n /**\n * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty\n * string into null. Returns an invalid date for all other values.\n */\n override deserialize(value: any): LuxonDateTime | null {\n const options = this._getOptions();\n let date: LuxonDateTime | undefined;\n if (value instanceof Date) {\n date = LuxonDateTime.fromJSDate(value, options);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = LuxonDateTime.fromISO(value, options);\n }\n if (date && this.isValid(date)) {\n return date;\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return obj instanceof LuxonDateTime;\n }\n\n isValid(date: LuxonDateTime): boolean {\n return date.isValid;\n }\n\n invalid(): LuxonDateTime {\n return LuxonDateTime.invalid('Invalid Luxon DateTime object.');\n }\n\n /** Gets the options that should be used when constructing a new `DateTime` object. */\n private _getOptions(): LuxonDateTimeOptions {\n return {\n zone: this._useUTC ? 'utc' : undefined,\n locale: this.locale,\n };\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {MatDateFormats} from '@angular/material/core';\n\nexport const MAT_LUXON_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'D',\n },\n display: {\n dateInput: 'D',\n monthYearLabel: 'LLL yyyy',\n dateA11yLabel: 'DD',\n monthYearA11yLabel: 'LLLL yyyy',\n },\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MAT_LUXON_DATE_ADAPTER_OPTIONS, LuxonDateAdapter} from './luxon-date-adapter';\nimport {MAT_LUXON_DATE_FORMATS} from './luxon-date-formats';\n\nexport * from './luxon-date-adapter';\nexport * from './luxon-date-formats';\n\n@NgModule({\n providers: [\n {\n provide: DateAdapter,\n useClass: LuxonDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],\n },\n ],\n})\nexport class LuxonDateModule {}\n\n@NgModule({\n imports: [LuxonDateModule],\n providers: [{provide: MAT_DATE_FORMATS, useValue: MAT_LUXON_DATE_FORMATS}],\n})\nexport class MatLuxonDateModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './adapter/index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LuxonDateTime","LuxonInfo"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material-luxon-adapter",
3
- "version": "16.0.0-next.0",
3
+ "version": "16.0.0-next.2",
4
4
  "description": "Angular Material Luxon Adapter",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "homepage": "https://github.com/angular/components#readme",
14
14
  "peerDependencies": {
15
- "@angular/material": "16.0.0-next.0",
15
+ "@angular/material": "16.0.0-next.2",
16
16
  "@angular/core": "^16.0.0-0 || ^16.1.0-0 || ^16.2.0-0 || ^16.3.0-0 || ^17.0.0-0",
17
17
  "luxon": "^3.0.0"
18
18
  },