@albi_scando/as-user-lib 1.0.2 → 1.0.3
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/dist/as-user-lib/esm2022/lib/interfaces/user.interface.mjs +1 -1
- package/dist/as-user-lib/esm2022/lib/services/user/user.service.interface.mjs +1 -1
- package/dist/as-user-lib/esm2022/lib/services/user/user.service.mjs +17 -4
- package/dist/as-user-lib/fesm2022/albi_scando-as-user-lib.mjs +16 -3
- package/dist/as-user-lib/fesm2022/albi_scando-as-user-lib.mjs.map +1 -1
- package/dist/as-user-lib/lib/interfaces/user.interface.d.ts +3 -1
- package/dist/as-user-lib/lib/services/user/user.service.d.ts +15 -3
- package/dist/as-user-lib/lib/services/user/user.service.interface.d.ts +36 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcy11c2VyLWxpYi9zcmMvbGliL2ludGVyZmFjZXMvdXNlci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9jYWxlcyB9IGZyb20gXCJAYWxiaV9zY2FuZG8vYXMtY29uc3QtbGFuZ3VhZ2VzLWxpYlwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICB0b2tlbjogc3RyaW5nO1xuICBsb2NhbGU6IExvY2FsZXM7XG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzLXVzZXItbGliL3NyYy9saWIvc2VydmljZXMvdXNlci91c2VyLnNlcnZpY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvY2FsZXMgfSBmcm9tICdAYWxiaV9zY2FuZG8vYXMtY29uc3QtbGFuZ3VhZ2VzLWxpYic7XG5pbXBvcnQgdHlwZSB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLy8gSW50ZXJmYWNlc1xuaW1wb3J0IHR5cGUgeyBJVXNlckxpYlNldHVwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zZXR1cC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyU2VydmljZSB7XG4gIC8qKlxuICAgKiBVc2VybmFtZSBzaWduYWxcbiAgICovXG4gIHVzZXJuYW1lOiBXcml0YWJsZVNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBUb2tlbiBzaWduYWxcbiAgICovXG4gIHRva2VuOiBXcml0YWJsZVNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBMb2NhbGUgc2lnbmFsXG4gICAqL1xuICBsb2NhbGU6IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD47XG5cbiAgLyoqXG4gICAqIFNldHVwIG1ldGhvZFxuICAgKiBcbiAgICogQHBhcmFtIHNldHVwIFNldHVwIG9iamVjdFxuICAgKiBAcmV0dXJuIE9ic2VydmFibGUgdGhhdCBjb21wbGV0ZXMgd2hlbiBzZXR1cCBpcyBkb25lXG4gICAqL1xuICBzZXR1cCQoc2V0dXA6IElVc2VyTGliU2V0dXApOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBSZXNldCBtZXRob2RcbiAgICogXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgcmVzZXQoKTogdm9pZDtcblxuICAvKipcbiAgICogU2V0IHVzZXJuYW1lIG1ldGhvZFxuICAgKiBAcGFyYW0gdXNlcm5hbWUgVXNlcm5hbWUgdG8gc2V0XG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICBzZXRVc2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogU2V0IHVzZXIgbGFuZ3VhZ2UgbWV0aG9kXG4gICAqIEBwYXJhbSBsb2NhbGUgTG9jYWxlIHRvIHNldFxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc2V0TG9jYWxlKGxvY2FsZTogTG9jYWxlcyk6IHZvaWRcbn1cbiJdfQ==
|
|
@@ -12,15 +12,22 @@ export class UserService {
|
|
|
12
12
|
* @ignore
|
|
13
13
|
*/
|
|
14
14
|
constructor() {
|
|
15
|
+
/**
|
|
16
|
+
* {@link IUserService.username}
|
|
17
|
+
*/
|
|
15
18
|
this.username = signal(undefined);
|
|
16
19
|
/**
|
|
17
20
|
* {@link IUserService.token}
|
|
18
21
|
*/
|
|
19
22
|
this.token = signal(undefined);
|
|
23
|
+
/**
|
|
24
|
+
* @see IUserService.locale
|
|
25
|
+
*/
|
|
26
|
+
this.locale = signal(undefined);
|
|
20
27
|
this._initialize();
|
|
21
28
|
}
|
|
22
29
|
/**
|
|
23
|
-
*
|
|
30
|
+
* @see IUserService.setup$
|
|
24
31
|
*/
|
|
25
32
|
setup$(setup) {
|
|
26
33
|
this.reset();
|
|
@@ -28,17 +35,23 @@ export class UserService {
|
|
|
28
35
|
return of(undefined);
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
|
-
*
|
|
38
|
+
* @see IUserService.reset
|
|
32
39
|
*/
|
|
33
40
|
reset() {
|
|
34
41
|
this._initialize();
|
|
35
42
|
}
|
|
36
43
|
/**
|
|
37
|
-
*
|
|
44
|
+
* @see IUserService.setUsername
|
|
38
45
|
*/
|
|
39
46
|
setUsername(username) {
|
|
40
47
|
this.username.set(username);
|
|
41
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* @see IUserService.setLocale
|
|
51
|
+
*/
|
|
52
|
+
setLocale(locale) {
|
|
53
|
+
this.locale.set(locale);
|
|
54
|
+
}
|
|
42
55
|
/**
|
|
43
56
|
* Initialization method
|
|
44
57
|
*
|
|
@@ -64,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
64
77
|
providedIn: 'root',
|
|
65
78
|
}]
|
|
66
79
|
}], ctorParameters: () => [] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXMtdXNlci1saWIvc3JjL2xpYi9zZXJ2aWNlcy91c2VyL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEMsT0FBTyxpQkFBaUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxZQUFZO0FBQ1osT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVExRSxNQUFNLE9BQU8sV0FBVztJQWdCdEI7Ozs7T0FJRztJQUNIO1FBcEJBOztXQUVHO1FBQ0ksYUFBUSxHQUF1QyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEU7O1dBRUc7UUFDSSxVQUFLLEdBQXVDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVyRTs7V0FFRztRQUNJLFdBQU0sR0FBd0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBUXJFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUyxDQUFDLE1BQWU7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLGlCQUtkLENBQUM7UUFFRixNQUFNLEtBQUssR0FBa0I7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxJQUFJLGdCQUFnQjtZQUN2RCxLQUFLLEVBQUUsYUFBdUM7WUFDOUMsR0FBRyxFQUFFO2dCQUNILG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLFlBQVk7YUFDaEU7U0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQzsrR0EvRVUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvY2FsZXMgfSBmcm9tICdAYWxiaV9zY2FuZG8vYXMtY29uc3QtbGFuZ3VhZ2VzLWxpYic7XG5pbXBvcnQgeyBTVFJJTkdfRU1QVFkgfSBmcm9tICdAYWxiaV9zY2FuZG8vYXMtY29uc3QtbGliJztcbmltcG9ydCB0eXBlIHsgV3JpdGFibGVTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgb2YsIHRha2UgfSBmcm9tICdyeGpzJztcblxuLy8gQXNzZXRzXG5pbXBvcnQgdHlwZSB7IElVc2VyU2VydmljZSB9IGZyb20gJy4vdXNlci5zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgZGVmYXVsdENvbmZpZ0pTT04gZnJvbSAnLi4vLi4vYXNzZXRzL2pzb25zL2RlZmF1bHQuanNvbic7XG4vLyBDb25zdGFudHNcbmltcG9ydCB7IERFRkFVTFRfTEVWRUwsIERFRkFVTFRfVVNFUk5BTUUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGVmYXVsdCc7XG4vLyBJbnRlcmZhY2VzXG5pbXBvcnQgdHlwZSB7IElVc2VyTGliU2V0dXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NldHVwLmludGVyZmFjZSc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGltcGxlbWVudHMgSVVzZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIHtAbGluayBJVXNlclNlcnZpY2UudXNlcm5hbWV9XG4gICAqL1xuICBwdWJsaWMgdXNlcm5hbWU6IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBzaWduYWwodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICoge0BsaW5rIElVc2VyU2VydmljZS50b2tlbn1cbiAgICovXG4gIHB1YmxpYyB0b2tlbjogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IHNpZ25hbCh1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBAc2VlIElVc2VyU2VydmljZS5sb2NhbGVcbiAgICovXG4gIHB1YmxpYyBsb2NhbGU6IFdyaXRhYmxlU2lnbmFsPExvY2FsZXMgfCB1bmRlZmluZWQ+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKiBAaWdub3JlXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICAvKipcbiAgICogQHNlZSBJVXNlclNlcnZpY2Uuc2V0dXAkXG4gICAqL1xuICBwdWJsaWMgc2V0dXAkKHNldHVwOiBJVXNlckxpYlNldHVwKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgdGhpcy5yZXNldCgpO1xuXG4gICAgdGhpcy5zZXRVc2VybmFtZShzZXR1cC51c2VybmFtZSk7XG5cbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc2VlIElVc2VyU2VydmljZS5yZXNldFxuICAgKi9cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luaXRpYWxpemUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc2VlIElVc2VyU2VydmljZS5zZXRVc2VybmFtZVxuICAgKi9cbiAgcHVibGljIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJuYW1lLnNldCh1c2VybmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQHNlZSBJVXNlclNlcnZpY2Uuc2V0TG9jYWxlXG4gICAqL1xuICBwdWJsaWMgc2V0TG9jYWxlKGxvY2FsZTogTG9jYWxlcyk6IHZvaWQge1xuICAgIHRoaXMubG9jYWxlLnNldChsb2NhbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemF0aW9uIG1ldGhvZFxuICAgKiBcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IGRlZmF1bHRDb25maWdKU09OIGFzIHtcbiAgICAgIGxhbmd1YWdlPzoge1xuICAgICAgICB1c2VybmFtZT86IHN0cmluZztcbiAgICAgICAgdXBkYXRlQVBJPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2V0dXA6IElVc2VyTGliU2V0dXAgPSB7XG4gICAgICB1c2VybmFtZTogY29uZmlnLmxhbmd1YWdlPy51c2VybmFtZSA/PyBERUZBVUxUX1VTRVJOQU1FLFxuICAgICAgbGV2ZWw6IERFRkFVTFRfTEVWRUwgYXMgSVVzZXJMaWJTZXR1cFsnbGV2ZWwnXSxcbiAgICAgIGFwaToge1xuICAgICAgICBwYXRjaFVzZXJEYXRhQVBJVXJsOiBjb25maWcubGFuZ3VhZ2U/LnVwZGF0ZUFQSSA/PyBTVFJJTkdfRU1QVFksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLnNldHVwJChzZXR1cCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -28,15 +28,22 @@ class UserService {
|
|
|
28
28
|
* @ignore
|
|
29
29
|
*/
|
|
30
30
|
constructor() {
|
|
31
|
+
/**
|
|
32
|
+
* {@link IUserService.username}
|
|
33
|
+
*/
|
|
31
34
|
this.username = signal(undefined);
|
|
32
35
|
/**
|
|
33
36
|
* {@link IUserService.token}
|
|
34
37
|
*/
|
|
35
38
|
this.token = signal(undefined);
|
|
39
|
+
/**
|
|
40
|
+
* @see IUserService.locale
|
|
41
|
+
*/
|
|
42
|
+
this.locale = signal(undefined);
|
|
36
43
|
this._initialize();
|
|
37
44
|
}
|
|
38
45
|
/**
|
|
39
|
-
*
|
|
46
|
+
* @see IUserService.setup$
|
|
40
47
|
*/
|
|
41
48
|
setup$(setup) {
|
|
42
49
|
this.reset();
|
|
@@ -44,17 +51,23 @@ class UserService {
|
|
|
44
51
|
return of(undefined);
|
|
45
52
|
}
|
|
46
53
|
/**
|
|
47
|
-
*
|
|
54
|
+
* @see IUserService.reset
|
|
48
55
|
*/
|
|
49
56
|
reset() {
|
|
50
57
|
this._initialize();
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
|
-
*
|
|
60
|
+
* @see IUserService.setUsername
|
|
54
61
|
*/
|
|
55
62
|
setUsername(username) {
|
|
56
63
|
this.username.set(username);
|
|
57
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* @see IUserService.setLocale
|
|
67
|
+
*/
|
|
68
|
+
setLocale(locale) {
|
|
69
|
+
this.locale.set(locale);
|
|
70
|
+
}
|
|
58
71
|
/**
|
|
59
72
|
* Initialization method
|
|
60
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"albi_scando-as-user-lib.mjs","sources":["../../../projects/as-user-lib/src/lib/constants/user-levels.constant.ts","../../../projects/as-user-lib/src/lib/constants/default.ts","../../../projects/as-user-lib/src/lib/services/user/user.service.ts","../../../projects/as-user-lib/src/albi_scando-as-user-lib.ts"],"sourcesContent":["/**\n * User levels constants.\n */\nexport const USER_LEVELS = {\n GUEST: 'guest',\n}\n","export const DEFAULT_USERNAME = 'guest';\nexport const DEFAULT_LEVEL = 'guest';\n","import { STRING_EMPTY } from '@albi_scando/as-const-lib';\nimport type { WritableSignal} from '@angular/core';\nimport { Injectable, signal } from '@angular/core';\nimport type { Observable} from 'rxjs';\nimport { of, take } from 'rxjs';\n\n// Assets\nimport type { IUserService } from './user.service.interface';\nimport defaultConfigJSON from '../../assets/jsons/default.json';\n// Constants\nimport { DEFAULT_LEVEL, DEFAULT_USERNAME } from '../../constants/default';\n// Interfaces\nimport type { IUserLibSetup } from '../../interfaces/setup.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService implements IUserService {\n public username: WritableSignal<string | undefined> = signal(undefined);\n\n /**\n * {@link IUserService.token}\n */\n public token: WritableSignal<string | undefined> = signal(undefined);\n\n /**\n * Constructor\n * @constructor\n * @ignore\n */\n constructor() {\n this._initialize();\n }\n\n /**\n *
|
|
1
|
+
{"version":3,"file":"albi_scando-as-user-lib.mjs","sources":["../../../projects/as-user-lib/src/lib/constants/user-levels.constant.ts","../../../projects/as-user-lib/src/lib/constants/default.ts","../../../projects/as-user-lib/src/lib/services/user/user.service.ts","../../../projects/as-user-lib/src/albi_scando-as-user-lib.ts"],"sourcesContent":["/**\n * User levels constants.\n */\nexport const USER_LEVELS = {\n GUEST: 'guest',\n}\n","export const DEFAULT_USERNAME = 'guest';\nexport const DEFAULT_LEVEL = 'guest';\n","import type { Locales } from '@albi_scando/as-const-languages-lib';\nimport { STRING_EMPTY } from '@albi_scando/as-const-lib';\nimport type { WritableSignal} from '@angular/core';\nimport { Injectable, signal } from '@angular/core';\nimport type { Observable} from 'rxjs';\nimport { of, take } from 'rxjs';\n\n// Assets\nimport type { IUserService } from './user.service.interface';\nimport defaultConfigJSON from '../../assets/jsons/default.json';\n// Constants\nimport { DEFAULT_LEVEL, DEFAULT_USERNAME } from '../../constants/default';\n// Interfaces\nimport type { IUserLibSetup } from '../../interfaces/setup.interface';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService implements IUserService {\n /**\n * {@link IUserService.username}\n */\n public username: WritableSignal<string | undefined> = signal(undefined);\n\n /**\n * {@link IUserService.token}\n */\n public token: WritableSignal<string | undefined> = signal(undefined);\n\n /**\n * @see IUserService.locale\n */\n public locale: WritableSignal<Locales | undefined> = signal(undefined);\n\n /**\n * Constructor\n * @constructor\n * @ignore\n */\n constructor() {\n this._initialize();\n }\n\n /**\n * @see IUserService.setup$\n */\n public setup$(setup: IUserLibSetup): Observable<void> {\n this.reset();\n\n this.setUsername(setup.username);\n\n return of(undefined);\n }\n\n /**\n * @see IUserService.reset\n */\n public reset(): void {\n this._initialize();\n }\n\n /**\n * @see IUserService.setUsername\n */\n public setUsername(username: string): void {\n this.username.set(username);\n }\n\n /**\n * @see IUserService.setLocale\n */\n public setLocale(locale: Locales): void {\n this.locale.set(locale);\n }\n\n /**\n * Initialization method\n * \n * @returns {void}\n */\n private _initialize(): void {\n const config = defaultConfigJSON as {\n language?: {\n username?: string;\n updateAPI?: string;\n };\n };\n\n const setup: IUserLibSetup = {\n username: config.language?.username ?? DEFAULT_USERNAME,\n level: DEFAULT_LEVEL as IUserLibSetup['level'],\n api: {\n patchUserDataAPIUrl: config.language?.updateAPI ?? STRING_EMPTY,\n },\n };\n\n this.setup$(setup).pipe(take(1)).subscribe();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAAA;;AAEG;AACI,MAAM,WAAW,GAAG;AACzB,IAAA,KAAK,EAAE,OAAO;;;;;;;;;;;ACJT,MAAM,gBAAgB,GAAG,OAAO;AAChC,MAAM,aAAa,GAAG,OAAO;;MCkBvB,WAAW,CAAA;AAgBtB;;;;AAIG;AACH,IAAA,WAAA,GAAA;AApBA;;AAEG;AACI,QAAA,IAAA,CAAA,QAAQ,GAAuC,MAAM,CAAC,SAAS,CAAC;AAEvE;;AAEG;AACI,QAAA,IAAA,CAAA,KAAK,GAAuC,MAAM,CAAC,SAAS,CAAC;AAEpE;;AAEG;AACI,QAAA,IAAA,CAAA,MAAM,GAAwC,MAAM,CAAC,SAAS,CAAC;QAQpE,IAAI,CAAC,WAAW,EAAE;IACpB;AAEA;;AAEG;AACI,IAAA,MAAM,CAAC,KAAoB,EAAA;QAChC,IAAI,CAAC,KAAK,EAAE;AAEZ,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;AAEhC,QAAA,OAAO,EAAE,CAAC,SAAS,CAAC;IACtB;AAEA;;AAEG;IACI,KAAK,GAAA;QACV,IAAI,CAAC,WAAW,EAAE;IACpB;AAEA;;AAEG;AACI,IAAA,WAAW,CAAC,QAAgB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7B;AAEA;;AAEG;AACI,IAAA,SAAS,CAAC,MAAe,EAAA;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB;AAEA;;;;AAIG;IACK,WAAW,GAAA;QACjB,MAAM,MAAM,GAAG,iBAKd;AAED,QAAA,MAAM,KAAK,GAAkB;AAC3B,YAAA,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,gBAAgB;AACvD,YAAA,KAAK,EAAE,aAAuC;AAC9C,YAAA,GAAG,EAAE;AACH,gBAAA,mBAAmB,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,YAAY;AAChE,aAAA;SACF;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;IAC9C;+GA/EW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AClBD;;AAEG;;;;"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
|
+
import type { Locales } from '@albi_scando/as-const-languages-lib';
|
|
1
2
|
import type { WritableSignal } from '@angular/core';
|
|
2
3
|
import type { Observable } from 'rxjs';
|
|
3
4
|
import type { IUserService } from './user.service.interface';
|
|
4
5
|
import type { IUserLibSetup } from '../../interfaces/setup.interface';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class UserService implements IUserService {
|
|
8
|
+
/**
|
|
9
|
+
* {@link IUserService.username}
|
|
10
|
+
*/
|
|
7
11
|
username: WritableSignal<string | undefined>;
|
|
8
12
|
/**
|
|
9
13
|
* {@link IUserService.token}
|
|
10
14
|
*/
|
|
11
15
|
token: WritableSignal<string | undefined>;
|
|
16
|
+
/**
|
|
17
|
+
* @see IUserService.locale
|
|
18
|
+
*/
|
|
19
|
+
locale: WritableSignal<Locales | undefined>;
|
|
12
20
|
/**
|
|
13
21
|
* Constructor
|
|
14
22
|
* @constructor
|
|
@@ -16,17 +24,21 @@ export declare class UserService implements IUserService {
|
|
|
16
24
|
*/
|
|
17
25
|
constructor();
|
|
18
26
|
/**
|
|
19
|
-
*
|
|
27
|
+
* @see IUserService.setup$
|
|
20
28
|
*/
|
|
21
29
|
setup$(setup: IUserLibSetup): Observable<void>;
|
|
22
30
|
/**
|
|
23
|
-
*
|
|
31
|
+
* @see IUserService.reset
|
|
24
32
|
*/
|
|
25
33
|
reset(): void;
|
|
26
34
|
/**
|
|
27
|
-
*
|
|
35
|
+
* @see IUserService.setUsername
|
|
28
36
|
*/
|
|
29
37
|
setUsername(username: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* @see IUserService.setLocale
|
|
40
|
+
*/
|
|
41
|
+
setLocale(locale: Locales): void;
|
|
30
42
|
/**
|
|
31
43
|
* Initialization method
|
|
32
44
|
*
|
|
@@ -1,7 +1,43 @@
|
|
|
1
|
+
import type { Locales } from '@albi_scando/as-const-languages-lib';
|
|
1
2
|
import type { WritableSignal } from '@angular/core';
|
|
3
|
+
import type { Observable } from 'rxjs';
|
|
4
|
+
import type { IUserLibSetup } from '../../interfaces/setup.interface';
|
|
2
5
|
export interface IUserService {
|
|
6
|
+
/**
|
|
7
|
+
* Username signal
|
|
8
|
+
*/
|
|
9
|
+
username: WritableSignal<string | undefined>;
|
|
3
10
|
/**
|
|
4
11
|
* Token signal
|
|
5
12
|
*/
|
|
6
13
|
token: WritableSignal<string | undefined>;
|
|
14
|
+
/**
|
|
15
|
+
* Locale signal
|
|
16
|
+
*/
|
|
17
|
+
locale: WritableSignal<string | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* Setup method
|
|
20
|
+
*
|
|
21
|
+
* @param setup Setup object
|
|
22
|
+
* @return Observable that completes when setup is done
|
|
23
|
+
*/
|
|
24
|
+
setup$(setup: IUserLibSetup): Observable<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Reset method
|
|
27
|
+
*
|
|
28
|
+
* @returns {void}
|
|
29
|
+
*/
|
|
30
|
+
reset(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Set username method
|
|
33
|
+
* @param username Username to set
|
|
34
|
+
* @return {void}
|
|
35
|
+
*/
|
|
36
|
+
setUsername(username: string): void;
|
|
37
|
+
/**
|
|
38
|
+
* Set user language method
|
|
39
|
+
* @param locale Locale to set
|
|
40
|
+
* @return {void}
|
|
41
|
+
*/
|
|
42
|
+
setLocale(locale: Locales): void;
|
|
7
43
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@albi_scando/as-user-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "A library for managing languages in Angular applications, providing services and utilities to handle localization and internationalization.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|