@acorex/core 7.1.52 → 7.2.1

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.
Files changed (178) hide show
  1. package/README.md +3 -20
  2. package/config/README.md +3 -0
  3. package/config/index.d.ts +2 -5
  4. package/config/lib/configs.service.d.ts +5 -0
  5. package/dateTime/README.md +3 -0
  6. package/dateTime/index.d.ts +5 -5
  7. package/dateTime/{src → lib}/jalali.calendar.d.ts +1 -1
  8. package/esm2022/acorex-core.mjs +2 -2
  9. package/esm2022/config/acorex-core-config.mjs +2 -2
  10. package/esm2022/config/index.mjs +3 -0
  11. package/esm2022/config/lib/configs.mjs +24 -0
  12. package/esm2022/config/lib/configs.service.mjs +11 -0
  13. package/esm2022/dateTime/acorex-core-dateTime.mjs +2 -2
  14. package/esm2022/dateTime/index.mjs +6 -0
  15. package/esm2022/dateTime/lib/datetime.class.mjs +288 -0
  16. package/esm2022/dateTime/lib/datetime.module.mjs +39 -0
  17. package/esm2022/dateTime/lib/datetime.pipe.mjs +26 -0
  18. package/esm2022/dateTime/lib/georgian.calendar.mjs +189 -0
  19. package/esm2022/dateTime/lib/jalali.calendar.mjs +355 -0
  20. package/esm2022/events/acorex-core-events.mjs +2 -2
  21. package/esm2022/events/index.mjs +2 -0
  22. package/esm2022/events/lib/event.service.mjs +36 -0
  23. package/esm2022/file/acorex-core-file.mjs +2 -2
  24. package/esm2022/file/index.mjs +5 -0
  25. package/esm2022/file/lib/file-download-ref.class.mjs +12 -0
  26. package/esm2022/file/lib/file-download-result.class.mjs +46 -0
  27. package/esm2022/file/lib/file-upload-ref.class.mjs +12 -0
  28. package/esm2022/file/lib/file.service.mjs +102 -0
  29. package/esm2022/http/acorex-core-http.mjs +2 -2
  30. package/esm2022/http/index.mjs +7 -0
  31. package/esm2022/http/lib/http-error.class.mjs +2 -0
  32. package/esm2022/http/lib/http-events.interceptor.mjs +3 -0
  33. package/esm2022/http/lib/http-request.class.mjs +2 -0
  34. package/esm2022/http/lib/http-result.class.mjs +21 -0
  35. package/esm2022/http/lib/http.module.mjs +29 -0
  36. package/esm2022/http/lib/http.service.mjs +148 -0
  37. package/esm2022/image/acorex-core-image.mjs +2 -2
  38. package/esm2022/image/index.mjs +2 -0
  39. package/esm2022/image/lib/image.service.mjs +43 -0
  40. package/esm2022/index.mjs +2 -0
  41. package/esm2022/pipes/acorex-core-pipes.mjs +2 -2
  42. package/esm2022/pipes/index.mjs +3 -0
  43. package/esm2022/pipes/lib/pipes.module.mjs +19 -0
  44. package/esm2022/pipes/lib/safe.pipe.mjs +31 -0
  45. package/esm2022/platform/acorex-core-platform.mjs +2 -2
  46. package/esm2022/platform/index.mjs +2 -0
  47. package/esm2022/platform/lib/platform.service.mjs +155 -0
  48. package/esm2022/translation/acorex-core-translation.mjs +2 -2
  49. package/esm2022/translation/index.mjs +4 -0
  50. package/esm2022/translation/lib/translation.module.mjs +18 -0
  51. package/esm2022/translation/lib/translator.mjs +43 -0
  52. package/esm2022/translation/lib/translator.pipe.mjs +15 -0
  53. package/esm2022/utils/acorex-core-utils.mjs +2 -2
  54. package/esm2022/utils/index.mjs +6 -0
  55. package/esm2022/utils/lib/color-util.mjs +115 -0
  56. package/esm2022/utils/lib/drawing-util.mjs +29 -0
  57. package/esm2022/utils/lib/html-util.mjs +16 -0
  58. package/esm2022/utils/lib/object-util.mjs +39 -0
  59. package/esm2022/utils/lib/string-util.mjs +19 -0
  60. package/events/README.md +3 -0
  61. package/events/index.d.ts +1 -5
  62. package/fesm2022/acorex-core-config.mjs +14 -3
  63. package/fesm2022/acorex-core-config.mjs.map +1 -1
  64. package/fesm2022/acorex-core-dateTime.mjs +171 -178
  65. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  66. package/fesm2022/acorex-core-events.mjs +6 -4
  67. package/fesm2022/acorex-core-events.mjs.map +1 -1
  68. package/fesm2022/acorex-core-file.mjs +19 -23
  69. package/fesm2022/acorex-core-file.mjs.map +1 -1
  70. package/fesm2022/acorex-core-http.mjs +10 -17
  71. package/fesm2022/acorex-core-http.mjs.map +1 -1
  72. package/fesm2022/acorex-core-image.mjs +3 -3
  73. package/fesm2022/acorex-core-image.mjs.map +1 -1
  74. package/fesm2022/acorex-core-pipes.mjs +8 -9
  75. package/fesm2022/acorex-core-pipes.mjs.map +1 -1
  76. package/fesm2022/acorex-core-platform.mjs +6 -8
  77. package/fesm2022/acorex-core-platform.mjs.map +1 -1
  78. package/fesm2022/acorex-core-translation.mjs +13 -13
  79. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  80. package/fesm2022/acorex-core-utils.mjs +87 -87
  81. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  82. package/fesm2022/acorex-core.mjs +1 -6
  83. package/fesm2022/acorex-core.mjs.map +1 -1
  84. package/file/README.md +3 -0
  85. package/file/index.d.ts +4 -5
  86. package/http/README.md +3 -0
  87. package/http/index.d.ts +6 -5
  88. package/image/README.md +3 -0
  89. package/image/index.d.ts +1 -5
  90. package/index.d.ts +2 -5
  91. package/package.json +13 -11
  92. package/pipes/README.md +3 -0
  93. package/pipes/index.d.ts +2 -5
  94. package/platform/README.md +3 -0
  95. package/platform/index.d.ts +1 -5
  96. package/translation/README.md +3 -0
  97. package/translation/index.d.ts +3 -5
  98. package/utils/README.md +3 -0
  99. package/utils/index.d.ts +5 -5
  100. package/config/public-api.d.ts +0 -1
  101. package/dateTime/public-api.d.ts +0 -5
  102. package/esm2022/config/public-api.mjs +0 -2
  103. package/esm2022/config/src/configs.mjs +0 -25
  104. package/esm2022/dateTime/public-api.mjs +0 -6
  105. package/esm2022/dateTime/src/datetime.class.mjs +0 -295
  106. package/esm2022/dateTime/src/datetime.module.mjs +0 -40
  107. package/esm2022/dateTime/src/datetime.pipe.mjs +0 -27
  108. package/esm2022/dateTime/src/georgian.calendar.mjs +0 -187
  109. package/esm2022/dateTime/src/jalali.calendar.mjs +0 -357
  110. package/esm2022/events/public-api.mjs +0 -2
  111. package/esm2022/events/src/event.service.mjs +0 -35
  112. package/esm2022/file/public-api.mjs +0 -5
  113. package/esm2022/file/src/file-download-ref.class.mjs +0 -13
  114. package/esm2022/file/src/file-download-result.class.mjs +0 -47
  115. package/esm2022/file/src/file-upload-ref.class.mjs +0 -13
  116. package/esm2022/file/src/file.service.mjs +0 -103
  117. package/esm2022/http/public-api.mjs +0 -6
  118. package/esm2022/http/src/http-error.class.mjs +0 -2
  119. package/esm2022/http/src/http-events.interceptor.mjs +0 -3
  120. package/esm2022/http/src/http-request.class.mjs +0 -2
  121. package/esm2022/http/src/http-result.class.mjs +0 -25
  122. package/esm2022/http/src/http.module.mjs +0 -30
  123. package/esm2022/http/src/http.service.mjs +0 -152
  124. package/esm2022/image/public-api.mjs +0 -2
  125. package/esm2022/image/src/image.service.mjs +0 -44
  126. package/esm2022/pipes/public-api.mjs +0 -3
  127. package/esm2022/pipes/src/pipes.module.mjs +0 -20
  128. package/esm2022/pipes/src/safe.pipe.mjs +0 -32
  129. package/esm2022/platform/public-api.mjs +0 -2
  130. package/esm2022/platform/src/platform.service.mjs +0 -158
  131. package/esm2022/public-api.mjs +0 -5
  132. package/esm2022/translation/public-api.mjs +0 -4
  133. package/esm2022/translation/src/translation.module.mjs +0 -19
  134. package/esm2022/translation/src/translator.mjs +0 -44
  135. package/esm2022/translation/src/translator.pipe.mjs +0 -16
  136. package/esm2022/utils/public-api.mjs +0 -6
  137. package/esm2022/utils/src/color-util.mjs +0 -115
  138. package/esm2022/utils/src/drawing-util.mjs +0 -29
  139. package/esm2022/utils/src/html-util.mjs +0 -16
  140. package/esm2022/utils/src/object-util.mjs +0 -39
  141. package/esm2022/utils/src/string-util.mjs +0 -19
  142. package/events/public-api.d.ts +0 -1
  143. package/file/public-api.d.ts +0 -4
  144. package/http/public-api.d.ts +0 -5
  145. package/image/public-api.d.ts +0 -1
  146. package/pipes/public-api.d.ts +0 -2
  147. package/platform/public-api.d.ts +0 -1
  148. package/public-api.d.ts +0 -1
  149. package/translation/public-api.d.ts +0 -3
  150. package/utils/public-api.d.ts +0 -5
  151. /package/config/{src → lib}/configs.d.ts +0 -0
  152. /package/dateTime/{src → lib}/datetime.class.d.ts +0 -0
  153. /package/dateTime/{src → lib}/datetime.module.d.ts +0 -0
  154. /package/dateTime/{src → lib}/datetime.pipe.d.ts +0 -0
  155. /package/dateTime/{src → lib}/georgian.calendar.d.ts +0 -0
  156. /package/events/{src → lib}/event.service.d.ts +0 -0
  157. /package/file/{src → lib}/file-download-ref.class.d.ts +0 -0
  158. /package/file/{src → lib}/file-download-result.class.d.ts +0 -0
  159. /package/file/{src → lib}/file-upload-ref.class.d.ts +0 -0
  160. /package/file/{src → lib}/file.service.d.ts +0 -0
  161. /package/http/{src → lib}/http-error.class.d.ts +0 -0
  162. /package/http/{src → lib}/http-events.interceptor.d.ts +0 -0
  163. /package/http/{src → lib}/http-request.class.d.ts +0 -0
  164. /package/http/{src → lib}/http-result.class.d.ts +0 -0
  165. /package/http/{src → lib}/http.module.d.ts +0 -0
  166. /package/http/{src → lib}/http.service.d.ts +0 -0
  167. /package/image/{src → lib}/image.service.d.ts +0 -0
  168. /package/pipes/{src → lib}/pipes.module.d.ts +0 -0
  169. /package/pipes/{src → lib}/safe.pipe.d.ts +0 -0
  170. /package/platform/{src → lib}/platform.service.d.ts +0 -0
  171. /package/translation/{src → lib}/translation.module.d.ts +0 -0
  172. /package/translation/{src → lib}/translator.d.ts +0 -0
  173. /package/translation/{src → lib}/translator.pipe.d.ts +0 -0
  174. /package/utils/{src → lib}/color-util.d.ts +0 -0
  175. /package/utils/{src → lib}/drawing-util.d.ts +0 -0
  176. /package/utils/{src → lib}/html-util.d.ts +0 -0
  177. /package/utils/{src → lib}/object-util.d.ts +0 -0
  178. /package/utils/{src → lib}/string-util.d.ts +0 -0
@@ -1,295 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { AXConfig } from '@acorex/core/config';
3
- // @dynamic
4
- export class AXDateTime {
5
- static convert(value, calendar = AXConfig.get('dateTime.calendar')) {
6
- let date;
7
- if (typeof value === 'string' || value instanceof String) {
8
- date = new AXDateTime(value, calendar);
9
- }
10
- else if (value instanceof Date) {
11
- date = new AXDateTime(value, calendar);
12
- }
13
- else if (value instanceof AXDateTime) {
14
- date = new AXDateTime(value.date, calendar);
15
- }
16
- return date;
17
- }
18
- static from(value = {
19
- calendar: AXConfig.get('dateTime.calendar'),
20
- year: 1,
21
- month: 1,
22
- date: 1,
23
- hours: 0,
24
- minutes: 0,
25
- seconds: 0,
26
- ms: 0
27
- }) {
28
- return AXDateTime.resolveCalendar(value.calendar).create(value);
29
- }
30
- static resolveCalendar(calendar) {
31
- return typeof calendar == 'string'
32
- ? AXConfig.get(`dateTime.calendars.${calendar}.class`)
33
- : calendar;
34
- }
35
- _date;
36
- get date() {
37
- return this._date;
38
- }
39
- _calendar;
40
- get calendar() {
41
- return this._calendar;
42
- }
43
- constructor(value = new Date(), calendar = AXConfig.get(`dateTime.calendar`)) {
44
- this._calendar = AXDateTime.resolveCalendar(calendar);
45
- if (value instanceof Date) {
46
- this._date = value;
47
- }
48
- else {
49
- //TODO: parse jalali
50
- this._date = new Date(value);
51
- }
52
- }
53
- clone() {
54
- return new AXDateTime(this.date, this.calendar);
55
- }
56
- get dayOfMonth() {
57
- return this._calendar.dayOfMonth(this.date);
58
- }
59
- get dayOfYear() {
60
- return this._calendar.dayOfYear(this.date);
61
- }
62
- get dayOfWeek() {
63
- return this._calendar.dayOfWeek(this.date);
64
- }
65
- get hour() {
66
- return this._date.getHours();
67
- }
68
- get minute() {
69
- return this._date.getMinutes();
70
- }
71
- get second() {
72
- return this._date.getSeconds();
73
- }
74
- get year() {
75
- return this._calendar.year(this.date);
76
- }
77
- get monthOfYear() {
78
- return this._calendar.monthOfYear(this.date);
79
- }
80
- get weekOfYear() {
81
- return this._calendar.weekOfYear(this.date);
82
- }
83
- get month() {
84
- return new AXCalendarMonth(this);
85
- }
86
- add(unit, amount) {
87
- return this._calendar.add(this.date, unit, amount);
88
- }
89
- set(unit = 'day', value) {
90
- return this._calendar.set(this.date, unit, value);
91
- }
92
- duration(end, unit = 'day') {
93
- const range = new AXDateTimeRange(this, AXDateTime.convert(end, this.calendar.name()));
94
- return range.duration();
95
- }
96
- startOf(unit = 'day') {
97
- return this._calendar.startOf(this.date, unit);
98
- }
99
- endOf(unit = 'day') {
100
- return this._calendar.endOf(this.date, unit);
101
- }
102
- _formatKeys = {
103
- ss: () => this.pad(this.date.getSeconds(), 2),
104
- s: () => this.date.getSeconds().toString(),
105
- //
106
- dd: () => this.pad(this.calendar.dayOfMonth(this.date), 2),
107
- d: () => this.calendar.dayOfMonth(this.date).toString(),
108
- //
109
- mm: () => this.pad(this.date.getMinutes(), 2),
110
- m: () => this.date.getMinutes().toString(),
111
- //
112
- MMMM: () => this.calendar.monthNames[this.calendar.monthOfYear(this.date) - 1],
113
- MMM: () => this.calendar.monthShortNames[this.calendar.monthOfYear(this.date) - 1],
114
- MM: () => this.pad(this.calendar.monthOfYear(this.date), 2),
115
- //
116
- DDDD: () => this.calendar.dayNames[this.calendar.dayOfWeek(this.date) - 1],
117
- DDD: () => this.calendar.dayShortNames[this.calendar.dayOfWeek(this.date) - 1],
118
- //
119
- yyyy: () => this.calendar.year(this.date).toString(),
120
- YYYY: () => this.calendar.year(this.date).toString(),
121
- yy: () => this.calendar.year(this.date).toString().substring(2),
122
- YY: () => this.calendar.year(this.date).toString().substring(2),
123
- //
124
- HH: () => this.pad(this.date.getHours(), 2),
125
- H: () => this.date.getHours().toString(),
126
- //
127
- hh: () => this.pad((this.date.getHours() % 12 || 12), 2),
128
- h: () => (this.date.getHours() % 12 || 12).toString(),
129
- //
130
- A: () => (this.date.getHours() < 12) ? 'am' : 'pm',
131
- a: () => (this.date.getHours() < 12) ? 'am' : 'pm',
132
- };
133
- format(format = AXConfig.get('dateTime.shortDateFormat')) {
134
- const re = new RegExp(_.orderBy(Object.keys(this._formatKeys), c => c.length, ['desc']).join("|"), "gi");
135
- return format.replace(re, (matched) => {
136
- return this._formatKeys[matched]();
137
- });
138
- }
139
- pad(n, width, z = '0') {
140
- n = n + '';
141
- return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
142
- }
143
- toString(format = AXConfig.get('dateTime.shortDateFormat')) {
144
- return this.format(format);
145
- }
146
- equal(value, unit = 'day') {
147
- return this.compare(value, unit) == 0;
148
- }
149
- compare(value, unit = 'day') {
150
- const val = AXDateTime.convert(value, this.calendar.name());
151
- const func = (v1, v2) => {
152
- if (v1 == v2) {
153
- return 0;
154
- }
155
- else if (v1 > v2) {
156
- return 1;
157
- }
158
- else {
159
- return -1;
160
- }
161
- };
162
- let p = 0;
163
- switch (unit) {
164
- case 'year':
165
- return func(this.year, val.year);
166
- case 'week':
167
- p = this.compare(val, 'year');
168
- return p == 0 ? func(this.weekOfYear, val.weekOfYear) : p;
169
- case 'month':
170
- p = this.compare(val, 'year');
171
- return p == 0 ? func(this.monthOfYear, val.monthOfYear) : p;
172
- case 'day':
173
- p = this.compare(val, 'year');
174
- return p == 0 ? func(this.dayOfYear, val.dayOfYear) : p;
175
- case 'hour':
176
- p = this.compare(val, 'day');
177
- return p == 0 ? func(this.hour, val.hour) : p;
178
- case 'minute':
179
- p = this.compare(val, 'hour');
180
- return p == 0 ? func(this.minute, val.minute) : p;
181
- case 'second':
182
- p = this.compare(val, 'minute');
183
- return p == 0 ? func(this.second, val.second) : p;
184
- default:
185
- return func(this.date.getTime(), val.date.getTime());
186
- }
187
- }
188
- convert(calendar) {
189
- return AXDateTime.convert(this, calendar);
190
- }
191
- }
192
- export class AXCalendarMonth {
193
- _range;
194
- get range() {
195
- return this._range;
196
- }
197
- set range(v) {
198
- this._range = v;
199
- }
200
- constructor(date) {
201
- this.index = date.date.getMonth();
202
- this.name = date.format('MMMM');
203
- this.range = new AXDateTimeRange(new AXDateTime(date.startOf('month').date, date.calendar), new AXDateTime(date.endOf('month').date, date.calendar));
204
- }
205
- index;
206
- name;
207
- }
208
- export class AXDateTimeRange {
209
- _startTime;
210
- _endTime;
211
- get startTime() {
212
- return this._startTime;
213
- }
214
- get endTime() {
215
- return this._endTime;
216
- }
217
- constructor(startTime, endTime) {
218
- this._startTime = startTime;
219
- this._endTime = endTime;
220
- }
221
- duration() {
222
- const result = {
223
- miliseconds: 0,
224
- seconds: 0,
225
- minutes: 0,
226
- hours: 0,
227
- days: 0,
228
- months: 0,
229
- years: 0,
230
- total: {
231
- miliseconds: 0,
232
- seconds: 0,
233
- minutes: 0,
234
- hours: 0,
235
- days: 0,
236
- weeks: 0,
237
- months: 0,
238
- years: 0,
239
- },
240
- };
241
- const one_second = 1000;
242
- const one_min = one_second * 60;
243
- const one_hour = one_min * 60;
244
- const one_day = one_hour * 24;
245
- const one_week = one_day * 7;
246
- const one_year = 365.25 * one_day;
247
- const one_month = one_year / 12;
248
- const startTime = this._startTime.date.getTime();
249
- const endTime = this._endTime.date.getTime();
250
- const diff = Math.abs(endTime - startTime);
251
- //
252
- result.total.miliseconds = diff;
253
- result.total.seconds = Number((diff / one_second).toFixed(2));
254
- result.total.minutes = Number((diff / one_min).toFixed(2));
255
- result.total.hours = Number((diff / one_hour).toFixed(2));
256
- result.total.days = Number((diff / one_day).toFixed(2));
257
- result.total.weeks = Number((diff / one_week).toFixed(2));
258
- //
259
- // let months = (this.endTime.year - this.startTime.year) * 12;
260
- // months += this.endTime.monthOfYear - this.startTime.monthOfYear + 1;
261
- // if (this.endTime.dayOfYear < this.startTime.dayOfYear) {
262
- // months--;
263
- // }
264
- // result.total.months = Math.abs(months);
265
- // TODO: review
266
- result.total.months = Number((diff / one_month).toFixed(2));
267
- result.total.years = Number((diff / one_year).toFixed(2));
268
- //
269
- result.miliseconds = result.total.miliseconds % 1000;
270
- result.seconds = Number((result.total.seconds % 60).toFixed(0));
271
- result.minutes = Number((result.total.minutes % 60).toFixed(0));
272
- result.hours = Number((result.total.hours % 24).toFixed(0));
273
- // TODO: review
274
- result.days = Number((result.total.days % 30.4).toFixed(0));
275
- result.months = Number((result.total.months % 12).toFixed(0));
276
- result.years = Number(result.total.years.toFixed(0));
277
- return result;
278
- }
279
- enumurate(unit = 'day', amount = 1) {
280
- const result = [];
281
- let item = this._startTime.clone();
282
- while (item.compare(this._endTime, unit) < 1) {
283
- if (!result.some(c => c.equal(item, unit))) {
284
- result.push(item);
285
- }
286
- item = item.add(unit, amount);
287
- }
288
- return result;
289
- }
290
- includes(value, unit = 'day') {
291
- // TODO: ??
292
- return true;
293
- }
294
- }
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9kYXRlVGltZS9zcmMvZGF0ZXRpbWUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBa0UvQyxXQUFXO0FBQ1gsTUFBTSxPQUFPLFVBQVU7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FDWixLQUFpQyxFQUNqQyxXQUFtQixRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1FBRXBELElBQUksSUFBZ0IsQ0FBQztRQUNyQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLFlBQVksTUFBTSxFQUFFO1lBQ3hELElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbEQ7YUFBTSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7WUFDaEMsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLEtBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNoRDthQUFNLElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRTtZQUN0QyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sSUFBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBcUI7UUFDL0IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7UUFDM0MsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLENBQUM7UUFDUixPQUFPLEVBQUUsQ0FBQztRQUNWLE9B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VUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDdkQsRUFBRTtRQUNGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUMxQyxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEYsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxFQUFFO1FBQ0YsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUUsRUFBRTtRQUNGLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3BELElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3BELEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMvRCxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0QsRUFBRTtRQUNGLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUN4QyxFQUFFO1FBQ0YsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3JELEVBQUU7UUFDRixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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LENBQUM7SUFDaEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFpQixLQUFLLEVBQUUsU0FBaUIsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBaUIsRUFBRSxDQUFDO1FBQ2hDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtZQUNELElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtTQUM5QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBaUIsRUFBRSxPQUFpQixLQUFLO1FBQ2hELFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FZRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XG5cbmV4cG9ydCB0eXBlIFRpbWVVbml0ID1cbiAgfCAnbXMnXG4gIHwgJ3NlY29uZCdcbiAgfCAnbWludXRlJ1xuICB8ICdob3VyJ1xuICB8ICdkYXknXG4gIHwgJ21vbnRoJ1xuICB8ICd5ZWFyJ1xuICB8ICd3ZWVrJztcblxuXG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFYRGF0ZVZhbHVlIHtcbiAgeWVhcjogbnVtYmVyLFxuICBtb250aDogbnVtYmVyLFxuICBkYXRlOiBudW1iZXIsXG4gIGhvdXJzPzogbnVtYmVyLFxuICBtaW51dGVzPzogbnVtYmVyLFxuICBzZWNvbmRzPzogbnVtYmVyLFxuICBtcz86IG51bWJlclxuICBjYWxlbmRhcjogc3RyaW5nO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhDYWxlbmRhciB7XG4gIG1vbnRoTmFtZXM6IHN0cmluZ1tdO1xuXG4gIG1vbnRoU2hvcnROYW1lczogc3RyaW5nW107XG5cbiAgZGF5TmFtZXM6IHN0cmluZ1tdO1xuXG4gIGRheVNob3J0TmFtZXM6IHN0cmluZ1tdO1xuXG4gIG5hbWUoKTogc3RyaW5nO1xuXG4gIGRheU9mTW9udGgoZGF0ZTogRGF0ZSk6IG51bWJlcjtcblxuICBkYXlPZlllYXIoZGF0ZTogRGF0ZSk6IG51bWJlcjtcblxuICBkYXlPZldlZWsoZGF0ZTogRGF0ZSk6IG51bWJlcjtcblxuICBtb250aE9mWWVhcihkYXRlOiBEYXRlKTogbnVtYmVyO1xuXG4gIHdlZWtPZlllYXIoZGF0ZTogRGF0ZSk6IG51bWJlcjtcblxuICB5ZWFyKGRhdGU6IERhdGUpOiBudW1iZXI7XG5cbiAgYWRkKGRhdGU6IERhdGUsIHVuaXQ6IFRpbWVVbml0LCBhbW91bnQ6IG51bWJlcik6IEFYRGF0ZVRpbWU7XG5cbiAgc2V0KGRhdGU6IERhdGUsIHVuaXQ6IFRpbWVVbml0LCB2YWx1ZTogbnVtYmVyKTogQVhEYXRlVGltZTtcblxuICBzdGFydE9mKGRhdGU6IERhdGUsIHVuaXQ6IFRpbWVVbml0KTogQVhEYXRlVGltZTtcblxuICBlbmRPZihkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCk6IEFYRGF0ZVRpbWU7XG5cbiAgY3JlYXRlKHZhbHVlOiBBWERhdGVWYWx1ZSk6IEFYRGF0ZVRpbWU7XG4gIFxufVxuXG5cblxuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWUge1xuICBzdGF0aWMgY29udmVydChcbiAgICB2YWx1ZTogRGF0ZSB8IEFYRGF0ZVRpbWUgfCBzdHJpbmcsXG4gICAgY2FsZW5kYXI6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuY2FsZW5kYXInKVxuICApOiBBWERhdGVUaW1lIHtcbiAgICBsZXQgZGF0ZTogQVhEYXRlVGltZTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZykge1xuICAgICAgZGF0ZSA9IG5ldyBBWERhdGVUaW1lKHZhbHVlIGFzIHN0cmluZywgY2FsZW5kYXIpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgRGF0ZSwgY2FsZW5kYXIpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUuZGF0ZSwgY2FsZW5kYXIpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZSE7XG4gIH1cblxuICBzdGF0aWMgZnJvbSh2YWx1ZTogQVhEYXRlVmFsdWUgPSB7XG4gICAgY2FsZW5kYXI6IEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuY2FsZW5kYXInKSxcbiAgICB5ZWFyOiAxLFxuICAgIG1vbnRoOiAxLFxuICAgIGRhdGU6IDEsXG4gICAgaG91cnM6IDAsXG4gICAgbWludXRlczogMCxcbiAgICBzZWNvbmRzOiAwLFxuICAgIG1zOiAwXG4gIH0pOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gQVhEYXRlVGltZS5yZXNvbHZlQ2FsZW5kYXIodmFsdWUuY2FsZW5kYXIpLmNyZWF0ZSh2YWx1ZSk7XG4gIH1cblxuXG4gIHN0YXRpYyByZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXI6IHN0cmluZyB8IEFYQ2FsZW5kYXIpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdHlwZW9mIGNhbGVuZGFyID09ICdzdHJpbmcnXG4gICAgICA/IEFYQ29uZmlnLmdldChgZGF0ZVRpbWUuY2FsZW5kYXJzLiR7Y2FsZW5kYXJ9LmNsYXNzYClcbiAgICAgIDogY2FsZW5kYXI7XG4gIH1cblxuXG4gIHByaXZhdGUgX2RhdGU6IERhdGU7XG5cbiAgZ2V0IGRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGU7XG4gIH1cblxuICBwcml2YXRlIF9jYWxlbmRhcjogQVhDYWxlbmRhcjtcbiAgZ2V0IGNhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhcjtcbiAgfVxuXG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICB2YWx1ZTogRGF0ZSB8IHN0cmluZyA9IG5ldyBEYXRlKCksXG4gICAgY2FsZW5kYXI6IHN0cmluZyB8IEFYQ2FsZW5kYXIgPSBBWENvbmZpZy5nZXQoYGRhdGVUaW1lLmNhbGVuZGFyYClcbiAgKSB7XG4gICAgdGhpcy5fY2FsZW5kYXIgPSBBWERhdGVUaW1lLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhcik7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5fZGF0ZSA9IHZhbHVlIGFzIERhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vVE9ETzogcGFyc2UgamFsYWxpXG4gICAgICB0aGlzLl9kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsb25lKCk6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZSh0aGlzLmRhdGUsIHRoaXMuY2FsZW5kYXIpO1xuICB9XG5cbiAgZ2V0IGRheU9mTW9udGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuZGF5T2ZNb250aCh0aGlzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IGRheU9mWWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5kYXlPZlllYXIodGhpcy5kYXRlKTtcbiAgfVxuXG4gIGdldCBkYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuZGF5T2ZXZWVrKHRoaXMuZGF0ZSk7XG4gIH1cblxuICBnZXQgaG91cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9kYXRlLmdldEhvdXJzKCk7XG4gIH1cblxuICBnZXQgbWludXRlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGUuZ2V0TWludXRlcygpO1xuICB9XG5cbiAgZ2V0IHNlY29uZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9kYXRlLmdldFNlY29uZHMoKTtcbiAgfVxuXG4gIGdldCB5ZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLnllYXIodGhpcy5kYXRlKTtcbiAgfVxuXG4gIGdldCBtb250aE9mWWVhcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5tb250aE9mWWVhcih0aGlzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IHdlZWtPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIud2Vla09mWWVhcih0aGlzLmRhdGUpO1xuICB9XG5cbiAgZ2V0IG1vbnRoKCk6IEFYQ2FsZW5kYXJNb250aCB7XG4gICAgcmV0dXJuIG5ldyBBWENhbGVuZGFyTW9udGgodGhpcyk7XG4gIH1cblxuICBhZGQodW5pdDogVGltZVVuaXQsIGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGVuZGFyLmFkZCh0aGlzLmRhdGUsIHVuaXQsIGFtb3VudCk7XG4gIH1cblxuICBzZXQodW5pdDogVGltZVVuaXQgPSAnZGF5JywgdmFsdWU6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5zZXQodGhpcy5kYXRlLCB1bml0LCB2YWx1ZSk7XG4gIH1cblxuICBkdXJhdGlvbihcbiAgICBlbmQ6IERhdGUgfCBBWERhdGVUaW1lLFxuICAgIHVuaXQ6IFRpbWVVbml0ID0gJ2RheSdcbiAgKTogQVhUaW1lU3BhbiB7XG4gICAgY29uc3QgcmFuZ2UgPSBuZXcgQVhEYXRlVGltZVJhbmdlKFxuICAgICAgdGhpcyxcbiAgICAgIEFYRGF0ZVRpbWUuY29udmVydChlbmQsIHRoaXMuY2FsZW5kYXIubmFtZSgpKVxuICAgICk7XG4gICAgcmV0dXJuIHJhbmdlLmR1cmF0aW9uKCk7XG4gIH1cblxuICBzdGFydE9mKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXIuc3RhcnRPZih0aGlzLmRhdGUsIHVuaXQpO1xuICB9XG5cbiAgZW5kT2YodW5pdDogVGltZVVuaXQgPSAnZGF5Jyk6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhci5lbmRPZih0aGlzLmRhdGUsIHVuaXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9ybWF0S2V5cyA9IHtcbiAgICBzczogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldFNlY29uZHMoKSwgMiksXG4gICAgczogKCkgPT4gdGhpcy5kYXRlLmdldFNlY29uZHMoKS50b1N0cmluZygpLFxuICAgIC8vXG4gICAgZGQ6ICgpID0+IHRoaXMucGFkKHRoaXMuY2FsZW5kYXIuZGF5T2ZNb250aCh0aGlzLmRhdGUpLCAyKSxcbiAgICBkOiAoKSA9PiB0aGlzLmNhbGVuZGFyLmRheU9mTW9udGgodGhpcy5kYXRlKS50b1N0cmluZygpLFxuICAgIC8vXG4gICAgbW06ICgpID0+IHRoaXMucGFkKHRoaXMuZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxuICAgIG06ICgpID0+IHRoaXMuZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKSxcbiAgICAvL1xuICAgIE1NTU06ICgpID0+IHRoaXMuY2FsZW5kYXIubW9udGhOYW1lc1t0aGlzLmNhbGVuZGFyLm1vbnRoT2ZZZWFyKHRoaXMuZGF0ZSkgLSAxXSxcbiAgICBNTU06ICgpID0+IHRoaXMuY2FsZW5kYXIubW9udGhTaG9ydE5hbWVzW3RoaXMuY2FsZW5kYXIubW9udGhPZlllYXIodGhpcy5kYXRlKSAtIDFdLFxuICAgIE1NOiAoKSA9PiB0aGlzLnBhZCh0aGlzLmNhbGVuZGFyLm1vbnRoT2ZZZWFyKHRoaXMuZGF0ZSksIDIpLFxuICAgIC8vXG4gICAgRERERDogKCkgPT4gdGhpcy5jYWxlbmRhci5kYXlOYW1lc1t0aGlzLmNhbGVuZGFyLmRheU9mV2Vlayh0aGlzLmRhdGUpIC0gMV0sXG4gICAgREREOiAoKSA9PiB0aGlzLmNhbGVuZGFyLmRheVNob3J0TmFtZXNbdGhpcy5jYWxlbmRhci5kYXlPZldlZWsodGhpcy5kYXRlKSAtIDFdLFxuICAgIC8vXG4gICAgeXl5eTogKCkgPT4gdGhpcy5jYWxlbmRhci55ZWFyKHRoaXMuZGF0ZSkudG9TdHJpbmcoKSxcbiAgICBZWVlZOiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLFxuICAgIHl5OiAoKSA9PiB0aGlzLmNhbGVuZGFyLnllYXIodGhpcy5kYXRlKS50b1N0cmluZygpLnN1YnN0cmluZygyKSxcbiAgICBZWTogKCkgPT4gdGhpcy5jYWxlbmRhci55ZWFyKHRoaXMuZGF0ZSkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiksXG4gICAgLy9cbiAgICBISDogKCkgPT4gdGhpcy5wYWQodGhpcy5kYXRlLmdldEhvdXJzKCksIDIpLFxuICAgIEg6ICgpID0+IHRoaXMuZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCksXG4gICAgLy9cbiAgICBoaDogKCkgPT4gdGhpcy5wYWQoKHRoaXMuZGF0ZS5nZXRIb3VycygpICUgMTIgfHwgMTIpLCAyKSxcbiAgICBoOiAoKSA9PiAodGhpcy5kYXRlLmdldEhvdXJzKCkgJSAxMiB8fCAxMikudG9TdHJpbmcoKSxcbiAgICAvL1xuICAgIEE6ICgpID0+ICh0aGlzLmRhdGUuZ2V0SG91cnMoKSA8IDEyKSA/ICdhbScgOiAncG0nLFxuICAgIGE6ICgpID0+ICh0aGlzLmRhdGUuZ2V0SG91cnMoKSA8IDEyKSA/ICdhbScgOiAncG0nLFxuICB9O1xuXG4gIGZvcm1hdChcbiAgICBmb3JtYXQ6IHN0cmluZyA9IEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuc2hvcnREYXRlRm9ybWF0JylcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAoXy5vcmRlckJ5KE9iamVjdC5rZXlzKHRoaXMuX2Zvcm1hdEtleXMpLCBjID0+IGMubGVuZ3RoLCBbJ2Rlc2MnXSkuam9pbihcInxcIiksIFwiZ2lcIik7XG4gICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKHJlLCAobWF0Y2hlZCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdEtleXNbbWF0Y2hlZF0oKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGFkKG4sIHdpZHRoLCB6ID0gJzAnKSB7XG4gICAgbiA9IG4gKyAnJztcbiAgICByZXR1cm4gbi5sZW5ndGggPj0gd2lkdGggPyBuIDogbmV3IEFycmF5KHdpZHRoIC0gbi5sZW5ndGggKyAxKS5qb2luKHopICsgbjtcbiAgfVxuXG4gIHRvU3RyaW5nKGZvcm1hdDogc3RyaW5nID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5zaG9ydERhdGVGb3JtYXQnKSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0KGZvcm1hdCk7XG4gIH1cblxuICBlcXVhbCh2YWx1ZTogRGF0ZSB8IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYXJlKHZhbHVlLCB1bml0KSA9PSAwO1xuICB9XG5cbiAgY29tcGFyZSh2YWx1ZTogRGF0ZSB8IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBjb25zdCB2YWwgPSBBWERhdGVUaW1lLmNvbnZlcnQodmFsdWUsIHRoaXMuY2FsZW5kYXIubmFtZSgpKTtcbiAgICBjb25zdCBmdW5jID0gKHYxOiBudW1iZXIsIHYyOiBudW1iZXIpID0+IHtcbiAgICAgIGlmICh2MSA9PSB2Mikge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH0gZWxzZSBpZiAodjEgPiB2Mikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHAgPSAwO1xuICAgIHN3aXRjaCAodW5pdCkge1xuICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgIHJldHVybiBmdW5jKHRoaXMueWVhciwgdmFsLnllYXIpO1xuICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAneWVhcicpO1xuICAgICAgICByZXR1cm4gcCA9PSAwID8gZnVuYyh0aGlzLndlZWtPZlllYXIsIHZhbC53ZWVrT2ZZZWFyKSA6IHA7XG4gICAgICBjYXNlICdtb250aCc6XG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAneWVhcicpO1xuICAgICAgICByZXR1cm4gcCA9PSAwID8gZnVuYyh0aGlzLm1vbnRoT2ZZZWFyLCB2YWwubW9udGhPZlllYXIpIDogcDtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAneWVhcicpO1xuICAgICAgICByZXR1cm4gcCA9PSAwID8gZnVuYyh0aGlzLmRheU9mWWVhciwgdmFsLmRheU9mWWVhcikgOiBwO1xuICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAnZGF5Jyk7XG4gICAgICAgIHJldHVybiBwID09IDAgPyBmdW5jKHRoaXMuaG91ciwgdmFsLmhvdXIpIDogcDtcbiAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgIHAgPSB0aGlzLmNvbXBhcmUodmFsLCAnaG91cicpO1xuICAgICAgICByZXR1cm4gcCA9PSAwID8gZnVuYyh0aGlzLm1pbnV0ZSwgdmFsLm1pbnV0ZSkgOiBwO1xuICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgcCA9IHRoaXMuY29tcGFyZSh2YWwsICdtaW51dGUnKTtcbiAgICAgICAgcmV0dXJuIHAgPT0gMCA/IGZ1bmModGhpcy5zZWNvbmQsIHZhbC5zZWNvbmQpIDogcDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmdW5jKHRoaXMuZGF0ZS5nZXRUaW1lKCksIHZhbC5kYXRlLmdldFRpbWUoKSk7XG4gICAgfVxuXG4gIH1cblxuICBjb252ZXJ0KGNhbGVuZGFyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gQVhEYXRlVGltZS5jb252ZXJ0KHRoaXMsIGNhbGVuZGFyKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck1vbnRoIHtcbiAgcHJpdmF0ZSBfcmFuZ2U6IEFYRGF0ZVRpbWVSYW5nZTtcbiAgcHVibGljIGdldCByYW5nZSgpOiBBWERhdGVUaW1lUmFuZ2Uge1xuICAgIHJldHVybiB0aGlzLl9yYW5nZTtcbiAgfVxuICBwdWJsaWMgc2V0IHJhbmdlKHY6IEFYRGF0ZVRpbWVSYW5nZSkge1xuICAgIHRoaXMuX3JhbmdlID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGRhdGU6IEFYRGF0ZVRpbWUpIHtcbiAgICB0aGlzLmluZGV4ID0gZGF0ZS5kYXRlLmdldE1vbnRoKCk7XG4gICAgdGhpcy5uYW1lID0gZGF0ZS5mb3JtYXQoJ01NTU0nKTtcbiAgICB0aGlzLnJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgIG5ldyBBWERhdGVUaW1lKGRhdGUuc3RhcnRPZignbW9udGgnKS5kYXRlLCBkYXRlLmNhbGVuZGFyKSxcbiAgICAgIG5ldyBBWERhdGVUaW1lKGRhdGUuZW5kT2YoJ21vbnRoJykuZGF0ZSwgZGF0ZS5jYWxlbmRhcilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbmRleDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFRpbWVTcGFuVG90YWwge1xuICBtaWxpc2Vjb25kczogbnVtYmVyO1xuICBzZWNvbmRzOiBudW1iZXI7XG4gIG1pbnV0ZXM6IG51bWJlcjtcbiAgaG91cnM6IG51bWJlcjtcbiAgZGF5czogbnVtYmVyO1xuICB3ZWVrczogbnVtYmVyO1xuICBtb250aHM6IG51bWJlcjtcbiAgeWVhcnM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFRpbWVTcGFuIHtcbiAgbWlsaXNlY29uZHM6IG51bWJlcjtcbiAgc2Vjb25kczogbnVtYmVyO1xuICBtaW51dGVzOiBudW1iZXI7XG4gIGhvdXJzOiBudW1iZXI7XG4gIGRheXM6IG51bWJlcjtcbiAgbW9udGhzOiBudW1iZXI7XG4gIHllYXJzOiBudW1iZXI7XG4gIHRvdGFsOiBBWFRpbWVTcGFuVG90YWw7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUmFuZ2Uge1xuICBwcml2YXRlIF9zdGFydFRpbWU6IEFYRGF0ZVRpbWU7XG4gIHByaXZhdGUgX2VuZFRpbWU6IEFYRGF0ZVRpbWU7XG5cbiAgcHVibGljIGdldCBzdGFydFRpbWUoKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0VGltZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5kVGltZSgpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gdGhpcy5fZW5kVGltZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0YXJ0VGltZTogQVhEYXRlVGltZSwgZW5kVGltZTogQVhEYXRlVGltZSkge1xuICAgIHRoaXMuX3N0YXJ0VGltZSA9IHN0YXJ0VGltZTtcbiAgICB0aGlzLl9lbmRUaW1lID0gZW5kVGltZTtcbiAgfVxuXG4gIGR1cmF0aW9uKCk6IEFYVGltZVNwYW4ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhUaW1lU3BhbiA9IHtcbiAgICAgIG1pbGlzZWNvbmRzOiAwLFxuICAgICAgc2Vjb25kczogMCxcbiAgICAgIG1pbnV0ZXM6IDAsXG4gICAgICBob3VyczogMCxcbiAgICAgIGRheXM6IDAsXG4gICAgICBtb250aHM6IDAsXG4gICAgICB5ZWFyczogMCxcbiAgICAgIHRvdGFsOiB7XG4gICAgICAgIG1pbGlzZWNvbmRzOiAwLFxuICAgICAgICBzZWNvbmRzOiAwLFxuICAgICAgICBtaW51dGVzOiAwLFxuICAgICAgICBob3VyczogMCxcbiAgICAgICAgZGF5czogMCxcbiAgICAgICAgd2Vla3M6IDAsXG4gICAgICAgIG1vbnRoczogMCxcbiAgICAgICAgeWVhcnM6IDAsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBvbmVfc2Vjb25kID0gMTAwMDtcbiAgICBjb25zdCBvbmVfbWluID0gb25lX3NlY29uZCAqIDYwO1xuICAgIGNvbnN0IG9uZV9ob3VyID0gb25lX21pbiAqIDYwO1xuICAgIGNvbnN0IG9uZV9kYXkgPSBvbmVfaG91ciAqIDI0O1xuICAgIGNvbnN0IG9uZV93ZWVrID0gb25lX2RheSAqIDc7XG4gICAgY29uc3Qgb25lX3llYXIgPSAzNjUuMjUgKiBvbmVfZGF5O1xuICAgIGNvbnN0IG9uZV9tb250aCA9IG9uZV95ZWFyIC8gMTI7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gdGhpcy5fc3RhcnRUaW1lLmRhdGUuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGVuZFRpbWUgPSB0aGlzLl9lbmRUaW1lLmRhdGUuZ2V0VGltZSgpO1xuICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhlbmRUaW1lIC0gc3RhcnRUaW1lKTtcbiAgICAvL1xuICAgIHJlc3VsdC50b3RhbC5taWxpc2Vjb25kcyA9IGRpZmY7XG4gICAgcmVzdWx0LnRvdGFsLnNlY29uZHMgPSBOdW1iZXIoKGRpZmYgLyBvbmVfc2Vjb25kKS50b0ZpeGVkKDIpKTtcbiAgICByZXN1bHQudG90YWwubWludXRlcyA9IE51bWJlcigoZGlmZiAvIG9uZV9taW4pLnRvRml4ZWQoMikpO1xuICAgIHJlc3VsdC50b3RhbC5ob3VycyA9IE51bWJlcigoZGlmZiAvIG9uZV9ob3VyKS50b0ZpeGVkKDIpKTtcbiAgICByZXN1bHQudG90YWwuZGF5cyA9IE51bWJlcigoZGlmZiAvIG9uZV9kYXkpLnRvRml4ZWQoMikpO1xuICAgIHJlc3VsdC50b3RhbC53ZWVrcyA9IE51bWJlcigoZGlmZiAvIG9uZV93ZWVrKS50b0ZpeGVkKDIpKTtcbiAgICAvL1xuICAgIC8vIGxldCBtb250aHMgPSAodGhpcy5lbmRUaW1lLnllYXIgLSB0aGlzLnN0YXJ0VGltZS55ZWFyKSAqIDEyO1xuICAgIC8vIG1vbnRocyArPSB0aGlzLmVuZFRpbWUubW9udGhPZlllYXIgLSB0aGlzLnN0YXJ0VGltZS5tb250aE9mWWVhciArIDE7XG4gICAgLy8gaWYgKHRoaXMuZW5kVGltZS5kYXlPZlllYXIgPCB0aGlzLnN0YXJ0VGltZS5kYXlPZlllYXIpIHtcbiAgICAvLyAgICAgbW9udGhzLS07XG4gICAgLy8gfVxuICAgIC8vIHJlc3VsdC50b3RhbC5tb250aHMgPSBNYXRoLmFicyhtb250aHMpO1xuICAgIC8vIFRPRE86IHJldmlld1xuICAgIHJlc3VsdC50b3RhbC5tb250aHMgPSBOdW1iZXIoKGRpZmYgLyBvbmVfbW9udGgpLnRvRml4ZWQoMikpO1xuICAgIHJlc3VsdC50b3RhbC55ZWFycyA9IE51bWJlcigoZGlmZiAvIG9uZV95ZWFyKS50b0ZpeGVkKDIpKTtcbiAgICAvL1xuICAgIHJlc3VsdC5taWxpc2Vjb25kcyA9IHJlc3VsdC50b3RhbC5taWxpc2Vjb25kcyAlIDEwMDA7XG4gICAgcmVzdWx0LnNlY29uZHMgPSBOdW1iZXIoKHJlc3VsdC50b3RhbC5zZWNvbmRzICUgNjApLnRvRml4ZWQoMCkpO1xuICAgIHJlc3VsdC5taW51dGVzID0gTnVtYmVyKChyZXN1bHQudG90YWwubWludXRlcyAlIDYwKS50b0ZpeGVkKDApKTtcbiAgICByZXN1bHQuaG91cnMgPSBOdW1iZXIoKHJlc3VsdC50b3RhbC5ob3VycyAlIDI0KS50b0ZpeGVkKDApKTtcbiAgICAvLyBUT0RPOiByZXZpZXdcbiAgICByZXN1bHQuZGF5cyA9IE51bWJlcigocmVzdWx0LnRvdGFsLmRheXMgJSAzMC40KS50b0ZpeGVkKDApKTtcbiAgICByZXN1bHQubW9udGhzID0gTnVtYmVyKChyZXN1bHQudG90YWwubW9udGhzICUgMTIpLnRvRml4ZWQoMCkpO1xuICAgIHJlc3VsdC55ZWFycyA9IE51bWJlcihyZXN1bHQudG90YWwueWVhcnMudG9GaXhlZCgwKSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGVudW11cmF0ZSh1bml0OiBUaW1lVW5pdCA9ICdkYXknLCBhbW91bnQ6IG51bWJlciA9IDEpOiBBWERhdGVUaW1lW10ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhEYXRlVGltZVtdID0gW107XG4gICAgbGV0IGl0ZW0gPSB0aGlzLl9zdGFydFRpbWUuY2xvbmUoKTtcbiAgICB3aGlsZSAoaXRlbS5jb21wYXJlKHRoaXMuX2VuZFRpbWUsIHVuaXQpIDwgMSkge1xuICAgICAgaWYgKCFyZXN1bHQuc29tZShjID0+IGMuZXF1YWwoaXRlbSwgdW5pdCkpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgfVxuICAgICAgaXRlbSA9IGl0ZW0uYWRkKHVuaXQsIGFtb3VudClcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGluY2x1ZGVzKHZhbHVlOiBBWERhdGVUaW1lLCB1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogYm9vbGVhbiB7XG4gICAgLy8gVE9ETzogPz9cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIGdldFZpZXdDb21wYWlyZSh2aWV3KSB7XG4gIC8vICAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgLy8gICAgICAgICBjYXNlICdkYXknOlxuICAvLyAgICAgICAgICAgICByZXR1cm4gJ1lNRCc7XG4gIC8vICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAvLyAgICAgICAgICAgICByZXR1cm4gJ1lNJztcbiAgLy8gICAgICAgICBjYXNlICd5ZWFyJzpcbiAgLy8gICAgICAgICAgICAgcmV0dXJuICdZJztcbiAgLy8gICAgIH1cbiAgLy8gfVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { AXConfig } from '@acorex/core/config';
3
- import { AXDateTimePipe } from './datetime.pipe';
4
- import { GeorgianCalendar } from './georgian.calendar';
5
- import { JalaliCalendar } from './jalali.calendar';
6
- import * as i0 from "@angular/core";
7
- class AXDateTimeModule {
8
- constructor() {
9
- AXConfig.set({
10
- dateTime: {
11
- calendars: {
12
- jalali: {
13
- "class": new JalaliCalendar(),
14
- weekend: [6, 7]
15
- },
16
- gregorian: {
17
- "class": new GeorgianCalendar(),
18
- weekend: [7, 1]
19
- }
20
- },
21
- calendar: 'gregorian',
22
- shortDateFormat: 'DDDD, d MMM yyyy'
23
- }
24
- });
25
- }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimeModule, declarations: [AXDateTimePipe], exports: [AXDateTimePipe] });
28
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimeModule });
29
- }
30
- export { AXDateTimeModule };
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimeModule, decorators: [{
32
- type: NgModule,
33
- args: [{
34
- imports: [],
35
- exports: [AXDateTimePipe],
36
- declarations: [AXDateTimePipe],
37
- providers: [],
38
- }]
39
- }], ctorParameters: function () { return []; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvZGF0ZVRpbWUvc3JjL2RhdGV0aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUduRCxNQU1hLGdCQUFnQjtJQUV6QjtRQUNJLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDVCxRQUFRLEVBQUU7Z0JBQ04sU0FBUyxFQUFFO29CQUNQLE1BQU0sRUFBRTt3QkFDSixPQUFPLEVBQUUsSUFBSSxjQUFjLEVBQUU7d0JBQzdCLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ2xCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxPQUFPLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRTt3QkFDL0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDbEI7aUJBQ0o7Z0JBQ0QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLGVBQWUsRUFBRSxrQkFBa0I7YUFDdEM7U0FDSixDQUFDLENBQUM7SUFFUCxDQUFDO3VHQXBCUSxnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFIVixjQUFjLGFBRG5CLGNBQWM7d0dBSWYsZ0JBQWdCOztTQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBBWERhdGVUaW1lUGlwZSB9IGZyb20gJy4vZGF0ZXRpbWUucGlwZSc7XG5pbXBvcnQgeyBHZW9yZ2lhbkNhbGVuZGFyIH0gZnJvbSAnLi9nZW9yZ2lhbi5jYWxlbmRhcic7XG5pbXBvcnQgeyBKYWxhbGlDYWxlbmRhciB9IGZyb20gJy4vamFsYWxpLmNhbGVuZGFyJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtBWERhdGVUaW1lUGlwZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbQVhEYXRlVGltZVBpcGVdLFxuICAgIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVNb2R1bGUge1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIEFYQ29uZmlnLnNldCh7XG4gICAgICAgICAgICBkYXRlVGltZToge1xuICAgICAgICAgICAgICAgIGNhbGVuZGFyczoge1xuICAgICAgICAgICAgICAgICAgICBqYWxhbGk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogbmV3IEphbGFsaUNhbGVuZGFyKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZW5kOiBbNiwgN11cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZ3JlZ29yaWFuOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImNsYXNzXCI6IG5ldyBHZW9yZ2lhbkNhbGVuZGFyKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZW5kOiBbNywgMV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY2FsZW5kYXI6ICdncmVnb3JpYW4nLFxuICAgICAgICAgICAgICAgIHNob3J0RGF0ZUZvcm1hdDogJ0REREQsIGQgTU1NIHl5eXknXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfVxufVxuIl19
@@ -1,27 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import { AXConfig } from '@acorex/core/config';
3
- import { AXDateTime } from './datetime.class';
4
- import * as i0 from "@angular/core";
5
- class AXDateTimePipe {
6
- constructor() { }
7
- transform(value, format, calendar) {
8
- if (value == null) {
9
- return '';
10
- }
11
- const date = value instanceof AXDateTime ? value.clone() : AXDateTime.convert(value, calendar);
12
- if (!format) {
13
- return date.format(AXConfig.get('dateTime.shortDateFormat'));
14
- }
15
- else {
16
- return date.format(format);
17
- }
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
20
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimePipe, name: "axDate" });
21
- }
22
- export { AXDateTimePipe };
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AXDateTimePipe, decorators: [{
24
- type: Pipe,
25
- args: [{ name: 'axDate' }]
26
- }], ctorParameters: function () { return []; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL2RhdGVUaW1lL3NyYy9kYXRldGltZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTlDLE1BQ2EsY0FBYztJQUN2QixnQkFBZ0IsQ0FBQztJQUVqQixTQUFTLENBQUMsS0FBVSxFQUFFLE1BQWUsRUFBRSxRQUFpQjtRQUNwRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsTUFBTSxJQUFJLEdBQWUsS0FBSyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1NBQ2hFO2FBQ0k7WUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDTCxDQUFDO3VHQWRRLGNBQWM7cUdBQWQsY0FBYzs7U0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUvY29uZmlnJztcbmltcG9ydCB7IEFYRGF0ZVRpbWUgfSBmcm9tICcuL2RhdGV0aW1lLmNsYXNzJztcblxuQFBpcGUoeyBuYW1lOiAnYXhEYXRlJyB9KVxuZXhwb3J0IGNsYXNzIEFYRGF0ZVRpbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBmb3JtYXQ/OiBzdHJpbmcsIGNhbGVuZGFyPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkYXRlOiBBWERhdGVUaW1lID0gdmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lID8gdmFsdWUuY2xvbmUoKSA6IEFYRGF0ZVRpbWUuY29udmVydCh2YWx1ZSwgY2FsZW5kYXIpO1xuICAgICAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KEFYQ29uZmlnLmdldCgnZGF0ZVRpbWUuc2hvcnREYXRlRm9ybWF0JykpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGUuZm9ybWF0KGZvcm1hdCk7XG4gICAgICAgIH1cbiAgICB9XG59Il19