@taiga-ui/cdk 2.26.0 → 2.27.0
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.
- package/abstract/control.d.ts +1 -1
- package/abstract/interactive.d.ts +4 -4
- package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js +3 -3
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +331 -331
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +276 -0
- package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js +16 -0
- package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -0
- package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.js +2 -2
- package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
- package/date-time/day-range.d.ts +14 -14
- package/date-time/day.d.ts +57 -57
- package/date-time/month-range.d.ts +1 -1
- package/date-time/month.d.ts +26 -26
- package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
- package/date-time/time.d.ts +12 -12
- package/date-time/year.d.ts +27 -27
- package/directives/copy-processor/copy-processor.directive.d.ts +7 -0
- package/directives/copy-processor/copy-processor.module.d.ts +2 -0
- package/directives/copy-processor/index.d.ts +2 -0
- package/directives/copy-processor/package.json +13 -0
- package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.d.ts +4 -0
- package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.metadata.json +1 -0
- package/directives/for/for.directive.d.ts +1 -1
- package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
- package/directives/media/media.directive.d.ts +1 -1
- package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
- package/esm2015/abstract/control.js +1 -1
- package/esm2015/abstract/interactive.js +4 -4
- package/esm2015/date-time/day-range.js +26 -26
- package/esm2015/date-time/day.js +120 -120
- package/esm2015/date-time/month-range.js +6 -6
- package/esm2015/date-time/month.js +56 -56
- package/esm2015/date-time/time.js +40 -40
- package/esm2015/date-time/year.js +49 -49
- package/esm2015/directives/copy-processor/copy-processor.directive.js +37 -0
- package/esm2015/directives/copy-processor/copy-processor.module.js +13 -0
- package/esm2015/directives/copy-processor/index.js +3 -0
- package/esm2015/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +5 -0
- package/esm2015/directives/for/for.directive.js +1 -1
- package/esm2015/directives/media/media.directive.js +2 -2
- package/esm2015/services/pan.service.js +3 -3
- package/esm5/abstract/control.js +1 -1
- package/esm5/abstract/interactive.js +4 -4
- package/esm5/date-time/day-range.js +26 -26
- package/esm5/date-time/day.js +120 -120
- package/esm5/date-time/month-range.js +6 -6
- package/esm5/date-time/month.js +56 -56
- package/esm5/date-time/time.js +41 -41
- package/esm5/date-time/year.js +49 -49
- package/esm5/directives/copy-processor/copy-processor.directive.js +38 -0
- package/esm5/directives/copy-processor/copy-processor.module.js +16 -0
- package/esm5/directives/copy-processor/index.js +3 -0
- package/esm5/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +5 -0
- package/esm5/directives/for/for.directive.js +1 -1
- package/esm5/directives/media/media.directive.js +2 -2
- package/esm5/services/pan.service.js +3 -3
- package/fesm2015/taiga-ui-cdk-abstract.js +3 -3
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +322 -322
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +52 -0
- package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-media.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-services.js +2 -2
- package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +3 -3
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +331 -331
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-copy-processor.js +56 -0
- package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -0
- package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-media.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
- package/fesm5/taiga-ui-cdk-services.js +2 -2
- package/fesm5/taiga-ui-cdk-services.js.map +1 -1
- package/package.json +2 -2
|
@@ -9,6 +9,11 @@ var TuiMonthRange = /** @class */ (function () {
|
|
|
9
9
|
this.to = to;
|
|
10
10
|
tuiAssert.assert(from.monthSameOrBefore(to));
|
|
11
11
|
}
|
|
12
|
+
TuiMonthRange.sort = function (month1, month2) {
|
|
13
|
+
return month1.monthSameOrBefore(month2)
|
|
14
|
+
? new TuiMonthRange(month1, month2)
|
|
15
|
+
: new TuiMonthRange(month2, month1);
|
|
16
|
+
};
|
|
12
17
|
Object.defineProperty(TuiMonthRange.prototype, "isSingleMonth", {
|
|
13
18
|
get: function () {
|
|
14
19
|
return this.from.monthSame(this.to);
|
|
@@ -29,12 +34,7 @@ var TuiMonthRange = /** @class */ (function () {
|
|
|
29
34
|
TuiMonthRange.prototype.toString = function () {
|
|
30
35
|
return "" + this.from + RANGE_SEPARATOR_CHAR + this.to;
|
|
31
36
|
};
|
|
32
|
-
TuiMonthRange.sort = function (month1, month2) {
|
|
33
|
-
return month1.monthSameOrBefore(month2)
|
|
34
|
-
? new TuiMonthRange(month1, month2)
|
|
35
|
-
: new TuiMonthRange(month2, month1);
|
|
36
|
-
};
|
|
37
37
|
return TuiMonthRange;
|
|
38
38
|
}());
|
|
39
39
|
export { TuiMonthRange };
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtcmFuZ2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbIm1vbnRoLXJhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHakQ7O0dBRUc7QUFDSDtJQUNJLHVCQUFxQixJQUFjLEVBQVcsRUFBWTtRQUFyQyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQVcsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUN0RCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxrQkFBSSxHQUFYLFVBQVksTUFBZ0IsRUFBRSxNQUFnQjtRQUMxQyxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7WUFDbkMsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsc0JBQUksd0NBQWE7YUFBakI7WUFDSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDhDQUFtQjthQUF2QjtZQUNJLE9BQU8sS0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWdCLENBQUM7UUFDekYsQ0FBQzs7O09BQUE7SUFFRCxpQ0FBUyxHQUFULFVBQVUsT0FBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxnQ0FBUSxHQUFSO1FBQ0ksT0FBTyxLQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUksQ0FBQztJQUMzRCxDQUFDO0lBQ0wsb0JBQUM7QUFBRCxDQUFDLEFBMUJELElBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5cbmltcG9ydCB7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpTW9udGh9IGZyb20gJy4vbW9udGgnO1xuXG4vKipcbiAqIEFuIGltbXV0YWJsZSByYW5nZSBvZiB0d28ge0BsaW5rIFR1aU1vbnRofSBvYmplY3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlNb250aFJhbmdlIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBmcm9tOiBUdWlNb250aCwgcmVhZG9ubHkgdG86IFR1aU1vbnRoKSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoZnJvbS5tb250aFNhbWVPckJlZm9yZSh0bykpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzb3J0KG1vbnRoMTogVHVpTW9udGgsIG1vbnRoMjogVHVpTW9udGgpOiBUdWlNb250aFJhbmdlIHtcbiAgICAgICAgcmV0dXJuIG1vbnRoMS5tb250aFNhbWVPckJlZm9yZShtb250aDIpXG4gICAgICAgICAgICA/IG5ldyBUdWlNb250aFJhbmdlKG1vbnRoMSwgbW9udGgyKVxuICAgICAgICAgICAgOiBuZXcgVHVpTW9udGhSYW5nZShtb250aDIsIG1vbnRoMSk7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2luZ2xlTW9udGgoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZyb20ubW9udGhTYW1lKHRoaXMudG8pO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRNb250aFJhbmdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZyb20uZm9ybWF0dGVkTW9udGh9JHtSQU5HRV9TRVBBUkFUT1JfQ0hBUn0ke3RoaXMudG8uZm9ybWF0dGVkTW9udGh9YDtcbiAgICB9XG5cbiAgICBtb250aFNhbWUoYW5vdGhlcjogVHVpTW9udGhSYW5nZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mcm9tLm1vbnRoU2FtZShhbm90aGVyLmZyb20pICYmIHRoaXMudG8ubW9udGhTYW1lKGFub3RoZXIudG8pO1xuICAgIH1cblxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZyb219JHtSQU5HRV9TRVBBUkFUT1JfQ0hBUn0ke3RoaXMudG99YDtcbiAgICB9XG59XG4iXX0=
|
package/esm5/date-time/month.js
CHANGED
|
@@ -19,6 +19,61 @@ var TuiMonth = /** @class */ (function (_super) {
|
|
|
19
19
|
tuiAssert.assert(TuiMonth.isValidMonth(year, month));
|
|
20
20
|
return _this;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Tests month and year for validity
|
|
24
|
+
*/
|
|
25
|
+
TuiMonth.isValidMonth = function (year, month) {
|
|
26
|
+
return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Returns number of days in a month
|
|
30
|
+
*/
|
|
31
|
+
TuiMonth.getMonthDaysCount = function (month, isLeapYear) {
|
|
32
|
+
tuiAssert.assert(TuiMonth.isValidMonthPart(month));
|
|
33
|
+
switch (month) {
|
|
34
|
+
case 1 /* February */:
|
|
35
|
+
return isLeapYear ? 29 : 28;
|
|
36
|
+
case 3 /* April */:
|
|
37
|
+
case 5 /* June */:
|
|
38
|
+
case 8 /* September */:
|
|
39
|
+
case 10 /* November */:
|
|
40
|
+
return 30;
|
|
41
|
+
default:
|
|
42
|
+
return 31;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Returns current month and year based on local time zone
|
|
47
|
+
* @nosideeffects
|
|
48
|
+
*/
|
|
49
|
+
TuiMonth.currentLocal = function () {
|
|
50
|
+
var nativeDate = new Date();
|
|
51
|
+
return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Returns current month and year based on UTC
|
|
55
|
+
*/
|
|
56
|
+
TuiMonth.currentUtc = function () {
|
|
57
|
+
var nativeDate = new Date();
|
|
58
|
+
return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());
|
|
59
|
+
};
|
|
60
|
+
TuiMonth.lengthBetween = function (from, to) {
|
|
61
|
+
var absoluteFrom = from.month + from.year * 12;
|
|
62
|
+
var absoluteTo = to.month + to.year * 12;
|
|
63
|
+
return absoluteTo - absoluteFrom;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Normalizes number by clamping it between min and max month
|
|
67
|
+
*/
|
|
68
|
+
TuiMonth.normalizeMonthPart = function (month) {
|
|
69
|
+
return normalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Tests month for validity
|
|
73
|
+
*/
|
|
74
|
+
TuiMonth.isValidMonthPart = function (month) {
|
|
75
|
+
return Number.isInteger(month) && inRange(month, MIN_MONTH, MAX_MONTH + 1);
|
|
76
|
+
};
|
|
22
77
|
Object.defineProperty(TuiMonth.prototype, "formattedMonthPart", {
|
|
23
78
|
get: function () {
|
|
24
79
|
return padStart((this.month + 1).toString(), 2, '0');
|
|
@@ -144,62 +199,7 @@ var TuiMonth = /** @class */ (function (_super) {
|
|
|
144
199
|
TuiMonth.prototype.toUtcNativeDate = function () {
|
|
145
200
|
return new Date(Date.UTC(this.year, this.month));
|
|
146
201
|
};
|
|
147
|
-
/**
|
|
148
|
-
* Tests month and year for validity
|
|
149
|
-
*/
|
|
150
|
-
TuiMonth.isValidMonth = function (year, month) {
|
|
151
|
-
return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);
|
|
152
|
-
};
|
|
153
|
-
/**
|
|
154
|
-
* Returns number of days in a month
|
|
155
|
-
*/
|
|
156
|
-
TuiMonth.getMonthDaysCount = function (month, isLeapYear) {
|
|
157
|
-
tuiAssert.assert(TuiMonth.isValidMonthPart(month));
|
|
158
|
-
switch (month) {
|
|
159
|
-
case 1 /* February */:
|
|
160
|
-
return isLeapYear ? 29 : 28;
|
|
161
|
-
case 3 /* April */:
|
|
162
|
-
case 5 /* June */:
|
|
163
|
-
case 8 /* September */:
|
|
164
|
-
case 10 /* November */:
|
|
165
|
-
return 30;
|
|
166
|
-
default:
|
|
167
|
-
return 31;
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
/**
|
|
171
|
-
* Returns current month and year based on local time zone
|
|
172
|
-
* @nosideeffects
|
|
173
|
-
*/
|
|
174
|
-
TuiMonth.currentLocal = function () {
|
|
175
|
-
var nativeDate = new Date();
|
|
176
|
-
return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Returns current month and year based on UTC
|
|
180
|
-
*/
|
|
181
|
-
TuiMonth.currentUtc = function () {
|
|
182
|
-
var nativeDate = new Date();
|
|
183
|
-
return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());
|
|
184
|
-
};
|
|
185
|
-
TuiMonth.lengthBetween = function (from, to) {
|
|
186
|
-
var absoluteFrom = from.month + from.year * 12;
|
|
187
|
-
var absoluteTo = to.month + to.year * 12;
|
|
188
|
-
return absoluteTo - absoluteFrom;
|
|
189
|
-
};
|
|
190
|
-
/**
|
|
191
|
-
* Normalizes number by clamping it between min and max month
|
|
192
|
-
*/
|
|
193
|
-
TuiMonth.normalizeMonthPart = function (month) {
|
|
194
|
-
return normalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);
|
|
195
|
-
};
|
|
196
|
-
/**
|
|
197
|
-
* Tests month for validity
|
|
198
|
-
*/
|
|
199
|
-
TuiMonth.isValidMonthPart = function (month) {
|
|
200
|
-
return Number.isInteger(month) && inRange(month, MIN_MONTH, MAX_MONTH + 1);
|
|
201
|
-
};
|
|
202
202
|
return TuiMonth;
|
|
203
203
|
}(TuiYear));
|
|
204
204
|
export { TuiMonth };
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbIm1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSDtJQUE4Qiw0QkFBTztJQUNqQzs7O09BR0c7SUFDSCxrQkFBWSxJQUFZLEVBQVcsS0FBYTtRQUFoRCxZQUNJLGtCQUFNLElBQUksQ0FBQyxTQUVkO1FBSGtDLFdBQUssR0FBTCxLQUFLLENBQVE7UUFFNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOztJQUN6RCxDQUFDO0lBRUQsc0JBQUksd0NBQWtCO2FBQXRCO1lBQ0ksT0FBTyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RCxDQUFDOzs7T0FBQTtJQUtELHNCQUFJLG9DQUFjO1FBSGxCOztXQUVHO2FBQ0g7WUFDSSxPQUFVLElBQUksQ0FBQyxrQkFBa0IsU0FBSSxJQUFJLENBQUMsYUFBZSxDQUFDO1FBQzlELENBQUM7OztPQUFBO0lBT0Qsc0JBQUksb0NBQWM7UUFMbEI7Ozs7V0FJRzthQUNIO1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFD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QUFZLEdBQW5CO1FBQ0ksSUFBTSxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUU5QixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVSxHQUFqQjtRQUNJLElBQU0sVUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFOUIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVNLHNCQUFhLEdBQXBCLFVBQXFCLElBQWMsRUFBRSxFQUFZO1FBQzdDLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDakQsSUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUzQyxPQUFPLFVBQVUsR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ2MsMkJBQWtCLEdBQW5DLFVBQW9DLEtBQWE7UUFDN0MsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7T0FFRztJQUNZLHlCQUFnQixHQUEvQixVQUFnQyxLQUFhO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNMLGVBQUM7QUFBRCxDQUFDLEFBaE5ELENBQThCLE9BQU8sR0FnTnBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aU1vbnRoTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2VudW1zJztcbmltcG9ydCB7VHVpTW9udGhMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlLCBub3JtYWxpemVUb0ludE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtEQVlTX0lOX1dFRUssIE1BWF9NT05USCwgTUlOX01PTlRILCBNT05USFNfSU5fWUVBUn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlZZWFyfSBmcm9tICcuL3llYXInO1xuXG4vKipcbiAqIEltbXV0YWJsZSBvYmplY3QgY29uc2lzdGluZyBvZiB5ZWFyIGFuZCBtb250aFxuICovXG5leHBvcnQgY2xhc3MgVHVpTW9udGggZXh0ZW5kcyBUdWlZZWFyIGltcGxlbWVudHMgVHVpTW9udGhMaWtlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0geWVhclxuICAgICAqIEBwYXJhbSBtb250aCAoc3RhcnRpbmcgd2l0aCAwKVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHllYXI6IG51bWJlciwgcmVhZG9ubHkgbW9udGg6IG51bWJlcikge1xuICAgICAgICBzdXBlcih5ZWFyKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlNb250aC5pc1ZhbGlkTW9udGgoeWVhciwgbW9udGgpKTtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkTW9udGhQYXJ0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwYWRTdGFydCgodGhpcy5tb250aCArIDEpLnRvU3RyaW5nKCksIDIsICcwJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRm9ybWF0dGVyIG1vbnRoIGFuZCB5ZWFyXG4gICAgICovXG4gICAgZ2V0IGZvcm1hdHRlZE1vbnRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdHRlZE1vbnRoUGFydH0uJHt0aGlzLmZvcm1hdHRlZFllYXJ9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBET05UIFVTRSBJVCAod2lsbCBiZSBkZWxldGVkIHNvb24pXG4gICAgICpcbiAgICAgKiBDYWxjdWxhdGVzIG51bWJlciBvZiB3ZWVrcyBpbiBhIG1vbnRoIChjb3VudGluZyBub24tZnVsbCB3ZWVrcylcbiAgICAgKi9cbiAgICBnZXQgd2Vla3NSb3dzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCgodGhpcy5tb250aFN0YXJ0RGF5c09mZnNldCArIHRoaXMuZGF5c0NvdW50KSAvIERBWVNfSU5fV0VFSyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBkYXlzIGluIGEgbW9udGhcbiAgICAgKi9cbiAgICBnZXQgZGF5c0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUdWlNb250aC5nZXRNb250aERheXNDb3VudCh0aGlzLm1vbnRoLCB0aGlzLmlzTGVhcFllYXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIENvbXB1dGVzIGRheSBvZiB3ZWVrIG9mZnNldCBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtb250aFxuICAgICAqL1xuICAgIGdldCBtb250aFN0YXJ0RGF5c09mZnNldCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy55ZWFyU3RhcnREYXlzT2Zmc2V0O1xuXG4gICAgICAgIGZvciAobGV0IGN1cnJlbnRNb250aCA9IDA7IGN1cnJlbnRNb250aCA8PSB0aGlzLm1vbnRoIC0gMTsgY3VycmVudE1vbnRoKyspIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBUdWlNb250aC5nZXRNb250aERheXNDb3VudChjdXJyZW50TW9udGgsIHRoaXMuaXNMZWFwWWVhcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0ICUgREFZU19JTl9XRUVLO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgYWZ0ZXIgY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoQmVmb3JlKGFub3RoZXI6IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnllYXJCZWZvcmUoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPCBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgYWZ0ZXIgb3IgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoU2FtZU9yQmVmb3JlKGFub3RoZXI6IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnllYXJCZWZvcmUoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPD0gYW5vdGhlci5tb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICBtb250aFNhbWUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA9PT0gYW5vdGhlci5tb250aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIGVpdGhlciBiZWZvcmUgb3IgZXF1YWwgdG8gY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoU2FtZU9yQWZ0ZXIoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckFmdGVyKGFub3RoZXIpIHx8XG4gICAgICAgICAgICAodGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoID49IGFub3RoZXIubW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBiZWZvcmUgY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoQWZ0ZXIoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckFmdGVyKGFub3RoZXIpIHx8XG4gICAgICAgICAgICAodGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoID4gYW5vdGhlci5tb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBDb25zaWRlciByZW1vdmluZyBgYmFja3dhcmRzYCBvcHRpb25cbiAgICAvKipcbiAgICAgKiBJbW11dGFibHkgYWx0ZXJzIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYnkgcGFzc2VkIG9mZnNldFxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZnNldFxuICAgICAqIEBwYXJhbSBiYWNrd2FyZHMgc2hpZnQgZGF0ZSBiYWNrd2FyZHNcbiAgICAgKiBAcmV0dXJuIG5ldyBtb250aCBhbmQgeWVhciBvYmplY3QgYXMgYSByZXN1bHQgb2Ygb2Zmc2V0dGluZyBjdXJyZW50XG4gICAgICovXG4gICAgYXBwZW5kKHt5ZWFyID0gMCwgbW9udGggPSAwfTogVHVpTW9udGhMaWtlLCBiYWNrd2FyZHM6IGJvb2xlYW4gPSBmYWxzZSk6IFR1aU1vbnRoIHtcbiAgICAgICAgaWYgKGJhY2t3YXJkcykge1xuICAgICAgICAgICAgeWVhciAqPSAtMTtcbiAgICAgICAgICAgIG1vbnRoICo9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG90YWxNb250aHMgPSAodGhpcy55ZWFyICsgeWVhcikgKiBNT05USFNfSU5fWUVBUiArIHRoaXMubW9udGggKyBtb250aDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgTWF0aC5mbG9vcih0b3RhbE1vbnRocyAvIE1PTlRIU19JTl9ZRUFSKSxcbiAgICAgICAgICAgIHRvdGFsTW9udGhzICUgTU9OVEhTX0lOX1lFQVIsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkTW9udGg7XG4gICAgfVxuXG4gICAgdG9KU09OKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtzdXBlci50b0pTT04oKX0tJHt0aGlzLmZvcm1hdHRlZE1vbnRoUGFydH1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgbmF0aXZlIHtAbGluayBEYXRlfSBiYXNlZCBvbiBsb2NhbCB0aW1lIHpvbmVcbiAgICAgKi9cbiAgICB0b0xvY2FsTmF0aXZlRGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMueWVhciwgdGhpcy5tb250aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBuYXRpdmUge0BsaW5rIERhdGV9IGJhc2VkIG9uIFVUQ1xuICAgICAqL1xuICAgIHRvVXRjTmF0aXZlRGF0ZSgpOiBEYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhciwgdGhpcy5tb250aCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRlc3RzIG1vbnRoIGFuZCB5ZWFyIGZvciB2YWxpZGl0eVxuICAgICAqL1xuICAgIHN0YXRpYyBpc1ZhbGlkTW9udGgoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpICYmIFR1aU1vbnRoLmlzVmFsaWRNb250aFBhcnQobW9udGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgbnVtYmVyIG9mIGRheXMgaW4gYSBtb250aFxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNb250aERheXNDb3VudChtb250aDogbnVtYmVyLCBpc0xlYXBZZWFyOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlNb250aC5pc1ZhbGlkTW9udGhQYXJ0KG1vbnRoKSk7XG5cbiAgICAgICAgc3dpdGNoIChtb250aCkge1xuICAgICAgICAgICAgY2FzZSBUdWlNb250aE51bWJlci5GZWJydWFyeTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNMZWFwWWVhciA/IDI5IDogMjg7XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkFwcmlsOlxuICAgICAgICAgICAgY2FzZSBUdWlNb250aE51bWJlci5KdW5lOlxuICAgICAgICAgICAgY2FzZSBUdWlNb250aE51bWJlci5TZXB0ZW1iZXI6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLk5vdmVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiAzMDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIDMxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IG1vbnRoIGFuZCB5ZWFyIGJhc2VkIG9uIGxvY2FsIHRpbWUgem9uZVxuICAgICAqIEBub3NpZGVlZmZlY3RzXG4gICAgICovXG4gICAgc3RhdGljIGN1cnJlbnRMb2NhbCgpOiBUdWlNb250aCB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZURhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpTW9udGgobmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpLCBuYXRpdmVEYXRlLmdldE1vbnRoKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VycmVudCBtb250aCBhbmQgeWVhciBiYXNlZCBvbiBVVENcbiAgICAgKi9cbiAgICBzdGF0aWMgY3VycmVudFV0YygpOiBUdWlNb250aCB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZURhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpTW9udGgobmF0aXZlRGF0ZS5nZXRVVENGdWxsWWVhcigpLCBuYXRpdmVEYXRlLmdldFVUQ01vbnRoKCkpO1xuICAgIH1cblxuICAgIHN0YXRpYyBsZW5ndGhCZXR3ZWVuKGZyb206IFR1aU1vbnRoLCB0bzogVHVpTW9udGgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBhYnNvbHV0ZUZyb20gPSBmcm9tLm1vbnRoICsgZnJvbS55ZWFyICogMTI7XG4gICAgICAgIGNvbnN0IGFic29sdXRlVG8gPSB0by5tb250aCArIHRvLnllYXIgKiAxMjtcblxuICAgICAgICByZXR1cm4gYWJzb2x1dGVUbyAtIGFic29sdXRlRnJvbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIG51bWJlciBieSBjbGFtcGluZyBpdCBiZXR3ZWVuIG1pbiBhbmQgbWF4IG1vbnRoXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBub3JtYWxpemVNb250aFBhcnQobW9udGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVUb0ludE51bWJlcihtb250aCwgTUlOX01PTlRILCBNQVhfTU9OVEgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRlc3RzIG1vbnRoIGZvciB2YWxpZGl0eVxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIGlzVmFsaWRNb250aFBhcnQobW9udGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihtb250aCkgJiYgaW5SYW5nZShtb250aCwgTUlOX01PTlRILCBNQVhfTU9OVEggKyAxKTtcbiAgICB9XG59XG4iXX0=
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbIm1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSDtJQUE4Qiw0QkFBTztJQUNqQzs7O09BR0c7SUFDSCxrQkFBWSxJQUFZLEVBQVcsS0FBYTtRQUFoRCxZQUNJLGtCQUFNLElBQUksQ0FBQyxTQUVkO1FBSGtDLFdBQUssR0FBTCxLQUFLLENBQVE7UUFFNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBWSxHQUFuQixVQUFvQixJQUFZLEVBQUUsS0FBYTtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLDBCQUFpQixHQUF4QixVQUF5QixLQUFhLEVBQUUsVUFBbUI7UUFDdkQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRCxRQUFRLEtBQUssRUFBRTtZQUNYO2dCQUNJLE9BQU8sVUFBVSxDQUFDLENB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O09BTUc7SUFDSCx5QkFBTSxHQUFOLFVBQU8sRUFBbUMsRUFBRSxTQUEwQjtZQUE5RCxZQUFRLEVBQVIsNkJBQVEsRUFBRSxhQUFTLEVBQVQsOEJBQVM7UUFBaUIsMEJBQUEsRUFBQSxpQkFBMEI7UUFDbEUsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDWCxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDZjtRQUVELElBQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFN0UsT0FBTyxJQUFJLFFBQVEsQ0FDZixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsRUFDeEMsV0FBVyxHQUFHLGNBQWMsQ0FDL0IsQ0FBQztJQUNOLENBQUM7SUFFRCwyQkFBUSxHQUFSO1FBQ0ksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCx5QkFBTSxHQUFOO1FBQ0ksT0FBVSxpQkFBTSxNQUFNLFdBQUUsU0FBSSxJQUFJLENBQUMsa0JBQW9CLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0NBQWlCLEdBQWpCO1FBQ0ksT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQ0FBZSxHQUFmO1FBQ0ksT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNMLGVBQUM7QUFBRCxDQUFDLEFBaE5ELENBQThCLE9BQU8sR0FnTnBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aU1vbnRoTnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2VudW1zJztcbmltcG9ydCB7VHVpTW9udGhMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlLCBub3JtYWxpemVUb0ludE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtEQVlTX0lOX1dFRUssIE1BWF9NT05USCwgTUlOX01PTlRILCBNT05USFNfSU5fWUVBUn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlZZWFyfSBmcm9tICcuL3llYXInO1xuXG4vKipcbiAqIEltbXV0YWJsZSBvYmplY3QgY29uc2lzdGluZyBvZiB5ZWFyIGFuZCBtb250aFxuICovXG5leHBvcnQgY2xhc3MgVHVpTW9udGggZXh0ZW5kcyBUdWlZZWFyIGltcGxlbWVudHMgVHVpTW9udGhMaWtlIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0geWVhclxuICAgICAqIEBwYXJhbSBtb250aCAoc3RhcnRpbmcgd2l0aCAwKVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHllYXI6IG51bWJlciwgcmVhZG9ubHkgbW9udGg6IG51bWJlcikge1xuICAgICAgICBzdXBlcih5ZWFyKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlNb250aC5pc1ZhbGlkTW9udGgoeWVhciwgbW9udGgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUZXN0cyBtb250aCBhbmQgeWVhciBmb3IgdmFsaWRpdHlcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNWYWxpZE1vbnRoKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSAmJiBUdWlNb250aC5pc1ZhbGlkTW9udGhQYXJ0KG1vbnRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG51bWJlciBvZiBkYXlzIGluIGEgbW9udGhcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0TW9udGhEYXlzQ291bnQobW9udGg6IG51bWJlciwgaXNMZWFwWWVhcjogYm9vbGVhbik6IG51bWJlciB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpTW9udGguaXNWYWxpZE1vbnRoUGFydChtb250aCkpO1xuXG4gICAgICAgIHN3aXRjaCAobW9udGgpIHtcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuRmVicnVhcnk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzTGVhcFllYXIgPyAyOSA6IDI4O1xuICAgICAgICAgICAgY2FzZSBUdWlNb250aE51bWJlci5BcHJpbDpcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuSnVuZTpcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuU2VwdGVtYmVyOlxuICAgICAgICAgICAgY2FzZSBUdWlNb250aE51bWJlci5Ob3ZlbWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gMzA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAzMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VycmVudCBtb250aCBhbmQgeWVhciBiYXNlZCBvbiBsb2NhbCB0aW1lIHpvbmVcbiAgICAgKiBAbm9zaWRlZWZmZWN0c1xuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50TG9jYWwoKTogVHVpTW9udGgge1xuICAgICAgICBjb25zdCBuYXRpdmVEYXRlID0gbmV3IERhdGUoKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aU1vbnRoKG5hdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSwgbmF0aXZlRGF0ZS5nZXRNb250aCgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYmFzZWQgb24gVVRDXG4gICAgICovXG4gICAgc3RhdGljIGN1cnJlbnRVdGMoKTogVHVpTW9udGgge1xuICAgICAgICBjb25zdCBuYXRpdmVEYXRlID0gbmV3IERhdGUoKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aU1vbnRoKG5hdGl2ZURhdGUuZ2V0VVRDRnVsbFllYXIoKSwgbmF0aXZlRGF0ZS5nZXRVVENNb250aCgpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbGVuZ3RoQmV0d2Vlbihmcm9tOiBUdWlNb250aCwgdG86IFR1aU1vbnRoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgYWJzb2x1dGVGcm9tID0gZnJvbS5tb250aCArIGZyb20ueWVhciAqIDEyO1xuICAgICAgICBjb25zdCBhYnNvbHV0ZVRvID0gdG8ubW9udGggKyB0by55ZWFyICogMTI7XG5cbiAgICAgICAgcmV0dXJuIGFic29sdXRlVG8gLSBhYnNvbHV0ZUZyb207XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTm9ybWFsaXplcyBudW1iZXIgYnkgY2xhbXBpbmcgaXQgYmV0d2VlbiBtaW4gYW5kIG1heCBtb250aFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdGF0aWMgbm9ybWFsaXplTW9udGhQYXJ0KG1vbnRoOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplVG9JbnROdW1iZXIobW9udGgsIE1JTl9NT05USCwgTUFYX01PTlRIKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUZXN0cyBtb250aCBmb3IgdmFsaWRpdHlcbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBpc1ZhbGlkTW9udGhQYXJ0KG1vbnRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIobW9udGgpICYmIGluUmFuZ2UobW9udGgsIE1JTl9NT05USCwgTUFYX01PTlRIICsgMSk7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZE1vbnRoUGFydCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcGFkU3RhcnQoKHRoaXMubW9udGggKyAxKS50b1N0cmluZygpLCAyLCAnMCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdHRlciBtb250aCBhbmQgeWVhclxuICAgICAqL1xuICAgIGdldCBmb3JtYXR0ZWRNb250aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5mb3JtYXR0ZWRNb250aFBhcnR9LiR7dGhpcy5mb3JtYXR0ZWRZZWFyfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogQ2FsY3VsYXRlcyBudW1iZXIgb2Ygd2Vla3MgaW4gYSBtb250aCAoY291bnRpbmcgbm9uLWZ1bGwgd2Vla3MpXG4gICAgICovXG4gICAgZ2V0IHdlZWtzUm93c0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKHRoaXMubW9udGhTdGFydERheXNPZmZzZXQgKyB0aGlzLmRheXNDb3VudCkgLyBEQVlTX0lOX1dFRUspO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZGF5cyBpbiBhIG1vbnRoXG4gICAgICovXG4gICAgZ2V0IGRheXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVHVpTW9udGguZ2V0TW9udGhEYXlzQ291bnQodGhpcy5tb250aCwgdGhpcy5pc0xlYXBZZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBET05UIFVTRSBJVCAod2lsbCBiZSBkZWxldGVkIHNvb24pXG4gICAgICpcbiAgICAgKiBDb21wdXRlcyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgbW9udGhcbiAgICAgKi9cbiAgICBnZXQgbW9udGhTdGFydERheXNPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMueWVhclN0YXJ0RGF5c09mZnNldDtcblxuICAgICAgICBmb3IgKGxldCBjdXJyZW50TW9udGggPSAwOyBjdXJyZW50TW9udGggPD0gdGhpcy5tb250aCAtIDE7IGN1cnJlbnRNb250aCsrKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gVHVpTW9udGguZ2V0TW9udGhEYXlzQ291bnQoY3VycmVudE1vbnRoLCB0aGlzLmlzTGVhcFllYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdCAlIERBWVNfSU5fV0VFSztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICBtb250aEJlZm9yZShhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQmVmb3JlKGFub3RoZXIpIHx8XG4gICAgICAgICAgICAodGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoIDwgYW5vdGhlci5tb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIGFmdGVyIG9yIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICBtb250aFNhbWVPckJlZm9yZShhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQmVmb3JlKGFub3RoZXIpIHx8XG4gICAgICAgICAgICAodGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoIDw9IGFub3RoZXIubW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSB0aGUgc2FtZSBhcyBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lKGFub3RoZXI6IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPT09IGFub3RoZXIubW9udGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBlaXRoZXIgYmVmb3JlIG9yIGVxdWFsIHRvIGN1cnJlbnRcbiAgICAgKi9cbiAgICBtb250aFNhbWVPckFmdGVyKGFub3RoZXI6IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnllYXJBZnRlcihhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA+PSBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgYmVmb3JlIGN1cnJlbnRcbiAgICAgKi9cbiAgICBtb250aEFmdGVyKGFub3RoZXI6IFR1aU1vbnRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnllYXJBZnRlcihhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA+IGFub3RoZXIubW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgcmVtb3ZpbmcgYGJhY2t3YXJkc2Agb3B0aW9uXG4gICAgLyoqXG4gICAgICogSW1tdXRhYmx5IGFsdGVycyBjdXJyZW50IG1vbnRoIGFuZCB5ZWFyIGJ5IHBhc3NlZCBvZmZzZXRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXRcbiAgICAgKiBAcGFyYW0gYmFja3dhcmRzIHNoaWZ0IGRhdGUgYmFja3dhcmRzXG4gICAgICogQHJldHVybiBuZXcgbW9udGggYW5kIHllYXIgb2JqZWN0IGFzIGEgcmVzdWx0IG9mIG9mZnNldHRpbmcgY3VycmVudFxuICAgICAqL1xuICAgIGFwcGVuZCh7eWVhciA9IDAsIG1vbnRoID0gMH06IFR1aU1vbnRoTGlrZSwgYmFja3dhcmRzOiBib29sZWFuID0gZmFsc2UpOiBUdWlNb250aCB7XG4gICAgICAgIGlmIChiYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIHllYXIgKj0gLTE7XG4gICAgICAgICAgICBtb250aCAqPSAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRvdGFsTW9udGhzID0gKHRoaXMueWVhciArIHllYXIpICogTU9OVEhTX0lOX1lFQVIgKyB0aGlzLm1vbnRoICsgbW9udGg7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChcbiAgICAgICAgICAgIE1hdGguZmxvb3IodG90YWxNb250aHMgLyBNT05USFNfSU5fWUVBUiksXG4gICAgICAgICAgICB0b3RhbE1vbnRocyAlIE1PTlRIU19JTl9ZRUFSLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZE1vbnRoO1xuICAgIH1cblxuICAgIHRvSlNPTigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7c3VwZXIudG9KU09OKCl9LSR7dGhpcy5mb3JtYXR0ZWRNb250aFBhcnR9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG5hdGl2ZSB7QGxpbmsgRGF0ZX0gYmFzZWQgb24gbG9jYWwgdGltZSB6b25lXG4gICAgICovXG4gICAgdG9Mb2NhbE5hdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLnllYXIsIHRoaXMubW9udGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgbmF0aXZlIHtAbGluayBEYXRlfSBiYXNlZCBvbiBVVENcbiAgICAgKi9cbiAgICB0b1V0Y05hdGl2ZURhdGUoKTogRGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsIHRoaXMubW9udGgpKTtcbiAgICB9XG59XG4iXX0=
|
package/esm5/date-time/time.js
CHANGED
|
@@ -15,46 +15,6 @@ var TuiTime = /** @class */ (function () {
|
|
|
15
15
|
this.ms = ms;
|
|
16
16
|
tuiAssert.assert(TuiTime.isValidTime(hours, minutes, seconds, ms), 'Time must be real, but got:', hours, minutes, seconds, ms);
|
|
17
17
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Shifts time by hours and minutes
|
|
20
|
-
*/
|
|
21
|
-
TuiTime.prototype.shift = function (_a) {
|
|
22
|
-
var _b = _a.hours, hours = _b === void 0 ? 0 : _b, _c = _a.minutes, minutes = _c === void 0 ? 0 : _c, _d = _a.seconds, seconds = _d === void 0 ? 0 : _d, _e = _a.ms, ms = _e === void 0 ? 0 : _e;
|
|
23
|
-
var newMs = (1000 + this.ms + (ms % 1000)) % 1000;
|
|
24
|
-
var secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);
|
|
25
|
-
var secondsToAdd = secondsInMs + seconds;
|
|
26
|
-
var newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;
|
|
27
|
-
var minutesInSeconds = secondsToAdd < 0
|
|
28
|
-
? Math.ceil(secondsToAdd / 60)
|
|
29
|
-
: Math.floor(secondsToAdd / 60);
|
|
30
|
-
var minutesToAdd = minutesInSeconds + minutes;
|
|
31
|
-
var newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;
|
|
32
|
-
var hoursInMinutes = minutesToAdd < 0
|
|
33
|
-
? Math.ceil(minutesToAdd / 60)
|
|
34
|
-
: Math.floor(minutesToAdd / 60);
|
|
35
|
-
var hoursToAdd = hoursInMinutes + hours;
|
|
36
|
-
var newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;
|
|
37
|
-
return new TuiTime(newHours, newMinutes, newSeconds, newMs);
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Converts TuiTime to string
|
|
41
|
-
*/
|
|
42
|
-
TuiTime.prototype.toString = function (mode) {
|
|
43
|
-
var needAddMs = mode === 'HH:MM:SS.MSS' || (!mode && this.ms > 0);
|
|
44
|
-
var needAddSeconds = needAddMs || mode === 'HH:MM:SS' || (!mode && this.seconds > 0);
|
|
45
|
-
return (this.formatTime(this.hours) + ":" + this.formatTime(this.minutes) +
|
|
46
|
-
("" + (needAddSeconds ? ':' + this.formatTime(this.seconds) : '')) +
|
|
47
|
-
("" + (needAddMs ? '.' + this.formatTime(this.ms, 3) : '')));
|
|
48
|
-
};
|
|
49
|
-
/**
|
|
50
|
-
* Converts TuiTime to milliseconds
|
|
51
|
-
*/
|
|
52
|
-
TuiTime.prototype.toAbsoluteMilliseconds = function () {
|
|
53
|
-
return (this.hours * MILLISECONDS_IN_HOUR +
|
|
54
|
-
this.minutes * MILLISECONDS_IN_MINUTE +
|
|
55
|
-
this.seconds * 1000 +
|
|
56
|
-
this.ms);
|
|
57
|
-
};
|
|
58
18
|
/**
|
|
59
19
|
* Checks if time is valid
|
|
60
20
|
*/
|
|
@@ -113,6 +73,46 @@ var TuiTime = /** @class */ (function () {
|
|
|
113
73
|
TuiTime.fromLocalNativeDate = function (date) {
|
|
114
74
|
return new TuiTime(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
|
|
115
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* Shifts time by hours and minutes
|
|
78
|
+
*/
|
|
79
|
+
TuiTime.prototype.shift = function (_a) {
|
|
80
|
+
var _b = _a.hours, hours = _b === void 0 ? 0 : _b, _c = _a.minutes, minutes = _c === void 0 ? 0 : _c, _d = _a.seconds, seconds = _d === void 0 ? 0 : _d, _e = _a.ms, ms = _e === void 0 ? 0 : _e;
|
|
81
|
+
var newMs = (1000 + this.ms + (ms % 1000)) % 1000;
|
|
82
|
+
var secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);
|
|
83
|
+
var secondsToAdd = secondsInMs + seconds;
|
|
84
|
+
var newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;
|
|
85
|
+
var minutesInSeconds = secondsToAdd < 0
|
|
86
|
+
? Math.ceil(secondsToAdd / 60)
|
|
87
|
+
: Math.floor(secondsToAdd / 60);
|
|
88
|
+
var minutesToAdd = minutesInSeconds + minutes;
|
|
89
|
+
var newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;
|
|
90
|
+
var hoursInMinutes = minutesToAdd < 0
|
|
91
|
+
? Math.ceil(minutesToAdd / 60)
|
|
92
|
+
: Math.floor(minutesToAdd / 60);
|
|
93
|
+
var hoursToAdd = hoursInMinutes + hours;
|
|
94
|
+
var newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;
|
|
95
|
+
return new TuiTime(newHours, newMinutes, newSeconds, newMs);
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Converts TuiTime to string
|
|
99
|
+
*/
|
|
100
|
+
TuiTime.prototype.toString = function (mode) {
|
|
101
|
+
var needAddMs = mode === 'HH:MM:SS.MSS' || (!mode && this.ms > 0);
|
|
102
|
+
var needAddSeconds = needAddMs || mode === 'HH:MM:SS' || (!mode && this.seconds > 0);
|
|
103
|
+
return (this.formatTime(this.hours) + ":" + this.formatTime(this.minutes) +
|
|
104
|
+
("" + (needAddSeconds ? ':' + this.formatTime(this.seconds) : '')) +
|
|
105
|
+
("" + (needAddMs ? '.' + this.formatTime(this.ms, 3) : '')));
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Converts TuiTime to milliseconds
|
|
109
|
+
*/
|
|
110
|
+
TuiTime.prototype.toAbsoluteMilliseconds = function () {
|
|
111
|
+
return (this.hours * MILLISECONDS_IN_HOUR +
|
|
112
|
+
this.minutes * MILLISECONDS_IN_MINUTE +
|
|
113
|
+
this.seconds * 1000 +
|
|
114
|
+
this.ms);
|
|
115
|
+
};
|
|
116
116
|
TuiTime.prototype.formatTime = function (time, digits) {
|
|
117
117
|
if (digits === void 0) { digits = 2; }
|
|
118
118
|
return padStart(time.toString(), digits, '0');
|
|
@@ -120,4 +120,4 @@ var TuiTime = /** @class */ (function () {
|
|
|
120
120
|
return TuiTime;
|
|
121
121
|
}());
|
|
122
122
|
export { TuiTime };
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsidGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRCxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckI7O0dBRUc7QUFDSDtJQUNJLGlCQUNhLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFdkIsU0FBUyxDQUFDLE1BQU0sQ0FDWixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUNoRCw2QkFBNkIsRUFDN0IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBSyxHQUFMLFVBQU0sRUFBMEQ7WUFBekQsYUFBUyxFQUFULDhCQUFTLEVBQUUsZUFBVyxFQUFYLGdDQUFXLEVBQUUsZUFBVyxFQUFYLGdDQUFXLEVBQUUsVUFBTSxFQUFOLDJCQUFNO1FBQzlDLElBQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcs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LEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksMkJBQW1CLEdBQTFCLFVBQTJCLElBQVU7UUFDakMsT0FBTyxJQUFJLE9BQU8sQ0FDZCxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQ2YsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FDekIsQ0FBQztJQUNOLENBQUM7SUFFTyw0QkFBVSxHQUFsQixVQUFtQixJQUFZLEVBQUUsTUFBa0I7UUFBbEIsdUJBQUEsRUFBQSxVQUFrQjtRQUMvQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDTCxjQUFDO0FBQUQsQ0FBQyxBQXJLRCxJQXFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlUaW1lTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpVGltZU1vZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge1xuICAgIEhPVVJTX0lOX0RBWSxcbiAgICBNSUxMSVNFQ09ORFNfSU5fREFZLFxuICAgIE1JTExJU0VDT05EU19JTl9IT1VSLFxuICAgIE1JTExJU0VDT05EU19JTl9NSU5VVEUsXG4gICAgTUlOVVRFU19JTl9IT1VSLFxuICAgIFNFQ09ORFNfSU5fTUlOVVRFLFxufSBmcm9tICcuL2RhdGUtdGltZSc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHRpbWUgb2JqZWN0IHdpdGggaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMgYW5kIG1zXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlUaW1lIGltcGxlbWVudHMgVHVpVGltZUxpa2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBob3VyczogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHJlYWRvbmx5IHNlY29uZHM6IG51bWJlciA9IDAsXG4gICAgICAgIHJlYWRvbmx5IG1zOiBudW1iZXIgPSAwLFxuICAgICkge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgVHVpVGltZS5pc1ZhbGlkVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLFxuICAgICAgICAgICAgJ1RpbWUgbXVzdCBiZSByZWFsLCBidXQgZ290OicsXG4gICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICBzZWNvbmRzLFxuICAgICAgICAgICAgbXMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hpZnRzIHRpbWUgYnkgaG91cnMgYW5kIG1pbnV0ZXNcbiAgICAgKi9cbiAgICBzaGlmdCh7aG91cnMgPSAwLCBtaW51dGVzID0gMCwgc2Vjb25kcyA9IDAsIG1zID0gMH06IFR1aVRpbWVMaWtlKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IG5ld01zID0gKDEwMDAgKyB0aGlzLm1zICsgKG1zICUgMTAwMCkpICUgMTAwMDtcblxuICAgICAgICBjb25zdCBzZWNvbmRzSW5NcyA9IG1zIDwgMCA/IE1hdGguY2VpbChtcyAvIDEwMDApIDogTWF0aC5mbG9vcihtcyAvIDEwMDApO1xuICAgICAgICBjb25zdCBzZWNvbmRzVG9BZGQgPSBzZWNvbmRzSW5NcyArIHNlY29uZHM7XG4gICAgICAgIGNvbnN0IG5ld1NlY29uZHMgPSAoNjAgKyB0aGlzLnNlY29uZHMgKyAoc2Vjb25kc1RvQWRkICUgNjApKSAlIDYwO1xuXG4gICAgICAgIGNvbnN0IG1pbnV0ZXNJblNlY29uZHMgPVxuICAgICAgICAgICAgc2Vjb25kc1RvQWRkIDwgMFxuICAgICAgICAgICAgICAgID8gTWF0aC5jZWlsKHNlY29uZHNUb0FkZCAvIDYwKVxuICAgICAgICAgICAgICAgIDogTWF0aC5mbG9vcihzZWNvbmRzVG9BZGQgLyA2MCk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXNUb0FkZCA9IG1pbnV0ZXNJblNlY29uZHMgKyBtaW51dGVzO1xuICAgICAgICBjb25zdCBuZXdNaW51dGVzID0gKDYwICsgdGhpcy5taW51dGVzICsgKG1pbnV0ZXNUb0FkZCAlIDYwKSkgJSA2MDtcblxuICAgICAgICBjb25zdCBob3Vyc0luTWludXRlcyA9XG4gICAgICAgICAgICBtaW51dGVzVG9BZGQgPCAwXG4gICAgICAgICAgICAgICAgPyBNYXRoLmNlaWwobWludXRlc1RvQWRkIC8gNjApXG4gICAgICAgICAgICAgICAgOiBNYXRoLmZsb29yKG1pbnV0ZXNUb0FkZCAvIDYwKTtcbiAgICAgICAgY29uc3QgaG91cnNUb0FkZCA9IGhvdXJzSW5NaW51dGVzICsgaG91cnM7XG4gICAgICAgIGNvbnN0IG5ld0hvdXJzID0gKDI0ICsgdGhpcy5ob3VycyArIChob3Vyc1RvQWRkICUgMjQpKSAlIDI0O1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShuZXdIb3VycywgbmV3TWludXRlcywgbmV3U2Vjb25kcywgbmV3TXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIFR1aVRpbWUgdG8gc3RyaW5nXG4gICAgICovXG4gICAgdG9TdHJpbmcobW9kZT86IFR1aVRpbWVNb2RlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbmVlZEFkZE1zID0gbW9kZSA9PT0gJ0hIOk1NOlNTLk1TUycgfHwgKCFtb2RlICYmIHRoaXMubXMgPiAwKTtcbiAgICAgICAgY29uc3QgbmVlZEFkZFNlY29uZHMgPVxuICAgICAgICAgICAgbmVlZEFkZE1zIHx8IG1vZGUgPT09ICdISDpNTTpTUycgfHwgKCFtb2RlICYmIHRoaXMuc2Vjb25kcyA+IDApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5ob3Vycyl9OiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMubWludXRlcyl9YCArXG4gICAgICAgICAgICBgJHtuZWVkQWRkU2Vjb25kcyA/ICc6JyArIHRoaXMuZm9ybWF0VGltZSh0aGlzLnNlY29uZHMpIDogJyd9YCArXG4gICAgICAgICAgICBgJHtuZWVkQWRkTXMgPyAnLicgKyB0aGlzLmZvcm1hdFRpbWUodGhpcy5tcywgMykgOiAnJ31gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgVHVpVGltZSB0byBtaWxsaXNlY29uZHNcbiAgICAgKi9cbiAgICB0b0Fic29sdXRlTWlsbGlzZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmhvdXJzICogTUlMTElTRUNPTkRTX0lOX0hPVVIgK1xuICAgICAgICAgICAgdGhpcy5taW51dGVzICogTUlMTElTRUNPTkRTX0lOX01JTlVURSArXG4gICAgICAgICAgICB0aGlzLnNlY29uZHMgKiAxMDAwICtcbiAgICAgICAgICAgIHRoaXMubXNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGltZSBpcyB2YWxpZFxuICAgICAqL1xuICAgIHN0YXRpYyBpc1ZhbGlkVGltZShcbiAgICAgICAgaG91cnM6IG51bWJlcixcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxuICAgICAgICBzZWNvbmRzOiBudW1iZXIgPSAwLFxuICAgICAgICBtczogbnVtYmVyID0gMCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIoaG91cnMpICYmXG4gICAgICAgICAgICBpblJhbmdlKGhvdXJzLCAwLCBIT1VSU19JTl9EQVkpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1pbnV0ZXMpICYmXG4gICAgICAgICAgICBpblJhbmdlKG1pbnV0ZXMsIDAsIE1JTlVURVNfSU5fSE9VUikgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIoc2Vjb25kcykgJiZcbiAgICAgICAgICAgIGluUmFuZ2Uoc2Vjb25kcywgMCwgU0VDT05EU19JTl9NSU5VVEUpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1zKSAmJlxuICAgICAgICAgICAgaW5SYW5nZShtcywgMCwgMTAwMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDdXJyZW50IFVUQyB0aW1lLlxuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50KCk6IFR1aVRpbWUge1xuICAgICAgICByZXR1cm4gVHVpVGltZS5mcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMoRGF0ZS5ub3coKSAlIE1JTExJU0VDT05EU19JTl9EQVkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgdGltZSBpbiBsb2NhbCB0aW1lem9uZVxuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50TG9jYWwoKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhcbiAgICAgICAgICAgIChEYXRlLm5vdygpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogTUlMTElTRUNPTkRTX0lOX01JTlVURSkgJVxuICAgICAgICAgICAgICAgIE1JTExJU0VDT05EU19JTl9EQVksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyBUdWlUaW1lIGZyb20gbWlsbGlzZWNvbmRzXG4gICAgICovXG4gICAgc3RhdGljIGZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhtaWxsaXNlY29uZHM6IG51bWJlcik6IFR1aVRpbWUge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIobWlsbGlzZWNvbmRzKSk7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICBpblJhbmdlKG1pbGxpc2Vjb25kcywgMCwgTUlMTElTRUNPTkRTX0lOX0RBWSksXG4gICAgICAgICAgICBgTWlsbGlzZWNvbmRzIG11c3QgYmUgYmVsb3cgJHtNSUxMSVNFQ09ORFNfSU5fREFZfSAobWlsbGlzZWNvbmRzIGluIGEgZGF5KS5gLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihtaWxsaXNlY29uZHMgLyBNSUxMSVNFQ09ORFNfSU5fSE9VUik7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKFxuICAgICAgICAgICAgKG1pbGxpc2Vjb25kcyAlIE1JTExJU0VDT05EU19JTl9IT1VSKSAvIE1JTExJU0VDT05EU19JTl9NSU5VVEUsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPVxuICAgICAgICAgICAgTWF0aC5mbG9vcihcbiAgICAgICAgICAgICAgICAoKG1pbGxpc2Vjb25kcyAlIE1JTExJU0VDT05EU19JTl9IT1VSKSAlIE1JTExJU0VDT05EU19JTl9NSU5VVEUpIC8gMTAwMCxcbiAgICAgICAgICAgICkgfHwgMDtcbiAgICAgICAgY29uc3QgbXMgPVxuICAgICAgICAgICAgTWF0aC5mbG9vcihcbiAgICAgICAgICAgICAgICAoKG1pbGxpc2Vjb25kcyAlIE1JTExJU0VDT05EU19JTl9IT1VSKSAlIE1JTExJU0VDT05EU19JTl9NSU5VVEUpICUgMTAwMCxcbiAgICAgICAgICAgICkgfHwgMDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJzZXMgc3RyaW5nIGludG8gVHVpVGltZSBvYmplY3RcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbVN0cmluZyh0aW1lOiBzdHJpbmcpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSBOdW1iZXIodGltZS5zbGljZSgwLCAyKSk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBOdW1iZXIodGltZS5zbGljZSgzLCA1KSk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBOdW1iZXIodGltZS5zbGljZSg2LCA4KSkgfHwgMDtcbiAgICAgICAgY29uc3QgbXMgPSBOdW1iZXIodGltZS5zbGljZSg5LCAxMikpIHx8IDA7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgRGF0ZSBvYmplY3QgaW50byBUdWlUaW1lXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlOiBEYXRlKTogVHVpVGltZSB7XG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShcbiAgICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICAgICAgICBkYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VGltZSh0aW1lOiBudW1iZXIsIGRpZ2l0czogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwYWRTdGFydCh0aW1lLnRvU3RyaW5nKCksIGRpZ2l0cywgJzAnKTtcbiAgICB9XG59XG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsidGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRCxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckI7O0dBRUc7QUFDSDtJQUNJLGlCQUNhLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFdkIsU0FBUyxDQUFDLE1BQU0sQ0FDWixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUNoRCw2QkFBNkIsRUFDN0IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUNJLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBRWQsT0FBTyxDQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFL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YUFDOUQsTUFBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxDQUFBLENBQzFELENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCx3Q0FBc0IsR0FBdEI7UUFDSSxPQUFPLENBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxvQkFBb0I7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxzQkFBc0I7WUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJO1lBQ25CLElBQUksQ0FBQyxFQUFFLENBQ1YsQ0FBQztJQUNOLENBQUM7SUFFTyw0QkFBVSxHQUFsQixVQUFtQixJQUFZLEVBQUUsTUFBa0I7UUFBbEIsdUJBQUEsRUFBQSxVQUFrQjtRQUMvQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDTCxjQUFDO0FBQUQsQ0FBQyxBQXJLRCxJQXFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlUaW1lTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpVGltZU1vZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge1xuICAgIEhPVVJTX0lOX0RBWSxcbiAgICBNSUxMSVNFQ09ORFNfSU5fREFZLFxuICAgIE1JTExJU0VDT05EU19JTl9IT1VSLFxuICAgIE1JTExJU0VDT05EU19JTl9NSU5VVEUsXG4gICAgTUlOVVRFU19JTl9IT1VSLFxuICAgIFNFQ09ORFNfSU5fTUlOVVRFLFxufSBmcm9tICcuL2RhdGUtdGltZSc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHRpbWUgb2JqZWN0IHdpdGggaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMgYW5kIG1zXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlUaW1lIGltcGxlbWVudHMgVHVpVGltZUxpa2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBob3VyczogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHJlYWRvbmx5IHNlY29uZHM6IG51bWJlciA9IDAsXG4gICAgICAgIHJlYWRvbmx5IG1zOiBudW1iZXIgPSAwLFxuICAgICkge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgVHVpVGltZS5pc1ZhbGlkVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpLFxuICAgICAgICAgICAgJ1RpbWUgbXVzdCBiZSByZWFsLCBidXQgZ290OicsXG4gICAgICAgICAgICBob3VycyxcbiAgICAgICAgICAgIG1pbnV0ZXMsXG4gICAgICAgICAgICBzZWNvbmRzLFxuICAgICAgICAgICAgbXMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRpbWUgaXMgdmFsaWRcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNWYWxpZFRpbWUoXG4gICAgICAgIGhvdXJzOiBudW1iZXIsXG4gICAgICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICAgICAgc2Vjb25kczogbnVtYmVyID0gMCxcbiAgICAgICAgbXM6IG51bWJlciA9IDAsXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKGhvdXJzKSAmJlxuICAgICAgICAgICAgaW5SYW5nZShob3VycywgMCwgSE9VUlNfSU5fREFZKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihtaW51dGVzKSAmJlxuICAgICAgICAgICAgaW5SYW5nZShtaW51dGVzLCAwLCBNSU5VVEVTX0lOX0hPVVIpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKHNlY29uZHMpICYmXG4gICAgICAgICAgICBpblJhbmdlKHNlY29uZHMsIDAsIFNFQ09ORFNfSU5fTUlOVVRFKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihtcykgJiZcbiAgICAgICAgICAgIGluUmFuZ2UobXMsIDAsIDEwMDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCBVVEMgdGltZS5cbiAgICAgKi9cbiAgICBzdGF0aWMgY3VycmVudCgpOiBUdWlUaW1lIHtcbiAgICAgICAgcmV0dXJuIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKERhdGUubm93KCkgJSBNSUxMSVNFQ09ORFNfSU5fREFZKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDdXJyZW50IHRpbWUgaW4gbG9jYWwgdGltZXpvbmVcbiAgICAgKi9cbiAgICBzdGF0aWMgY3VycmVudExvY2FsKCk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcblxuICAgICAgICByZXR1cm4gVHVpVGltZS5mcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMoXG4gICAgICAgICAgICAoRGF0ZS5ub3coKSAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUpICVcbiAgICAgICAgICAgICAgICBNSUxMSVNFQ09ORFNfSU5fREFZLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZXMgVHVpVGltZSBmcm9tIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHN0YXRpYyBmcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMobWlsbGlzZWNvbmRzOiBudW1iZXIpOiBUdWlUaW1lIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKG1pbGxpc2Vjb25kcykpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgaW5SYW5nZShtaWxsaXNlY29uZHMsIDAsIE1JTExJU0VDT05EU19JTl9EQVkpLFxuICAgICAgICAgICAgYE1pbGxpc2Vjb25kcyBtdXN0IGJlIGJlbG93ICR7TUlMTElTRUNPTkRTX0lOX0RBWX0gKG1pbGxpc2Vjb25kcyBpbiBhIGRheSkuYCxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWlsbGlzZWNvbmRzIC8gTUlMTElTRUNPTkRTX0lOX0hPVVIpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihcbiAgICAgICAgICAgIChtaWxsaXNlY29uZHMgJSBNSUxMSVNFQ09ORFNfSU5fSE9VUikgLyBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzZWNvbmRzID1cbiAgICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICAgICAgKChtaWxsaXNlY29uZHMgJSBNSUxMSVNFQ09ORFNfSU5fSE9VUikgJSBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFKSAvIDEwMDAsXG4gICAgICAgICAgICApIHx8IDA7XG4gICAgICAgIGNvbnN0IG1zID1cbiAgICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICAgICAgKChtaWxsaXNlY29uZHMgJSBNSUxMSVNFQ09ORFNfSU5fSE9VUikgJSBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFKSAlIDEwMDAsXG4gICAgICAgICAgICApIHx8IDA7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFyc2VzIHN0cmluZyBpbnRvIFR1aVRpbWUgb2JqZWN0XG4gICAgICovXG4gICAgc3RhdGljIGZyb21TdHJpbmcodGltZTogc3RyaW5nKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IGhvdXJzID0gTnVtYmVyKHRpbWUuc2xpY2UoMCwgMikpO1xuICAgICAgICBjb25zdCBtaW51dGVzID0gTnVtYmVyKHRpbWUuc2xpY2UoMywgNSkpO1xuICAgICAgICBjb25zdCBzZWNvbmRzID0gTnVtYmVyKHRpbWUuc2xpY2UoNiwgOCkpIHx8IDA7XG4gICAgICAgIGNvbnN0IG1zID0gTnVtYmVyKHRpbWUuc2xpY2UoOSwgMTIpKSB8fCAwO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIERhdGUgb2JqZWN0IGludG8gVHVpVGltZVxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgc3RhdGljIGZyb21Mb2NhbE5hdGl2ZURhdGUoZGF0ZTogRGF0ZSk6IFR1aVRpbWUge1xuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoXG4gICAgICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0U2Vjb25kcygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaGlmdHMgdGltZSBieSBob3VycyBhbmQgbWludXRlc1xuICAgICAqL1xuICAgIHNoaWZ0KHtob3VycyA9IDAsIG1pbnV0ZXMgPSAwLCBzZWNvbmRzID0gMCwgbXMgPSAwfTogVHVpVGltZUxpa2UpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgbmV3TXMgPSAoMTAwMCArIHRoaXMubXMgKyAobXMgJSAxMDAwKSkgJSAxMDAwO1xuXG4gICAgICAgIGNvbnN0IHNlY29uZHNJbk1zID0gbXMgPCAwID8gTWF0aC5jZWlsKG1zIC8gMTAwMCkgOiBNYXRoLmZsb29yKG1zIC8gMTAwMCk7XG4gICAgICAgIGNvbnN0IHNlY29uZHNUb0FkZCA9IHNlY29uZHNJbk1zICsgc2Vjb25kcztcbiAgICAgICAgY29uc3QgbmV3U2Vjb25kcyA9ICg2MCArIHRoaXMuc2Vjb25kcyArIChzZWNvbmRzVG9BZGQgJSA2MCkpICUgNjA7XG5cbiAgICAgICAgY29uc3QgbWludXRlc0luU2Vjb25kcyA9XG4gICAgICAgICAgICBzZWNvbmRzVG9BZGQgPCAwXG4gICAgICAgICAgICAgICAgPyBNYXRoLmNlaWwoc2Vjb25kc1RvQWRkIC8gNjApXG4gICAgICAgICAgICAgICAgOiBNYXRoLmZsb29yKHNlY29uZHNUb0FkZCAvIDYwKTtcbiAgICAgICAgY29uc3QgbWludXRlc1RvQWRkID0gbWludXRlc0luU2Vjb25kcyArIG1pbnV0ZXM7XG4gICAgICAgIGNvbnN0IG5ld01pbnV0ZXMgPSAoNjAgKyB0aGlzLm1pbnV0ZXMgKyAobWludXRlc1RvQWRkICUgNjApKSAlIDYwO1xuXG4gICAgICAgIGNvbnN0IGhvdXJzSW5NaW51dGVzID1cbiAgICAgICAgICAgIG1pbnV0ZXNUb0FkZCA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGguY2VpbChtaW51dGVzVG9BZGQgLyA2MClcbiAgICAgICAgICAgICAgICA6IE1hdGguZmxvb3IobWludXRlc1RvQWRkIC8gNjApO1xuICAgICAgICBjb25zdCBob3Vyc1RvQWRkID0gaG91cnNJbk1pbnV0ZXMgKyBob3VycztcbiAgICAgICAgY29uc3QgbmV3SG91cnMgPSAoMjQgKyB0aGlzLmhvdXJzICsgKGhvdXJzVG9BZGQgJSAyNCkpICUgMjQ7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKG5ld0hvdXJzLCBuZXdNaW51dGVzLCBuZXdTZWNvbmRzLCBuZXdNcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgVHVpVGltZSB0byBzdHJpbmdcbiAgICAgKi9cbiAgICB0b1N0cmluZyhtb2RlPzogVHVpVGltZU1vZGUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBuZWVkQWRkTXMgPSBtb2RlID09PSAnSEg6TU06U1MuTVNTJyB8fCAoIW1vZGUgJiYgdGhpcy5tcyA+IDApO1xuICAgICAgICBjb25zdCBuZWVkQWRkU2Vjb25kcyA9XG4gICAgICAgICAgICBuZWVkQWRkTXMgfHwgbW9kZSA9PT0gJ0hIOk1NOlNTJyB8fCAoIW1vZGUgJiYgdGhpcy5zZWNvbmRzID4gMCk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGAke3RoaXMuZm9ybWF0VGltZSh0aGlzLmhvdXJzKX06JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5taW51dGVzKX1gICtcbiAgICAgICAgICAgIGAke25lZWRBZGRTZWNvbmRzID8gJzonICsgdGhpcy5mb3JtYXRUaW1lKHRoaXMuc2Vjb25kcykgOiAnJ31gICtcbiAgICAgICAgICAgIGAke25lZWRBZGRNcyA/ICcuJyArIHRoaXMuZm9ybWF0VGltZSh0aGlzLm1zLCAzKSA6ICcnfWBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBUdWlUaW1lIHRvIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaG91cnMgKiBNSUxMSVNFQ09ORFNfSU5fSE9VUiArXG4gICAgICAgICAgICB0aGlzLm1pbnV0ZXMgKiBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFICtcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kcyAqIDEwMDAgK1xuICAgICAgICAgICAgdGhpcy5tc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VGltZSh0aW1lOiBudW1iZXIsIGRpZ2l0czogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwYWRTdGFydCh0aW1lLnRvU3RyaW5nKCksIGRpZ2l0cywgJzAnKTtcbiAgICB9XG59XG4iXX0=
|
package/esm5/date-time/year.js
CHANGED
|
@@ -11,6 +11,54 @@ var TuiYear = /** @class */ (function () {
|
|
|
11
11
|
this.year = year;
|
|
12
12
|
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Checks year for validity
|
|
16
|
+
*/
|
|
17
|
+
TuiYear.isValidYear = function (year) {
|
|
18
|
+
return Number.isInteger(year) && inRange(year, MIN_YEAR, MAX_YEAR + 1);
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Check if passed year is a leap year
|
|
22
|
+
*/
|
|
23
|
+
TuiYear.isLeapYear = function (year) {
|
|
24
|
+
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
25
|
+
return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Returns amount of leap years from year 0 to the passed one
|
|
29
|
+
*/
|
|
30
|
+
TuiYear.getAbsoluteLeapYears = function (year) {
|
|
31
|
+
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
32
|
+
return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated DONT USE IT (will be deleted soon)
|
|
36
|
+
*
|
|
37
|
+
* Returns day of week offset of the beginning of the passed year
|
|
38
|
+
*
|
|
39
|
+
* @param year
|
|
40
|
+
* @param absoluteLeapYears amount of leap years prior to the passed one
|
|
41
|
+
* @return offset in days
|
|
42
|
+
*/
|
|
43
|
+
TuiYear.getYearStartDaysOffset = function (year, absoluteLeapYears) {
|
|
44
|
+
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
45
|
+
tuiAssert.assert(Number.isInteger(absoluteLeapYears));
|
|
46
|
+
tuiAssert.assert(year >= absoluteLeapYears);
|
|
47
|
+
tuiAssert.assert(absoluteLeapYears >= 0);
|
|
48
|
+
return ((absoluteLeapYears * DAYS_IN_LEAP_YEAR +
|
|
49
|
+
(year - absoluteLeapYears) * DAYS_IN_NORMAL_YEAR +
|
|
50
|
+
5) %
|
|
51
|
+
DAYS_IN_WEEK);
|
|
52
|
+
};
|
|
53
|
+
TuiYear.lengthBetween = function (from, to) {
|
|
54
|
+
return to.year - from.year;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Normalizes year by clamping it between min and max years
|
|
58
|
+
*/
|
|
59
|
+
TuiYear.normalizeYearPart = function (year) {
|
|
60
|
+
return normalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);
|
|
61
|
+
};
|
|
14
62
|
Object.defineProperty(TuiYear.prototype, "formattedYear", {
|
|
15
63
|
get: function () {
|
|
16
64
|
return padStart(this.year.toString(), 4, '0');
|
|
@@ -103,55 +151,7 @@ var TuiYear = /** @class */ (function () {
|
|
|
103
151
|
TuiYear.prototype.toJSON = function () {
|
|
104
152
|
return this.formattedYear;
|
|
105
153
|
};
|
|
106
|
-
/**
|
|
107
|
-
* Checks year for validity
|
|
108
|
-
*/
|
|
109
|
-
TuiYear.isValidYear = function (year) {
|
|
110
|
-
return Number.isInteger(year) && inRange(year, MIN_YEAR, MAX_YEAR + 1);
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Check if passed year is a leap year
|
|
114
|
-
*/
|
|
115
|
-
TuiYear.isLeapYear = function (year) {
|
|
116
|
-
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
117
|
-
return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);
|
|
118
|
-
};
|
|
119
|
-
/**
|
|
120
|
-
* Returns amount of leap years from year 0 to the passed one
|
|
121
|
-
*/
|
|
122
|
-
TuiYear.getAbsoluteLeapYears = function (year) {
|
|
123
|
-
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
124
|
-
return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* @deprecated DONT USE IT (will be deleted soon)
|
|
128
|
-
*
|
|
129
|
-
* Returns day of week offset of the beginning of the passed year
|
|
130
|
-
*
|
|
131
|
-
* @param year
|
|
132
|
-
* @param absoluteLeapYears amount of leap years prior to the passed one
|
|
133
|
-
* @return offset in days
|
|
134
|
-
*/
|
|
135
|
-
TuiYear.getYearStartDaysOffset = function (year, absoluteLeapYears) {
|
|
136
|
-
tuiAssert.assert(TuiYear.isValidYear(year));
|
|
137
|
-
tuiAssert.assert(Number.isInteger(absoluteLeapYears));
|
|
138
|
-
tuiAssert.assert(year >= absoluteLeapYears);
|
|
139
|
-
tuiAssert.assert(absoluteLeapYears >= 0);
|
|
140
|
-
return ((absoluteLeapYears * DAYS_IN_LEAP_YEAR +
|
|
141
|
-
(year - absoluteLeapYears) * DAYS_IN_NORMAL_YEAR +
|
|
142
|
-
5) %
|
|
143
|
-
DAYS_IN_WEEK);
|
|
144
|
-
};
|
|
145
|
-
TuiYear.lengthBetween = function (from, to) {
|
|
146
|
-
return to.year - from.year;
|
|
147
|
-
};
|
|
148
|
-
/**
|
|
149
|
-
* Normalizes year by clamping it between min and max years
|
|
150
|
-
*/
|
|
151
|
-
TuiYear.normalizeYearPart = function (year) {
|
|
152
|
-
return normalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);
|
|
153
|
-
};
|
|
154
154
|
return TuiYear;
|
|
155
155
|
}());
|
|
156
156
|
export { TuiYear };
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSDtJQUNJLGlCQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQUksa0NBQWE7YUFBakI7WUFDSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNsRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLCtCQUFVO2FBQWQ7WUFDSSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7OztPQUFBO0lBS0Qsc0JBQUksc0NBQWlCO1FBSHJCOztXQUVHO2FBQ0g7WUFDSSxPQUFPLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkQsQ0FBQzs7O09BQUE7SUFPRCxzQkFBSSx3Q0FBbUI7UUFMdkI7Ozs7V0FJRzthQUNIO1lBQ0ksT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RSxDQUFDOzs7T0FBQTtJQUVEOztPQUVHO0lBQ0gsNEJBQVUsR0FBVixVQUFXLEVBQWU7WUFBZCxjQUFJO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQ0FBZ0IsR0FBaEIsVUFBaUIsRUFBZTtZQUFkLGNBQUk7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCwwQkFBUSxHQUFSLFVBQVMsRUFBZTtZQUFkLGNBQUk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILGlDQUFlLEdBQWYsVUFBZ0IsRUFBZTtZQUFkLGNBQUk7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBUyxHQUFULFVBQVUsRUFBZTtZQUFkLGNBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0M7O09BRUc7SUFDSCx3QkFBTSxHQUFOLFVBQU8sRUFBdUIsRUFBRSxTQUEwQjtZQUFsRCxZQUFRLEVBQVIsNkJBQVE7UUFBZ0IsMEJBQUEsRUFBQSxpQkFBMEI7UUFDdEQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFekMsSUFBSSxTQUFTLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDZDtRQUVELElBQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRXBDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRWxELE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUFRLEdBQVI7UUFDSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELHdCQUFNLEdBQU47UUFDSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQVcsR0FBbEIsVUFBbUIsSUFBWTtRQUMzQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFVLEdBQWpCLFVBQWtCLElBQVk7UUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNEJBQW9CLEdBQTNCLFVBQTRCLElBQVk7UUFDcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksOEJBQXNCLEdBQTdCLFVBQThCLElBQVksRUFBRSxpQkFBeUI7UUFDakUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFekMsT0FBTyxDQUNILENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCO1lBQ2xDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsbUJBQW1CO1lBQ2hELENBQUMsQ0FBQztZQUNOLFlBQVksQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVNLHFCQUFhLEdBQXBCLFVBQXFCLElBQWEsRUFBRSxFQUFXO1FBQzNDLE9BQU8sRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNjLHlCQUFpQixHQUFsQyxVQUFtQyxJQUFZO1FBQzNDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0wsY0FBQztBQUFELENBQUMsQUFwSkQsSUFvSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpWWVhckxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge3BhZFN0YXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge2luUmFuZ2UsIG5vcm1hbGl6ZVRvSW50TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge1xuICAgIERBWVNfSU5fTEVBUF9ZRUFSLFxuICAgIERBWVNfSU5fTk9STUFMX1lFQVIsXG4gICAgREFZU19JTl9XRUVLLFxuICAgIE1BWF9ZRUFSLFxuICAgIE1JTl9ZRUFSLFxufSBmcm9tICcuL2RhdGUtdGltZSc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHllYXIgb2JqZWN0XG4gKiBAbm9zaWRlZWZmZWN0c1xuICovXG5leHBvcnQgY2xhc3MgVHVpWWVhciBpbXBsZW1lbnRzIFR1aVllYXJMaWtlIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSB5ZWFyOiBudW1iZXIpIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkWWVhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcGFkU3RhcnQodGhpcy55ZWFyLnRvU3RyaW5nKCksIDQsICcwJyk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTGVhcFllYXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmlzTGVhcFllYXIodGhpcy55ZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFtb3VudCBvZiBsZWFwIHllYXJzIGZyb20geWVhciAwIHRvIGN1cnJlbnRcbiAgICAgKi9cbiAgICBnZXQgYWJzb2x1dGVMZWFwWWVhcnMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0QWJzb2x1dGVMZWFwWWVhcnModGhpcy55ZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBET05UIFVTRSBJVCAod2lsbCBiZSBkZWxldGVkIHNvb24pXG4gICAgICpcbiAgICAgKiBSZXR1cm5zIGRheSBvZiB3ZWVrIG9mZnNldCBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IHllYXJcbiAgICAgKi9cbiAgICBnZXQgeWVhclN0YXJ0RGF5c09mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5nZXRZZWFyU3RhcnREYXlzT2Zmc2V0KHRoaXMueWVhciwgdGhpcy5hYnNvbHV0ZUxlYXBZZWFycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYWZ0ZXIgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJCZWZvcmUoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPCB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIG9yIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZU9yQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDw9IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJTYW1lKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID09PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGVpdGhlciB0aGUgc2FtZSBvZiBiZWZvcmUgdGhlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZU9yQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPj0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBiZWZvcmUgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJBZnRlcih7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA+IHllYXI7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgcmVtb3ZpbmcgYGJhY2t3YXJkc2Agb3B0aW9uXG4gICAgLyoqXG4gICAgICogSW1tdXRhYmx5IG9mZnNldHMgeWVhclxuICAgICAqL1xuICAgIGFwcGVuZCh7eWVhciA9IDB9OiBUdWlZZWFyTGlrZSwgYmFja3dhcmRzOiBib29sZWFuID0gZmFsc2UpOiBUdWlZZWFyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHllYXIpKTtcblxuICAgICAgICBpZiAoYmFja3dhcmRzKSB7XG4gICAgICAgICAgICB5ZWFyICo9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0WWVhciA9IHRoaXMueWVhciArIHllYXI7XG5cbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHJlc3VsdFllYXIpKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVllYXIocmVzdWx0WWVhcik7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkWWVhcjtcbiAgICB9XG5cbiAgICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkWWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgeWVhciBmb3IgdmFsaWRpdHlcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNWYWxpZFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHllYXIpICYmIGluUmFuZ2UoeWVhciwgTUlOX1lFQVIsIE1BWF9ZRUFSICsgMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgcGFzc2VkIHllYXIgaXMgYSBsZWFwIHllYXJcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNMZWFwWWVhcih5ZWFyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4geWVhciAlIDQwMCA9PT0gMCB8fCAoeWVhciAlIDQgPT09IDAgJiYgeWVhciAlIDEwMCAhPT0gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRBYnNvbHV0ZUxlYXBZZWFycyh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoeWVhciAvIDQwMCkgKyAoTWF0aC5jZWlsKHllYXIgLyA0KSAtIE1hdGguY2VpbCh5ZWFyIC8gMTAwKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgcGFzc2VkIHllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB5ZWFyXG4gICAgICogQHBhcmFtIGFic29sdXRlTGVhcFllYXJzIGFtb3VudCBvZiBsZWFwIHllYXJzIHByaW9yIHRvIHRoZSBwYXNzZWQgb25lXG4gICAgICogQHJldHVybiBvZmZzZXQgaW4gZGF5c1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRZZWFyU3RhcnREYXlzT2Zmc2V0KHllYXI6IG51bWJlciwgYWJzb2x1dGVMZWFwWWVhcnM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihhYnNvbHV0ZUxlYXBZZWFycykpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KHllYXIgPj0gYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KGFic29sdXRlTGVhcFllYXJzID49IDApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoYWJzb2x1dGVMZWFwWWVhcnMgKiBEQVlTX0lOX0xFQVBfWUVBUiArXG4gICAgICAgICAgICAgICAgKHllYXIgLSBhYnNvbHV0ZUxlYXBZZWFycykgKiBEQVlTX0lOX05PUk1BTF9ZRUFSICtcbiAgICAgICAgICAgICAgICA1KSAlXG4gICAgICAgICAgICBEQVlTX0lOX1dFRUtcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbGVuZ3RoQmV0d2Vlbihmcm9tOiBUdWlZZWFyLCB0bzogVHVpWWVhcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0by55ZWFyIC0gZnJvbS55ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZXMgeWVhciBieSBjbGFtcGluZyBpdCBiZXR3ZWVuIG1pbiBhbmQgbWF4IHllYXJzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBub3JtYWxpemVZZWFyUGFydCh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplVG9JbnROdW1iZXIoeWVhciwgTUlOX1lFQVIsIE1BWF9ZRUFSKTtcbiAgICB9XG59XG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSDtJQUNJLGlCQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUFtQixJQUFZO1FBQzNCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0ksa0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1QyxPQUFPLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSw0QkFBb0IsR0FBM0IsVUFBNEIsSUFB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QUksR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELDZDQUE2QztJQUM3Qzs7T0FFRztJQUNILHdCQUFNLEdBQU4sVUFBTyxFQUF1QixFQUFFLFNBQTBCO1lBQWxELFlBQVEsRUFBUiw2QkFBUTtRQUFnQiwwQkFBQSxFQUFBLGlCQUEwQjtRQUN0RCxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNkO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMEJBQVEsR0FBUjtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsd0JBQU0sR0FBTjtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBQ0wsY0FBQztBQUFELENBQUMsQUFwSkQsSUFvSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpWWVhckxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge3BhZFN0YXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge2luUmFuZ2UsIG5vcm1hbGl6ZVRvSW50TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge1xuICAgIERBWVNfSU5fTEVBUF9ZRUFSLFxuICAgIERBWVNfSU5fTk9STUFMX1lFQVIsXG4gICAgREFZU19JTl9XRUVLLFxuICAgIE1BWF9ZRUFSLFxuICAgIE1JTl9ZRUFSLFxufSBmcm9tICcuL2RhdGUtdGltZSc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHllYXIgb2JqZWN0XG4gKiBAbm9zaWRlZWZmZWN0c1xuICovXG5leHBvcnQgY2xhc3MgVHVpWWVhciBpbXBsZW1lbnRzIFR1aVllYXJMaWtlIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSB5ZWFyOiBudW1iZXIpIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgeWVhciBmb3IgdmFsaWRpdHlcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNWYWxpZFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHllYXIpICYmIGluUmFuZ2UoeWVhciwgTUlOX1lFQVIsIE1BWF9ZRUFSICsgMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgcGFzc2VkIHllYXIgaXMgYSBsZWFwIHllYXJcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNMZWFwWWVhcih5ZWFyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4geWVhciAlIDQwMCA9PT0gMCB8fCAoeWVhciAlIDQgPT09IDAgJiYgeWVhciAlIDEwMCAhPT0gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRBYnNvbHV0ZUxlYXBZZWFycyh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoeWVhciAvIDQwMCkgKyAoTWF0aC5jZWlsKHllYXIgLyA0KSAtIE1hdGguY2VpbCh5ZWFyIC8gMTAwKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgcGFzc2VkIHllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB5ZWFyXG4gICAgICogQHBhcmFtIGFic29sdXRlTGVhcFllYXJzIGFtb3VudCBvZiBsZWFwIHllYXJzIHByaW9yIHRvIHRoZSBwYXNzZWQgb25lXG4gICAgICogQHJldHVybiBvZmZzZXQgaW4gZGF5c1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRZZWFyU3RhcnREYXlzT2Zmc2V0KHllYXI6IG51bWJlciwgYWJzb2x1dGVMZWFwWWVhcnM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihhYnNvbHV0ZUxlYXBZZWFycykpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KHllYXIgPj0gYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KGFic29sdXRlTGVhcFllYXJzID49IDApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoYWJzb2x1dGVMZWFwWWVhcnMgKiBEQVlTX0lOX0xFQVBfWUVBUiArXG4gICAgICAgICAgICAgICAgKHllYXIgLSBhYnNvbHV0ZUxlYXBZZWFycykgKiBEQVlTX0lOX05PUk1BTF9ZRUFSICtcbiAgICAgICAgICAgICAgICA1KSAlXG4gICAgICAgICAgICBEQVlTX0lOX1dFRUtcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbGVuZ3RoQmV0d2Vlbihmcm9tOiBUdWlZZWFyLCB0bzogVHVpWWVhcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0by55ZWFyIC0gZnJvbS55ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZXMgeWVhciBieSBjbGFtcGluZyBpdCBiZXR3ZWVuIG1pbiBhbmQgbWF4IHllYXJzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBub3JtYWxpemVZZWFyUGFydCh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplVG9JbnROdW1iZXIoeWVhciwgTUlOX1lFQVIsIE1BWF9ZRUFSKTtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkWWVhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcGFkU3RhcnQodGhpcy55ZWFyLnRvU3RyaW5nKCksIDQsICcwJyk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTGVhcFllYXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmlzTGVhcFllYXIodGhpcy55ZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFtb3VudCBvZiBsZWFwIHllYXJzIGZyb20geWVhciAwIHRvIGN1cnJlbnRcbiAgICAgKi9cbiAgICBnZXQgYWJzb2x1dGVMZWFwWWVhcnMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0QWJzb2x1dGVMZWFwWWVhcnModGhpcy55ZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBET05UIFVTRSBJVCAod2lsbCBiZSBkZWxldGVkIHNvb24pXG4gICAgICpcbiAgICAgKiBSZXR1cm5zIGRheSBvZiB3ZWVrIG9mZnNldCBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IHllYXJcbiAgICAgKi9cbiAgICBnZXQgeWVhclN0YXJ0RGF5c09mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5nZXRZZWFyU3RhcnREYXlzT2Zmc2V0KHRoaXMueWVhciwgdGhpcy5hYnNvbHV0ZUxlYXBZZWFycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYWZ0ZXIgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJCZWZvcmUoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPCB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIG9yIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZU9yQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDw9IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJTYW1lKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID09PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGVpdGhlciB0aGUgc2FtZSBvZiBiZWZvcmUgdGhlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZU9yQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPj0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBiZWZvcmUgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJBZnRlcih7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA+IHllYXI7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgcmVtb3ZpbmcgYGJhY2t3YXJkc2Agb3B0aW9uXG4gICAgLyoqXG4gICAgICogSW1tdXRhYmx5IG9mZnNldHMgeWVhclxuICAgICAqL1xuICAgIGFwcGVuZCh7eWVhciA9IDB9OiBUdWlZZWFyTGlrZSwgYmFja3dhcmRzOiBib29sZWFuID0gZmFsc2UpOiBUdWlZZWFyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHllYXIpKTtcblxuICAgICAgICBpZiAoYmFja3dhcmRzKSB7XG4gICAgICAgICAgICB5ZWFyICo9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0WWVhciA9IHRoaXMueWVhciArIHllYXI7XG5cbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHJlc3VsdFllYXIpKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVllYXIocmVzdWx0WWVhcik7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkWWVhcjtcbiAgICB9XG5cbiAgICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkWWVhcjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __decorate, __param } from "tslib";
|
|
2
|
+
import { Directive, HostListener, Inject, Input } from '@angular/core';
|
|
3
|
+
import { WINDOW } from '@ng-web-apis/common';
|
|
4
|
+
import { tuiDefaultProp } from '@taiga-ui/cdk/decorators';
|
|
5
|
+
import { identity } from 'rxjs';
|
|
6
|
+
// @dynamic
|
|
7
|
+
var TuiCopyProcessorDirective = /** @class */ (function () {
|
|
8
|
+
function TuiCopyProcessorDirective(windowRef) {
|
|
9
|
+
this.windowRef = windowRef;
|
|
10
|
+
this.tuiCopyProcessor = identity;
|
|
11
|
+
}
|
|
12
|
+
TuiCopyProcessorDirective.prototype.onCopy = function (event) {
|
|
13
|
+
var _a;
|
|
14
|
+
var selection = this.windowRef.getSelection();
|
|
15
|
+
if (selection) {
|
|
16
|
+
(_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.setData('text/plain', this.tuiCopyProcessor(String(selection)));
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
TuiCopyProcessorDirective.ctorParameters = function () { return [
|
|
20
|
+
{ type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] }
|
|
21
|
+
]; };
|
|
22
|
+
__decorate([
|
|
23
|
+
Input(),
|
|
24
|
+
tuiDefaultProp()
|
|
25
|
+
], TuiCopyProcessorDirective.prototype, "tuiCopyProcessor", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
HostListener('copy.prevent', ['$event'])
|
|
28
|
+
], TuiCopyProcessorDirective.prototype, "onCopy", null);
|
|
29
|
+
TuiCopyProcessorDirective = __decorate([
|
|
30
|
+
Directive({
|
|
31
|
+
selector: '[tuiCopyProcessor]',
|
|
32
|
+
}),
|
|
33
|
+
__param(0, Inject(WINDOW))
|
|
34
|
+
], TuiCopyProcessorDirective);
|
|
35
|
+
return TuiCopyProcessorDirective;
|
|
36
|
+
}());
|
|
37
|
+
export { TuiCopyProcessorDirective };
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1wcm9jZXNzb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2NvcHktcHJvY2Vzc29yLyIsInNvdXJjZXMiOlsiY29weS1wcm9jZXNzb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixXQUFXO0FBSVg7SUFLSSxtQ0FBNkMsU0FBaUI7UUFBakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUY5RCxxQkFBZ0IsR0FBNkIsUUFBUSxDQUFDO0lBRVcsQ0FBQztJQUdsRSwwQ0FBTSxHQUFOLFVBQU8sS0FBcUI7O1FBQ3hCLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEQsSUFBSSxTQUFTLEVBQUU7WUFDWCxNQUFBLEtBQUssQ0FBQyxhQUFhLDBDQUFFLE9BQU8sQ0FDeEIsWUFBWSxFQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDMUM7U0FDTDtJQUNMLENBQUM7O2dCQVp1RCxNQUFNLHVCQUFqRCxNQUFNLFNBQUMsTUFBTTs7SUFGMUI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7dUVBQ3FDO0lBS3REO1FBREMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzJEQVV4QztJQWpCUSx5QkFBeUI7UUFIckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO1FBTWUsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7T0FMbEIseUJBQXlCLENBa0JyQztJQUFELGdDQUFDO0NBQUEsQUFsQkQsSUFrQkM7U0FsQlkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RlY29yYXRvcnMnO1xuaW1wb3J0IHtUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQ29weVByb2Nlc3Nvcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDb3B5UHJvY2Vzc29yRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdHVpQ29weVByb2Nlc3NvcjogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+ID0gaWRlbnRpdHk7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dSZWY6IFdpbmRvdykge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NvcHkucHJldmVudCcsIFsnJGV2ZW50J10pXG4gICAgb25Db3B5KGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLndpbmRvd1JlZi5nZXRTZWxlY3Rpb24oKTtcblxuICAgICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBldmVudC5jbGlwYm9hcmREYXRhPy5zZXREYXRhKFxuICAgICAgICAgICAgICAgICd0ZXh0L3BsYWluJyxcbiAgICAgICAgICAgICAgICB0aGlzLnR1aUNvcHlQcm9jZXNzb3IoU3RyaW5nKHNlbGVjdGlvbikpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { TuiCopyProcessorDirective } from './copy-processor.directive';
|
|
4
|
+
var TuiCopyProcessorModule = /** @class */ (function () {
|
|
5
|
+
function TuiCopyProcessorModule() {
|
|
6
|
+
}
|
|
7
|
+
TuiCopyProcessorModule = __decorate([
|
|
8
|
+
NgModule({
|
|
9
|
+
declarations: [TuiCopyProcessorDirective],
|
|
10
|
+
exports: [TuiCopyProcessorDirective],
|
|
11
|
+
})
|
|
12
|
+
], TuiCopyProcessorModule);
|
|
13
|
+
return TuiCopyProcessorModule;
|
|
14
|
+
}());
|
|
15
|
+
export { TuiCopyProcessorModule };
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1wcm9jZXNzb3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2NvcHktcHJvY2Vzc29yLyIsInNvdXJjZXMiOlsiY29weS1wcm9jZXNzb3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBTXJFO0lBQUE7SUFBcUMsQ0FBQztJQUF6QixzQkFBc0I7UUFKbEMsUUFBUSxDQUFDO1lBQ04sWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7U0FDdkMsQ0FBQztPQUNXLHNCQUFzQixDQUFHO0lBQUQsNkJBQUM7Q0FBQSxBQUF0QyxJQUFzQztTQUF6QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlDb3B5UHJvY2Vzc29yRGlyZWN0aXZlfSBmcm9tICcuL2NvcHktcHJvY2Vzc29yLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVHVpQ29weVByb2Nlc3NvckRpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aUNvcHlQcm9jZXNzb3JEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDb3B5UHJvY2Vzc29yTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './copy-processor.directive';
|
|
2
|
+
export * from './copy-processor.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY29weS1wcm9jZXNzb3IvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvcHktcHJvY2Vzc29yLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcHktcHJvY2Vzc29yLm1vZHVsZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY2RrLWRpcmVjdGl2ZXMtY29weS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvY29weS1wcm9jZXNzb3IvIiwic291cmNlcyI6WyJ0YWlnYS11aS1jZGstZGlyZWN0aXZlcy1jb3B5LXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -35,4 +35,4 @@ var TuiForDirective = /** @class */ (function () {
|
|
|
35
35
|
return TuiForDirective;
|
|
36
36
|
}());
|
|
37
37
|
export { TuiForDirective };
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb3IvIiwic291cmNlcyI6WyJmb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFLdkI7SUFZSSx5QkFBNkIsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFSbEQsWUFBTyxHQUFxQixFQUFFLENBQUM7SUFRc0IsQ0FBQztJQUV0RCxxQ0FBVyxHQUFYOztRQUNJLE1BQUEsSUFBSSxDQUFDLEdBQUcsMENBQUUsT0FBTyxHQUFHO1FBRXBCLElBQUksT0FBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLE1BQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzRDthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUM7O2dCQVZpQyxnQkFBZ0I7O0lBUmxEO1FBREMsS0FBSyxFQUFFO29EQUN1QjtJQUcvQjtRQURDLEtBQUssRUFBRTtzREFDb0I7SUFHNUI7UUFEQyxLQUFLLEVBQUU7dURBQ3FCO0lBVnBCLGVBQWU7UUFIM0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLDBEQUEwRDtTQUN2RSxDQUFDO09BQ1csZUFBZSxDQXVCM0I7SUFBRCxzQkFBQztDQUFBLEFBdkJELElBdUJDO1NBdkJZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tuZ0Zvcl1bbmdGb3JPZl1bbmdGb3JFbHNlXSxbbmdGb3JdW25nRm9yT2ZdW25nRm9yRW1wdHldJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRm9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHJlZj86IEVtYmVkZGVkVmlld1JlZjx7fT47XG5cbiAgICBASW5wdXQoKVxuICAgIG5nRm9yT2Y6IHVua25vd25bXSB8IG51bGwgPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmdGb3JFbHNlPzogVGVtcGxhdGVSZWY8e30+O1xuXG4gICAgQElucHV0KClcbiAgICBuZ0ZvckVtcHR5PzogVGVtcGxhdGVSZWY8e30+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2Y3I6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgICBuZ09uQ2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5yZWY/LmRlc3Ryb3koKTtcblxuICAgICAgICBpZiAodGhpcy5uZ0Zvck9mPy5sZW5ndGggPT09IDAgJiYgdGhpcy5uZ0ZvckVtcHR5KSB7XG4gICAgICAgICAgICB0aGlzLnJlZiA9IHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5nRm9yRW1wdHkpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLm5nRm9yT2YgJiYgdGhpcy5uZ0ZvckVsc2UpIHtcbiAgICAgICAgICAgIHRoaXMucmVmID0gdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMubmdGb3JFbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|