@esfaenza/material-dayjs-adapter 11.2.9 → 11.2.11

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/core'), require('@esfaenza/extensions')) :
3
- typeof define === 'function' && define.amd ? define('@esfaenza/material-dayjs-adapter', ['exports', '@angular/core', '@angular/material/core', '@esfaenza/extensions'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza["material-dayjs-adapter"] = {}), global.ng.core, global.ng.material.core, global.extensions));
5
- })(this, (function (exports, core$1, core, extensions) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/material/core')) :
3
+ typeof define === 'function' && define.amd ? define('@esfaenza/material-dayjs-adapter', ['exports', '@angular/core', '@angular/material/core'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza["material-dayjs-adapter"] = {}), global.ng.core, global.ng.material.core));
5
+ })(this, (function (exports, core$1, core) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -327,9 +327,8 @@
327
327
  *
328
328
  * @ignore
329
329
  */
330
- function DayJsDateAdapter(dateLocale, dateExts) {
330
+ function DayJsDateAdapter(dateLocale) {
331
331
  var _this = _super.call(this) || this;
332
- _this.dateExts = dateExts;
333
332
  _this.setLocale(dateLocale);
334
333
  return _this;
335
334
  }
@@ -392,12 +391,11 @@
392
391
  * @returns {Dayjs} data in dayjs
393
392
  */
394
393
  DayJsDateAdapter.prototype.deserialize = function (value) {
395
- if (value == null || this.isDateInstance(value) && this.isValid(value)) {
396
- return value;
397
- }
398
- var valueConverted = this.dateExts.getDateConvertion(value);
399
- if (valueConverted)
400
- return value;
394
+ if (!value)
395
+ return null;
396
+ var valueConverted = dayjs(value);
397
+ if (valueConverted == null || this.isDateInstance(valueConverted) && this.isValid(valueConverted))
398
+ return valueConverted;
401
399
  return this.invalid();
402
400
  };
403
401
  /**
@@ -705,8 +703,7 @@
705
703
  { type: core$1.Injectable }
706
704
  ];
707
705
  DayJsDateAdapter.ctorParameters = function () { return [
708
- { type: String, decorators: [{ type: core$1.Inject, args: [core.MAT_DATE_LOCALE,] }] },
709
- { type: extensions.DateService }
706
+ { type: String, decorators: [{ type: core$1.Inject, args: [core.MAT_DATE_LOCALE,] }] }
710
707
  ]; };
711
708
 
712
709
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"esfaenza-material-dayjs-adapter.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/material-dayjs-adapter/src/lib/adapter/DayjsDateAdapter.ts","../../../projects/material-dayjs-adapter/src/lib/adapter/MatDayjsDateModule.ts","../../../projects/material-dayjs-adapter/src/public-api.ts","../../../projects/material-dayjs-adapter/src/esfaenza-material-dayjs-adapter.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { DateAdapter, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\n\r\nimport { DateService } from \"@esfaenza/extensions\";\r\n// Dayjs\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n/**\r\n * Dichiarazione della variabile globale dayjs. L'onere di \"crearla\" è affidato all'applicazione che utilizza questa libreria, \r\n * che dovrà importare lo script globale di dayjs nella CLI\r\n */\r\ndeclare var dayjs: any;\r\n\r\n/**\r\n * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito \r\n * nativamente da Angular. Per DayJs invece bisogna reimplementarselo\r\n */\r\n@Injectable()\r\nexport class DayJsDateAdapter extends DateAdapter<Dayjs>{\r\n\r\n /**\r\n * Cache dei dati del locale Italiano\r\n */\r\n private _localeData: {\r\n firstDayOfWeek: number,\r\n longMonths: string[],\r\n shortMonths: string[],\r\n dates: string[],\r\n longDaysOfWeek: string[],\r\n shortDaysOfWeek: string[],\r\n narrowDaysOfWeek: string[]\r\n };\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(MAT_DATE_LOCALE) dateLocale: string, private dateExts: DateService) {\r\n super();\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n\r\n /**\r\n * Imposta il locale utilizzato per tutte le date\r\n * \r\n * @param {string} locale Locale da impostare\r\n */\r\n public setLocale(locale: string) {\r\n super.setLocale(locale);\r\n\r\n // il localeData si potrebbe prendere da this.dayJs().localeData(); ma io voglio usare le date solo nel formato italiano quindi cablo quello\r\n switch (locale.toLowerCase()) {\r\n case 'it-it':\r\n case 'it': import(\"dayjs/locale/it\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n // In dayjs, nel locale \"en\" e basta non esistono i 3/4 delle info perché sono le cose generiche ereditate dai locali en-gb, en-au ecc...\r\n // quindi mi baso sul locale inglese Britannico, ma comunque I'ts Coming Rome\r\n case 'en-us':\r\n case 'en-gb':\r\n case 'en': import(\"dayjs/locale/en-gb\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n default: throw `Locale non riconosicuto '${locale}'. Locali consentiti: 'it', 'en'`;\r\n }\r\n }\r\n\r\n /**\r\n * Effettua il caricamento del localeData coi nomi dei mesi, giorni ecc partendo dal modulo importato\r\n * \r\n * @param {any} mod Modulo caricato contenente il locale desiderato\r\n */\r\n private loadLoacleDataModule(mod: any) {\r\n this._localeData = {\r\n firstDayOfWeek: mod.weekStart,\r\n longMonths: mod.months,\r\n shortMonths: mod.monthsShort,\r\n dates: this.range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: mod.weekdays,\r\n shortDaysOfWeek: mod.weekdaysShort,\r\n narrowDaysOfWeek: mod.weekdaysMin,\r\n };\r\n }\r\n\r\n /**\r\n * Ottiene le ore da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Ore\r\n */\r\n public getHour(date: Dayjs): number {\r\n return date.get(\"hour\");\r\n }\r\n\r\n /**\r\n * Deserializza una data in DayJs\r\n * \r\n * @param {any} value Valore di data a caso\r\n * \r\n * @returns {Dayjs} data in dayjs\r\n */\r\n public deserialize(value) {\r\n if (value == null || this.isDateInstance(value) && this.isValid(value)) {\r\n return value;\r\n }\r\n\r\n var valueConverted = this.dateExts.getDateConvertion(value);\r\n if (valueConverted)\r\n return value;\r\n\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Ottiene i minuti da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Minuti\r\n */\r\n public getMinute(date: Dayjs): number {\r\n return date.get(\"minute\");\r\n }\r\n\r\n /**\r\n * Ottiene i secondi da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Secondi\r\n */\r\n public getSecond(date: Dayjs): number {\r\n return date.get(\"second\");\r\n }\r\n\r\n /**\r\n * Imposta le ore di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per le ore\r\n */\r\n public setHour(date: Dayjs, value: number): void {\r\n (<any>date).$H = value;\r\n }\r\n\r\n /**\r\n * Imposta i minuti di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i minuti\r\n */\r\n public setMinute(date: Dayjs, value: number): void {\r\n (<any>date).$m = value;\r\n }\r\n\r\n /**\r\n * Imposta i secondi di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i secondi\r\n */\r\n public setSecond(date: Dayjs, value: number): void {\r\n (<any>date).$s = value;\r\n }\r\n\r\n /**\r\n * Ottiene l'anno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Anno\r\n */\r\n public getYear(date: Dayjs): number {\r\n return date.get(\"year\");\r\n }\r\n\r\n /**\r\n * Ottiene il mese da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Mese\r\n */\r\n public getMonth(date: Dayjs): number {\r\n return date.get(\"month\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno\r\n */\r\n public getDate(date: Dayjs): number {\r\n return date.get(\"date\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno della settimana da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno della settimana da 1 a 7\r\n */\r\n public getDayOfWeek(date: Dayjs): number {\r\n return date.get(\"day\");\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei mesi\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei mesi espressi in base al parametro **style**\r\n */\r\n public getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni del mese\r\n * \r\n * @returns {string[]} Lista dei giorni del mese (da '1' a '31')\r\n */\r\n public getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni della settimana\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei giorni della settimana espressi in base al parametro **style**\r\n */\r\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style == 'long')\r\n return this._localeData.longDaysOfWeek;\r\n else if (style == 'short')\r\n return this._localeData.shortDaysOfWeek;\r\n\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il nome dell'anno\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {string} Anno\r\n */\r\n public getYearName(date: Dayjs): string {\r\n return this.getYear(date).toString();\r\n }\r\n\r\n /**\r\n * Ottiene il primo giorno della settimana\r\n * \r\n * @returns {number} Indice del primo giorno della settimana\r\n */\r\n public getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il numero di giorni nel mese corrente\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Numero di giorni\r\n */\r\n public getNumDaysInMonth(date: Dayjs): number {\r\n return date.daysInMonth();\r\n }\r\n\r\n /**\r\n * Ottiene il clone di una data Dayjs\r\n * \r\n * @param {Dayjs} Data da clonare\r\n * \r\n * @returns {Dayjs} Clone\r\n */\r\n public clone(date: Dayjs): Dayjs {\r\n // Visto che ho modificato l'istanza originale a manazza (vedi setHour, setMinute, setSecond) l'oggetto è danneggiato e per restituire un clone buono\r\n // devo ricrearlo prendendo pezzo per pezzo\r\n // Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n return dayjs(`${this.getYear(date)}-${this.getMonth(date) + 1}-${this.getDate(date)} ${this.getHour(date)}:${this.getMinute(date)}:${this.getSecond(date)}`);\r\n }\r\n\r\n /**\r\n * Crea una data partendo da anno, mese e giorno\r\n * \r\n * @param {number} year Anno\r\n * @param {number} month Mese\r\n * @param {number} date Giorno\r\n * \r\n * @returns {Dayjs} Oggetto generato in base ai parametri **year**, **month**, e **date**\r\n */\r\n public createDate(year: number, month: number, date: number): Dayjs {\r\n if (month < 0 || month > 11)\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n\r\n if (date < 1)\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n\r\n //Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n const result = dayjs(`${year}-${month + 1}-${date}`)\r\n\r\n if (!result.isValid())\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Restituisce la data che rappresenta la giornata di oggi\r\n * \r\n * @returns {Dayjs} Oggi\r\n */\r\n public today(): Dayjs {\r\n return dayjs();\r\n }\r\n\r\n /**\r\n * Effettua il parse di una data, eventualmente in base al formato specificato\r\n * \r\n * @param {any} value Valore da parsare\r\n * @param {string} parseFormat Formato in cui leggere il valore\r\n * \r\n * @returns {Dayjs} Data generata\r\n */\r\n public parse(value: any, parseFormat: string): Dayjs {\r\n if (value && typeof value == 'string')\r\n return dayjs(value, parseFormat);\r\n\r\n return value ? dayjs(value) : null;\r\n }\r\n\r\n /**\r\n * Formatta una data in base al formato specificato\r\n * \r\n * @param {Dayjs} date Data da formattare\r\n * @param {string} displayFormat Formato in cui mostrare la data\r\n * \r\n * @returns {string} Data formattata\r\n */\r\n public format(date: Dayjs, displayFormat: any): string {\r\n if (!this.isValid(date))\r\n throw Error('DateAdapter: Cannot format invalid date.');\r\n \r\n return date.format(displayFormat)\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di anni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere gli anni\r\n * @param {number} years Anni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta degli anni specificati\r\n */\r\n public addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, \"year\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di mesi\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i mesi\r\n * @param {months} months Mesi da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei mesi specificati\r\n */\r\n public addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, \"month\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di giorni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i giorni\r\n * @param {months} days Giorni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei giorni specificati\r\n */\r\n public addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, \"day\");\r\n }\r\n\r\n /**\r\n * Trasforma la data specificata in una stringa ISO8601\r\n * \r\n * @param {Dayjs} date Data\r\n * \r\n * @returns {string} Rappresentazione in ISO8601\r\n */\r\n public toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Controlla se l'oggetto passato è effettivamente un DayJs\r\n * \r\n * @param {any} obj Oggetto da verificare se è una data o meno\r\n * \r\n * @returns {boolean} **true** se l'oggetto è un DayJs, **false** altrimenti\r\n */\r\n public isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n /**\r\n * Controlla il DayJs passato e verifica se è valido\r\n * \r\n * @param {Dayjs} date Data da verificare\r\n * \r\n * @returns {boolean} **true** se il DayJs è valido, **false** altrimenti\r\n */\r\n public isValid(date: Dayjs): boolean {\r\n return date.isValid();\r\n }\r\n\r\n /**\r\n * Restituisce un DayJs invalido\r\n * \r\n * @returns {DayJs} Data Invalida\r\n */\r\n public invalid(): Dayjs {\r\n return dayjs(\"Invalid Date\");\r\n }\r\n\r\n /**\r\n * Crea un range di una lunghezza specifica e per ogni indice del range richiama un callback che valorizza l'elemento di quell'indice\r\n * \r\n * @param {number} length Lunghezza del range\r\n * @param {Function} valueFunction Callback che deve generare il valore desiderato per ogni indice\r\n * \r\n * @returns {T[]} Array dei valori generati\r\n */\r\n private range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++)\r\n valuesArray[i] = valueFunction(i);\r\n return valuesArray;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\r\nimport { DayJsDateAdapter } from './DayjsDateAdapter';\r\n\r\n/**\r\n * Formati di default per la presentazione degli input quali il DatePicker di Angular Material. \r\n * Cablati a quelli italiani ignorando quelli di BurgerLand per non impazzire\r\n */\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: { dateInput: 'DD/MM/YYYY' },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY',\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n};\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS },\r\n { provide: DateAdapter, useClass: DayJsDateAdapter, deps: [MAT_DATE_LOCALE]}\r\n ],\r\n})\r\nexport class MatDayjsDateModule {}\r\n","/*\r\n * Public API Surface of material-dayjs-adapter\r\n */\r\n\r\nexport * from './lib/adapter/DayjsDateAdapter';\r\nexport * from './lib/adapter/MatDayjsDateModule';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DateAdapter","Injectable","Inject","MAT_DATE_LOCALE","DateService","NgModule","MAT_DATE_FORMATS"],"mappings":"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"}
1
+ {"version":3,"file":"esfaenza-material-dayjs-adapter.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/material-dayjs-adapter/src/lib/adapter/DayjsDateAdapter.ts","../../../projects/material-dayjs-adapter/src/lib/adapter/MatDayjsDateModule.ts","../../../projects/material-dayjs-adapter/src/public-api.ts","../../../projects/material-dayjs-adapter/src/esfaenza-material-dayjs-adapter.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { DateAdapter, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\n\r\n// Dayjs\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n/**\r\n * Dichiarazione della variabile globale dayjs. L'onere di \"crearla\" è affidato all'applicazione che utilizza questa libreria, \r\n * che dovrà importare lo script globale di dayjs nella CLI\r\n */\r\ndeclare var dayjs: any;\r\n\r\n/**\r\n * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito \r\n * nativamente da Angular. Per DayJs invece bisogna reimplementarselo\r\n */\r\n@Injectable()\r\nexport class DayJsDateAdapter extends DateAdapter<Dayjs>{\r\n\r\n /**\r\n * Cache dei dati del locale Italiano\r\n */\r\n private _localeData: {\r\n firstDayOfWeek: number,\r\n longMonths: string[],\r\n shortMonths: string[],\r\n dates: string[],\r\n longDaysOfWeek: string[],\r\n shortDaysOfWeek: string[],\r\n narrowDaysOfWeek: string[]\r\n };\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(MAT_DATE_LOCALE) dateLocale: string) {\r\n super();\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n\r\n /**\r\n * Imposta il locale utilizzato per tutte le date\r\n * \r\n * @param {string} locale Locale da impostare\r\n */\r\n public setLocale(locale: string) {\r\n super.setLocale(locale);\r\n\r\n // il localeData si potrebbe prendere da this.dayJs().localeData(); ma io voglio usare le date solo nel formato italiano quindi cablo quello\r\n switch (locale.toLowerCase()) {\r\n case 'it-it':\r\n case 'it': import(\"dayjs/locale/it\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n // In dayjs, nel locale \"en\" e basta non esistono i 3/4 delle info perché sono le cose generiche ereditate dai locali en-gb, en-au ecc...\r\n // quindi mi baso sul locale inglese Britannico, ma comunque I'ts Coming Rome\r\n case 'en-us':\r\n case 'en-gb':\r\n case 'en': import(\"dayjs/locale/en-gb\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n default: throw `Locale non riconosicuto '${locale}'. Locali consentiti: 'it', 'en'`;\r\n }\r\n }\r\n\r\n /**\r\n * Effettua il caricamento del localeData coi nomi dei mesi, giorni ecc partendo dal modulo importato\r\n * \r\n * @param {any} mod Modulo caricato contenente il locale desiderato\r\n */\r\n private loadLoacleDataModule(mod: any) {\r\n this._localeData = {\r\n firstDayOfWeek: mod.weekStart,\r\n longMonths: mod.months,\r\n shortMonths: mod.monthsShort,\r\n dates: this.range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: mod.weekdays,\r\n shortDaysOfWeek: mod.weekdaysShort,\r\n narrowDaysOfWeek: mod.weekdaysMin,\r\n };\r\n }\r\n\r\n /**\r\n * Ottiene le ore da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Ore\r\n */\r\n public getHour(date: Dayjs): number {\r\n return date.get(\"hour\");\r\n }\r\n\r\n /**\r\n * Deserializza una data in DayJs\r\n * \r\n * @param {any} value Valore di data a caso\r\n * \r\n * @returns {Dayjs} data in dayjs\r\n */\r\n public deserialize(value) {\r\n if (!value)\r\n return null;\r\n\r\n var valueConverted = dayjs(value);\r\n\r\n if (valueConverted == null || this.isDateInstance(valueConverted) && this.isValid(valueConverted))\r\n return valueConverted;\r\n\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Ottiene i minuti da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Minuti\r\n */\r\n public getMinute(date: Dayjs): number {\r\n return date.get(\"minute\");\r\n }\r\n\r\n /**\r\n * Ottiene i secondi da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Secondi\r\n */\r\n public getSecond(date: Dayjs): number {\r\n return date.get(\"second\");\r\n }\r\n\r\n /**\r\n * Imposta le ore di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per le ore\r\n */\r\n public setHour(date: Dayjs, value: number): void {\r\n (<any>date).$H = value;\r\n }\r\n\r\n /**\r\n * Imposta i minuti di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i minuti\r\n */\r\n public setMinute(date: Dayjs, value: number): void {\r\n (<any>date).$m = value;\r\n }\r\n\r\n /**\r\n * Imposta i secondi di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i secondi\r\n */\r\n public setSecond(date: Dayjs, value: number): void {\r\n (<any>date).$s = value;\r\n }\r\n\r\n /**\r\n * Ottiene l'anno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Anno\r\n */\r\n public getYear(date: Dayjs): number {\r\n return date.get(\"year\");\r\n }\r\n\r\n /**\r\n * Ottiene il mese da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Mese\r\n */\r\n public getMonth(date: Dayjs): number {\r\n return date.get(\"month\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno\r\n */\r\n public getDate(date: Dayjs): number {\r\n return date.get(\"date\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno della settimana da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno della settimana da 1 a 7\r\n */\r\n public getDayOfWeek(date: Dayjs): number {\r\n return date.get(\"day\");\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei mesi\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei mesi espressi in base al parametro **style**\r\n */\r\n public getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni del mese\r\n * \r\n * @returns {string[]} Lista dei giorni del mese (da '1' a '31')\r\n */\r\n public getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni della settimana\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei giorni della settimana espressi in base al parametro **style**\r\n */\r\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style == 'long')\r\n return this._localeData.longDaysOfWeek;\r\n else if (style == 'short')\r\n return this._localeData.shortDaysOfWeek;\r\n\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il nome dell'anno\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {string} Anno\r\n */\r\n public getYearName(date: Dayjs): string {\r\n return this.getYear(date).toString();\r\n }\r\n\r\n /**\r\n * Ottiene il primo giorno della settimana\r\n * \r\n * @returns {number} Indice del primo giorno della settimana\r\n */\r\n public getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il numero di giorni nel mese corrente\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Numero di giorni\r\n */\r\n public getNumDaysInMonth(date: Dayjs): number {\r\n return date.daysInMonth();\r\n }\r\n\r\n /**\r\n * Ottiene il clone di una data Dayjs\r\n * \r\n * @param {Dayjs} Data da clonare\r\n * \r\n * @returns {Dayjs} Clone\r\n */\r\n public clone(date: Dayjs): Dayjs {\r\n // Visto che ho modificato l'istanza originale a manazza (vedi setHour, setMinute, setSecond) l'oggetto è danneggiato e per restituire un clone buono\r\n // devo ricrearlo prendendo pezzo per pezzo\r\n // Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n return dayjs(`${this.getYear(date)}-${this.getMonth(date) + 1}-${this.getDate(date)} ${this.getHour(date)}:${this.getMinute(date)}:${this.getSecond(date)}`);\r\n }\r\n\r\n /**\r\n * Crea una data partendo da anno, mese e giorno\r\n * \r\n * @param {number} year Anno\r\n * @param {number} month Mese\r\n * @param {number} date Giorno\r\n * \r\n * @returns {Dayjs} Oggetto generato in base ai parametri **year**, **month**, e **date**\r\n */\r\n public createDate(year: number, month: number, date: number): Dayjs {\r\n if (month < 0 || month > 11)\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n\r\n if (date < 1)\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n\r\n //Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n const result = dayjs(`${year}-${month + 1}-${date}`)\r\n\r\n if (!result.isValid())\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Restituisce la data che rappresenta la giornata di oggi\r\n * \r\n * @returns {Dayjs} Oggi\r\n */\r\n public today(): Dayjs {\r\n return dayjs();\r\n }\r\n\r\n /**\r\n * Effettua il parse di una data, eventualmente in base al formato specificato\r\n * \r\n * @param {any} value Valore da parsare\r\n * @param {string} parseFormat Formato in cui leggere il valore\r\n * \r\n * @returns {Dayjs} Data generata\r\n */\r\n public parse(value: any, parseFormat: string): Dayjs {\r\n if (value && typeof value == 'string')\r\n return dayjs(value, parseFormat);\r\n\r\n return value ? dayjs(value) : null;\r\n }\r\n\r\n /**\r\n * Formatta una data in base al formato specificato\r\n * \r\n * @param {Dayjs} date Data da formattare\r\n * @param {string} displayFormat Formato in cui mostrare la data\r\n * \r\n * @returns {string} Data formattata\r\n */\r\n public format(date: Dayjs, displayFormat: any): string {\r\n if (!this.isValid(date))\r\n throw Error('DateAdapter: Cannot format invalid date.');\r\n \r\n return date.format(displayFormat)\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di anni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere gli anni\r\n * @param {number} years Anni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta degli anni specificati\r\n */\r\n public addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, \"year\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di mesi\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i mesi\r\n * @param {months} months Mesi da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei mesi specificati\r\n */\r\n public addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, \"month\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di giorni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i giorni\r\n * @param {months} days Giorni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei giorni specificati\r\n */\r\n public addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, \"day\");\r\n }\r\n\r\n /**\r\n * Trasforma la data specificata in una stringa ISO8601\r\n * \r\n * @param {Dayjs} date Data\r\n * \r\n * @returns {string} Rappresentazione in ISO8601\r\n */\r\n public toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Controlla se l'oggetto passato è effettivamente un DayJs\r\n * \r\n * @param {any} obj Oggetto da verificare se è una data o meno\r\n * \r\n * @returns {boolean} **true** se l'oggetto è un DayJs, **false** altrimenti\r\n */\r\n public isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n /**\r\n * Controlla il DayJs passato e verifica se è valido\r\n * \r\n * @param {Dayjs} date Data da verificare\r\n * \r\n * @returns {boolean} **true** se il DayJs è valido, **false** altrimenti\r\n */\r\n public isValid(date: Dayjs): boolean {\r\n return date.isValid();\r\n }\r\n\r\n /**\r\n * Restituisce un DayJs invalido\r\n * \r\n * @returns {DayJs} Data Invalida\r\n */\r\n public invalid(): Dayjs {\r\n return dayjs(\"Invalid Date\");\r\n }\r\n\r\n /**\r\n * Crea un range di una lunghezza specifica e per ogni indice del range richiama un callback che valorizza l'elemento di quell'indice\r\n * \r\n * @param {number} length Lunghezza del range\r\n * @param {Function} valueFunction Callback che deve generare il valore desiderato per ogni indice\r\n * \r\n * @returns {T[]} Array dei valori generati\r\n */\r\n private range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++)\r\n valuesArray[i] = valueFunction(i);\r\n return valuesArray;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\r\nimport { DayJsDateAdapter } from './DayjsDateAdapter';\r\n\r\n/**\r\n * Formati di default per la presentazione degli input quali il DatePicker di Angular Material. \r\n * Cablati a quelli italiani ignorando quelli di BurgerLand per non impazzire\r\n */\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: { dateInput: 'DD/MM/YYYY' },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY',\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n};\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS },\r\n { provide: DateAdapter, useClass: DayJsDateAdapter, deps: [MAT_DATE_LOCALE]}\r\n ],\r\n})\r\nexport class MatDayjsDateModule {}\r\n","/*\r\n * Public API Surface of material-dayjs-adapter\r\n */\r\n\r\nexport * from './lib/adapter/DayjsDateAdapter';\r\nexport * from './lib/adapter/MatDayjsDateModule';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DateAdapter","Injectable","Inject","MAT_DATE_LOCALE","NgModule","MAT_DATE_FORMATS"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/material/core"),require("@esfaenza/extensions")):"function"==typeof define&&define.amd?define("@esfaenza/material-dayjs-adapter",["exports","@angular/core","@angular/material/core","@esfaenza/extensions"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).esfaenza=t.esfaenza||{},t.esfaenza["material-dayjs-adapter"]={}),t.ng.core,t.ng.material.core,t.extensions)}(this,(function(t,e,o,r){"use strict";
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/material/core")):"function"==typeof define&&define.amd?define("@esfaenza/material-dayjs-adapter",["exports","@angular/core","@angular/material/core"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).esfaenza=t.esfaenza||{},t.esfaenza["material-dayjs-adapter"]={}),t.ng.core,t.ng.material.core)}(this,(function(t,e,o){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])})(t,e)};Object.create;Object.create;var a=function(t){function e(e,o){var r=t.call(this)||this;return r.dateExts=o,r.setLocale(e),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}(e,t),e.prototype.setLocale=function(e){var o=this;switch(t.prototype.setLocale.call(this,e),e.toLowerCase()){case"it-it":case"it":import("dayjs/locale/it").then((function(t){o.loadLoacleDataModule(t.default)}));break;case"en-us":case"en-gb":case"en":import("dayjs/locale/en-gb").then((function(t){o.loadLoacleDataModule(t.default)}));break;default:throw"Locale non riconosicuto '"+e+"'. Locali consentiti: 'it', 'en'"}},e.prototype.loadLoacleDataModule=function(t){var e=this;this._localeData={firstDayOfWeek:t.weekStart,longMonths:t.months,shortMonths:t.monthsShort,dates:this.range(31,(function(t){return e.createDate(2017,0,t+1).format("D")})),longDaysOfWeek:t.weekdays,shortDaysOfWeek:t.weekdaysShort,narrowDaysOfWeek:t.weekdaysMin}},e.prototype.getHour=function(t){return t.get("hour")},e.prototype.deserialize=function(t){return null==t||this.isDateInstance(t)&&this.isValid(t)||this.dateExts.getDateConvertion(t)?t:this.invalid()},e.prototype.getMinute=function(t){return t.get("minute")},e.prototype.getSecond=function(t){return t.get("second")},e.prototype.setHour=function(t,e){t.$H=e},e.prototype.setMinute=function(t,e){t.$m=e},e.prototype.setSecond=function(t,e){t.$s=e},e.prototype.getYear=function(t){return t.get("year")},e.prototype.getMonth=function(t){return t.get("month")},e.prototype.getDate=function(t){return t.get("date")},e.prototype.getDayOfWeek=function(t){return t.get("day")},e.prototype.getMonthNames=function(t){return"long"==t?this._localeData.longMonths:this._localeData.shortMonths},e.prototype.getDateNames=function(){return this._localeData.dates},e.prototype.getDayOfWeekNames=function(t){return"long"==t?this._localeData.longDaysOfWeek:"short"==t?this._localeData.shortDaysOfWeek:this._localeData.narrowDaysOfWeek},e.prototype.getYearName=function(t){return this.getYear(t).toString()},e.prototype.getFirstDayOfWeek=function(){return this._localeData.firstDayOfWeek},e.prototype.getNumDaysInMonth=function(t){return t.daysInMonth()},e.prototype.clone=function(t){return dayjs(this.getYear(t)+"-"+(this.getMonth(t)+1)+"-"+this.getDate(t)+" "+this.getHour(t)+":"+this.getMinute(t)+":"+this.getSecond(t))},e.prototype.createDate=function(t,e,o){if(e<0||e>11)throw Error('Invalid month index "'+e+'". Month index has to be between 0 and 11.');if(o<1)throw Error('Invalid date "'+o+'". Date has to be greater than 0.');var r=dayjs(t+"-"+(e+1)+"-"+o);if(!r.isValid())throw Error('Invalid date "'+o+'" for month with index "'+e+'".');return r},e.prototype.today=function(){return dayjs()},e.prototype.parse=function(t,e){return t&&"string"==typeof t?dayjs(t,e):t?dayjs(t):null},e.prototype.format=function(t,e){if(!this.isValid(t))throw Error("DateAdapter: Cannot format invalid date.");return t.format(e)},e.prototype.addCalendarYears=function(t,e){return t.add(e,"year")},e.prototype.addCalendarMonths=function(t,e){return t.add(e,"month")},e.prototype.addCalendarDays=function(t,e){return t.add(e,"day")},e.prototype.toIso8601=function(t){return t.toISOString()},e.prototype.isDateInstance=function(t){return dayjs.isDayjs(t)},e.prototype.isValid=function(t){return t.isValid()},e.prototype.invalid=function(){return dayjs("Invalid Date")},e.prototype.range=function(t,e){for(var o=Array(t),r=0;r<t;r++)o[r]=e(r);return o},e}(o.DateAdapter);a.decorators=[{type:e.Injectable}],a.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[o.MAT_DATE_LOCALE]}]},{type:r.DateService}]};var i={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MM YYYY",dateA11yLabel:"DD/MM/YYYY",monthYearA11yLabel:"MM YYYY"}},s=function(){};s.decorators=[{type:e.NgModule,args:[{providers:[{provide:o.MAT_DATE_FORMATS,useValue:i},{provide:o.DateAdapter,useClass:a,deps:[o.MAT_DATE_LOCALE]}]}]}],t.DayJsDateAdapter=a,t.MAT_DAYJS_DATE_FORMATS=i,t.MatDayjsDateModule=s,Object.defineProperty(t,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])})(t,e)};Object.create;Object.create;var a=function(t){function e(e){var o=t.call(this)||this;return o.setLocale(e),o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}(e,t),e.prototype.setLocale=function(e){var o=this;switch(t.prototype.setLocale.call(this,e),e.toLowerCase()){case"it-it":case"it":import("dayjs/locale/it").then((function(t){o.loadLoacleDataModule(t.default)}));break;case"en-us":case"en-gb":case"en":import("dayjs/locale/en-gb").then((function(t){o.loadLoacleDataModule(t.default)}));break;default:throw"Locale non riconosicuto '"+e+"'. Locali consentiti: 'it', 'en'"}},e.prototype.loadLoacleDataModule=function(t){var e=this;this._localeData={firstDayOfWeek:t.weekStart,longMonths:t.months,shortMonths:t.monthsShort,dates:this.range(31,(function(t){return e.createDate(2017,0,t+1).format("D")})),longDaysOfWeek:t.weekdays,shortDaysOfWeek:t.weekdaysShort,narrowDaysOfWeek:t.weekdaysMin}},e.prototype.getHour=function(t){return t.get("hour")},e.prototype.deserialize=function(t){if(!t)return null;var e=dayjs(t);return null==e||this.isDateInstance(e)&&this.isValid(e)?e:this.invalid()},e.prototype.getMinute=function(t){return t.get("minute")},e.prototype.getSecond=function(t){return t.get("second")},e.prototype.setHour=function(t,e){t.$H=e},e.prototype.setMinute=function(t,e){t.$m=e},e.prototype.setSecond=function(t,e){t.$s=e},e.prototype.getYear=function(t){return t.get("year")},e.prototype.getMonth=function(t){return t.get("month")},e.prototype.getDate=function(t){return t.get("date")},e.prototype.getDayOfWeek=function(t){return t.get("day")},e.prototype.getMonthNames=function(t){return"long"==t?this._localeData.longMonths:this._localeData.shortMonths},e.prototype.getDateNames=function(){return this._localeData.dates},e.prototype.getDayOfWeekNames=function(t){return"long"==t?this._localeData.longDaysOfWeek:"short"==t?this._localeData.shortDaysOfWeek:this._localeData.narrowDaysOfWeek},e.prototype.getYearName=function(t){return this.getYear(t).toString()},e.prototype.getFirstDayOfWeek=function(){return this._localeData.firstDayOfWeek},e.prototype.getNumDaysInMonth=function(t){return t.daysInMonth()},e.prototype.clone=function(t){return dayjs(this.getYear(t)+"-"+(this.getMonth(t)+1)+"-"+this.getDate(t)+" "+this.getHour(t)+":"+this.getMinute(t)+":"+this.getSecond(t))},e.prototype.createDate=function(t,e,o){if(e<0||e>11)throw Error('Invalid month index "'+e+'". Month index has to be between 0 and 11.');if(o<1)throw Error('Invalid date "'+o+'". Date has to be greater than 0.');var r=dayjs(t+"-"+(e+1)+"-"+o);if(!r.isValid())throw Error('Invalid date "'+o+'" for month with index "'+e+'".');return r},e.prototype.today=function(){return dayjs()},e.prototype.parse=function(t,e){return t&&"string"==typeof t?dayjs(t,e):t?dayjs(t):null},e.prototype.format=function(t,e){if(!this.isValid(t))throw Error("DateAdapter: Cannot format invalid date.");return t.format(e)},e.prototype.addCalendarYears=function(t,e){return t.add(e,"year")},e.prototype.addCalendarMonths=function(t,e){return t.add(e,"month")},e.prototype.addCalendarDays=function(t,e){return t.add(e,"day")},e.prototype.toIso8601=function(t){return t.toISOString()},e.prototype.isDateInstance=function(t){return dayjs.isDayjs(t)},e.prototype.isValid=function(t){return t.isValid()},e.prototype.invalid=function(){return dayjs("Invalid Date")},e.prototype.range=function(t,e){for(var o=Array(t),r=0;r<t;r++)o[r]=e(r);return o},e}(o.DateAdapter);a.decorators=[{type:e.Injectable}],a.ctorParameters=function(){return[{type:String,decorators:[{type:e.Inject,args:[o.MAT_DATE_LOCALE]}]}]};var n={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MM YYYY",dateA11yLabel:"DD/MM/YYYY",monthYearA11yLabel:"MM YYYY"}},i=function(){};i.decorators=[{type:e.NgModule,args:[{providers:[{provide:o.MAT_DATE_FORMATS,useValue:n},{provide:o.DateAdapter,useClass:a,deps:[o.MAT_DATE_LOCALE]}]}]}],t.DayJsDateAdapter=a,t.MAT_DAYJS_DATE_FORMATS=n,t.MatDayjsDateModule=i,Object.defineProperty(t,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=esfaenza-material-dayjs-adapter.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/material-dayjs-adapter/src/lib/adapter/DayjsDateAdapter.ts","../../../projects/material-dayjs-adapter/src/lib/adapter/MatDayjsDateModule.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","DayJsDateAdapter","dateLocale","dateExts","_this","_super","this","setLocale","TypeError","String","__","constructor","__extends","locale","toLowerCase","import","then","mod","loadLoacleDataModule","default","_localeData","firstDayOfWeek","weekStart","longMonths","months","shortMonths","monthsShort","dates","range","i","createDate","format","longDaysOfWeek","weekdays","shortDaysOfWeek","weekdaysShort","narrowDaysOfWeek","weekdaysMin","getHour","date","get","deserialize","value","isDateInstance","isValid","getDateConvertion","invalid","getMinute","getSecond","setHour","$H","setMinute","$m","setSecond","$s","getYear","getMonth","getDate","getDayOfWeek","getMonthNames","style","getDateNames","getDayOfWeekNames","getYearName","toString","getFirstDayOfWeek","getNumDaysInMonth","daysInMonth","clone","dayjs","year","month","Error","result","today","parse","parseFormat","displayFormat","addCalendarYears","years","add","addCalendarMonths","addCalendarDays","days","toIso8601","toISOString","obj","isDayjs","length","valueFunction","valuesArray","DateAdapter","Injectable","Inject","args","MAT_DATE_LOCALE","DateService","MAT_DAYJS_DATE_FORMATS","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","NgModule","providers","provide","MAT_DATE_FORMATS","useValue","useClass","deps"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { DateAdapter, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\n\r\nimport { DateService } from \"@esfaenza/extensions\";\r\n// Dayjs\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n/**\r\n * Dichiarazione della variabile globale dayjs. L'onere di \"crearla\" è affidato all'applicazione che utilizza questa libreria, \r\n * che dovrà importare lo script globale di dayjs nella CLI\r\n */\r\ndeclare var dayjs: any;\r\n\r\n/**\r\n * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito \r\n * nativamente da Angular. Per DayJs invece bisogna reimplementarselo\r\n */\r\n@Injectable()\r\nexport class DayJsDateAdapter extends DateAdapter<Dayjs>{\r\n\r\n /**\r\n * Cache dei dati del locale Italiano\r\n */\r\n private _localeData: {\r\n firstDayOfWeek: number,\r\n longMonths: string[],\r\n shortMonths: string[],\r\n dates: string[],\r\n longDaysOfWeek: string[],\r\n shortDaysOfWeek: string[],\r\n narrowDaysOfWeek: string[]\r\n };\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(MAT_DATE_LOCALE) dateLocale: string, private dateExts: DateService) {\r\n super();\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n\r\n /**\r\n * Imposta il locale utilizzato per tutte le date\r\n * \r\n * @param {string} locale Locale da impostare\r\n */\r\n public setLocale(locale: string) {\r\n super.setLocale(locale);\r\n\r\n // il localeData si potrebbe prendere da this.dayJs().localeData(); ma io voglio usare le date solo nel formato italiano quindi cablo quello\r\n switch (locale.toLowerCase()) {\r\n case 'it-it':\r\n case 'it': import(\"dayjs/locale/it\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n // In dayjs, nel locale \"en\" e basta non esistono i 3/4 delle info perché sono le cose generiche ereditate dai locali en-gb, en-au ecc...\r\n // quindi mi baso sul locale inglese Britannico, ma comunque I'ts Coming Rome\r\n case 'en-us':\r\n case 'en-gb':\r\n case 'en': import(\"dayjs/locale/en-gb\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n default: throw `Locale non riconosicuto '${locale}'. Locali consentiti: 'it', 'en'`;\r\n }\r\n }\r\n\r\n /**\r\n * Effettua il caricamento del localeData coi nomi dei mesi, giorni ecc partendo dal modulo importato\r\n * \r\n * @param {any} mod Modulo caricato contenente il locale desiderato\r\n */\r\n private loadLoacleDataModule(mod: any) {\r\n this._localeData = {\r\n firstDayOfWeek: mod.weekStart,\r\n longMonths: mod.months,\r\n shortMonths: mod.monthsShort,\r\n dates: this.range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: mod.weekdays,\r\n shortDaysOfWeek: mod.weekdaysShort,\r\n narrowDaysOfWeek: mod.weekdaysMin,\r\n };\r\n }\r\n\r\n /**\r\n * Ottiene le ore da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Ore\r\n */\r\n public getHour(date: Dayjs): number {\r\n return date.get(\"hour\");\r\n }\r\n\r\n /**\r\n * Deserializza una data in DayJs\r\n * \r\n * @param {any} value Valore di data a caso\r\n * \r\n * @returns {Dayjs} data in dayjs\r\n */\r\n public deserialize(value) {\r\n if (value == null || this.isDateInstance(value) && this.isValid(value)) {\r\n return value;\r\n }\r\n\r\n var valueConverted = this.dateExts.getDateConvertion(value);\r\n if (valueConverted)\r\n return value;\r\n\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Ottiene i minuti da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Minuti\r\n */\r\n public getMinute(date: Dayjs): number {\r\n return date.get(\"minute\");\r\n }\r\n\r\n /**\r\n * Ottiene i secondi da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Secondi\r\n */\r\n public getSecond(date: Dayjs): number {\r\n return date.get(\"second\");\r\n }\r\n\r\n /**\r\n * Imposta le ore di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per le ore\r\n */\r\n public setHour(date: Dayjs, value: number): void {\r\n (<any>date).$H = value;\r\n }\r\n\r\n /**\r\n * Imposta i minuti di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i minuti\r\n */\r\n public setMinute(date: Dayjs, value: number): void {\r\n (<any>date).$m = value;\r\n }\r\n\r\n /**\r\n * Imposta i secondi di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i secondi\r\n */\r\n public setSecond(date: Dayjs, value: number): void {\r\n (<any>date).$s = value;\r\n }\r\n\r\n /**\r\n * Ottiene l'anno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Anno\r\n */\r\n public getYear(date: Dayjs): number {\r\n return date.get(\"year\");\r\n }\r\n\r\n /**\r\n * Ottiene il mese da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Mese\r\n */\r\n public getMonth(date: Dayjs): number {\r\n return date.get(\"month\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno\r\n */\r\n public getDate(date: Dayjs): number {\r\n return date.get(\"date\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno della settimana da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno della settimana da 1 a 7\r\n */\r\n public getDayOfWeek(date: Dayjs): number {\r\n return date.get(\"day\");\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei mesi\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei mesi espressi in base al parametro **style**\r\n */\r\n public getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni del mese\r\n * \r\n * @returns {string[]} Lista dei giorni del mese (da '1' a '31')\r\n */\r\n public getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni della settimana\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei giorni della settimana espressi in base al parametro **style**\r\n */\r\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style == 'long')\r\n return this._localeData.longDaysOfWeek;\r\n else if (style == 'short')\r\n return this._localeData.shortDaysOfWeek;\r\n\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il nome dell'anno\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {string} Anno\r\n */\r\n public getYearName(date: Dayjs): string {\r\n return this.getYear(date).toString();\r\n }\r\n\r\n /**\r\n * Ottiene il primo giorno della settimana\r\n * \r\n * @returns {number} Indice del primo giorno della settimana\r\n */\r\n public getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il numero di giorni nel mese corrente\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Numero di giorni\r\n */\r\n public getNumDaysInMonth(date: Dayjs): number {\r\n return date.daysInMonth();\r\n }\r\n\r\n /**\r\n * Ottiene il clone di una data Dayjs\r\n * \r\n * @param {Dayjs} Data da clonare\r\n * \r\n * @returns {Dayjs} Clone\r\n */\r\n public clone(date: Dayjs): Dayjs {\r\n // Visto che ho modificato l'istanza originale a manazza (vedi setHour, setMinute, setSecond) l'oggetto è danneggiato e per restituire un clone buono\r\n // devo ricrearlo prendendo pezzo per pezzo\r\n // Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n return dayjs(`${this.getYear(date)}-${this.getMonth(date) + 1}-${this.getDate(date)} ${this.getHour(date)}:${this.getMinute(date)}:${this.getSecond(date)}`);\r\n }\r\n\r\n /**\r\n * Crea una data partendo da anno, mese e giorno\r\n * \r\n * @param {number} year Anno\r\n * @param {number} month Mese\r\n * @param {number} date Giorno\r\n * \r\n * @returns {Dayjs} Oggetto generato in base ai parametri **year**, **month**, e **date**\r\n */\r\n public createDate(year: number, month: number, date: number): Dayjs {\r\n if (month < 0 || month > 11)\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n\r\n if (date < 1)\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n\r\n //Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n const result = dayjs(`${year}-${month + 1}-${date}`)\r\n\r\n if (!result.isValid())\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Restituisce la data che rappresenta la giornata di oggi\r\n * \r\n * @returns {Dayjs} Oggi\r\n */\r\n public today(): Dayjs {\r\n return dayjs();\r\n }\r\n\r\n /**\r\n * Effettua il parse di una data, eventualmente in base al formato specificato\r\n * \r\n * @param {any} value Valore da parsare\r\n * @param {string} parseFormat Formato in cui leggere il valore\r\n * \r\n * @returns {Dayjs} Data generata\r\n */\r\n public parse(value: any, parseFormat: string): Dayjs {\r\n if (value && typeof value == 'string')\r\n return dayjs(value, parseFormat);\r\n\r\n return value ? dayjs(value) : null;\r\n }\r\n\r\n /**\r\n * Formatta una data in base al formato specificato\r\n * \r\n * @param {Dayjs} date Data da formattare\r\n * @param {string} displayFormat Formato in cui mostrare la data\r\n * \r\n * @returns {string} Data formattata\r\n */\r\n public format(date: Dayjs, displayFormat: any): string {\r\n if (!this.isValid(date))\r\n throw Error('DateAdapter: Cannot format invalid date.');\r\n \r\n return date.format(displayFormat)\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di anni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere gli anni\r\n * @param {number} years Anni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta degli anni specificati\r\n */\r\n public addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, \"year\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di mesi\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i mesi\r\n * @param {months} months Mesi da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei mesi specificati\r\n */\r\n public addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, \"month\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di giorni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i giorni\r\n * @param {months} days Giorni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei giorni specificati\r\n */\r\n public addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, \"day\");\r\n }\r\n\r\n /**\r\n * Trasforma la data specificata in una stringa ISO8601\r\n * \r\n * @param {Dayjs} date Data\r\n * \r\n * @returns {string} Rappresentazione in ISO8601\r\n */\r\n public toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Controlla se l'oggetto passato è effettivamente un DayJs\r\n * \r\n * @param {any} obj Oggetto da verificare se è una data o meno\r\n * \r\n * @returns {boolean} **true** se l'oggetto è un DayJs, **false** altrimenti\r\n */\r\n public isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n /**\r\n * Controlla il DayJs passato e verifica se è valido\r\n * \r\n * @param {Dayjs} date Data da verificare\r\n * \r\n * @returns {boolean} **true** se il DayJs è valido, **false** altrimenti\r\n */\r\n public isValid(date: Dayjs): boolean {\r\n return date.isValid();\r\n }\r\n\r\n /**\r\n * Restituisce un DayJs invalido\r\n * \r\n * @returns {DayJs} Data Invalida\r\n */\r\n public invalid(): Dayjs {\r\n return dayjs(\"Invalid Date\");\r\n }\r\n\r\n /**\r\n * Crea un range di una lunghezza specifica e per ogni indice del range richiama un callback che valorizza l'elemento di quell'indice\r\n * \r\n * @param {number} length Lunghezza del range\r\n * @param {Function} valueFunction Callback che deve generare il valore desiderato per ogni indice\r\n * \r\n * @returns {T[]} Array dei valori generati\r\n */\r\n private range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++)\r\n valuesArray[i] = valueFunction(i);\r\n return valuesArray;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\r\nimport { DayJsDateAdapter } from './DayjsDateAdapter';\r\n\r\n/**\r\n * Formati di default per la presentazione degli input quali il DatePicker di Angular Material. \r\n * Cablati a quelli italiani ignorando quelli di BurgerLand per non impazzire\r\n */\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: { dateInput: 'DD/MM/YYYY' },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY',\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n};\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS },\r\n { provide: DateAdapter, useClass: DayJsDateAdapter, deps: [MAT_DATE_LOCALE]}\r\n ],\r\n})\r\nexport class MatDayjsDateModule {}\r\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/material-dayjs-adapter/src/lib/adapter/DayjsDateAdapter.ts","../../../projects/material-dayjs-adapter/src/lib/adapter/MatDayjsDateModule.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","DayJsDateAdapter","dateLocale","_this","_super","this","setLocale","TypeError","String","__","constructor","__extends","locale","toLowerCase","import","then","mod","loadLoacleDataModule","default","_localeData","firstDayOfWeek","weekStart","longMonths","months","shortMonths","monthsShort","dates","range","i","createDate","format","longDaysOfWeek","weekdays","shortDaysOfWeek","weekdaysShort","narrowDaysOfWeek","weekdaysMin","getHour","date","get","deserialize","value","valueConverted","dayjs","isDateInstance","isValid","invalid","getMinute","getSecond","setHour","$H","setMinute","$m","setSecond","$s","getYear","getMonth","getDate","getDayOfWeek","getMonthNames","style","getDateNames","getDayOfWeekNames","getYearName","toString","getFirstDayOfWeek","getNumDaysInMonth","daysInMonth","clone","year","month","Error","result","today","parse","parseFormat","displayFormat","addCalendarYears","years","add","addCalendarMonths","addCalendarDays","days","toIso8601","toISOString","obj","isDayjs","length","valueFunction","valuesArray","DateAdapter","Injectable","Inject","args","MAT_DATE_LOCALE","MAT_DAYJS_DATE_FORMATS","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","NgModule","providers","provide","MAT_DATE_FORMATS","useValue","useClass","deps"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { DateAdapter, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\n\r\n// Dayjs\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n/**\r\n * Dichiarazione della variabile globale dayjs. L'onere di \"crearla\" è affidato all'applicazione che utilizza questa libreria, \r\n * che dovrà importare lo script globale di dayjs nella CLI\r\n */\r\ndeclare var dayjs: any;\r\n\r\n/**\r\n * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito \r\n * nativamente da Angular. Per DayJs invece bisogna reimplementarselo\r\n */\r\n@Injectable()\r\nexport class DayJsDateAdapter extends DateAdapter<Dayjs>{\r\n\r\n /**\r\n * Cache dei dati del locale Italiano\r\n */\r\n private _localeData: {\r\n firstDayOfWeek: number,\r\n longMonths: string[],\r\n shortMonths: string[],\r\n dates: string[],\r\n longDaysOfWeek: string[],\r\n shortDaysOfWeek: string[],\r\n narrowDaysOfWeek: string[]\r\n };\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(MAT_DATE_LOCALE) dateLocale: string) {\r\n super();\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n\r\n /**\r\n * Imposta il locale utilizzato per tutte le date\r\n * \r\n * @param {string} locale Locale da impostare\r\n */\r\n public setLocale(locale: string) {\r\n super.setLocale(locale);\r\n\r\n // il localeData si potrebbe prendere da this.dayJs().localeData(); ma io voglio usare le date solo nel formato italiano quindi cablo quello\r\n switch (locale.toLowerCase()) {\r\n case 'it-it':\r\n case 'it': import(\"dayjs/locale/it\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n // In dayjs, nel locale \"en\" e basta non esistono i 3/4 delle info perché sono le cose generiche ereditate dai locali en-gb, en-au ecc...\r\n // quindi mi baso sul locale inglese Britannico, ma comunque I'ts Coming Rome\r\n case 'en-us':\r\n case 'en-gb':\r\n case 'en': import(\"dayjs/locale/en-gb\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n default: throw `Locale non riconosicuto '${locale}'. Locali consentiti: 'it', 'en'`;\r\n }\r\n }\r\n\r\n /**\r\n * Effettua il caricamento del localeData coi nomi dei mesi, giorni ecc partendo dal modulo importato\r\n * \r\n * @param {any} mod Modulo caricato contenente il locale desiderato\r\n */\r\n private loadLoacleDataModule(mod: any) {\r\n this._localeData = {\r\n firstDayOfWeek: mod.weekStart,\r\n longMonths: mod.months,\r\n shortMonths: mod.monthsShort,\r\n dates: this.range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: mod.weekdays,\r\n shortDaysOfWeek: mod.weekdaysShort,\r\n narrowDaysOfWeek: mod.weekdaysMin,\r\n };\r\n }\r\n\r\n /**\r\n * Ottiene le ore da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Ore\r\n */\r\n public getHour(date: Dayjs): number {\r\n return date.get(\"hour\");\r\n }\r\n\r\n /**\r\n * Deserializza una data in DayJs\r\n * \r\n * @param {any} value Valore di data a caso\r\n * \r\n * @returns {Dayjs} data in dayjs\r\n */\r\n public deserialize(value) {\r\n if (!value)\r\n return null;\r\n\r\n var valueConverted = dayjs(value);\r\n\r\n if (valueConverted == null || this.isDateInstance(valueConverted) && this.isValid(valueConverted))\r\n return valueConverted;\r\n\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Ottiene i minuti da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Minuti\r\n */\r\n public getMinute(date: Dayjs): number {\r\n return date.get(\"minute\");\r\n }\r\n\r\n /**\r\n * Ottiene i secondi da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Secondi\r\n */\r\n public getSecond(date: Dayjs): number {\r\n return date.get(\"second\");\r\n }\r\n\r\n /**\r\n * Imposta le ore di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per le ore\r\n */\r\n public setHour(date: Dayjs, value: number): void {\r\n (<any>date).$H = value;\r\n }\r\n\r\n /**\r\n * Imposta i minuti di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i minuti\r\n */\r\n public setMinute(date: Dayjs, value: number): void {\r\n (<any>date).$m = value;\r\n }\r\n\r\n /**\r\n * Imposta i secondi di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i secondi\r\n */\r\n public setSecond(date: Dayjs, value: number): void {\r\n (<any>date).$s = value;\r\n }\r\n\r\n /**\r\n * Ottiene l'anno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Anno\r\n */\r\n public getYear(date: Dayjs): number {\r\n return date.get(\"year\");\r\n }\r\n\r\n /**\r\n * Ottiene il mese da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Mese\r\n */\r\n public getMonth(date: Dayjs): number {\r\n return date.get(\"month\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno\r\n */\r\n public getDate(date: Dayjs): number {\r\n return date.get(\"date\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno della settimana da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno della settimana da 1 a 7\r\n */\r\n public getDayOfWeek(date: Dayjs): number {\r\n return date.get(\"day\");\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei mesi\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei mesi espressi in base al parametro **style**\r\n */\r\n public getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni del mese\r\n * \r\n * @returns {string[]} Lista dei giorni del mese (da '1' a '31')\r\n */\r\n public getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni della settimana\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei giorni della settimana espressi in base al parametro **style**\r\n */\r\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style == 'long')\r\n return this._localeData.longDaysOfWeek;\r\n else if (style == 'short')\r\n return this._localeData.shortDaysOfWeek;\r\n\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il nome dell'anno\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {string} Anno\r\n */\r\n public getYearName(date: Dayjs): string {\r\n return this.getYear(date).toString();\r\n }\r\n\r\n /**\r\n * Ottiene il primo giorno della settimana\r\n * \r\n * @returns {number} Indice del primo giorno della settimana\r\n */\r\n public getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il numero di giorni nel mese corrente\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Numero di giorni\r\n */\r\n public getNumDaysInMonth(date: Dayjs): number {\r\n return date.daysInMonth();\r\n }\r\n\r\n /**\r\n * Ottiene il clone di una data Dayjs\r\n * \r\n * @param {Dayjs} Data da clonare\r\n * \r\n * @returns {Dayjs} Clone\r\n */\r\n public clone(date: Dayjs): Dayjs {\r\n // Visto che ho modificato l'istanza originale a manazza (vedi setHour, setMinute, setSecond) l'oggetto è danneggiato e per restituire un clone buono\r\n // devo ricrearlo prendendo pezzo per pezzo\r\n // Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n return dayjs(`${this.getYear(date)}-${this.getMonth(date) + 1}-${this.getDate(date)} ${this.getHour(date)}:${this.getMinute(date)}:${this.getSecond(date)}`);\r\n }\r\n\r\n /**\r\n * Crea una data partendo da anno, mese e giorno\r\n * \r\n * @param {number} year Anno\r\n * @param {number} month Mese\r\n * @param {number} date Giorno\r\n * \r\n * @returns {Dayjs} Oggetto generato in base ai parametri **year**, **month**, e **date**\r\n */\r\n public createDate(year: number, month: number, date: number): Dayjs {\r\n if (month < 0 || month > 11)\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n\r\n if (date < 1)\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n\r\n //Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n const result = dayjs(`${year}-${month + 1}-${date}`)\r\n\r\n if (!result.isValid())\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Restituisce la data che rappresenta la giornata di oggi\r\n * \r\n * @returns {Dayjs} Oggi\r\n */\r\n public today(): Dayjs {\r\n return dayjs();\r\n }\r\n\r\n /**\r\n * Effettua il parse di una data, eventualmente in base al formato specificato\r\n * \r\n * @param {any} value Valore da parsare\r\n * @param {string} parseFormat Formato in cui leggere il valore\r\n * \r\n * @returns {Dayjs} Data generata\r\n */\r\n public parse(value: any, parseFormat: string): Dayjs {\r\n if (value && typeof value == 'string')\r\n return dayjs(value, parseFormat);\r\n\r\n return value ? dayjs(value) : null;\r\n }\r\n\r\n /**\r\n * Formatta una data in base al formato specificato\r\n * \r\n * @param {Dayjs} date Data da formattare\r\n * @param {string} displayFormat Formato in cui mostrare la data\r\n * \r\n * @returns {string} Data formattata\r\n */\r\n public format(date: Dayjs, displayFormat: any): string {\r\n if (!this.isValid(date))\r\n throw Error('DateAdapter: Cannot format invalid date.');\r\n \r\n return date.format(displayFormat)\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di anni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere gli anni\r\n * @param {number} years Anni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta degli anni specificati\r\n */\r\n public addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, \"year\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di mesi\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i mesi\r\n * @param {months} months Mesi da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei mesi specificati\r\n */\r\n public addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, \"month\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di giorni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i giorni\r\n * @param {months} days Giorni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei giorni specificati\r\n */\r\n public addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, \"day\");\r\n }\r\n\r\n /**\r\n * Trasforma la data specificata in una stringa ISO8601\r\n * \r\n * @param {Dayjs} date Data\r\n * \r\n * @returns {string} Rappresentazione in ISO8601\r\n */\r\n public toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Controlla se l'oggetto passato è effettivamente un DayJs\r\n * \r\n * @param {any} obj Oggetto da verificare se è una data o meno\r\n * \r\n * @returns {boolean} **true** se l'oggetto è un DayJs, **false** altrimenti\r\n */\r\n public isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n /**\r\n * Controlla il DayJs passato e verifica se è valido\r\n * \r\n * @param {Dayjs} date Data da verificare\r\n * \r\n * @returns {boolean} **true** se il DayJs è valido, **false** altrimenti\r\n */\r\n public isValid(date: Dayjs): boolean {\r\n return date.isValid();\r\n }\r\n\r\n /**\r\n * Restituisce un DayJs invalido\r\n * \r\n * @returns {DayJs} Data Invalida\r\n */\r\n public invalid(): Dayjs {\r\n return dayjs(\"Invalid Date\");\r\n }\r\n\r\n /**\r\n * Crea un range di una lunghezza specifica e per ogni indice del range richiama un callback che valorizza l'elemento di quell'indice\r\n * \r\n * @param {number} length Lunghezza del range\r\n * @param {Function} valueFunction Callback che deve generare il valore desiderato per ogni indice\r\n * \r\n * @returns {T[]} Array dei valori generati\r\n */\r\n private range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++)\r\n valuesArray[i] = valueFunction(i);\r\n return valuesArray;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\r\nimport { DayJsDateAdapter } from './DayjsDateAdapter';\r\n\r\n/**\r\n * Formati di default per la presentazione degli input quali il DatePicker di Angular Material. \r\n * Cablati a quelli italiani ignorando quelli di BurgerLand per non impazzire\r\n */\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: { dateInput: 'DD/MM/YYYY' },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY',\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n};\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS },\r\n { provide: DateAdapter, useClass: DayJsDateAdapter, deps: [MAT_DATE_LOCALE]}\r\n ],\r\n})\r\nexport class MatDayjsDateModule {}\r\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"DayJsDateAdapter":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":19,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":39,"character":24}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@esfaenza/extensions","name":"DateService","line":39,"character":79}]}],"setLocale":[{"__symbolic":"method"}],"loadLoacleDataModule":[{"__symbolic":"method"}],"getHour":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"getMinute":[{"__symbolic":"method"}],"getSecond":[{"__symbolic":"method"}],"setHour":[{"__symbolic":"method"}],"setMinute":[{"__symbolic":"method"}],"setSecond":[{"__symbolic":"method"}],"getYear":[{"__symbolic":"method"}],"getMonth":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"getDayOfWeek":[{"__symbolic":"method"}],"getMonthNames":[{"__symbolic":"method"}],"getDateNames":[{"__symbolic":"method"}],"getDayOfWeekNames":[{"__symbolic":"method"}],"getYearName":[{"__symbolic":"method"}],"getFirstDayOfWeek":[{"__symbolic":"method"}],"getNumDaysInMonth":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"createDate":[{"__symbolic":"method"}],"today":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"addCalendarYears":[{"__symbolic":"method"}],"addCalendarMonths":[{"__symbolic":"method"}],"addCalendarDays":[{"__symbolic":"method"}],"toIso8601":[{"__symbolic":"method"}],"isDateInstance":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"invalid":[{"__symbolic":"method"}],"range":[{"__symbolic":"method"}]}},"MAT_DAYJS_DATE_FORMATS":{"parse":{"dateInput":"DD/MM/YYYY"},"display":{"dateInput":"DD/MM/YYYY","monthYearLabel":"MM YYYY","dateA11yLabel":"DD/MM/YYYY","monthYearA11yLabel":"MM YYYY"}},"MatDayjsDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":20,"character":15},"useValue":{"__symbolic":"reference","name":"MAT_DAYJS_DATE_FORMATS"}},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":21,"character":15},"useClass":{"__symbolic":"reference","name":"DayJsDateAdapter"},"deps":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":21,"character":63}]}]}]}],"members":{}}},"origins":{"DayJsDateAdapter":"./lib/adapter/DayjsDateAdapter","MAT_DAYJS_DATE_FORMATS":"./lib/adapter/MatDayjsDateModule","MatDayjsDateModule":"./lib/adapter/MatDayjsDateModule"},"importAs":"@esfaenza/material-dayjs-adapter"}
1
+ {"__symbolic":"module","version":4,"metadata":{"DayJsDateAdapter":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":18,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":17,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":38,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"string"}]}],"setLocale":[{"__symbolic":"method"}],"loadLoacleDataModule":[{"__symbolic":"method"}],"getHour":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"getMinute":[{"__symbolic":"method"}],"getSecond":[{"__symbolic":"method"}],"setHour":[{"__symbolic":"method"}],"setMinute":[{"__symbolic":"method"}],"setSecond":[{"__symbolic":"method"}],"getYear":[{"__symbolic":"method"}],"getMonth":[{"__symbolic":"method"}],"getDate":[{"__symbolic":"method"}],"getDayOfWeek":[{"__symbolic":"method"}],"getMonthNames":[{"__symbolic":"method"}],"getDateNames":[{"__symbolic":"method"}],"getDayOfWeekNames":[{"__symbolic":"method"}],"getYearName":[{"__symbolic":"method"}],"getFirstDayOfWeek":[{"__symbolic":"method"}],"getNumDaysInMonth":[{"__symbolic":"method"}],"clone":[{"__symbolic":"method"}],"createDate":[{"__symbolic":"method"}],"today":[{"__symbolic":"method"}],"parse":[{"__symbolic":"method"}],"format":[{"__symbolic":"method"}],"addCalendarYears":[{"__symbolic":"method"}],"addCalendarMonths":[{"__symbolic":"method"}],"addCalendarDays":[{"__symbolic":"method"}],"toIso8601":[{"__symbolic":"method"}],"isDateInstance":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"invalid":[{"__symbolic":"method"}],"range":[{"__symbolic":"method"}]}},"MAT_DAYJS_DATE_FORMATS":{"parse":{"dateInput":"DD/MM/YYYY"},"display":{"dateInput":"DD/MM/YYYY","monthYearLabel":"MM YYYY","dateA11yLabel":"DD/MM/YYYY","monthYearA11yLabel":"MM YYYY"}},"MatDayjsDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":20,"character":15},"useValue":{"__symbolic":"reference","name":"MAT_DAYJS_DATE_FORMATS"}},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":21,"character":15},"useClass":{"__symbolic":"reference","name":"DayJsDateAdapter"},"deps":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":21,"character":63}]}]}]}],"members":{}}},"origins":{"DayJsDateAdapter":"./lib/adapter/DayjsDateAdapter","MAT_DAYJS_DATE_FORMATS":"./lib/adapter/MatDayjsDateModule","MatDayjsDateModule":"./lib/adapter/MatDayjsDateModule"},"importAs":"@esfaenza/material-dayjs-adapter"}
@@ -1,7 +1,6 @@
1
1
  // Angular
2
2
  import { Inject, Injectable } from "@angular/core";
3
3
  import { DateAdapter, MAT_DATE_LOCALE } from "@angular/material/core";
4
- import { DateService } from "@esfaenza/extensions";
5
4
  /**
6
5
  * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito
7
6
  * nativamente da Angular. Per DayJs invece bisogna reimplementarselo
@@ -12,9 +11,8 @@ export class DayJsDateAdapter extends DateAdapter {
12
11
  *
13
12
  * @ignore
14
13
  */
15
- constructor(dateLocale, dateExts) {
14
+ constructor(dateLocale) {
16
15
  super();
17
- this.dateExts = dateExts;
18
16
  this.setLocale(dateLocale);
19
17
  }
20
18
  /**
@@ -74,12 +72,11 @@ export class DayJsDateAdapter extends DateAdapter {
74
72
  * @returns {Dayjs} data in dayjs
75
73
  */
76
74
  deserialize(value) {
77
- if (value == null || this.isDateInstance(value) && this.isValid(value)) {
78
- return value;
79
- }
80
- var valueConverted = this.dateExts.getDateConvertion(value);
81
- if (valueConverted)
82
- return value;
75
+ if (!value)
76
+ return null;
77
+ var valueConverted = dayjs(value);
78
+ if (valueConverted == null || this.isDateInstance(valueConverted) && this.isValid(valueConverted))
79
+ return valueConverted;
83
80
  return this.invalid();
84
81
  }
85
82
  /**
@@ -386,7 +383,6 @@ DayJsDateAdapter.decorators = [
386
383
  { type: Injectable }
387
384
  ];
388
385
  DayJsDateAdapter.ctorParameters = () => [
389
- { type: String, decorators: [{ type: Inject, args: [MAT_DATE_LOCALE,] }] },
390
- { type: DateService }
386
+ { type: String, decorators: [{ type: Inject, args: [MAT_DATE_LOCALE,] }] }
391
387
  ];
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF5anNEYXRlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWRheWpzLWFkYXB0ZXIvc3JjL2xpYi9hZGFwdGVyL0RheWpzRGF0ZUFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBVW5EOzs7R0FHRztBQUVILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFrQjtJQWVwRDs7OztPQUlHO0lBQ0gsWUFBcUMsVUFBa0IsRUFBVSxRQUFxQjtRQUNsRixLQUFLLEVBQUUsQ0FBQztRQURxRCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBR2xGLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsTUFBYztRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLDRJQUE0STtRQUM1SSxRQUFRLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMxQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssSUFBSTtnQkFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsTUFBTTtZQUNwRyx5SUFBeUk7WUFDekksNkVBQTZFO1lBQzdFLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLElB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LGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssS0FBSyxDQUFJLE1BQWMsRUFBRSxhQUFtQztRQUNoRSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDM0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDOzs7WUEzYUosVUFBVTs7O3lDQXFCTSxNQUFNLFNBQUMsZUFBZTtZQW5DOUIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG4vLyBEYXlqc1xyXG5pbXBvcnQgeyBEYXlqcyB9IGZyb20gXCJkYXlqc1wiO1xyXG5cclxuLyoqXHJcbiAqIERpY2hpYXJhemlvbmUgZGVsbGEgdmFyaWFiaWxlIGdsb2JhbGUgZGF5anMuIEwnb25lcmUgZGkgXCJjcmVhcmxhXCIgw6ggYWZmaWRhdG8gYWxsJ2FwcGxpY2F6aW9uZSBjaGUgdXRpbGl6emEgcXVlc3RhIGxpYnJlcmlhLCBcclxuICogY2hlIGRvdnLDoCBpbXBvcnRhcmUgbG8gc2NyaXB0IGdsb2JhbGUgZGkgZGF5anMgbmVsbGEgQ0xJXHJcbiAqL1xyXG5kZWNsYXJlIHZhciBkYXlqczogYW55O1xyXG5cclxuLyoqXHJcbiAqIEFkYXB0ZXIgcGVyIHBlcm1ldHRlcmUgYSBNYXRlcmlhbCBkaSBmdW56aW9uYXJlIHNlbnphIHByb2JsZW1pIGNvbiBEYXlKcy4gUGVyIGFsdHJpIHByb3ZpZGVyIGRpIGRhdGUgKGVzLiBtb21lbnQpIGwnYWRhcHRlciB2aWVuZSBmb3JuaXRvIFxyXG4gKiBuYXRpdmFtZW50ZSBkYSBBbmd1bGFyLiBQZXIgRGF5SnMgaW52ZWNlIGJpc29nbmEgcmVpbXBsZW1lbnRhcnNlbG9cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERheUpzRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxEYXlqcz57XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWNoZSBkZWkgZGF0aSBkZWwgbG9jYWxlIEl0YWxpYW5vXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2xvY2FsZURhdGE6IHtcclxuICAgICAgICBmaXJzdERheU9mV2VlazogbnVtYmVyLFxyXG4gICAgICAgIGxvbmdNb250aHM6IHN0cmluZ1tdLFxyXG4gICAgICAgIHNob3J0TW9udGhzOiBzdHJpbmdbXSxcclxuICAgICAgICBkYXRlczogc3RyaW5nW10sXHJcbiAgICAgICAgbG9uZ0RheXNPZldlZWs6IHN0cmluZ1tdLFxyXG4gICAgICAgIHNob3J0RGF5c09mV2Vlazogc3RyaW5nW10sXHJcbiAgICAgICAgbmFycm93RGF5c09mV2Vlazogc3RyaW5nW11cclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBkYXRlTG9jYWxlOiBzdHJpbmcsIHByaXZhdGUgZGF0ZUV4dHM6IERhdGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRMb2NhbGUoZGF0ZUxvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGlsIGxvY2FsZSB1dGlsaXp6YXRvIHBlciB0dXR0ZSBsZSBkYXRlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhbGUgTG9jYWxlIGRhIGltcG9zdGFyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0TG9jYWxlKGxvY2FsZTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIuc2V0TG9jYWxlKGxvY2FsZSk7XHJcblxyXG4gICAgICAgIC8vIGlsIGxvY2FsZURhdGEgc2kgcG90cmViYmUgcHJlbmRlcmUgZGEgdGhpcy5kYXlKcygpLmxvY2FsZURhdGEoKTsgbWEgaW8gdm9nbGlvIHVzYXJlIGxlIGRhdGUgc29sbyBuZWwgZm9ybWF0byBpdGFsaWFubyBxdWluZGkgY2FibG8gcXVlbGxvXHJcbiAgICAgICAgc3dpdGNoIChsb2NhbGUudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgICBjYXNlICdpdC1pdCc6XHJcbiAgICAgICAgICAgIGNhc2UgJ2l0JzogaW1wb3J0KFwiZGF5anMvbG9jYWxlL2l0XCIpLnRoZW4obW9kID0+IHsgdGhpcy5sb2FkTG9hY2xlRGF0YU1vZHVsZShtb2QuZGVmYXVsdCkgfSk7IGJyZWFrO1xyXG4gICAgICAgICAgICAvLyBJbiBkYXlqcywgbmVsIGxvY2FsZSBcImVuXCIgZSBiYXN0YSBub24gZXNpc3Rvbm8gaSAzLzQgZGVsbGUgaW5mbyBwZXJjaMOpIHNvbm8gbGUgY29zZSBnZW5lcmljaGUgZXJlZGl0YXRlIGRhaSBsb2NhbGkgZW4tZ2IsIGVuLWF1IGVjYy4uLlxyXG4gICAgICAgICAgICAvLyBxdWluZGkgbWkgYmFzbyBzdWwgbG9jYWxlIGluZ2xlc2UgQnJpdGFubmljbywgbWEgY29tdW5xdWUgSSd0cyBDb21pbmcgUm9tZVxyXG4gICAgICAgICAgICBjYXNlICdlbi11cyc6XHJcbiAgICAgICAgICAgIGNhc2UgJ2VuLWdiJzpcclxuICAgICAgICAgICAgY2FzZSAnZW4nOiBpbXBvcnQoXCJkYXlqcy9sb2NhbGUvZW4tZ2JcIikudGhlbihtb2QgPT4geyB0aGlzLmxvYWRMb2FjbGVEYXRhTW9kdWxlKG1vZC5kZWZhdWx0KSB9KTsgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRocm93IGBMb2NhbGUgbm9uIHJpY29ub3NpY3V0byAnJHtsb2NhbGV9Jy4gTG9jYWxpIGNvbnNlbnRpdGk6ICdpdCcsICdlbidgO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVmZmV0dHVhIGlsIGNhcmljYW1lbnRvIGRlbCBsb2NhbGVEYXRhIGNvaSBub21pIGRlaSBtZXNpLCBnaW9ybmkgZWNjIHBhcnRlbmRvIGRhbCBtb2R1bG8gaW1wb3J0YXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBtb2QgTW9kdWxvIGNhcmljYXRvIGNvbnRlbmVudGUgaWwgbG9jYWxlIGRlc2lkZXJhdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBsb2FkTG9hY2xlRGF0YU1vZHVsZShtb2Q6IGFueSkge1xyXG4gICAgICAgIHRoaXMuX2xvY2FsZURhdGEgPSB7XHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiBtb2Qud2Vla1N0YXJ0LFxyXG4gICAgICAgICAgICBsb25nTW9udGhzOiBtb2QubW9udGhzLFxyXG4gICAgICAgICAgICBzaG9ydE1vbnRoczogbW9kLm1vbnRoc1Nob3J0LFxyXG4gICAgICAgICAgICBkYXRlczogdGhpcy5yYW5nZSgzMSwgKGkpID0+IHRoaXMuY3JlYXRlRGF0ZSgyMDE3LCAwLCBpICsgMSkuZm9ybWF0KCdEJykpLFxyXG4gICAgICAgICAgICBsb25nRGF5c09mV2VlazogbW9kLndlZWtkYXlzLFxyXG4gICAgICAgICAgICBzaG9ydERheXNPZldlZWs6IG1vZC53ZWVrZGF5c1Nob3J0LFxyXG4gICAgICAgICAgICBuYXJyb3dEYXlzT2ZXZWVrOiBtb2Qud2Vla2RheXNNaW4sXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgbGUgb3JlIGRhIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBPcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEhvdXIoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldChcImhvdXJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXNlcmlhbGl6emEgdW5hIGRhdGEgaW4gRGF5SnNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHZhbHVlIFZhbG9yZSBkaSBkYXRhIGEgY2Fzb1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7RGF5anN9IGRhdGEgaW4gZGF5anNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlc2VyaWFsaXplKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwgfHwgdGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgdmFsdWVDb252ZXJ0ZWQgPSB0aGlzLmRhdGVFeHRzLmdldERhdGVDb252ZXJ0aW9uKHZhbHVlKTtcclxuICAgICAgICBpZiAodmFsdWVDb252ZXJ0ZWQpXHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpIG1pbnV0aSBkYSB1biBEYXlKc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgRGF5anNcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge251bWJlcn0gTWludXRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRNaW51dGUoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldChcIm1pbnV0ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaSBzZWNvbmRpIGRhIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBTZWNvbmRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRTZWNvbmQoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldChcInNlY29uZFwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgbGUgb3JlIGRpIHVuYSBkYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBkYSBtb2RpZmljYXJlXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVmFsb3JlIGRhIGltcG9zdGFyZSBwZXIgbGUgb3JlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRIb3VyKGRhdGU6IERheWpzLCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgKDxhbnk+ZGF0ZSkuJEggPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgaSBtaW51dGkgZGkgdW5hIGRhdGEgRGF5anNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIGRhIG1vZGlmaWNhcmVcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZSBWYWxvcmUgZGEgaW1wb3N0YXJlIHBlciBpIG1pbnV0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0TWludXRlKGRhdGU6IERheWpzLCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgKDxhbnk+ZGF0ZSkuJG0gPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgaSBzZWNvbmRpIGRpIHVuYSBkYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBkYSBtb2RpZmljYXJlXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVmFsb3JlIGRhIGltcG9zdGFyZSBwZXIgaSBzZWNvbmRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRTZWNvbmQoZGF0ZTogRGF5anMsIHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgICAgICAoPGFueT5kYXRlKS4kcyA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBsJ2Fubm8gZGEgdW4gRGF5SnNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IEFubm9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldFllYXIoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldChcInllYXJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGlsIG1lc2UgZGEgdW4gRGF5SnNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IE1lc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldE1vbnRoKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5nZXQoXCJtb250aFwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgZ2lvcm5vIGRhIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBHaW9ybm9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldERhdGUoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldChcImRhdGVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGlsIGdpb3JubyBkZWxsYSBzZXR0aW1hbmEgZGEgdW4gRGF5SnNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IEdpb3JubyBkZWxsYSBzZXR0aW1hbmEgZGEgMSBhIDdcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldERheU9mV2VlayhkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0KFwiZGF5XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpIG5vbWkgZGVpIG1lc2lcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtcImxvbmdcIiB8IFwic2hvcnRcIiB8IFwibmFycm93XCJ9IHN0eWxlIFN0aWxlIGRlaSBub21pIHJpY2hpZXN0b1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nW119IExpc3RhIGRlaSBtZXNpIGVzcHJlc3NpIGluIGJhc2UgYWwgcGFyYW1ldHJvICoqc3R5bGUqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TW9udGhOYW1lcyhzdHlsZTogXCJsb25nXCIgfCBcInNob3J0XCIgfCBcIm5hcnJvd1wiKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBzdHlsZSA9PSAnbG9uZycgPyB0aGlzLl9sb2NhbGVEYXRhLmxvbmdNb250aHMgOiB0aGlzLl9sb2NhbGVEYXRhLnNob3J0TW9udGhzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpIG5vbWkgZGVpIGdpb3JuaSBkZWwgbWVzZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nW119IExpc3RhIGRlaSBnaW9ybmkgZGVsIG1lc2UgKGRhICcxJyBhICczMScpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXREYXRlTmFtZXMoKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmRhdGVzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpIG5vbWkgZGVpIGdpb3JuaSBkZWxsYSBzZXR0aW1hbmFcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtcImxvbmdcIiB8IFwic2hvcnRcIiB8IFwibmFycm93XCJ9IHN0eWxlIFN0aWxlIGRlaSBub21pIHJpY2hpZXN0b1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nW119IExpc3RhIGRlaSBnaW9ybmkgZGVsbGEgc2V0dGltYW5hIGVzcHJlc3NpIGluIGJhc2UgYWwgcGFyYW1ldHJvICoqc3R5bGUqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0RGF5T2ZXZWVrTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcclxuICAgICAgICBpZiAoc3R5bGUgPT0gJ2xvbmcnKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5sb25nRGF5c09mV2VlaztcclxuICAgICAgICBlbHNlIGlmIChzdHlsZSA9PSAnc2hvcnQnKVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5zaG9ydERheXNPZldlZWs7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLm5hcnJvd0RheXNPZldlZWs7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGlsIG5vbWUgZGVsbCdhbm5vXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBbm5vXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRZZWFyTmFtZShkYXRlOiBEYXlqcyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0WWVhcihkYXRlKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpbCBwcmltbyBnaW9ybm8gZGVsbGEgc2V0dGltYW5hXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IEluZGljZSBkZWwgcHJpbW8gZ2lvcm5vIGRlbGxhIHNldHRpbWFuYVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5maXJzdERheU9mV2VlaztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgbnVtZXJvIGRpIGdpb3JuaSBuZWwgbWVzZSBjb3JyZW50ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgRGF5anNcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge251bWJlcn0gTnVtZXJvIGRpIGdpb3JuaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmRheXNJbk1vbnRoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGlsIGNsb25lIGRpIHVuYSBkYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IERhdGEgZGEgY2xvbmFyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7RGF5anN9IENsb25lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbG9uZShkYXRlOiBEYXlqcyk6IERheWpzIHtcclxuICAgICAgICAvLyBWaXN0byBjaGUgaG8gbW9kaWZpY2F0byBsJ2lzdGFuemEgb3JpZ2luYWxlIGEgbWFuYXp6YSAodmVkaSBzZXRIb3VyLCBzZXRNaW51dGUsIHNldFNlY29uZCkgbCdvZ2dldHRvIMOoIGRhbm5lZ2dpYXRvIGUgcGVyIHJlc3RpdHVpcmUgdW4gY2xvbmUgYnVvbm9cclxuICAgICAgICAvLyBkZXZvIHJpY3JlYXJsbyBwcmVuZGVuZG8gcGV6em8gcGVyIHBlenpvXHJcbiAgICAgICAgLy8gSWwgbWVzZSDDqCB1biBpbmRpY2UgMC0xMSBxdWluZGkgZGV2byBkYXJnbGkgdW4gKzEgcXVhXHJcbiAgICAgICAgcmV0dXJuIGRheWpzKGAke3RoaXMuZ2V0WWVhcihkYXRlKX0tJHt0aGlzLmdldE1vbnRoKGRhdGUpICsgMX0tJHt0aGlzLmdldERhdGUoZGF0ZSl9ICR7dGhpcy5nZXRIb3VyKGRhdGUpfToke3RoaXMuZ2V0TWludXRlKGRhdGUpfToke3RoaXMuZ2V0U2Vjb25kKGRhdGUpfWApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYSB1bmEgZGF0YSBwYXJ0ZW5kbyBkYSBhbm5vLCBtZXNlIGUgZ2lvcm5vXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB5ZWFyIEFubm9cclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtb250aCBNZXNlXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGF0ZSBHaW9ybm9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheWpzfSBPZ2dldHRvIGdlbmVyYXRvIGluIGJhc2UgYWkgcGFyYW1ldHJpICoqeWVhcioqLCAqKm1vbnRoKiosIGUgKipkYXRlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgaWYgKG1vbnRoIDwgMCB8fCBtb250aCA+IDExKVxyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCBcIiR7bW9udGh9XCIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO1xyXG5cclxuICAgICAgICBpZiAoZGF0ZSA8IDEpXHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIuIERhdGUgaGFzIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLmApO1xyXG5cclxuICAgICAgICAvL0lsIG1lc2Ugw6ggdW4gaW5kaWNlIDAtMTEgcXVpbmRpIGRldm8gZGFyZ2xpIHVuICsxIHF1YVxyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRheWpzKGAke3llYXJ9LSR7bW9udGggKyAxfS0ke2RhdGV9YClcclxuXHJcbiAgICAgICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKVxyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiIGZvciBtb250aCB3aXRoIGluZGV4IFwiJHttb250aH1cIi5gKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RpdHVpc2NlIGxhIGRhdGEgY2hlIHJhcHByZXNlbnRhIGxhIGdpb3JuYXRhIGRpIG9nZ2lcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheWpzfSBPZ2dpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0b2RheSgpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRheWpzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBpbCBwYXJzZSBkaSB1bmEgZGF0YSwgZXZlbnR1YWxtZW50ZSBpbiBiYXNlIGFsIGZvcm1hdG8gc3BlY2lmaWNhdG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IHZhbHVlIFZhbG9yZSBkYSBwYXJzYXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyc2VGb3JtYXQgRm9ybWF0byBpbiBjdWkgbGVnZ2VyZSBpbCB2YWxvcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheWpzfSBEYXRhIGdlbmVyYXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwYXJzZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdDogc3RyaW5nKTogRGF5anMge1xyXG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpXHJcbiAgICAgICAgICAgIHJldHVybiBkYXlqcyh2YWx1ZSwgcGFyc2VGb3JtYXQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdmFsdWUgPyBkYXlqcyh2YWx1ZSkgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9ybWF0dGEgdW5hIGRhdGEgaW4gYmFzZSBhbCBmb3JtYXRvIHNwZWNpZmljYXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBkYSBmb3JtYXR0YXJlXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZGlzcGxheUZvcm1hdCBGb3JtYXRvIGluIGN1aSBtb3N0cmFyZSBsYSBkYXRhXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IERhdGEgZm9ybWF0dGF0YVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZm9ybWF0KGRhdGU6IERheWpzLCBkaXNwbGF5Rm9ybWF0OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKVxyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcignRGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICByZXR1cm4gZGF0ZS5mb3JtYXQoZGlzcGxheUZvcm1hdClcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFnZ2l1bmdlIGFkIHVuYSBkYXRhIGlsIG51bWVybyBzcGVjaWZpY2F0byBkaSBhbm5pXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBhIGN1aSBhZ2dpdW5nZXJlIGdsaSBhbm5pXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geWVhcnMgQW5uaSBkYSBhZ2dpdW5nZXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtEYXlqc30gRGF0YSBjb24gbCdhZ2dpdW50YSBkZWdsaSBhbm5pIHNwZWNpZmljYXRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRDYWxlbmRhclllYXJzKGRhdGU6IERheWpzLCB5ZWFyczogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZCh5ZWFycywgXCJ5ZWFyXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWdnaXVuZ2UgYWQgdW5hIGRhdGEgaWwgbnVtZXJvIHNwZWNpZmljYXRvIGRpIG1lc2lcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIGEgY3VpIGFnZ2l1bmdlcmUgaSBtZXNpXHJcbiAgICAgKiBAcGFyYW0ge21vbnRoc30gbW9udGhzIE1lc2kgZGEgYWdnaXVuZ2VyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7RGF5anN9IERhdGEgY29uIGwnYWdnaXVudGEgZGVpIG1lc2kgc3BlY2lmaWNhdGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IERheWpzLCBtb250aHM6IG51bWJlcik6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5hZGQobW9udGhzLCBcIm1vbnRoXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWdnaXVuZ2UgYWQgdW5hIGRhdGEgaWwgbnVtZXJvIHNwZWNpZmljYXRvIGRpIGdpb3JuaVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgYSBjdWkgYWdnaXVuZ2VyZSBpIGdpb3JuaVxyXG4gICAgICogQHBhcmFtIHttb250aHN9IGRheXMgR2lvcm5pIGRhIGFnZ2l1bmdlcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheWpzfSBEYXRhIGNvbiBsJ2FnZ2l1bnRhIGRlaSBnaW9ybmkgc3BlY2lmaWNhdGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXlqcywgZGF5czogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmFkZChkYXlzLCBcImRheVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYXNmb3JtYSBsYSBkYXRhIHNwZWNpZmljYXRhIGluIHVuYSBzdHJpbmdhIElTTzg2MDFcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJhcHByZXNlbnRhemlvbmUgaW4gSVNPODYwMVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9Jc284NjAxKGRhdGU6IERheWpzKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbGxhIHNlIGwnb2dnZXR0byBwYXNzYXRvIMOoIGVmZmV0dGl2YW1lbnRlIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBvYmogT2dnZXR0byBkYSB2ZXJpZmljYXJlIHNlIMOoIHVuYSBkYXRhIG8gbWVub1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gKip0cnVlKiogc2UgbCdvZ2dldHRvIMOoIHVuIERheUpzLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXNEYXRlSW5zdGFuY2Uob2JqOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZGF5anMuaXNEYXlqcyhvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbGxhIGlsIERheUpzIHBhc3NhdG8gZSB2ZXJpZmljYSBzZSDDqCB2YWxpZG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIGRhIHZlcmlmaWNhcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIGlsIERheUpzIMOoIHZhbGlkbywgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzVmFsaWQoZGF0ZTogRGF5anMpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5pc1ZhbGlkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSB1biBEYXlKcyBpbnZhbGlkb1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7RGF5SnN9IERhdGEgSW52YWxpZGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIGludmFsaWQoKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXlqcyhcIkludmFsaWQgRGF0ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWEgdW4gcmFuZ2UgZGkgdW5hIGx1bmdoZXp6YSBzcGVjaWZpY2EgZSBwZXIgb2duaSBpbmRpY2UgZGVsIHJhbmdlIHJpY2hpYW1hIHVuIGNhbGxiYWNrIGNoZSB2YWxvcml6emEgbCdlbGVtZW50byBkaSBxdWVsbCdpbmRpY2VcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCBMdW5naGV6emEgZGVsIHJhbmdlXHJcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB2YWx1ZUZ1bmN0aW9uIENhbGxiYWNrIGNoZSBkZXZlIGdlbmVyYXJlIGlsIHZhbG9yZSBkZXNpZGVyYXRvIHBlciBvZ25pIGluZGljZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7VFtdfSBBcnJheSBkZWkgdmFsb3JpIGdlbmVyYXRpXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmFuZ2U8VD4obGVuZ3RoOiBudW1iZXIsIHZhbHVlRnVuY3Rpb246IChpbmRleDogbnVtYmVyKSA9PiBUKTogVFtdIHtcclxuICAgICAgICBjb25zdCB2YWx1ZXNBcnJheSA9IEFycmF5KGxlbmd0aCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKylcclxuICAgICAgICAgICAgdmFsdWVzQXJyYXlbaV0gPSB2YWx1ZUZ1bmN0aW9uKGkpO1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXNBcnJheTtcclxuICAgIH1cclxufSJdfQ==
388
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF5anNEYXRlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWRheWpzLWFkYXB0ZXIvc3JjL2xpYi9hZGFwdGVyL0RheWpzRGF0ZUFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXdEU7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQWtCO0lBZXBEOzs7O09BSUc7SUFDSCxZQUFxQyxVQUFrQjtRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsTUFBYztRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLDRJQUE0STtRQUM1SSxRQUFRLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMxQixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssSUFBSTtnQkFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUMsTUFBTTtZQUNwRyx5SUFBeUk7WUFDekksNkVBQTZFO1lBQzdFLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLElBQUk7Z0JBQUUsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFv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TSxDQUFDLENBQUM7UUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDM0IsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDOzs7WUEzYUosVUFBVTs7O3lDQXFCTSxNQUFNLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcblxyXG4vLyBEYXlqc1xyXG5pbXBvcnQgeyBEYXlqcyB9IGZyb20gXCJkYXlqc1wiO1xyXG5cclxuLyoqXHJcbiAqIERpY2hpYXJhemlvbmUgZGVsbGEgdmFyaWFiaWxlIGdsb2JhbGUgZGF5anMuIEwnb25lcmUgZGkgXCJjcmVhcmxhXCIgw6ggYWZmaWRhdG8gYWxsJ2FwcGxpY2F6aW9uZSBjaGUgdXRpbGl6emEgcXVlc3RhIGxpYnJlcmlhLCBcclxuICogY2hlIGRvdnLDoCBpbXBvcnRhcmUgbG8gc2NyaXB0IGdsb2JhbGUgZGkgZGF5anMgbmVsbGEgQ0xJXHJcbiAqL1xyXG5kZWNsYXJlIHZhciBkYXlqczogYW55O1xyXG5cclxuLyoqXHJcbiAqIEFkYXB0ZXIgcGVyIHBlcm1ldHRlcmUgYSBNYXRlcmlhbCBkaSBmdW56aW9uYXJlIHNlbnphIHByb2JsZW1pIGNvbiBEYXlKcy4gUGVyIGFsdHJpIHByb3ZpZGVyIGRpIGRhdGUgKGVzLiBtb21lbnQpIGwnYWRhcHRlciB2aWVuZSBmb3JuaXRvIFxyXG4gKiBuYXRpdmFtZW50ZSBkYSBBbmd1bGFyLiBQZXIgRGF5SnMgaW52ZWNlIGJpc29nbmEgcmVpbXBsZW1lbnRhcnNlbG9cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERheUpzRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxEYXlqcz57XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWNoZSBkZWkgZGF0aSBkZWwgbG9jYWxlIEl0YWxpYW5vXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2xvY2FsZURhdGE6IHtcclxuICAgICAgICBmaXJzdERheU9mV2VlazogbnVtYmVyLFxyXG4gICAgICAgIGxvbmdNb250aHM6IHN0cmluZ1tdLFxyXG4gICAgICAgIHNob3J0TW9udGhzOiBzdHJpbmdbXSxcclxuICAgICAgICBkYXRlczogc3RyaW5nW10sXHJcbiAgICAgICAgbG9uZ0RheXNPZldlZWs6IHN0cmluZ1tdLFxyXG4gICAgICAgIHNob3J0RGF5c09mV2Vlazogc3RyaW5nW10sXHJcbiAgICAgICAgbmFycm93RGF5c09mV2Vlazogc3RyaW5nW11cclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBkYXRlTG9jYWxlOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG5cclxuICAgICAgICB0aGlzLnNldExvY2FsZShkYXRlTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgaWwgbG9jYWxlIHV0aWxpenphdG8gcGVyIHR1dHRlIGxlIGRhdGVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGxvY2FsZSBMb2NhbGUgZGEgaW1wb3N0YXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXRMb2NhbGUobG9jYWxlOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlci5zZXRMb2NhbGUobG9jYWxlKTtcclxuXHJcbiAgICAgICAgLy8gaWwgbG9jYWxlRGF0YSBzaSBwb3RyZWJiZSBwcmVuZGVyZSBkYSB0aGlzLmRheUpzKCkubG9jYWxlRGF0YSgpOyBtYSBpbyB2b2dsaW8gdXNhcmUgbGUgZGF0ZSBzb2xvIG5lbCBmb3JtYXRvIGl0YWxpYW5vIHF1aW5kaSBjYWJsbyBxdWVsbG9cclxuICAgICAgICBzd2l0Y2ggKGxvY2FsZS50b0xvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2l0LWl0JzpcclxuICAgICAgICAgICAgY2FzZSAnaXQnOiBpbXBvcnQoXCJkYXlqcy9sb2NhbGUvaXRcIikudGhlbihtb2QgPT4geyB0aGlzLmxvYWRMb2FjbGVEYXRhTW9kdWxlKG1vZC5kZWZhdWx0KSB9KTsgYnJlYWs7XHJcbiAgICAgICAgICAgIC8vIEluIGRheWpzLCBuZWwgbG9jYWxlIFwiZW5cIiBlIGJhc3RhIG5vbiBlc2lzdG9ubyBpIDMvNCBkZWxsZSBpbmZvIHBlcmNow6kgc29ubyBsZSBjb3NlIGdlbmVyaWNoZSBlcmVkaXRhdGUgZGFpIGxvY2FsaSBlbi1nYiwgZW4tYXUgZWNjLi4uXHJcbiAgICAgICAgICAgIC8vIHF1aW5kaSBtaSBiYXNvIHN1bCBsb2NhbGUgaW5nbGVzZSBCcml0YW5uaWNvLCBtYSBjb211bnF1ZSBJJ3RzIENvbWluZyBSb21lXHJcbiAgICAgICAgICAgIGNhc2UgJ2VuLXVzJzpcclxuICAgICAgICAgICAgY2FzZSAnZW4tZ2InOlxyXG4gICAgICAgICAgICBjYXNlICdlbic6IGltcG9ydChcImRheWpzL2xvY2FsZS9lbi1nYlwiKS50aGVuKG1vZCA9PiB7IHRoaXMubG9hZExvYWNsZURhdGFNb2R1bGUobW9kLmRlZmF1bHQpIH0pOyBicmVhaztcclxuICAgICAgICAgICAgZGVmYXVsdDogdGhyb3cgYExvY2FsZSBub24gcmljb25vc2ljdXRvICcke2xvY2FsZX0nLiBMb2NhbGkgY29uc2VudGl0aTogJ2l0JywgJ2VuJ2A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWZmZXR0dWEgaWwgY2FyaWNhbWVudG8gZGVsIGxvY2FsZURhdGEgY29pIG5vbWkgZGVpIG1lc2ksIGdpb3JuaSBlY2MgcGFydGVuZG8gZGFsIG1vZHVsbyBpbXBvcnRhdG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHthbnl9IG1vZCBNb2R1bG8gY2FyaWNhdG8gY29udGVuZW50ZSBpbCBsb2NhbGUgZGVzaWRlcmF0b1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGxvYWRMb2FjbGVEYXRhTW9kdWxlKG1vZDogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fbG9jYWxlRGF0YSA9IHtcclxuICAgICAgICAgICAgZmlyc3REYXlPZldlZWs6IG1vZC53ZWVrU3RhcnQsXHJcbiAgICAgICAgICAgIGxvbmdNb250aHM6IG1vZC5tb250aHMsXHJcbiAgICAgICAgICAgIHNob3J0TW9udGhzOiBtb2QubW9udGhzU2hvcnQsXHJcbiAgICAgICAgICAgIGRhdGVzOiB0aGlzLnJhbmdlKDMxLCAoaSkgPT4gdGhpcy5jcmVhdGVEYXRlKDIwMTcsIDAsIGkgKyAxKS5mb3JtYXQoJ0QnKSksXHJcbiAgICAgICAgICAgIGxvbmdEYXlzT2ZXZWVrOiBtb2Qud2Vla2RheXMsXHJcbiAgICAgICAgICAgIHNob3J0RGF5c09mV2VlazogbW9kLndlZWtkYXlzU2hvcnQsXHJcbiAgICAgICAgICAgIG5hcnJvd0RheXNPZldlZWs6IG1vZC53ZWVrZGF5c01pbixcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBsZSBvcmUgZGEgdW4gRGF5SnNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IE9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0SG91cihkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0KFwiaG91clwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlc2VyaWFsaXp6YSB1bmEgZGF0YSBpbiBEYXlKc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gdmFsdWUgVmFsb3JlIGRpIGRhdGEgYSBjYXNvXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtEYXlqc30gZGF0YSBpbiBkYXlqc1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGVzZXJpYWxpemUodmFsdWUpIHtcclxuICAgICAgICBpZiAoIXZhbHVlKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgdmFyIHZhbHVlQ29udmVydGVkID0gZGF5anModmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAodmFsdWVDb252ZXJ0ZWQgPT0gbnVsbCB8fCB0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlQ29udmVydGVkKSAmJiB0aGlzLmlzVmFsaWQodmFsdWVDb252ZXJ0ZWQpKVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVDb252ZXJ0ZWQ7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaSBtaW51dGkgZGEgdW4gRGF5SnNcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IE1pbnV0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0TWludXRlKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5nZXQoXCJtaW51dGVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGkgc2Vjb25kaSBkYSB1biBEYXlKc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgRGF5anNcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge251bWJlcn0gU2Vjb25kaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0U2Vjb25kKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5nZXQoXCJzZWNvbmRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGxlIG9yZSBkaSB1bmEgZGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgZGEgbW9kaWZpY2FyZVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIFZhbG9yZSBkYSBpbXBvc3RhcmUgcGVyIGxlIG9yZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0SG91cihkYXRlOiBEYXlqcywgdmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgICg8YW55PmRhdGUpLiRIID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGkgbWludXRpIGRpIHVuYSBkYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBkYSBtb2RpZmljYXJlXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVmFsb3JlIGRhIGltcG9zdGFyZSBwZXIgaSBtaW51dGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNldE1pbnV0ZShkYXRlOiBEYXlqcywgdmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgICg8YW55PmRhdGUpLiRtID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGkgc2Vjb25kaSBkaSB1bmEgZGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgZGEgbW9kaWZpY2FyZVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIFZhbG9yZSBkYSBpbXBvc3RhcmUgcGVyIGkgc2Vjb25kaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0U2Vjb25kKGRhdGU6IERheWpzLCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgKDxhbnk+ZGF0ZSkuJHMgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgbCdhbm5vIGRhIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBBbm5vXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRZZWFyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5nZXQoXCJ5ZWFyXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpbCBtZXNlIGRhIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBNZXNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRNb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuZ2V0KFwibW9udGhcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGlsIGdpb3JubyBkYSB1biBEYXlKc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgRGF5anNcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge251bWJlcn0gR2lvcm5vXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXREYXRlKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5nZXQoXCJkYXRlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpbCBnaW9ybm8gZGVsbGEgc2V0dGltYW5hIGRhIHVuIERheUpzXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBHaW9ybm8gZGVsbGEgc2V0dGltYW5hIGRhIDEgYSA3XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXREYXlPZldlZWsoZGF0ZTogRGF5anMpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBkYXRlLmdldChcImRheVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaSBub21pIGRlaSBtZXNpXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7XCJsb25nXCIgfCBcInNob3J0XCIgfCBcIm5hcnJvd1wifSBzdHlsZSBTdGlsZSBkZWkgbm9taSByaWNoaWVzdG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ1tdfSBMaXN0YSBkZWkgbWVzaSBlc3ByZXNzaSBpbiBiYXNlIGFsIHBhcmFtZXRybyAqKnN0eWxlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldE1vbnRoTmFtZXMoc3R5bGU6IFwibG9uZ1wiIHwgXCJzaG9ydFwiIHwgXCJuYXJyb3dcIik6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gc3R5bGUgPT0gJ2xvbmcnID8gdGhpcy5fbG9jYWxlRGF0YS5sb25nTW9udGhzIDogdGhpcy5fbG9jYWxlRGF0YS5zaG9ydE1vbnRocztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaSBub21pIGRlaSBnaW9ybmkgZGVsIG1lc2VcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ1tdfSBMaXN0YSBkZWkgZ2lvcm5pIGRlbCBtZXNlIChkYSAnMScgYSAnMzEnKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5kYXRlcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaSBub21pIGRlaSBnaW9ybmkgZGVsbGEgc2V0dGltYW5hXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7XCJsb25nXCIgfCBcInNob3J0XCIgfCBcIm5hcnJvd1wifSBzdHlsZSBTdGlsZSBkZWkgbm9taSByaWNoaWVzdG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ1tdfSBMaXN0YSBkZWkgZ2lvcm5pIGRlbGxhIHNldHRpbWFuYSBlc3ByZXNzaSBpbiBiYXNlIGFsIHBhcmFtZXRybyAqKnN0eWxlKipcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgaWYgKHN0eWxlID09ICdsb25nJylcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubG9uZ0RheXNPZldlZWs7XHJcbiAgICAgICAgZWxzZSBpZiAoc3R5bGUgPT0gJ3Nob3J0JylcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuc2hvcnREYXlzT2ZXZWVrO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dEYXlzT2ZXZWVrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpbCBub21lIGRlbGwnYW5ub1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgRGF5anNcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gQW5ub1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0WWVhck5hbWUoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFllYXIoZGF0ZSkudG9TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgaWwgcHJpbW8gZ2lvcm5vIGRlbGxhIHNldHRpbWFuYVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBJbmRpY2UgZGVsIHByaW1vIGdpb3JubyBkZWxsYSBzZXR0aW1hbmFcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuZmlyc3REYXlPZldlZWs7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGlsIG51bWVybyBkaSBnaW9ybmkgbmVsIG1lc2UgY29ycmVudGVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIERheWpzXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IE51bWVybyBkaSBnaW9ybmlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldE51bURheXNJbk1vbnRoKGRhdGU6IERheWpzKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5kYXlzSW5Nb250aCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBpbCBjbG9uZSBkaSB1bmEgZGF0YSBEYXlqc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBEYXRhIGRhIGNsb25hcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheWpzfSBDbG9uZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xvbmUoZGF0ZTogRGF5anMpOiBEYXlqcyB7XHJcbiAgICAgICAgLy8gVmlzdG8gY2hlIGhvIG1vZGlmaWNhdG8gbCdpc3RhbnphIG9yaWdpbmFsZSBhIG1hbmF6emEgKHZlZGkgc2V0SG91ciwgc2V0TWludXRlLCBzZXRTZWNvbmQpIGwnb2dnZXR0byDDqCBkYW5uZWdnaWF0byBlIHBlciByZXN0aXR1aXJlIHVuIGNsb25lIGJ1b25vXHJcbiAgICAgICAgLy8gZGV2byByaWNyZWFybG8gcHJlbmRlbmRvIHBlenpvIHBlciBwZXp6b1xyXG4gICAgICAgIC8vIElsIG1lc2Ugw6ggdW4gaW5kaWNlIDAtMTEgcXVpbmRpIGRldm8gZGFyZ2xpIHVuICsxIHF1YVxyXG4gICAgICAgIHJldHVybiBkYXlqcyhgJHt0aGlzLmdldFllYXIoZGF0ZSl9LSR7dGhpcy5nZXRNb250aChkYXRlKSArIDF9LSR7dGhpcy5nZXREYXRlKGRhdGUpfSAke3RoaXMuZ2V0SG91cihkYXRlKX06JHt0aGlzLmdldE1pbnV0ZShkYXRlKX06JHt0aGlzLmdldFNlY29uZChkYXRlKX1gKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWEgdW5hIGRhdGEgcGFydGVuZG8gZGEgYW5ubywgbWVzZSBlIGdpb3Jub1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0geWVhciBBbm5vXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbW9udGggTWVzZVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGRhdGUgR2lvcm5vXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtEYXlqc30gT2dnZXR0byBnZW5lcmF0byBpbiBiYXNlIGFpIHBhcmFtZXRyaSAqKnllYXIqKiwgKiptb250aCoqLCBlICoqZGF0ZSoqXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogRGF5anMge1xyXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSlcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgbW9udGggaW5kZXggXCIke21vbnRofVwiLiBNb250aCBpbmRleCBoYXMgdG8gYmUgYmV0d2VlbiAwIGFuZCAxMS5gKTtcclxuXHJcbiAgICAgICAgaWYgKGRhdGUgPCAxKVxyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcclxuXHJcbiAgICAgICAgLy9JbCBtZXNlIMOoIHVuIGluZGljZSAwLTExIHF1aW5kaSBkZXZvIGRhcmdsaSB1biArMSBxdWFcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBkYXlqcyhgJHt5ZWFyfS0ke21vbnRoICsgMX0tJHtkYXRlfWApXHJcblxyXG4gICAgICAgIGlmICghcmVzdWx0LmlzVmFsaWQoKSlcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSBcIiR7ZGF0ZX1cIiBmb3IgbW9udGggd2l0aCBpbmRleCBcIiR7bW9udGh9XCIuYCk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSBsYSBkYXRhIGNoZSByYXBwcmVzZW50YSBsYSBnaW9ybmF0YSBkaSBvZ2dpXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtEYXlqc30gT2dnaVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9kYXkoKTogRGF5anMge1xyXG4gICAgICAgIHJldHVybiBkYXlqcygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRWZmZXR0dWEgaWwgcGFyc2UgZGkgdW5hIGRhdGEsIGV2ZW50dWFsbWVudGUgaW4gYmFzZSBhbCBmb3JtYXRvIHNwZWNpZmljYXRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSB2YWx1ZSBWYWxvcmUgZGEgcGFyc2FyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBhcnNlRm9ybWF0IEZvcm1hdG8gaW4gY3VpIGxlZ2dlcmUgaWwgdmFsb3JlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtEYXlqc30gRGF0YSBnZW5lcmF0YVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ6IHN0cmluZyk6IERheWpzIHtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKVxyXG4gICAgICAgICAgICByZXR1cm4gZGF5anModmFsdWUsIHBhcnNlRm9ybWF0KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbHVlID8gZGF5anModmFsdWUpIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm1hdHRhIHVuYSBkYXRhIGluIGJhc2UgYWwgZm9ybWF0byBzcGVjaWZpY2F0b1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgZGEgZm9ybWF0dGFyZVxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRpc3BsYXlGb3JtYXQgRm9ybWF0byBpbiBjdWkgbW9zdHJhcmUgbGEgZGF0YVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBEYXRhIGZvcm1hdHRhdGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZvcm1hdChkYXRlOiBEYXlqcywgZGlzcGxheUZvcm1hdDogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZChkYXRlKSlcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0RhdGVBZGFwdGVyOiBDYW5ub3QgZm9ybWF0IGludmFsaWQgZGF0ZS4nKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KGRpc3BsYXlGb3JtYXQpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZ2dpdW5nZSBhZCB1bmEgZGF0YSBpbCBudW1lcm8gc3BlY2lmaWNhdG8gZGkgYW5uaVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0RheWpzfSBkYXRlIERhdGEgYSBjdWkgYWdnaXVuZ2VyZSBnbGkgYW5uaVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHllYXJzIEFubmkgZGEgYWdnaXVuZ2VyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7RGF5anN9IERhdGEgY29uIGwnYWdnaXVudGEgZGVnbGkgYW5uaSBzcGVjaWZpY2F0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBEYXlqcywgeWVhcnM6IG51bWJlcik6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoeWVhcnMsIFwieWVhclwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFnZ2l1bmdlIGFkIHVuYSBkYXRhIGlsIG51bWVybyBzcGVjaWZpY2F0byBkaSBtZXNpXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBhIGN1aSBhZ2dpdW5nZXJlIGkgbWVzaVxyXG4gICAgICogQHBhcmFtIHttb250aHN9IG1vbnRocyBNZXNpIGRhIGFnZ2l1bmdlcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheWpzfSBEYXRhIGNvbiBsJ2FnZ2l1bnRhIGRlaSBtZXNpIHNwZWNpZmljYXRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBEYXlqcywgbW9udGhzOiBudW1iZXIpOiBEYXlqcyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuYWRkKG1vbnRocywgXCJtb250aFwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFnZ2l1bmdlIGFkIHVuYSBkYXRhIGlsIG51bWVybyBzcGVjaWZpY2F0byBkaSBnaW9ybmlcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtEYXlqc30gZGF0ZSBEYXRhIGEgY3VpIGFnZ2l1bmdlcmUgaSBnaW9ybmlcclxuICAgICAqIEBwYXJhbSB7bW9udGhzfSBkYXlzIEdpb3JuaSBkYSBhZ2dpdW5nZXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtEYXlqc30gRGF0YSBjb24gbCdhZ2dpdW50YSBkZWkgZ2lvcm5pIHNwZWNpZmljYXRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhZGRDYWxlbmRhckRheXMoZGF0ZTogRGF5anMsIGRheXM6IG51bWJlcik6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoZGF5cywgXCJkYXlcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFzZm9ybWEgbGEgZGF0YSBzcGVjaWZpY2F0YSBpbiB1bmEgc3RyaW5nYSBJU084NjAxXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSYXBwcmVzZW50YXppb25lIGluIElTTzg2MDFcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRvSXNvODYwMShkYXRlOiBEYXlqcyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRyb2xsYSBzZSBsJ29nZ2V0dG8gcGFzc2F0byDDqCBlZmZldHRpdmFtZW50ZSB1biBEYXlKc1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gb2JqIE9nZ2V0dG8gZGEgdmVyaWZpY2FyZSBzZSDDqCB1bmEgZGF0YSBvIG1lbm9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIGwnb2dnZXR0byDDqCB1biBEYXlKcywgKipmYWxzZSoqIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGRheWpzLmlzRGF5anMob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRyb2xsYSBpbCBEYXlKcyBwYXNzYXRvIGUgdmVyaWZpY2Egc2Ugw6ggdmFsaWRvXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7RGF5anN9IGRhdGUgRGF0YSBkYSB2ZXJpZmljYXJlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSAqKnRydWUqKiBzZSBpbCBEYXlKcyDDqCB2YWxpZG8sICoqZmFsc2UqKiBhbHRyaW1lbnRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc1ZhbGlkKGRhdGU6IERheWpzKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGUuaXNWYWxpZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVzdGl0dWlzY2UgdW4gRGF5SnMgaW52YWxpZG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge0RheUpzfSBEYXRhIEludmFsaWRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpbnZhbGlkKCk6IERheWpzIHtcclxuICAgICAgICByZXR1cm4gZGF5anMoXCJJbnZhbGlkIERhdGVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhIHVuIHJhbmdlIGRpIHVuYSBsdW5naGV6emEgc3BlY2lmaWNhIGUgcGVyIG9nbmkgaW5kaWNlIGRlbCByYW5nZSByaWNoaWFtYSB1biBjYWxsYmFjayBjaGUgdmFsb3JpenphIGwnZWxlbWVudG8gZGkgcXVlbGwnaW5kaWNlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGggTHVuZ2hlenphIGRlbCByYW5nZVxyXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdmFsdWVGdW5jdGlvbiBDYWxsYmFjayBjaGUgZGV2ZSBnZW5lcmFyZSBpbCB2YWxvcmUgZGVzaWRlcmF0byBwZXIgb2duaSBpbmRpY2VcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge1RbXX0gQXJyYXkgZGVpIHZhbG9yaSBnZW5lcmF0aVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVzQXJyYXkgPSBBcnJheShsZW5ndGgpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspXHJcbiAgICAgICAgICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcclxuICAgICAgICByZXR1cm4gdmFsdWVzQXJyYXk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,6 +1,5 @@
1
1
  import { Injectable, Inject, NgModule } from '@angular/core';
2
2
  import { DateAdapter, MAT_DATE_LOCALE, MAT_DATE_FORMATS } from '@angular/material/core';
3
- import { DateService } from '@esfaenza/extensions';
4
3
 
5
4
  // Angular
6
5
  /**
@@ -13,9 +12,8 @@ class DayJsDateAdapter extends DateAdapter {
13
12
  *
14
13
  * @ignore
15
14
  */
16
- constructor(dateLocale, dateExts) {
15
+ constructor(dateLocale) {
17
16
  super();
18
- this.dateExts = dateExts;
19
17
  this.setLocale(dateLocale);
20
18
  }
21
19
  /**
@@ -75,12 +73,11 @@ class DayJsDateAdapter extends DateAdapter {
75
73
  * @returns {Dayjs} data in dayjs
76
74
  */
77
75
  deserialize(value) {
78
- if (value == null || this.isDateInstance(value) && this.isValid(value)) {
79
- return value;
80
- }
81
- var valueConverted = this.dateExts.getDateConvertion(value);
82
- if (valueConverted)
83
- return value;
76
+ if (!value)
77
+ return null;
78
+ var valueConverted = dayjs(value);
79
+ if (valueConverted == null || this.isDateInstance(valueConverted) && this.isValid(valueConverted))
80
+ return valueConverted;
84
81
  return this.invalid();
85
82
  }
86
83
  /**
@@ -387,8 +384,7 @@ DayJsDateAdapter.decorators = [
387
384
  { type: Injectable }
388
385
  ];
389
386
  DayJsDateAdapter.ctorParameters = () => [
390
- { type: String, decorators: [{ type: Inject, args: [MAT_DATE_LOCALE,] }] },
391
- { type: DateService }
387
+ { type: String, decorators: [{ type: Inject, args: [MAT_DATE_LOCALE,] }] }
392
388
  ];
393
389
 
394
390
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"esfaenza-material-dayjs-adapter.js","sources":["../../../projects/material-dayjs-adapter/src/lib/adapter/DayjsDateAdapter.ts","../../../projects/material-dayjs-adapter/src/lib/adapter/MatDayjsDateModule.ts","../../../projects/material-dayjs-adapter/src/public-api.ts","../../../projects/material-dayjs-adapter/src/esfaenza-material-dayjs-adapter.ts"],"sourcesContent":["// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { DateAdapter, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\n\r\nimport { DateService } from \"@esfaenza/extensions\";\r\n// Dayjs\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n/**\r\n * Dichiarazione della variabile globale dayjs. L'onere di \"crearla\" è affidato all'applicazione che utilizza questa libreria, \r\n * che dovrà importare lo script globale di dayjs nella CLI\r\n */\r\ndeclare var dayjs: any;\r\n\r\n/**\r\n * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito \r\n * nativamente da Angular. Per DayJs invece bisogna reimplementarselo\r\n */\r\n@Injectable()\r\nexport class DayJsDateAdapter extends DateAdapter<Dayjs>{\r\n\r\n /**\r\n * Cache dei dati del locale Italiano\r\n */\r\n private _localeData: {\r\n firstDayOfWeek: number,\r\n longMonths: string[],\r\n shortMonths: string[],\r\n dates: string[],\r\n longDaysOfWeek: string[],\r\n shortDaysOfWeek: string[],\r\n narrowDaysOfWeek: string[]\r\n };\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(MAT_DATE_LOCALE) dateLocale: string, private dateExts: DateService) {\r\n super();\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n\r\n /**\r\n * Imposta il locale utilizzato per tutte le date\r\n * \r\n * @param {string} locale Locale da impostare\r\n */\r\n public setLocale(locale: string) {\r\n super.setLocale(locale);\r\n\r\n // il localeData si potrebbe prendere da this.dayJs().localeData(); ma io voglio usare le date solo nel formato italiano quindi cablo quello\r\n switch (locale.toLowerCase()) {\r\n case 'it-it':\r\n case 'it': import(\"dayjs/locale/it\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n // In dayjs, nel locale \"en\" e basta non esistono i 3/4 delle info perché sono le cose generiche ereditate dai locali en-gb, en-au ecc...\r\n // quindi mi baso sul locale inglese Britannico, ma comunque I'ts Coming Rome\r\n case 'en-us':\r\n case 'en-gb':\r\n case 'en': import(\"dayjs/locale/en-gb\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n default: throw `Locale non riconosicuto '${locale}'. Locali consentiti: 'it', 'en'`;\r\n }\r\n }\r\n\r\n /**\r\n * Effettua il caricamento del localeData coi nomi dei mesi, giorni ecc partendo dal modulo importato\r\n * \r\n * @param {any} mod Modulo caricato contenente il locale desiderato\r\n */\r\n private loadLoacleDataModule(mod: any) {\r\n this._localeData = {\r\n firstDayOfWeek: mod.weekStart,\r\n longMonths: mod.months,\r\n shortMonths: mod.monthsShort,\r\n dates: this.range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: mod.weekdays,\r\n shortDaysOfWeek: mod.weekdaysShort,\r\n narrowDaysOfWeek: mod.weekdaysMin,\r\n };\r\n }\r\n\r\n /**\r\n * Ottiene le ore da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Ore\r\n */\r\n public getHour(date: Dayjs): number {\r\n return date.get(\"hour\");\r\n }\r\n\r\n /**\r\n * Deserializza una data in DayJs\r\n * \r\n * @param {any} value Valore di data a caso\r\n * \r\n * @returns {Dayjs} data in dayjs\r\n */\r\n public deserialize(value) {\r\n if (value == null || this.isDateInstance(value) && this.isValid(value)) {\r\n return value;\r\n }\r\n\r\n var valueConverted = this.dateExts.getDateConvertion(value);\r\n if (valueConverted)\r\n return value;\r\n\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Ottiene i minuti da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Minuti\r\n */\r\n public getMinute(date: Dayjs): number {\r\n return date.get(\"minute\");\r\n }\r\n\r\n /**\r\n * Ottiene i secondi da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Secondi\r\n */\r\n public getSecond(date: Dayjs): number {\r\n return date.get(\"second\");\r\n }\r\n\r\n /**\r\n * Imposta le ore di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per le ore\r\n */\r\n public setHour(date: Dayjs, value: number): void {\r\n (<any>date).$H = value;\r\n }\r\n\r\n /**\r\n * Imposta i minuti di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i minuti\r\n */\r\n public setMinute(date: Dayjs, value: number): void {\r\n (<any>date).$m = value;\r\n }\r\n\r\n /**\r\n * Imposta i secondi di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i secondi\r\n */\r\n public setSecond(date: Dayjs, value: number): void {\r\n (<any>date).$s = value;\r\n }\r\n\r\n /**\r\n * Ottiene l'anno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Anno\r\n */\r\n public getYear(date: Dayjs): number {\r\n return date.get(\"year\");\r\n }\r\n\r\n /**\r\n * Ottiene il mese da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Mese\r\n */\r\n public getMonth(date: Dayjs): number {\r\n return date.get(\"month\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno\r\n */\r\n public getDate(date: Dayjs): number {\r\n return date.get(\"date\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno della settimana da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno della settimana da 1 a 7\r\n */\r\n public getDayOfWeek(date: Dayjs): number {\r\n return date.get(\"day\");\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei mesi\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei mesi espressi in base al parametro **style**\r\n */\r\n public getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni del mese\r\n * \r\n * @returns {string[]} Lista dei giorni del mese (da '1' a '31')\r\n */\r\n public getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni della settimana\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei giorni della settimana espressi in base al parametro **style**\r\n */\r\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style == 'long')\r\n return this._localeData.longDaysOfWeek;\r\n else if (style == 'short')\r\n return this._localeData.shortDaysOfWeek;\r\n\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il nome dell'anno\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {string} Anno\r\n */\r\n public getYearName(date: Dayjs): string {\r\n return this.getYear(date).toString();\r\n }\r\n\r\n /**\r\n * Ottiene il primo giorno della settimana\r\n * \r\n * @returns {number} Indice del primo giorno della settimana\r\n */\r\n public getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il numero di giorni nel mese corrente\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Numero di giorni\r\n */\r\n public getNumDaysInMonth(date: Dayjs): number {\r\n return date.daysInMonth();\r\n }\r\n\r\n /**\r\n * Ottiene il clone di una data Dayjs\r\n * \r\n * @param {Dayjs} Data da clonare\r\n * \r\n * @returns {Dayjs} Clone\r\n */\r\n public clone(date: Dayjs): Dayjs {\r\n // Visto che ho modificato l'istanza originale a manazza (vedi setHour, setMinute, setSecond) l'oggetto è danneggiato e per restituire un clone buono\r\n // devo ricrearlo prendendo pezzo per pezzo\r\n // Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n return dayjs(`${this.getYear(date)}-${this.getMonth(date) + 1}-${this.getDate(date)} ${this.getHour(date)}:${this.getMinute(date)}:${this.getSecond(date)}`);\r\n }\r\n\r\n /**\r\n * Crea una data partendo da anno, mese e giorno\r\n * \r\n * @param {number} year Anno\r\n * @param {number} month Mese\r\n * @param {number} date Giorno\r\n * \r\n * @returns {Dayjs} Oggetto generato in base ai parametri **year**, **month**, e **date**\r\n */\r\n public createDate(year: number, month: number, date: number): Dayjs {\r\n if (month < 0 || month > 11)\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n\r\n if (date < 1)\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n\r\n //Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n const result = dayjs(`${year}-${month + 1}-${date}`)\r\n\r\n if (!result.isValid())\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Restituisce la data che rappresenta la giornata di oggi\r\n * \r\n * @returns {Dayjs} Oggi\r\n */\r\n public today(): Dayjs {\r\n return dayjs();\r\n }\r\n\r\n /**\r\n * Effettua il parse di una data, eventualmente in base al formato specificato\r\n * \r\n * @param {any} value Valore da parsare\r\n * @param {string} parseFormat Formato in cui leggere il valore\r\n * \r\n * @returns {Dayjs} Data generata\r\n */\r\n public parse(value: any, parseFormat: string): Dayjs {\r\n if (value && typeof value == 'string')\r\n return dayjs(value, parseFormat);\r\n\r\n return value ? dayjs(value) : null;\r\n }\r\n\r\n /**\r\n * Formatta una data in base al formato specificato\r\n * \r\n * @param {Dayjs} date Data da formattare\r\n * @param {string} displayFormat Formato in cui mostrare la data\r\n * \r\n * @returns {string} Data formattata\r\n */\r\n public format(date: Dayjs, displayFormat: any): string {\r\n if (!this.isValid(date))\r\n throw Error('DateAdapter: Cannot format invalid date.');\r\n \r\n return date.format(displayFormat)\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di anni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere gli anni\r\n * @param {number} years Anni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta degli anni specificati\r\n */\r\n public addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, \"year\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di mesi\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i mesi\r\n * @param {months} months Mesi da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei mesi specificati\r\n */\r\n public addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, \"month\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di giorni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i giorni\r\n * @param {months} days Giorni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei giorni specificati\r\n */\r\n public addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, \"day\");\r\n }\r\n\r\n /**\r\n * Trasforma la data specificata in una stringa ISO8601\r\n * \r\n * @param {Dayjs} date Data\r\n * \r\n * @returns {string} Rappresentazione in ISO8601\r\n */\r\n public toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Controlla se l'oggetto passato è effettivamente un DayJs\r\n * \r\n * @param {any} obj Oggetto da verificare se è una data o meno\r\n * \r\n * @returns {boolean} **true** se l'oggetto è un DayJs, **false** altrimenti\r\n */\r\n public isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n /**\r\n * Controlla il DayJs passato e verifica se è valido\r\n * \r\n * @param {Dayjs} date Data da verificare\r\n * \r\n * @returns {boolean} **true** se il DayJs è valido, **false** altrimenti\r\n */\r\n public isValid(date: Dayjs): boolean {\r\n return date.isValid();\r\n }\r\n\r\n /**\r\n * Restituisce un DayJs invalido\r\n * \r\n * @returns {DayJs} Data Invalida\r\n */\r\n public invalid(): Dayjs {\r\n return dayjs(\"Invalid Date\");\r\n }\r\n\r\n /**\r\n * Crea un range di una lunghezza specifica e per ogni indice del range richiama un callback che valorizza l'elemento di quell'indice\r\n * \r\n * @param {number} length Lunghezza del range\r\n * @param {Function} valueFunction Callback che deve generare il valore desiderato per ogni indice\r\n * \r\n * @returns {T[]} Array dei valori generati\r\n */\r\n private range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++)\r\n valuesArray[i] = valueFunction(i);\r\n return valuesArray;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\r\nimport { DayJsDateAdapter } from './DayjsDateAdapter';\r\n\r\n/**\r\n * Formati di default per la presentazione degli input quali il DatePicker di Angular Material. \r\n * Cablati a quelli italiani ignorando quelli di BurgerLand per non impazzire\r\n */\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: { dateInput: 'DD/MM/YYYY' },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY',\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n};\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS },\r\n { provide: DateAdapter, useClass: DayJsDateAdapter, deps: [MAT_DATE_LOCALE]}\r\n ],\r\n})\r\nexport class MatDayjsDateModule {}\r\n","/*\r\n * Public API Surface of material-dayjs-adapter\r\n */\r\n\r\nexport * from './lib/adapter/DayjsDateAdapter';\r\nexport * from './lib/adapter/MatDayjsDateModule';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esfaenza-material-dayjs-adapter.js","sources":["../../../projects/material-dayjs-adapter/src/lib/adapter/DayjsDateAdapter.ts","../../../projects/material-dayjs-adapter/src/lib/adapter/MatDayjsDateModule.ts","../../../projects/material-dayjs-adapter/src/public-api.ts","../../../projects/material-dayjs-adapter/src/esfaenza-material-dayjs-adapter.ts"],"sourcesContent":["// Angular\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { DateAdapter, MAT_DATE_LOCALE } from \"@angular/material/core\";\r\n\r\n// Dayjs\r\nimport { Dayjs } from \"dayjs\";\r\n\r\n/**\r\n * Dichiarazione della variabile globale dayjs. L'onere di \"crearla\" è affidato all'applicazione che utilizza questa libreria, \r\n * che dovrà importare lo script globale di dayjs nella CLI\r\n */\r\ndeclare var dayjs: any;\r\n\r\n/**\r\n * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito \r\n * nativamente da Angular. Per DayJs invece bisogna reimplementarselo\r\n */\r\n@Injectable()\r\nexport class DayJsDateAdapter extends DateAdapter<Dayjs>{\r\n\r\n /**\r\n * Cache dei dati del locale Italiano\r\n */\r\n private _localeData: {\r\n firstDayOfWeek: number,\r\n longMonths: string[],\r\n shortMonths: string[],\r\n dates: string[],\r\n longDaysOfWeek: string[],\r\n shortDaysOfWeek: string[],\r\n narrowDaysOfWeek: string[]\r\n };\r\n\r\n /**\r\n * Costruttore\r\n * \r\n * @ignore\r\n */\r\n constructor(@Inject(MAT_DATE_LOCALE) dateLocale: string) {\r\n super();\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n\r\n /**\r\n * Imposta il locale utilizzato per tutte le date\r\n * \r\n * @param {string} locale Locale da impostare\r\n */\r\n public setLocale(locale: string) {\r\n super.setLocale(locale);\r\n\r\n // il localeData si potrebbe prendere da this.dayJs().localeData(); ma io voglio usare le date solo nel formato italiano quindi cablo quello\r\n switch (locale.toLowerCase()) {\r\n case 'it-it':\r\n case 'it': import(\"dayjs/locale/it\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n // In dayjs, nel locale \"en\" e basta non esistono i 3/4 delle info perché sono le cose generiche ereditate dai locali en-gb, en-au ecc...\r\n // quindi mi baso sul locale inglese Britannico, ma comunque I'ts Coming Rome\r\n case 'en-us':\r\n case 'en-gb':\r\n case 'en': import(\"dayjs/locale/en-gb\").then(mod => { this.loadLoacleDataModule(mod.default) }); break;\r\n default: throw `Locale non riconosicuto '${locale}'. Locali consentiti: 'it', 'en'`;\r\n }\r\n }\r\n\r\n /**\r\n * Effettua il caricamento del localeData coi nomi dei mesi, giorni ecc partendo dal modulo importato\r\n * \r\n * @param {any} mod Modulo caricato contenente il locale desiderato\r\n */\r\n private loadLoacleDataModule(mod: any) {\r\n this._localeData = {\r\n firstDayOfWeek: mod.weekStart,\r\n longMonths: mod.months,\r\n shortMonths: mod.monthsShort,\r\n dates: this.range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: mod.weekdays,\r\n shortDaysOfWeek: mod.weekdaysShort,\r\n narrowDaysOfWeek: mod.weekdaysMin,\r\n };\r\n }\r\n\r\n /**\r\n * Ottiene le ore da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Ore\r\n */\r\n public getHour(date: Dayjs): number {\r\n return date.get(\"hour\");\r\n }\r\n\r\n /**\r\n * Deserializza una data in DayJs\r\n * \r\n * @param {any} value Valore di data a caso\r\n * \r\n * @returns {Dayjs} data in dayjs\r\n */\r\n public deserialize(value) {\r\n if (!value)\r\n return null;\r\n\r\n var valueConverted = dayjs(value);\r\n\r\n if (valueConverted == null || this.isDateInstance(valueConverted) && this.isValid(valueConverted))\r\n return valueConverted;\r\n\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Ottiene i minuti da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Minuti\r\n */\r\n public getMinute(date: Dayjs): number {\r\n return date.get(\"minute\");\r\n }\r\n\r\n /**\r\n * Ottiene i secondi da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Secondi\r\n */\r\n public getSecond(date: Dayjs): number {\r\n return date.get(\"second\");\r\n }\r\n\r\n /**\r\n * Imposta le ore di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per le ore\r\n */\r\n public setHour(date: Dayjs, value: number): void {\r\n (<any>date).$H = value;\r\n }\r\n\r\n /**\r\n * Imposta i minuti di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i minuti\r\n */\r\n public setMinute(date: Dayjs, value: number): void {\r\n (<any>date).$m = value;\r\n }\r\n\r\n /**\r\n * Imposta i secondi di una data Dayjs\r\n * \r\n * @param {Dayjs} date Data da modificare\r\n * @param {number} value Valore da impostare per i secondi\r\n */\r\n public setSecond(date: Dayjs, value: number): void {\r\n (<any>date).$s = value;\r\n }\r\n\r\n /**\r\n * Ottiene l'anno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Anno\r\n */\r\n public getYear(date: Dayjs): number {\r\n return date.get(\"year\");\r\n }\r\n\r\n /**\r\n * Ottiene il mese da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Mese\r\n */\r\n public getMonth(date: Dayjs): number {\r\n return date.get(\"month\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno\r\n */\r\n public getDate(date: Dayjs): number {\r\n return date.get(\"date\");\r\n }\r\n\r\n /**\r\n * Ottiene il giorno della settimana da un DayJs\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Giorno della settimana da 1 a 7\r\n */\r\n public getDayOfWeek(date: Dayjs): number {\r\n return date.get(\"day\");\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei mesi\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei mesi espressi in base al parametro **style**\r\n */\r\n public getMonthNames(style: \"long\" | \"short\" | \"narrow\"): string[] {\r\n return style == 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni del mese\r\n * \r\n * @returns {string[]} Lista dei giorni del mese (da '1' a '31')\r\n */\r\n public getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n /**\r\n * Ottiene i nomi dei giorni della settimana\r\n * \r\n * @param {\"long\" | \"short\" | \"narrow\"} style Stile dei nomi richiesto\r\n * \r\n * @returns {string[]} Lista dei giorni della settimana espressi in base al parametro **style**\r\n */\r\n public getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style == 'long')\r\n return this._localeData.longDaysOfWeek;\r\n else if (style == 'short')\r\n return this._localeData.shortDaysOfWeek;\r\n\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il nome dell'anno\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {string} Anno\r\n */\r\n public getYearName(date: Dayjs): string {\r\n return this.getYear(date).toString();\r\n }\r\n\r\n /**\r\n * Ottiene il primo giorno della settimana\r\n * \r\n * @returns {number} Indice del primo giorno della settimana\r\n */\r\n public getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n /**\r\n * Ottiene il numero di giorni nel mese corrente\r\n * \r\n * @param {Dayjs} date Data Dayjs\r\n * \r\n * @returns {number} Numero di giorni\r\n */\r\n public getNumDaysInMonth(date: Dayjs): number {\r\n return date.daysInMonth();\r\n }\r\n\r\n /**\r\n * Ottiene il clone di una data Dayjs\r\n * \r\n * @param {Dayjs} Data da clonare\r\n * \r\n * @returns {Dayjs} Clone\r\n */\r\n public clone(date: Dayjs): Dayjs {\r\n // Visto che ho modificato l'istanza originale a manazza (vedi setHour, setMinute, setSecond) l'oggetto è danneggiato e per restituire un clone buono\r\n // devo ricrearlo prendendo pezzo per pezzo\r\n // Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n return dayjs(`${this.getYear(date)}-${this.getMonth(date) + 1}-${this.getDate(date)} ${this.getHour(date)}:${this.getMinute(date)}:${this.getSecond(date)}`);\r\n }\r\n\r\n /**\r\n * Crea una data partendo da anno, mese e giorno\r\n * \r\n * @param {number} year Anno\r\n * @param {number} month Mese\r\n * @param {number} date Giorno\r\n * \r\n * @returns {Dayjs} Oggetto generato in base ai parametri **year**, **month**, e **date**\r\n */\r\n public createDate(year: number, month: number, date: number): Dayjs {\r\n if (month < 0 || month > 11)\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n\r\n if (date < 1)\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n\r\n //Il mese è un indice 0-11 quindi devo dargli un +1 qua\r\n const result = dayjs(`${year}-${month + 1}-${date}`)\r\n\r\n if (!result.isValid())\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Restituisce la data che rappresenta la giornata di oggi\r\n * \r\n * @returns {Dayjs} Oggi\r\n */\r\n public today(): Dayjs {\r\n return dayjs();\r\n }\r\n\r\n /**\r\n * Effettua il parse di una data, eventualmente in base al formato specificato\r\n * \r\n * @param {any} value Valore da parsare\r\n * @param {string} parseFormat Formato in cui leggere il valore\r\n * \r\n * @returns {Dayjs} Data generata\r\n */\r\n public parse(value: any, parseFormat: string): Dayjs {\r\n if (value && typeof value == 'string')\r\n return dayjs(value, parseFormat);\r\n\r\n return value ? dayjs(value) : null;\r\n }\r\n\r\n /**\r\n * Formatta una data in base al formato specificato\r\n * \r\n * @param {Dayjs} date Data da formattare\r\n * @param {string} displayFormat Formato in cui mostrare la data\r\n * \r\n * @returns {string} Data formattata\r\n */\r\n public format(date: Dayjs, displayFormat: any): string {\r\n if (!this.isValid(date))\r\n throw Error('DateAdapter: Cannot format invalid date.');\r\n \r\n return date.format(displayFormat)\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di anni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere gli anni\r\n * @param {number} years Anni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta degli anni specificati\r\n */\r\n public addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, \"year\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di mesi\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i mesi\r\n * @param {months} months Mesi da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei mesi specificati\r\n */\r\n public addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, \"month\");\r\n }\r\n\r\n /**\r\n * Aggiunge ad una data il numero specificato di giorni\r\n * \r\n * @param {Dayjs} date Data a cui aggiungere i giorni\r\n * @param {months} days Giorni da aggiungere\r\n * \r\n * @returns {Dayjs} Data con l'aggiunta dei giorni specificati\r\n */\r\n public addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, \"day\");\r\n }\r\n\r\n /**\r\n * Trasforma la data specificata in una stringa ISO8601\r\n * \r\n * @param {Dayjs} date Data\r\n * \r\n * @returns {string} Rappresentazione in ISO8601\r\n */\r\n public toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Controlla se l'oggetto passato è effettivamente un DayJs\r\n * \r\n * @param {any} obj Oggetto da verificare se è una data o meno\r\n * \r\n * @returns {boolean} **true** se l'oggetto è un DayJs, **false** altrimenti\r\n */\r\n public isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n /**\r\n * Controlla il DayJs passato e verifica se è valido\r\n * \r\n * @param {Dayjs} date Data da verificare\r\n * \r\n * @returns {boolean} **true** se il DayJs è valido, **false** altrimenti\r\n */\r\n public isValid(date: Dayjs): boolean {\r\n return date.isValid();\r\n }\r\n\r\n /**\r\n * Restituisce un DayJs invalido\r\n * \r\n * @returns {DayJs} Data Invalida\r\n */\r\n public invalid(): Dayjs {\r\n return dayjs(\"Invalid Date\");\r\n }\r\n\r\n /**\r\n * Crea un range di una lunghezza specifica e per ogni indice del range richiama un callback che valorizza l'elemento di quell'indice\r\n * \r\n * @param {number} length Lunghezza del range\r\n * @param {Function} valueFunction Callback che deve generare il valore desiderato per ogni indice\r\n * \r\n * @returns {T[]} Array dei valori generati\r\n */\r\n private range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++)\r\n valuesArray[i] = valueFunction(i);\r\n return valuesArray;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, MatDateFormats } from '@angular/material/core';\r\nimport { DayJsDateAdapter } from './DayjsDateAdapter';\r\n\r\n/**\r\n * Formati di default per la presentazione degli input quali il DatePicker di Angular Material. \r\n * Cablati a quelli italiani ignorando quelli di BurgerLand per non impazzire\r\n */\r\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: { dateInput: 'DD/MM/YYYY' },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'DD/MM/YYYY',\r\n monthYearA11yLabel: 'MM YYYY',\r\n }\r\n};\r\n\r\n@NgModule({\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS },\r\n { provide: DateAdapter, useClass: DayJsDateAdapter, deps: [MAT_DATE_LOCALE]}\r\n ],\r\n})\r\nexport class MatDayjsDateModule {}\r\n","/*\r\n * Public API Surface of material-dayjs-adapter\r\n */\r\n\r\nexport * from './lib/adapter/DayjsDateAdapter';\r\nexport * from './lib/adapter/MatDayjsDateModule';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { DateAdapter } from "@angular/material/core";
2
- import { DateService } from "@esfaenza/extensions";
3
2
  import { Dayjs } from "dayjs";
4
3
  /**
5
4
  * Adapter per permettere a Material di funzionare senza problemi con DayJs. Per altri provider di date (es. moment) l'adapter viene fornito
6
5
  * nativamente da Angular. Per DayJs invece bisogna reimplementarselo
7
6
  */
8
7
  export declare class DayJsDateAdapter extends DateAdapter<Dayjs> {
9
- private dateExts;
10
8
  /**
11
9
  * Cache dei dati del locale Italiano
12
10
  */
@@ -16,7 +14,7 @@ export declare class DayJsDateAdapter extends DateAdapter<Dayjs> {
16
14
  *
17
15
  * @ignore
18
16
  */
19
- constructor(dateLocale: string, dateExts: DateService);
17
+ constructor(dateLocale: string);
20
18
  /**
21
19
  * Imposta il locale utilizzato per tutte le date
22
20
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/material-dayjs-adapter",
3
- "version": "11.2.9",
3
+ "version": "11.2.11",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
@@ -8,7 +8,6 @@
8
8
  "@angular/material": "~11.2.13",
9
9
  "@angular/common": "~11.2.14",
10
10
  "@angular/core": "~11.2.14",
11
- "@esfaenza/extensions": "11.2.53",
12
11
  "dayjs": "1.11.7"
13
12
  },
14
13
  "main": "bundles/esfaenza-material-dayjs-adapter.umd.js",