ngx-auto-logout 1.0.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/README.md +247 -0
- package/dist/README.md +247 -0
- package/dist/bundles/ngx-auto-logout.umd.js +864 -0
- package/dist/bundles/ngx-auto-logout.umd.js.map +1 -0
- package/dist/bundles/ngx-auto-logout.umd.min.js +16 -0
- package/dist/bundles/ngx-auto-logout.umd.min.js.map +1 -0
- package/dist/esm2015/lib/auto-logout.component.js +351 -0
- package/dist/esm2015/lib/auto-logout.module.js +26 -0
- package/dist/esm2015/lib/auto-logout.service.js +384 -0
- package/dist/esm2015/lib/models/auto-logout-config.interface.js +10 -0
- package/dist/esm2015/lib/models/auto-logout-config.token.js +7 -0
- package/dist/esm2015/lib/provide-auto-logout.js +11 -0
- package/dist/esm2015/ngx-auto-logout.js +5 -0
- package/dist/esm2015/public-api.js +10 -0
- package/dist/esm5/lib/auto-logout.component.js +196 -0
- package/dist/esm5/lib/auto-logout.module.js +30 -0
- package/dist/esm5/lib/auto-logout.service.js +391 -0
- package/dist/esm5/lib/models/auto-logout-config.interface.js +10 -0
- package/dist/esm5/lib/models/auto-logout-config.token.js +7 -0
- package/dist/esm5/lib/provide-auto-logout.js +11 -0
- package/dist/esm5/ngx-auto-logout.js +5 -0
- package/dist/esm5/public-api.js +10 -0
- package/dist/fesm2015/ngx-auto-logout.js +787 -0
- package/dist/fesm2015/ngx-auto-logout.js.map +1 -0
- package/dist/fesm5/ngx-auto-logout.js +643 -0
- package/dist/fesm5/ngx-auto-logout.js.map +1 -0
- package/dist/lib/auto-logout.component.d.ts +81 -0
- package/dist/lib/auto-logout.module.d.ts +8 -0
- package/dist/lib/auto-logout.service.d.ts +108 -0
- package/dist/lib/models/auto-logout-config.interface.d.ts +46 -0
- package/dist/lib/models/auto-logout-config.token.d.ts +7 -0
- package/dist/lib/provide-auto-logout.d.ts +6 -0
- package/dist/ngx-auto-logout.d.ts +4 -0
- package/dist/ngx-auto-logout.metadata.json +1 -0
- package/dist/package.json +41 -0
- package/dist/public-api.d.ts +6 -0
- package/package.json +53 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
import { __assign, __decorate } from "tslib";
|
|
2
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, interval } from 'rxjs';
|
|
4
|
+
import { DEFAULT_AUTO_LOGOUT_CONFIG } from './models/auto-logout-config.interface';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Auto logout service
|
|
8
|
+
* Angular 9 compatible: use providedIn: 'root' (official pattern)
|
|
9
|
+
*/
|
|
10
|
+
var AutoLogoutService = /** @class */ (function () {
|
|
11
|
+
/**
|
|
12
|
+
* Constructor
|
|
13
|
+
* Note: Do NOT use @Inject() here, it causes DI errors in Angular 9 VE
|
|
14
|
+
* Config should be passed via startMonitoring() method instead
|
|
15
|
+
*/
|
|
16
|
+
function AutoLogoutService(ngZone) {
|
|
17
|
+
this.ngZone = ngZone;
|
|
18
|
+
// 配置是否已初始化
|
|
19
|
+
this.isConfigInitialized = false;
|
|
20
|
+
// localStorage 键名
|
|
21
|
+
this.LOGIN_TIME_KEY = 'autoLogout_loginTime';
|
|
22
|
+
this.LAST_ACTIVITY_KEY = 'autoLogout_lastActivity';
|
|
23
|
+
this.EXTEND_COUNT_KEY = 'autoLogout_extendCount';
|
|
24
|
+
this.PAUSE_STATE_KEY = 'autoLogout_pauseState';
|
|
25
|
+
this.lastActivityTime = Date.now();
|
|
26
|
+
this.countdownValue = 0;
|
|
27
|
+
this.countdownSubject = new BehaviorSubject(0);
|
|
28
|
+
this.timerSubscription = null;
|
|
29
|
+
this.activityListeners = [];
|
|
30
|
+
this.warningShown = false;
|
|
31
|
+
// 是否启用活动监听
|
|
32
|
+
this.enableActivityTracking = false;
|
|
33
|
+
// 暂停状态
|
|
34
|
+
this.isPaused = false;
|
|
35
|
+
this.pauseStartTime = 0;
|
|
36
|
+
this.pausedRemainingTime = 0;
|
|
37
|
+
// Use default config, will be overridden by startMonitoring()
|
|
38
|
+
this.currentConfig = __assign({}, DEFAULT_AUTO_LOGOUT_CONFIG);
|
|
39
|
+
this.countdownValue = Math.floor(this.currentConfig.timeout);
|
|
40
|
+
this.countdownSubject = new BehaviorSubject(this.countdownValue);
|
|
41
|
+
}
|
|
42
|
+
AutoLogoutService.prototype.getCountdown = function () {
|
|
43
|
+
return this.countdownSubject.asObservable();
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* 启动自动登出监控
|
|
47
|
+
*/
|
|
48
|
+
AutoLogoutService.prototype.startMonitoring = function (config, enableTracking) {
|
|
49
|
+
var _this = this;
|
|
50
|
+
if (enableTracking === void 0) { enableTracking = false; }
|
|
51
|
+
this.stopMonitoring();
|
|
52
|
+
if (config) {
|
|
53
|
+
this.currentConfig = __assign(__assign({}, this.currentConfig), config);
|
|
54
|
+
}
|
|
55
|
+
// 恢复暂停状态
|
|
56
|
+
this.restorePauseState();
|
|
57
|
+
if (this.isPaused) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// 根据模式初始化
|
|
61
|
+
if (this.currentConfig.mode === 'fixed') {
|
|
62
|
+
this.initFixedMode();
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.initIdleMode(enableTracking);
|
|
66
|
+
}
|
|
67
|
+
this.warningShown = false;
|
|
68
|
+
// 启动定时器
|
|
69
|
+
this.ngZone.runOutsideAngular(function () {
|
|
70
|
+
_this.timerSubscription = interval(1000).subscribe(function () {
|
|
71
|
+
_this.updateCountdown();
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* 停止监控
|
|
77
|
+
*/
|
|
78
|
+
AutoLogoutService.prototype.stopMonitoring = function () {
|
|
79
|
+
if (this.timerSubscription) {
|
|
80
|
+
this.timerSubscription.unsubscribe();
|
|
81
|
+
this.timerSubscription = null;
|
|
82
|
+
}
|
|
83
|
+
this.removeActivityListeners();
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* 清除登录时间
|
|
87
|
+
*/
|
|
88
|
+
AutoLogoutService.prototype.clearLoginTime = function () {
|
|
89
|
+
localStorage.removeItem(this.LOGIN_TIME_KEY);
|
|
90
|
+
localStorage.removeItem(this.LAST_ACTIVITY_KEY);
|
|
91
|
+
this.resetExtendCount();
|
|
92
|
+
this.clearPauseState();
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* 延长会话
|
|
96
|
+
*/
|
|
97
|
+
AutoLogoutService.prototype.extendSession = function (extendSeconds) {
|
|
98
|
+
if (extendSeconds === void 0) { extendSeconds = 1800; }
|
|
99
|
+
if (this.isMaxExtendReached()) {
|
|
100
|
+
console.warn('已达到最大延长次数');
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
if (this.currentConfig.mode === 'fixed') {
|
|
104
|
+
this.lastActivityTime -= extendSeconds * 1000;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
this.resetActivityTimer();
|
|
108
|
+
}
|
|
109
|
+
this.incrementExtendCount();
|
|
110
|
+
if (this.currentConfig.onExtended) {
|
|
111
|
+
this.currentConfig.onExtended(extendSeconds);
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* 检查是否可以延长
|
|
117
|
+
*/
|
|
118
|
+
AutoLogoutService.prototype.canExtendSession = function () {
|
|
119
|
+
return !this.isMaxExtendReached() && !this.isPaused;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* 获取剩余可延长次数
|
|
123
|
+
*/
|
|
124
|
+
AutoLogoutService.prototype.getRemainingExtendTimes = function () {
|
|
125
|
+
if (this.currentConfig.maxExtendTimes === -1 || this.currentConfig.maxExtendTimes === undefined) {
|
|
126
|
+
return -1;
|
|
127
|
+
}
|
|
128
|
+
var usedCount = this.getExtendCount();
|
|
129
|
+
return Math.max(0, this.currentConfig.maxExtendTimes - usedCount);
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* 获取最后操作时间显示
|
|
133
|
+
*/
|
|
134
|
+
AutoLogoutService.prototype.getLastActivityDisplay = function () {
|
|
135
|
+
if (this.currentConfig.mode !== 'idle') {
|
|
136
|
+
return '';
|
|
137
|
+
}
|
|
138
|
+
var lastActivity = this.getLastActivityTime();
|
|
139
|
+
if (!lastActivity) {
|
|
140
|
+
return '';
|
|
141
|
+
}
|
|
142
|
+
var minutesAgo = Math.floor((Date.now() - lastActivity) / 60000);
|
|
143
|
+
if (minutesAgo < 1) {
|
|
144
|
+
return '刚刚操作';
|
|
145
|
+
}
|
|
146
|
+
return minutesAgo + "\u5206\u949F\u524D\u64CD\u4F5C";
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* 暂停
|
|
150
|
+
*/
|
|
151
|
+
AutoLogoutService.prototype.pause = function () {
|
|
152
|
+
if (this.isPaused)
|
|
153
|
+
return;
|
|
154
|
+
this.isPaused = true;
|
|
155
|
+
this.pauseStartTime = Date.now();
|
|
156
|
+
this.pausedRemainingTime = this.countdownValue;
|
|
157
|
+
this.stopMonitoring();
|
|
158
|
+
this.savePauseState();
|
|
159
|
+
if (this.currentConfig.onPaused) {
|
|
160
|
+
this.currentConfig.onPaused();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* 恢复
|
|
165
|
+
*/
|
|
166
|
+
AutoLogoutService.prototype.resume = function () {
|
|
167
|
+
if (!this.isPaused)
|
|
168
|
+
return;
|
|
169
|
+
var pauseDuration = Date.now() - this.pauseStartTime;
|
|
170
|
+
if (this.currentConfig.mode === 'fixed') {
|
|
171
|
+
this.lastActivityTime += pauseDuration;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.lastActivityTime += pauseDuration;
|
|
175
|
+
this.setLastActivityTime(this.lastActivityTime);
|
|
176
|
+
}
|
|
177
|
+
this.isPaused = false;
|
|
178
|
+
this.pauseStartTime = 0;
|
|
179
|
+
this.pausedRemainingTime = 0;
|
|
180
|
+
this.clearPauseState();
|
|
181
|
+
this.startMonitoring(this.currentConfig, this.enableActivityTracking);
|
|
182
|
+
if (this.currentConfig.onResumed) {
|
|
183
|
+
this.currentConfig.onResumed();
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* 检查是否暂停
|
|
188
|
+
*/
|
|
189
|
+
AutoLogoutService.prototype.isAutoLogoutPaused = function () {
|
|
190
|
+
return this.isPaused;
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* 格式化倒计时
|
|
194
|
+
*/
|
|
195
|
+
AutoLogoutService.prototype.formatCountdown = function (seconds) {
|
|
196
|
+
var mins = Math.floor(seconds / 60);
|
|
197
|
+
var secs = seconds % 60;
|
|
198
|
+
return mins.toString().padStart(2, '0') + ":" + secs.toString().padStart(2, '0');
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* 判断是否警告状态
|
|
202
|
+
*/
|
|
203
|
+
AutoLogoutService.prototype.isWarningState = function (seconds) {
|
|
204
|
+
var warningTime = this.currentConfig.warningTime || 30;
|
|
205
|
+
return seconds <= warningTime && seconds > 0;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* 判断是否紧急状态(最后10秒)
|
|
209
|
+
*/
|
|
210
|
+
AutoLogoutService.prototype.isUrgentState = function (seconds) {
|
|
211
|
+
return seconds <= 10 && seconds > 0;
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* 获取当前模式
|
|
215
|
+
*/
|
|
216
|
+
AutoLogoutService.prototype.getCurrentMode = function () {
|
|
217
|
+
return this.currentConfig.mode;
|
|
218
|
+
};
|
|
219
|
+
// ==================== 私有方法 ====================
|
|
220
|
+
AutoLogoutService.prototype.initFixedMode = function () {
|
|
221
|
+
var loginTime = this.getLoginTime();
|
|
222
|
+
if (!loginTime) {
|
|
223
|
+
this.setLoginTime(Date.now());
|
|
224
|
+
this.lastActivityTime = Date.now();
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
this.lastActivityTime = loginTime;
|
|
228
|
+
}
|
|
229
|
+
this.updateCountdownValue();
|
|
230
|
+
};
|
|
231
|
+
AutoLogoutService.prototype.initIdleMode = function (enableTracking) {
|
|
232
|
+
this.enableActivityTracking = enableTracking || true;
|
|
233
|
+
var lastActivity = this.getLastActivityTime();
|
|
234
|
+
if (!lastActivity) {
|
|
235
|
+
this.setLastActivityTime(Date.now());
|
|
236
|
+
this.lastActivityTime = Date.now();
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
this.lastActivityTime = lastActivity;
|
|
240
|
+
}
|
|
241
|
+
this.registerActivityListeners();
|
|
242
|
+
this.updateCountdownValue();
|
|
243
|
+
};
|
|
244
|
+
AutoLogoutService.prototype.updateCountdownValue = function () {
|
|
245
|
+
var now = Date.now();
|
|
246
|
+
var elapsed = now - this.lastActivityTime;
|
|
247
|
+
var remaining = Math.max(0, Math.floor((this.currentConfig.timeout * 1000 - elapsed) / 1000));
|
|
248
|
+
this.countdownValue = remaining;
|
|
249
|
+
this.countdownSubject.next(this.countdownValue);
|
|
250
|
+
};
|
|
251
|
+
AutoLogoutService.prototype.updateCountdown = function () {
|
|
252
|
+
var _this = this;
|
|
253
|
+
var now = Date.now();
|
|
254
|
+
var elapsed = now - this.lastActivityTime;
|
|
255
|
+
var remaining = Math.max(0, Math.floor((this.currentConfig.timeout * 1000 - elapsed) / 1000));
|
|
256
|
+
if (remaining !== this.countdownValue) {
|
|
257
|
+
this.countdownValue = remaining;
|
|
258
|
+
this.ngZone.run(function () {
|
|
259
|
+
_this.countdownSubject.next(_this.countdownValue);
|
|
260
|
+
});
|
|
261
|
+
// 警告回调
|
|
262
|
+
var warningTime = this.currentConfig.warningTime || 30;
|
|
263
|
+
if (remaining === warningTime && !this.warningShown) {
|
|
264
|
+
this.warningShown = true;
|
|
265
|
+
if (this.currentConfig.onWarning) {
|
|
266
|
+
this.currentConfig.onWarning(remaining);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// 超时回调
|
|
270
|
+
if (remaining <= 0) {
|
|
271
|
+
this.performAutoLogout();
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
AutoLogoutService.prototype.performAutoLogout = function () {
|
|
276
|
+
this.stopMonitoring();
|
|
277
|
+
this.clearLoginTime();
|
|
278
|
+
if (this.currentConfig.onTimeout) {
|
|
279
|
+
this.currentConfig.onTimeout();
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
// 默认行为:导航到登录页
|
|
283
|
+
// Note: Router navigation removed to avoid DI issues in Angular 9 VE
|
|
284
|
+
// Use onTimeout callback for custom navigation
|
|
285
|
+
console.warn('Auto logout timeout - implement custom navigation via onTimeout callback');
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
AutoLogoutService.prototype.registerActivityListeners = function () {
|
|
289
|
+
var _this = this;
|
|
290
|
+
var events = ['mousedown', 'mousemove', 'keypress', 'scroll', 'touchstart', 'click'];
|
|
291
|
+
events.forEach(function (event) {
|
|
292
|
+
var listener = function () { return _this.resetActivityTimer(); };
|
|
293
|
+
document.addEventListener(event, listener, true);
|
|
294
|
+
_this.activityListeners.push({ event: event, listener: listener });
|
|
295
|
+
});
|
|
296
|
+
};
|
|
297
|
+
AutoLogoutService.prototype.removeActivityListeners = function () {
|
|
298
|
+
this.activityListeners.forEach(function (_a) {
|
|
299
|
+
var event = _a.event, listener = _a.listener;
|
|
300
|
+
document.removeEventListener(event, listener, true);
|
|
301
|
+
});
|
|
302
|
+
this.activityListeners = [];
|
|
303
|
+
};
|
|
304
|
+
AutoLogoutService.prototype.resetActivityTimer = function () {
|
|
305
|
+
if (this.currentConfig.mode === 'idle') {
|
|
306
|
+
this.lastActivityTime = Date.now();
|
|
307
|
+
this.setLastActivityTime(this.lastActivityTime);
|
|
308
|
+
this.updateCountdownValue();
|
|
309
|
+
this.warningShown = false;
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
AutoLogoutService.prototype.isMaxExtendReached = function () {
|
|
313
|
+
if (this.currentConfig.maxExtendTimes === -1 || this.currentConfig.maxExtendTimes === undefined) {
|
|
314
|
+
return false;
|
|
315
|
+
}
|
|
316
|
+
var usedCount = this.getExtendCount();
|
|
317
|
+
return usedCount >= this.currentConfig.maxExtendTimes;
|
|
318
|
+
};
|
|
319
|
+
AutoLogoutService.prototype.getExtendCount = function () {
|
|
320
|
+
var countStr = localStorage.getItem(this.EXTEND_COUNT_KEY);
|
|
321
|
+
return countStr ? parseInt(countStr, 10) : 0;
|
|
322
|
+
};
|
|
323
|
+
AutoLogoutService.prototype.incrementExtendCount = function () {
|
|
324
|
+
var currentCount = this.getExtendCount();
|
|
325
|
+
localStorage.setItem(this.EXTEND_COUNT_KEY, (currentCount + 1).toString());
|
|
326
|
+
};
|
|
327
|
+
AutoLogoutService.prototype.resetExtendCount = function () {
|
|
328
|
+
localStorage.removeItem(this.EXTEND_COUNT_KEY);
|
|
329
|
+
};
|
|
330
|
+
AutoLogoutService.prototype.getLoginTime = function () {
|
|
331
|
+
var timeStr = localStorage.getItem(this.LOGIN_TIME_KEY);
|
|
332
|
+
return timeStr ? parseInt(timeStr, 10) : null;
|
|
333
|
+
};
|
|
334
|
+
AutoLogoutService.prototype.setLoginTime = function (time) {
|
|
335
|
+
localStorage.setItem(this.LOGIN_TIME_KEY, time.toString());
|
|
336
|
+
};
|
|
337
|
+
AutoLogoutService.prototype.getLastActivityTime = function () {
|
|
338
|
+
var timeStr = localStorage.getItem(this.LAST_ACTIVITY_KEY);
|
|
339
|
+
return timeStr ? parseInt(timeStr, 10) : null;
|
|
340
|
+
};
|
|
341
|
+
AutoLogoutService.prototype.setLastActivityTime = function (time) {
|
|
342
|
+
localStorage.setItem(this.LAST_ACTIVITY_KEY, time.toString());
|
|
343
|
+
};
|
|
344
|
+
AutoLogoutService.prototype.savePauseState = function () {
|
|
345
|
+
var state = {
|
|
346
|
+
isPaused: true,
|
|
347
|
+
pauseStartTime: this.pauseStartTime,
|
|
348
|
+
pausedRemainingTime: this.pausedRemainingTime,
|
|
349
|
+
mode: this.currentConfig.mode,
|
|
350
|
+
lastActivityTime: this.lastActivityTime
|
|
351
|
+
};
|
|
352
|
+
localStorage.setItem(this.PAUSE_STATE_KEY, JSON.stringify(state));
|
|
353
|
+
};
|
|
354
|
+
AutoLogoutService.prototype.clearPauseState = function () {
|
|
355
|
+
localStorage.removeItem(this.PAUSE_STATE_KEY);
|
|
356
|
+
};
|
|
357
|
+
AutoLogoutService.prototype.restorePauseState = function () {
|
|
358
|
+
var stateStr = localStorage.getItem(this.PAUSE_STATE_KEY);
|
|
359
|
+
if (!stateStr)
|
|
360
|
+
return;
|
|
361
|
+
try {
|
|
362
|
+
var state = JSON.parse(stateStr);
|
|
363
|
+
if (state.isPaused) {
|
|
364
|
+
this.isPaused = true;
|
|
365
|
+
this.pauseStartTime = state.pauseStartTime;
|
|
366
|
+
this.pausedRemainingTime = state.pausedRemainingTime;
|
|
367
|
+
this.lastActivityTime = state.lastActivityTime;
|
|
368
|
+
this.currentConfig.mode = state.mode;
|
|
369
|
+
if (this.timerSubscription) {
|
|
370
|
+
this.timerSubscription.unsubscribe();
|
|
371
|
+
this.timerSubscription = null;
|
|
372
|
+
}
|
|
373
|
+
this.removeActivityListeners();
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
catch (e) {
|
|
377
|
+
console.error('恢复暂停状态失败:', e);
|
|
378
|
+
this.clearPauseState();
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
AutoLogoutService.ctorParameters = function () { return [
|
|
382
|
+
{ type: NgZone }
|
|
383
|
+
]; };
|
|
384
|
+
AutoLogoutService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AutoLogoutService_Factory() { return new AutoLogoutService(i0.ɵɵinject(i0.NgZone)); }, token: AutoLogoutService, providedIn: "root" });
|
|
385
|
+
AutoLogoutService = __decorate([
|
|
386
|
+
Injectable({ providedIn: 'root' })
|
|
387
|
+
], AutoLogoutService);
|
|
388
|
+
return AutoLogoutService;
|
|
389
|
+
}());
|
|
390
|
+
export { AutoLogoutService };
|
|
391
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sb2dvdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdXRvLWxvZ291dC8iLCJzb3VyY2VzIjpbImxpYi9hdXRvLWxvZ291dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFFBQVEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFvQiwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUVyRzs7O0dBR0c7QUFFSDtJQTRCRTs7OztPQUlHO0lBQ0gsMkJBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBN0JsQyxXQUFXO1FBQ0gsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRXBDLGtCQUFrQjtRQUNELG1CQUFjLEdBQUcsc0JBQXNCLENBQUM7UUFDeEMsc0JBQWlCLEdBQUcseUJBQXlCLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsd0JBQXdCLENBQUM7UUFDNUMsb0JBQWUsR0FBRyx1QkFBdUIsQ0FBQztRQUVuRCxxQkFBZ0IsR0FBVyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0IscUJBQWdCLEdBQTRCLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzNFLHNCQUFpQixHQUF3QixJQUFJLENBQUM7UUFDOUMsc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRXRDLFdBQVc7UUFDSCwyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFFaEQsT0FBTztRQUNDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0Isd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBUXRDLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMs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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgaW50ZXJ2YWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0b0xvZ291dENvbmZpZywgREVGQVVMVF9BVVRPX0xPR09VVF9DT05GSUcgfSBmcm9tICcuL21vZGVscy9hdXRvLWxvZ291dC1jb25maWcuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBBdXRvIGxvZ291dCBzZXJ2aWNlXG4gKiBBbmd1bGFyIDkgY29tcGF0aWJsZTogdXNlIHByb3ZpZGVkSW46ICdyb290JyAob2ZmaWNpYWwgcGF0dGVybilcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBdXRvTG9nb3V0U2VydmljZSB7XG4gIC8vIOW9k+WJjemFjee9rlxuICBwcml2YXRlIGN1cnJlbnRDb25maWc6IEF1dG9Mb2dvdXRDb25maWc7XG5cbiAgLy8g6YWN572u5piv5ZCm5bey5Yid5aeL5YyWXG4gIHByaXZhdGUgaXNDb25maWdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIC8vIGxvY2FsU3RvcmFnZSDplK7lkI1cbiAgcHJpdmF0ZSByZWFkb25seSBMT0dJTl9USU1FX0tFWSA9ICdhdXRvTG9nb3V0X2xvZ2luVGltZSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgTEFTVF9BQ1RJVklUWV9LRVkgPSAnYXV0b0xvZ291dF9sYXN0QWN0aXZpdHknO1xuICBwcml2YXRlIHJlYWRvbmx5IEVYVEVORF9DT1VOVF9LRVkgPSAnYXV0b0xvZ291dF9leHRlbmRDb3VudCc7XG4gIHByaXZhdGUgcmVhZG9ubHkgUEFVU0VfU1RBVEVfS0VZID0gJ2F1dG9Mb2dvdXRfcGF1c2VTdGF0ZSc7XG5cbiAgcHJpdmF0ZSBsYXN0QWN0aXZpdHlUaW1lOiBudW1iZXIgPSBEYXRlLm5vdygpO1xuICBwcml2YXRlIGNvdW50ZG93blZhbHVlOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGNvdW50ZG93blN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhY3Rpdml0eUxpc3RlbmVyczogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSB3YXJuaW5nU2hvd246IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyDmmK/lkKblkK/nlKjmtLvliqjnm5HlkKxcbiAgcHJpdmF0ZSBlbmFibGVBY3Rpdml0eVRyYWNraW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8g5pqC5YGc54q25oCBXG4gIHByaXZhdGUgaXNQYXVzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBwYXVzZVN0YXJ0VGltZTogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBwYXVzZWRSZW1haW5pbmdUaW1lOiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBOb3RlOiBEbyBOT1QgdXNlIEBJbmplY3QoKSBoZXJlLCBpdCBjYXVzZXMgREkgZXJyb3JzIGluIEFuZ3VsYXIgOSBWRVxuICAgKiBDb25maWcgc2hvdWxkIGJlIHBhc3NlZCB2aWEgc3RhcnRNb25pdG9yaW5nKCkgbWV0aG9kIGluc3RlYWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAvLyBVc2UgZGVmYXVsdCBjb25maWcsIHdpbGwgYmUgb3ZlcnJpZGRlbiBieSBzdGFydE1vbml0b3JpbmcoKVxuICAgIHRoaXMuY3VycmVudENvbmZpZyA9IHsgLi4uREVGQVVMVF9BVVRPX0xPR09VVF9DT05GSUcgfTtcbiAgICB0aGlzLmNvdW50ZG93blZhbHVlID0gTWF0aC5mbG9vcih0aGlzLmN1cnJlbnRDb25maWcudGltZW91dCk7XG4gICAgdGhpcy5jb3VudGRvd25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KHRoaXMuY291bnRkb3duVmFsdWUpO1xuICB9XG4gIGdldENvdW50ZG93bigpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmNvdW50ZG93blN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICog5ZCv5Yqo6Ieq5Yqo55m75Ye655uR5o6nXG4gICAqL1xuICBzdGFydE1vbml0b3JpbmcoY29uZmlnPzogUGFydGlhbDxBdXRvTG9nb3V0Q29uZmlnPiwgZW5hYmxlVHJhY2tpbmc6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RvcE1vbml0b3JpbmcoKTtcblxuICAgIGlmIChjb25maWcpIHtcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZyA9IHsgLi4udGhpcy5jdXJyZW50Q29uZmlnLCAuLi5jb25maWcgfTtcbiAgICB9XG5cbiAgICAvLyDmgaLlpI3mmoLlgZznirbmgIFcbiAgICB0aGlzLnJlc3RvcmVQYXVzZVN0YXRlKCk7XG5cbiAgICBpZiAodGhpcy5pc1BhdXNlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIOagueaNruaooeW8j+WIneWni+WMllxuICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcubW9kZSA9PT0gJ2ZpeGVkJykge1xuICAgICAgdGhpcy5pbml0Rml4ZWRNb2RlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdElkbGVNb2RlKGVuYWJsZVRyYWNraW5nKTtcbiAgICB9XG5cbiAgICB0aGlzLndhcm5pbmdTaG93biA9IGZhbHNlO1xuXG4gICAgLy8g5ZCv5Yqo5a6a5pe25ZmoXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbiA9IGludGVydmFsKDEwMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ291bnRkb3duKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlgZzmraLnm5HmjqdcbiAgICovXG4gIHN0b3BNb25pdG9yaW5nKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5yZW1vdmVBY3Rpdml0eUxpc3RlbmVycygpO1xuICB9XG5cbiAgLyoqXG4gICAqIOa4hemZpOeZu+W9leaXtumXtFxuICAgKi9cbiAgY2xlYXJMb2dpblRpbWUoKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5MT0dJTl9USU1FX0tFWSk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5MQVNUX0FDVElWSVRZX0tFWSk7XG4gICAgdGhpcy5yZXNldEV4dGVuZENvdW50KCk7XG4gICAgdGhpcy5jbGVhclBhdXNlU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDlu7bplb/kvJror51cbiAgICovXG4gIGV4dGVuZFNlc3Npb24oZXh0ZW5kU2Vjb25kczogbnVtYmVyID0gMTgwMCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmlzTWF4RXh0ZW5kUmVhY2hlZCgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ+W3sui+vuWIsOacgOWkp+W7tumVv+asoeaVsCcpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcubW9kZSA9PT0gJ2ZpeGVkJykge1xuICAgICAgdGhpcy5sYXN0QWN0aXZpdHlUaW1lIC09IGV4dGVuZFNlY29uZHMgKiAxMDAwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0QWN0aXZpdHlUaW1lcigpO1xuICAgIH1cblxuICAgIHRoaXMuaW5jcmVtZW50RXh0ZW5kQ291bnQoKTtcblxuICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcub25FeHRlbmRlZCkge1xuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9uRXh0ZW5kZWQoZXh0ZW5kU2Vjb25kcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICog5qOA5p+l5piv5ZCm5Y+v5Lul5bu26ZW/XG4gICAqL1xuICBjYW5FeHRlbmRTZXNzaW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc01heEV4dGVuZFJlYWNoZWQoKSAmJiAhdGhpcy5pc1BhdXNlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bliankvZnlj6/lu7bplb/mrKHmlbBcbiAgICovXG4gIGdldFJlbWFpbmluZ0V4dGVuZFRpbWVzKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuY3VycmVudENvbmZpZy5tYXhFeHRlbmRUaW1lcyA9PT0gLTEgfHwgdGhpcy5jdXJyZW50Q29uZmlnLm1heEV4dGVuZFRpbWVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgY29uc3QgdXNlZENvdW50ID0gdGhpcy5nZXRFeHRlbmRDb3VudCgpO1xuICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLmN1cnJlbnRDb25maWcubWF4RXh0ZW5kVGltZXMgLSB1c2VkQ291bnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPluacgOWQjuaTjeS9nOaXtumXtOaYvuekulxuICAgKi9cbiAgZ2V0TGFzdEFjdGl2aXR5RGlzcGxheSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcubW9kZSAhPT0gJ2lkbGUnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEFjdGl2aXR5ID0gdGhpcy5nZXRMYXN0QWN0aXZpdHlUaW1lKCk7XG4gICAgaWYgKCFsYXN0QWN0aXZpdHkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBtaW51dGVzQWdvID0gTWF0aC5mbG9vcigoRGF0ZS5ub3coKSAtIGxhc3RBY3Rpdml0eSkgLyA2MDAwMCk7XG4gICAgaWYgKG1pbnV0ZXNBZ28gPCAxKSB7XG4gICAgICByZXR1cm4gJ+WImuWImuaTjeS9nCc7XG4gICAgfVxuICAgIHJldHVybiBgJHttaW51dGVzQWdvfeWIhumSn+WJjeaTjeS9nGA7XG4gIH1cblxuICAvKipcbiAgICog5pqC5YGcXG4gICAqL1xuICBwYXVzZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1BhdXNlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc1BhdXNlZCA9IHRydWU7XG4gICAgdGhpcy5wYXVzZVN0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgdGhpcy5wYXVzZWRSZW1haW5pbmdUaW1lID0gdGhpcy5jb3VudGRvd25WYWx1ZTtcblxuICAgIHRoaXMuc3RvcE1vbml0b3JpbmcoKTtcbiAgICB0aGlzLnNhdmVQYXVzZVN0YXRlKCk7XG5cbiAgICBpZiAodGhpcy5jdXJyZW50Q29uZmlnLm9uUGF1c2VkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRDb25maWcub25QYXVzZWQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICog5oGi5aSNXG4gICAqL1xuICByZXN1bWUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzUGF1c2VkKSByZXR1cm47XG5cbiAgICBjb25zdCBwYXVzZUR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHRoaXMucGF1c2VTdGFydFRpbWU7XG5cbiAgICBpZiAodGhpcy5jdXJyZW50Q29uZmlnLm1vZGUgPT09ICdmaXhlZCcpIHtcbiAgICAgIHRoaXMubGFzdEFjdGl2aXR5VGltZSArPSBwYXVzZUR1cmF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhc3RBY3Rpdml0eVRpbWUgKz0gcGF1c2VEdXJhdGlvbjtcbiAgICAgIHRoaXMuc2V0TGFzdEFjdGl2aXR5VGltZSh0aGlzLmxhc3RBY3Rpdml0eVRpbWUpO1xuICAgIH1cblxuICAgIHRoaXMuaXNQYXVzZWQgPSBmYWxzZTtcbiAgICB0aGlzLnBhdXNlU3RhcnRUaW1lID0gMDtcbiAgICB0aGlzLnBhdXNlZFJlbWFpbmluZ1RpbWUgPSAwO1xuXG4gICAgdGhpcy5jbGVhclBhdXNlU3RhdGUoKTtcbiAgICB0aGlzLnN0YXJ0TW9uaXRvcmluZyh0aGlzLmN1cnJlbnRDb25maWcsIHRoaXMuZW5hYmxlQWN0aXZpdHlUcmFja2luZyk7XG5cbiAgICBpZiAodGhpcy5jdXJyZW50Q29uZmlnLm9uUmVzdW1lZCkge1xuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9uUmVzdW1lZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmo4Dmn6XmmK/lkKbmmoLlgZxcbiAgICovXG4gIGlzQXV0b0xvZ291dFBhdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BhdXNlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiDmoLzlvI/ljJblgJLorqHml7ZcbiAgICovXG4gIGZvcm1hdENvdW50ZG93bihzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1pbnMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XG4gICAgY29uc3Qgc2VjcyA9IHNlY29uZHMgJSA2MDtcbiAgICByZXR1cm4gYCR7bWlucy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9OiR7c2Vjcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiDliKTmlq3mmK/lkKborablkYrnirbmgIFcbiAgICovXG4gIGlzV2FybmluZ1N0YXRlKHNlY29uZHM6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdhcm5pbmdUaW1lID0gdGhpcy5jdXJyZW50Q29uZmlnLndhcm5pbmdUaW1lIHx8IDMwO1xuICAgIHJldHVybiBzZWNvbmRzIDw9IHdhcm5pbmdUaW1lICYmIHNlY29uZHMgPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIOWIpOaWreaYr+WQpue0p+aApeeKtuaAge+8iOacgOWQjjEw56eS77yJXG4gICAqL1xuICBpc1VyZ2VudFN0YXRlKHNlY29uZHM6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWNvbmRzIDw9IDEwICYmIHNlY29uZHMgPiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPluW9k+WJjeaooeW8j1xuICAgKi9cbiAgZ2V0Q3VycmVudE1vZGUoKTogJ2ZpeGVkJyB8ICdpZGxlJyB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudENvbmZpZy5tb2RlO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT0g56eB5pyJ5pa55rOVID09PT09PT09PT09PT09PT09PT09XG5cbiAgcHJpdmF0ZSBpbml0Rml4ZWRNb2RlKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvZ2luVGltZSA9IHRoaXMuZ2V0TG9naW5UaW1lKCk7XG4gICAgaWYgKCFsb2dpblRpbWUpIHtcbiAgICAgIHRoaXMuc2V0TG9naW5UaW1lKERhdGUubm93KCkpO1xuICAgICAgdGhpcy5sYXN0QWN0aXZpdHlUaW1lID0gRGF0ZS5ub3coKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXN0QWN0aXZpdHlUaW1lID0gbG9naW5UaW1lO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNvdW50ZG93blZhbHVlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRJZGxlTW9kZShlbmFibGVUcmFja2luZzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZW5hYmxlQWN0aXZpdHlUcmFja2luZyA9IGVuYWJsZVRyYWNraW5nIHx8IHRydWU7XG5cbiAgICBjb25zdCBsYXN0QWN0aXZpdHkgPSB0aGlzLmdldExhc3RBY3Rpdml0eVRpbWUoKTtcbiAgICBpZiAoIWxhc3RBY3Rpdml0eSkge1xuICAgICAgdGhpcy5zZXRMYXN0QWN0aXZpdHlUaW1lKERhdGUubm93KCkpO1xuICAgICAgdGhpcy5sYXN0QWN0aXZpdHlUaW1lID0gRGF0ZS5ub3coKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sYXN0QWN0aXZpdHlUaW1lID0gbGFzdEFjdGl2aXR5O1xuICAgIH1cblxuICAgIHRoaXMucmVnaXN0ZXJBY3Rpdml0eUxpc3RlbmVycygpO1xuICAgIHRoaXMudXBkYXRlQ291bnRkb3duVmFsdWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ291bnRkb3duVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCBlbGFwc2VkID0gbm93IC0gdGhpcy5sYXN0QWN0aXZpdHlUaW1lO1xuICAgIGNvbnN0IHJlbWFpbmluZyA9IE1hdGgubWF4KDAsIE1hdGguZmxvb3IoKHRoaXMuY3VycmVudENvbmZpZy50aW1lb3V0ICogMTAwMCAtIGVsYXBzZWQpIC8gMTAwMCkpO1xuICAgIHRoaXMuY291bnRkb3duVmFsdWUgPSByZW1haW5pbmc7XG4gICAgdGhpcy5jb3VudGRvd25TdWJqZWN0Lm5leHQodGhpcy5jb3VudGRvd25WYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNvdW50ZG93bigpOiB2b2lkIHtcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IGVsYXBzZWQgPSBub3cgLSB0aGlzLmxhc3RBY3Rpdml0eVRpbWU7XG4gICAgY29uc3QgcmVtYWluaW5nID0gTWF0aC5tYXgoMCwgTWF0aC5mbG9vcigodGhpcy5jdXJyZW50Q29uZmlnLnRpbWVvdXQgKiAxMDAwIC0gZWxhcHNlZCkgLyAxMDAwKSk7XG5cbiAgICBpZiAocmVtYWluaW5nICE9PSB0aGlzLmNvdW50ZG93blZhbHVlKSB7XG4gICAgICB0aGlzLmNvdW50ZG93blZhbHVlID0gcmVtYWluaW5nO1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb3VudGRvd25TdWJqZWN0Lm5leHQodGhpcy5jb3VudGRvd25WYWx1ZSk7XG4gICAgICB9KTtcblxuICAgICAgLy8g6K2m5ZGK5Zue6LCDXG4gICAgICBjb25zdCB3YXJuaW5nVGltZSA9IHRoaXMuY3VycmVudENvbmZpZy53YXJuaW5nVGltZSB8fCAzMDtcbiAgICAgIGlmIChyZW1haW5pbmcgPT09IHdhcm5pbmdUaW1lICYmICF0aGlzLndhcm5pbmdTaG93bikge1xuICAgICAgICB0aGlzLndhcm5pbmdTaG93biA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcub25XYXJuaW5nKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9uV2FybmluZyhyZW1haW5pbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIOi2heaXtuWbnuiwg1xuICAgICAgaWYgKHJlbWFpbmluZyA8PSAwKSB7XG4gICAgICAgIHRoaXMucGVyZm9ybUF1dG9Mb2dvdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBlcmZvcm1BdXRvTG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcE1vbml0b3JpbmcoKTtcbiAgICB0aGlzLmNsZWFyTG9naW5UaW1lKCk7XG5cbiAgICBpZiAodGhpcy5jdXJyZW50Q29uZmlnLm9uVGltZW91dCkge1xuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9uVGltZW91dCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyDpu5jorqTooYzkuLrvvJrlr7zoiKrliLDnmbvlvZXpobVcbiAgICAgIC8vIE5vdGU6IFJvdXRlciBuYXZpZ2F0aW9uIHJlbW92ZWQgdG8gYXZvaWQgREkgaXNzdWVzIGluIEFuZ3VsYXIgOSBWRVxuICAgICAgLy8gVXNlIG9uVGltZW91dCBjYWxsYmFjayBmb3IgY3VzdG9tIG5hdmlnYXRpb25cbiAgICAgIGNvbnNvbGUud2FybignQXV0byBsb2dvdXQgdGltZW91dCAtIGltcGxlbWVudCBjdXN0b20gbmF2aWdhdGlvbiB2aWEgb25UaW1lb3V0IGNhbGxiYWNrJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlckFjdGl2aXR5TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGV2ZW50cyA9IFsnbW91c2Vkb3duJywgJ21vdXNlbW92ZScsICdrZXlwcmVzcycsICdzY3JvbGwnLCAndG91Y2hzdGFydCcsICdjbGljayddO1xuXG4gICAgZXZlbnRzLmZvckVhY2goKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBsaXN0ZW5lciA9ICgpID0+IHRoaXMucmVzZXRBY3Rpdml0eVRpbWVyKCk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lciwgdHJ1ZSk7XG4gICAgICB0aGlzLmFjdGl2aXR5TGlzdGVuZXJzLnB1c2goeyBldmVudCwgbGlzdGVuZXIgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUFjdGl2aXR5TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZpdHlMaXN0ZW5lcnMuZm9yRWFjaCgoeyBldmVudCwgbGlzdGVuZXIgfSkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgbGlzdGVuZXIsIHRydWUpO1xuICAgIH0pO1xuICAgIHRoaXMuYWN0aXZpdHlMaXN0ZW5lcnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRBY3Rpdml0eVRpbWVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcubW9kZSA9PT0gJ2lkbGUnKSB7XG4gICAgICB0aGlzLmxhc3RBY3Rpdml0eVRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgdGhpcy5zZXRMYXN0QWN0aXZpdHlUaW1lKHRoaXMubGFzdEFjdGl2aXR5VGltZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNvdW50ZG93blZhbHVlKCk7XG4gICAgICB0aGlzLndhcm5pbmdTaG93biA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNNYXhFeHRlbmRSZWFjaGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmN1cnJlbnRDb25maWcubWF4RXh0ZW5kVGltZXMgPT09IC0xIHx8IHRoaXMuY3VycmVudENvbmZpZy5tYXhFeHRlbmRUaW1lcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHVzZWRDb3VudCA9IHRoaXMuZ2V0RXh0ZW5kQ291bnQoKTtcbiAgICByZXR1cm4gdXNlZENvdW50ID49IHRoaXMuY3VycmVudENvbmZpZy5tYXhFeHRlbmRUaW1lcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXh0ZW5kQ291bnQoKTogbnVtYmVyIHtcbiAgICBjb25zdCBjb3VudFN0ciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuRVhURU5EX0NPVU5UX0tFWSk7XG4gICAgcmV0dXJuIGNvdW50U3RyID8gcGFyc2VJbnQoY291bnRTdHIsIDEwKSA6IDA7XG4gIH1cblxuICBwcml2YXRlIGluY3JlbWVudEV4dGVuZENvdW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRDb3VudCA9IHRoaXMuZ2V0RXh0ZW5kQ291bnQoKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkVYVEVORF9DT1VOVF9LRVksIChjdXJyZW50Q291bnQgKyAxKS50b1N0cmluZygpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRFeHRlbmRDb3VudCgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLkVYVEVORF9DT1VOVF9LRVkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMb2dpblRpbWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3QgdGltZVN0ciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuTE9HSU5fVElNRV9LRVkpO1xuICAgIHJldHVybiB0aW1lU3RyID8gcGFyc2VJbnQodGltZVN0ciwgMTApIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9naW5UaW1lKHRpbWU6IG51bWJlcik6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuTE9HSU5fVElNRV9LRVksIHRpbWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldExhc3RBY3Rpdml0eVRpbWUoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgY29uc3QgdGltZVN0ciA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuTEFTVF9BQ1RJVklUWV9LRVkpO1xuICAgIHJldHVybiB0aW1lU3RyID8gcGFyc2VJbnQodGltZVN0ciwgMTApIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGFzdEFjdGl2aXR5VGltZSh0aW1lOiBudW1iZXIpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkxBU1RfQUNUSVZJVFlfS0VZLCB0aW1lLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUGF1c2VTdGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGF0ZSA9IHtcbiAgICAgIGlzUGF1c2VkOiB0cnVlLFxuICAgICAgcGF1c2VTdGFydFRpbWU6IHRoaXMucGF1c2VTdGFydFRpbWUsXG4gICAgICBwYXVzZWRSZW1haW5pbmdUaW1lOiB0aGlzLnBhdXNlZFJlbWFpbmluZ1RpbWUsXG4gICAgICBtb2RlOiB0aGlzLmN1cnJlbnRDb25maWcubW9kZSxcbiAgICAgIGxhc3RBY3Rpdml0eVRpbWU6IHRoaXMubGFzdEFjdGl2aXR5VGltZVxuICAgIH07XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5QQVVTRV9TVEFURV9LRVksIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUGF1c2VTdGF0ZSgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLlBBVVNFX1NUQVRFX0tFWSk7XG4gIH1cblxuICBwcml2YXRlIHJlc3RvcmVQYXVzZVN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRlU3RyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5QQVVTRV9TVEFURV9LRVkpO1xuICAgIGlmICghc3RhdGVTdHIpIHJldHVybjtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IEpTT04ucGFyc2Uoc3RhdGVTdHIpO1xuICAgICAgaWYgKHN0YXRlLmlzUGF1c2VkKSB7XG4gICAgICAgIHRoaXMuaXNQYXVzZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnBhdXNlU3RhcnRUaW1lID0gc3RhdGUucGF1c2VTdGFydFRpbWU7XG4gICAgICAgIHRoaXMucGF1c2VkUmVtYWluaW5nVGltZSA9IHN0YXRlLnBhdXNlZFJlbWFpbmluZ1RpbWU7XG4gICAgICAgIHRoaXMubGFzdEFjdGl2aXR5VGltZSA9IHN0YXRlLmxhc3RBY3Rpdml0eVRpbWU7XG4gICAgICAgIHRoaXMuY3VycmVudENvbmZpZy5tb2RlID0gc3RhdGUubW9kZTtcblxuICAgICAgICBpZiAodGhpcy50aW1lclN1YnNjcmlwdGlvbikge1xuICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbW92ZUFjdGl2aXR5TGlzdGVuZXJzKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcign5oGi5aSN5pqC5YGc54q25oCB5aSx6LSlOicsIGUpO1xuICAgICAgdGhpcy5jbGVhclBhdXNlU3RhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 默认配置
|
|
3
|
+
*/
|
|
4
|
+
export var DEFAULT_AUTO_LOGOUT_CONFIG = {
|
|
5
|
+
mode: 'fixed',
|
|
6
|
+
timeout: 300,
|
|
7
|
+
warningTime: 30,
|
|
8
|
+
maxExtendTimes: -1,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sb2dvdXQtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdXRvLWxvZ291dC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvYXV0by1sb2dvdXQtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtREE7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSwwQkFBMEIsR0FBcUI7SUFDMUQsSUFBSSxFQUFFLE9BQU87SUFDYixPQUFPLEVBQUUsR0FBRztJQUNaLFdBQVcsRUFBRSxFQUFFO0lBQ2YsY0FBYyxFQUFFLENBQUMsQ0FBQztDQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDoh6rliqjnmbvlh7rphY3nva7mjqXlj6NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvTG9nb3V0Q29uZmlnIHtcbiAgLyoqXG4gICAqIOaooeW8j++8mmZpeGVkPeWbuuWumuaXtumXtCwgaWRsZT3nqbrpl7LotoXml7ZcbiAgICovXG4gIG1vZGU6ICdmaXhlZCcgfCAnaWRsZSc7XG5cbiAgLyoqXG4gICAqIOi2heaXtuaXtumXtO+8iOenku+8iVxuICAgKi9cbiAgdGltZW91dDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiDorablkYrml7bpl7TvvIjnp5LvvInvvIzpu5jorqQzMFxuICAgKi9cbiAgd2FybmluZ1RpbWU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIOacgOWkp+W7tumVv+asoeaVsO+8jC0xPeaXoOmZkOWItu+8jDA95LiN5YWB6K6477yMPjA95YW35L2T5qyh5pWwXG4gICAqL1xuICBtYXhFeHRlbmRUaW1lcz86IG51bWJlcjtcblxuICAvKipcbiAgICog6K2m5ZGK5Zue6LCD5Ye95pWw77yI5pu/5LujVG9hc3TvvIlcbiAgICogQHBhcmFtIHNlY29uZHMg5Ymp5L2Z56eS5pWwXG4gICAqL1xuICBvbldhcm5pbmc/OiAoc2Vjb25kczogbnVtYmVyKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiDotoXml7blm57osIPlh73mlbDvvIjmiafooYznmbvlh7rmk43kvZzvvIlcbiAgICovXG4gIG9uVGltZW91dD86ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIOW7tumVv+S8muivneaIkOWKn+Wbnuiwg1xuICAgKi9cbiAgb25FeHRlbmRlZD86IChzZWNvbmRzOiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIOaaguWBnOWbnuiwg1xuICAgKi9cbiAgb25QYXVzZWQ/OiAoKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiDmgaLlpI3lm57osINcbiAgICovXG4gIG9uUmVzdW1lZD86ICgpID0+IHZvaWQ7XG59XG5cbi8qKlxuICog6buY6K6k6YWN572uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FVVE9fTE9HT1VUX0NPTkZJRzogQXV0b0xvZ291dENvbmZpZyA9IHtcbiAgbW9kZTogJ2ZpeGVkJyxcbiAgdGltZW91dDogMzAwLCAvLyA15YiG6ZKfXG4gIHdhcm5pbmdUaW1lOiAzMCxcbiAgbWF4RXh0ZW5kVGltZXM6IC0xLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* InjectionToken for auto logout configuration
|
|
4
|
+
* Extracted to a separate file to avoid Angular 9 Ivy compilation scope issues
|
|
5
|
+
*/
|
|
6
|
+
export var AUTO_LOGOUT_CONFIG = new InjectionToken('AutoLogoutConfig');
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sb2dvdXQtY29uZmlnLnRva2VuLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWF1dG8tbG9nb3V0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy9hdXRvLWxvZ291dC1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRvTG9nb3V0Q29uZmlnIH0gZnJvbSAnLi9hdXRvLWxvZ291dC1jb25maWcuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBJbmplY3Rpb25Ub2tlbiBmb3IgYXV0byBsb2dvdXQgY29uZmlndXJhdGlvblxuICogRXh0cmFjdGVkIHRvIGEgc2VwYXJhdGUgZmlsZSB0byBhdm9pZCBBbmd1bGFyIDkgSXZ5IGNvbXBpbGF0aW9uIHNjb3BlIGlzc3Vlc1xuICovXG5leHBvcnQgY29uc3QgQVVUT19MT0dPVVRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEF1dG9Mb2dvdXRDb25maWc+KCdBdXRvTG9nb3V0Q29uZmlnJyk7XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AUTO_LOGOUT_CONFIG } from './models/auto-logout-config.token';
|
|
2
|
+
/**
|
|
3
|
+
* 提供自动登出配置(Angular 15+ Standalone)
|
|
4
|
+
*/
|
|
5
|
+
export function provideAutoLogout(config) {
|
|
6
|
+
return {
|
|
7
|
+
provide: AUTO_LOGOUT_CONFIG,
|
|
8
|
+
useValue: config
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1hdXRvLWxvZ291dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdXRvLWxvZ291dC8iLCJzb3VyY2VzIjpbImxpYi9wcm92aWRlLWF1dG8tbG9nb3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3ZFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQXdCO0lBQ3hELE9BQU87UUFDTCxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFFBQVEsRUFBRSxNQUFNO0tBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFVVE9fTE9HT1VUX0NPTkZJRyB9IGZyb20gJy4vbW9kZWxzL2F1dG8tbG9nb3V0LWNvbmZpZy50b2tlbic7XG5pbXBvcnQgeyBBdXRvTG9nb3V0Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvYXV0by1sb2dvdXQtY29uZmlnLmludGVyZmFjZSc7XG5cbi8qKlxuICog5o+Q5L6b6Ieq5Yqo55m75Ye66YWN572u77yIQW5ndWxhciAxNSsgU3RhbmRhbG9uZe+8iVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUF1dG9Mb2dvdXQoY29uZmlnOiBBdXRvTG9nb3V0Q29uZmlnKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEFVVE9fTE9HT1VUX0NPTkZJRyxcbiAgICB1c2VWYWx1ZTogY29uZmlnXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWF1dG8tbG9nb3V0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWF1dG8tbG9nb3V0LyIsInNvdXJjZXMiOlsibmd4LWF1dG8tbG9nb3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of auto-logout
|
|
3
|
+
*/
|
|
4
|
+
export { DEFAULT_AUTO_LOGOUT_CONFIG } from './lib/models/auto-logout-config.interface';
|
|
5
|
+
export { AUTO_LOGOUT_CONFIG } from './lib/models/auto-logout-config.token';
|
|
6
|
+
export { AutoLogoutService } from './lib/auto-logout.service';
|
|
7
|
+
export { AutoLogoutModule } from './lib/auto-logout.module';
|
|
8
|
+
export { AutoLogoutComponent } from './lib/auto-logout.component';
|
|
9
|
+
export { provideAutoLogout } from './lib/provide-auto-logout';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hdXRvLWxvZ291dC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQW9CLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGF1dG8tbG9nb3V0XG4gKi9cblxuZXhwb3J0IHsgQXV0b0xvZ291dENvbmZpZywgREVGQVVMVF9BVVRPX0xPR09VVF9DT05GSUcgfSBmcm9tICcuL2xpYi9tb2RlbHMvYXV0by1sb2dvdXQtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgeyBBVVRPX0xPR09VVF9DT05GSUcgfSBmcm9tICcuL2xpYi9tb2RlbHMvYXV0by1sb2dvdXQtY29uZmlnLnRva2VuJztcbmV4cG9ydCB7IEF1dG9Mb2dvdXRTZXJ2aWNlIH0gZnJvbSAnLi9saWIvYXV0by1sb2dvdXQuc2VydmljZSc7XG5leHBvcnQgeyBBdXRvTG9nb3V0TW9kdWxlIH0gZnJvbSAnLi9saWIvYXV0by1sb2dvdXQubW9kdWxlJztcbmV4cG9ydCB7IEF1dG9Mb2dvdXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdXRvLWxvZ291dC5jb21wb25lbnQnO1xuZXhwb3J0IHsgcHJvdmlkZUF1dG9Mb2dvdXQgfSBmcm9tICcuL2xpYi9wcm92aWRlLWF1dG8tbG9nb3V0JztcbiJdfQ==
|