@myrmidon/auth-jwt-admin 1.0.6 → 3.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.
Files changed (43) hide show
  1. package/esm2022/lib/auth-jwt-admin.module.mjs +120 -0
  2. package/esm2022/lib/components/auth-jwt-registration/auth-jwt-registration.component.mjs +165 -0
  3. package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +30 -0
  4. package/esm2022/lib/components/password-strength-bar/password-strength-bar.component.mjs +81 -0
  5. package/esm2022/lib/components/state/user-list.repository.mjs +127 -0
  6. package/esm2022/lib/components/user-editor/user-editor.component.mjs +113 -0
  7. package/esm2022/lib/components/user-filter/user-filter.component.mjs +65 -0
  8. package/esm2022/lib/components/user-list/user-list.component.mjs +68 -0
  9. package/esm2022/lib/services/auth-jwt-account.service.mjs +182 -0
  10. package/esm2022/lib/services/dialog.service.mjs +38 -0
  11. package/{esm2020 → esm2022}/lib/validators/password.validators.mjs +48 -48
  12. package/{esm2020 → esm2022}/myrmidon-auth-jwt-admin.mjs +4 -4
  13. package/{esm2020 → esm2022}/public-api.mjs +11 -11
  14. package/fesm2022/myrmidon-auth-jwt-admin.mjs +982 -0
  15. package/fesm2022/myrmidon-auth-jwt-admin.mjs.map +1 -0
  16. package/index.d.ts +5 -5
  17. package/lib/auth-jwt-admin.module.d.ts +30 -30
  18. package/lib/components/auth-jwt-registration/auth-jwt-registration.component.d.ts +37 -37
  19. package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +15 -15
  20. package/lib/components/password-strength-bar/password-strength-bar.component.d.ts +17 -17
  21. package/lib/components/state/user-list.repository.d.ts +29 -36
  22. package/lib/components/user-editor/user-editor.component.d.ts +29 -29
  23. package/lib/components/user-filter/user-filter.component.d.ts +23 -21
  24. package/lib/components/user-list/user-list.component.d.ts +30 -29
  25. package/lib/services/auth-jwt-account.service.d.ts +114 -114
  26. package/lib/services/dialog.service.d.ts +19 -19
  27. package/lib/validators/password.validators.d.ts +6 -6
  28. package/package.json +24 -17
  29. package/public-api.d.ts +8 -8
  30. package/esm2020/lib/auth-jwt-admin.module.mjs +0 -119
  31. package/esm2020/lib/components/auth-jwt-registration/auth-jwt-registration.component.mjs +0 -164
  32. package/esm2020/lib/components/confirm-dialog/confirm-dialog.component.mjs +0 -29
  33. package/esm2020/lib/components/password-strength-bar/password-strength-bar.component.mjs +0 -80
  34. package/esm2020/lib/components/state/user-list.repository.mjs +0 -144
  35. package/esm2020/lib/components/user-editor/user-editor.component.mjs +0 -112
  36. package/esm2020/lib/components/user-filter/user-filter.component.mjs +0 -55
  37. package/esm2020/lib/components/user-list/user-list.component.mjs +0 -70
  38. package/esm2020/lib/services/auth-jwt-account.service.mjs +0 -181
  39. package/esm2020/lib/services/dialog.service.mjs +0 -37
  40. package/fesm2015/myrmidon-auth-jwt-admin.mjs +0 -998
  41. package/fesm2015/myrmidon-auth-jwt-admin.mjs.map +0 -1
  42. package/fesm2020/myrmidon-auth-jwt-admin.mjs +0 -992
  43. package/fesm2020/myrmidon-auth-jwt-admin.mjs.map +0 -1
@@ -0,0 +1,182 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { retry, catchError } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ import * as i2 from "@myrmidon/ng-tools";
7
+ class AuthJwtAccountService {
8
+ constructor(_http, _error, _env) {
9
+ this._http = _http;
10
+ this._error = _error;
11
+ this._env = _env;
12
+ }
13
+ /**
14
+ * Checks if the specified email address is registered on the server.
15
+ * @param email email address to test.
16
+ * @returns result.
17
+ */
18
+ isEmailRegistered(email) {
19
+ return this._http.get(this._env.get('apiUrl') +
20
+ 'accounts/emailexists/' +
21
+ encodeURIComponent(email));
22
+ }
23
+ /**
24
+ * Checks if the specified user's given name is registered on the server.
25
+ * This name is a nickname chosen by users during registration, and is the key
26
+ * used for referencing users when talking to the server.
27
+ * @param name name to test.
28
+ * @returns result.
29
+ */
30
+ isNameRegistered(name) {
31
+ return this._http.get(this._env.get('apiUrl') +
32
+ 'accounts/nameexists/' +
33
+ encodeURIComponent(name));
34
+ }
35
+ /**
36
+ * Register the user with the specified registration data.
37
+ * @param registration The registration data.
38
+ * @param confirmed True to automatically confirm the user's email address
39
+ * without sending the confirmation email message.
40
+ */
41
+ register(registration, confirmed = false) {
42
+ return this._http.post(this._env.get('apiUrl') +
43
+ 'accounts/register' +
44
+ (confirmed ? '?confirmed=true' : ''), registration);
45
+ }
46
+ /**
47
+ * Resend the confirmation email to the specified address.
48
+ * @param email address.
49
+ */
50
+ resendConfirmEmail(email) {
51
+ return this._http.get(this._env.get('apiUrl') +
52
+ 'accounts/resendconfirm/' +
53
+ encodeURIComponent(email)
54
+ // options
55
+ );
56
+ }
57
+ /**
58
+ * Request a password reset for the specified email address.
59
+ * @param email Email address.
60
+ */
61
+ requestPasswordReset(email) {
62
+ return this._http.post(this._env.get('apiUrl') + 'accounts/resetpassword/request', { email });
63
+ }
64
+ getAllUsers() {
65
+ return this._http
66
+ .get(this._env.get('apiUrl') + 'users', {
67
+ params: new HttpParams().set('pageNumber', '1'),
68
+ })
69
+ .pipe(retry(3), catchError(this._error.handleError));
70
+ }
71
+ getUsers(filter, pageNumber = 1, pageSize = 20) {
72
+ let httpParams = new HttpParams();
73
+ httpParams = httpParams.set('pageNumber', pageNumber.toString());
74
+ httpParams = httpParams.set('pageSize', pageSize.toString());
75
+ if (filter.name) {
76
+ httpParams = httpParams.set('name', filter.name);
77
+ }
78
+ return this._http
79
+ .get(this._env.get('apiUrl') + 'users', {
80
+ params: httpParams,
81
+ })
82
+ .pipe(retry(3), catchError(this._error.handleError));
83
+ }
84
+ /**
85
+ * Get the top N users matching the specified name filter.
86
+ * @param nameFilter The user name filter.
87
+ * @param limit The maximum number of users to get.
88
+ */
89
+ getTopUsers(nameFilter, limit = 10) {
90
+ let httpParams = new HttpParams();
91
+ httpParams = httpParams.set('pageNumber', '1');
92
+ httpParams = httpParams.set('pageSize', limit.toString());
93
+ if (nameFilter) {
94
+ httpParams = httpParams.set('name', nameFilter);
95
+ }
96
+ const options = httpParams.keys().length > 0
97
+ ? {
98
+ params: httpParams,
99
+ }
100
+ : {};
101
+ return this._http
102
+ .get(this._env.get('apiUrl') + 'users', options)
103
+ .pipe(retry(3), catchError(this._error.handleError));
104
+ }
105
+ /**
106
+ * Get information about all the users listed in the specified names.
107
+ * @param names User(s) names.
108
+ */
109
+ getUsersFromNames(names) {
110
+ let httpParams = new HttpParams();
111
+ if (names && names.length > 0) {
112
+ httpParams = httpParams.set('names', names.join(','));
113
+ }
114
+ const options = httpParams.keys().length > 0
115
+ ? {
116
+ params: httpParams,
117
+ }
118
+ : {};
119
+ return this._http
120
+ .get(this._env.get('apiUrl') + 'users-from-names', options)
121
+ .pipe(retry(3), catchError(this._error.handleError));
122
+ }
123
+ /**
124
+ * Get data about the specified user.
125
+ * @param name The user name.
126
+ */
127
+ getUser(name) {
128
+ return this._http
129
+ .get(this._env.get('apiUrl') + 'users/' + name)
130
+ .pipe(retry(3), catchError(this._error.handleError));
131
+ }
132
+ /**
133
+ * Update the editable data for the specified user.
134
+ * @param user The user to update.
135
+ */
136
+ updateUser(user) {
137
+ return this._http
138
+ .put(this._env.get('apiUrl') +
139
+ 'users' +
140
+ (user.emailConfirmed ? '?confirmed=true' : ''), user)
141
+ .pipe(catchError(this._error.handleError));
142
+ }
143
+ /**
144
+ * Request a password reset email for the specified email address.
145
+ * @param email The email address to receive the reset message.
146
+ */
147
+ resetPassword(email) {
148
+ return this._http
149
+ .post(this._env.get('apiUrl') + 'accounts/resetpassword/request', {
150
+ email: email,
151
+ })
152
+ .pipe(catchError(this._error.handleError));
153
+ }
154
+ /**
155
+ * Change the password.
156
+ * @param change The password change data.
157
+ */
158
+ changePassword(change) {
159
+ return this._http
160
+ .post(this._env.get('apiUrl') + 'accounts/changepassword', change)
161
+ .pipe(catchError(this._error.handleError));
162
+ }
163
+ /**
164
+ * Delete the user with the specified username.
165
+ * @param name The user name.
166
+ */
167
+ deleteUser(name) {
168
+ return this._http
169
+ .delete(this._env.get('apiUrl') + 'accounts/' + name)
170
+ .pipe(catchError(this._error.handleError));
171
+ }
172
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: AuthJwtAccountService, deps: [{ token: i1.HttpClient }, { token: i2.ErrorService }, { token: i2.EnvService }], target: i0.ɵɵFactoryTarget.Injectable }); }
173
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: AuthJwtAccountService, providedIn: 'root' }); }
174
+ }
175
+ export { AuthJwtAccountService };
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: AuthJwtAccountService, decorators: [{
177
+ type: Injectable,
178
+ args: [{
179
+ providedIn: 'root',
180
+ }]
181
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ErrorService }, { type: i2.EnvService }]; } });
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1qd3QtYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlybWlkb24vYXV0aC1qd3QtYWRtaW4vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLWp3dC1hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQXlDbkQsTUFHYSxxQkFBcUI7SUFDaEMsWUFDVSxLQUFpQixFQUNqQixNQUFvQixFQUNwQixJQUFnQjtRQUZoQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDcEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUo7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLEtBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ3JCLHVCQUF1QjtZQUN2QixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNyQixzQkFBc0I7WUFDdEIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxRQUFRLENBQ2IsWUFBK0IsRUFDL0IsU0FBUyxHQUFHLEtB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Q0FBQztJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLElBQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBM01VLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRnBCLE1BQU07O1NBRVAscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHJldHJ5LCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEYXRhUGFnZSwgRW52U2VydmljZSwgRXJyb3JTZXJ2aWNlIH0gZnJvbSAnQG15cm1pZG9uL25nLXRvb2xzJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdAbXlybWlkb24vYXV0aC1qd3QtbG9naW4nO1xuXG4vKipcbiAqIFVzZXIgcmVnaXN0cmF0aW9uIG1vZGVsLiBZb3UgY2FuIGV4cGFuZCB0aGlzIGludGVyZmFjZSB0byBhZGQgbW9yZSBkYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJhdGlvbk1vZGVsIHtcbiAgZW1haWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3VsdCBvZiBhbiBleGlzdGluZyByZXNvdXJjZSBjaGVjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeGlzdFJlc3VsdCB7XG4gIGVudHJ5OiBzdHJpbmc7XG4gIGlzRXhpc3Rpbmc6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFzc3dvcmQgY2hhbmdlIGRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFzc3dvcmRDaGFuZ2Uge1xuICBlbWFpbDogc3RyaW5nO1xuICBvbGRQYXNzd29yZDogc3RyaW5nO1xuICBuZXdQYXNzd29yZDogc3RyaW5nO1xuICBjb25maXJtUGFzc3dvcmQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2VyIGZpbHRlciBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJGaWx0ZXIge1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEp3dEFjY291bnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIF9lcnJvcjogRXJyb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2VudjogRW52U2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIGVtYWlsIGFkZHJlc3MgaXMgcmVnaXN0ZXJlZCBvbiB0aGUgc2VydmVyLlxuICAgKiBAcGFyYW0gZW1haWwgZW1haWwgYWRkcmVzcyB0byB0ZXN0LlxuICAgKiBAcmV0dXJucyByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgaXNFbWFpbFJlZ2lzdGVyZWQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8RXhpc3RSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8RXhpc3RSZXN1bHQ+KFxuICAgICAgdGhpcy5fZW52LmdldCgnYXBpVXJsJykgK1xuICAgICAgICAnYWNjb3VudHMvZW1haWxleGlzdHMvJyArXG4gICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChlbWFpbClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIHVzZXIncyBnaXZlbiBuYW1lIGlzIHJlZ2lzdGVyZWQgb24gdGhlIHNlcnZlci5cbiAgICogVGhpcyBuYW1lIGlzIGEgbmlja25hbWUgY2hvc2VuIGJ5IHVzZXJzIGR1cmluZyByZWdpc3RyYXRpb24sIGFuZCBpcyB0aGUga2V5XG4gICAqIHVzZWQgZm9yIHJlZmVyZW5jaW5nIHVzZXJzIHdoZW4gdGFsa2luZyB0byB0aGUgc2VydmVyLlxuICAgKiBAcGFyYW0gbmFtZSBuYW1lIHRvIHRlc3QuXG4gICAqIEByZXR1cm5zIHJlc3VsdC5cbiAgICovXG4gIHB1YmxpYyBpc05hbWVSZWdpc3RlcmVkKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8RXhpc3RSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8RXhpc3RSZXN1bHQ+KFxuICAgICAgdGhpcy5fZW52LmdldCgnYXBpVXJsJykgK1xuICAgICAgICAnYWNjb3VudHMvbmFtZWV4aXN0cy8nICtcbiAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGUgdXNlciB3aXRoIHRoZSBzcGVjaWZpZWQgcmVnaXN0cmF0aW9uIGRhdGEuXG4gICAqIEBwYXJhbSByZWdpc3RyYXRpb24gVGhlIHJlZ2lzdHJhdGlvbiBkYXRhLlxuICAgKiBAcGFyYW0gY29uZmlybWVkIFRydWUgdG8gYXV0b21hdGljYWxseSBjb25maXJtIHRoZSB1c2VyJ3MgZW1haWwgYWRkcmVzc1xuICAgKiB3aXRob3V0IHNlbmRpbmcgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCBtZXNzYWdlLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyKFxuICAgIHJlZ2lzdHJhdGlvbjogUmVnaXN0cmF0aW9uTW9kZWwsXG4gICAgY29uZmlybWVkID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KFxuICAgICAgdGhpcy5fZW52LmdldCgnYXBpVXJsJykgK1xuICAgICAgICAnYWNjb3VudHMvcmVnaXN0ZXInICtcbiAgICAgICAgKGNvbmZpcm1lZCA/ICc/Y29uZmlybWVkPXRydWUnIDogJycpLFxuICAgICAgcmVnaXN0cmF0aW9uXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNlbmQgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCB0byB0aGUgc3BlY2lmaWVkIGFkZHJlc3MuXG4gICAqIEBwYXJhbSBlbWFpbCBhZGRyZXNzLlxuICAgKi9cbiAgcHVibGljIHJlc2VuZENvbmZpcm1FbWFpbChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoXG4gICAgICB0aGlzLl9lbnYuZ2V0KCdhcGlVcmwnKSArXG4gICAgICAgICdhY2NvdW50cy9yZXNlbmRjb25maXJtLycgK1xuICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoZW1haWwpXG4gICAgICAvLyBvcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXF1ZXN0IGEgcGFzc3dvcmQgcmVzZXQgZm9yIHRoZSBzcGVjaWZpZWQgZW1haWwgYWRkcmVzcy5cbiAgICogQHBhcmFtIGVtYWlsIEVtYWlsIGFkZHJlc3MuXG4gICAqL1xuICBwdWJsaWMgcmVxdWVzdFBhc3N3b3JkUmVzZXQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdChcbiAgICAgIHRoaXMuX2Vudi5nZXQoJ2FwaVVybCcpICsgJ2FjY291bnRzL3Jlc2V0cGFzc3dvcmQvcmVxdWVzdCcsXG4gICAgICB7IGVtYWlsIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFsbFVzZXJzKCk6IE9ic2VydmFibGU8RGF0YVBhZ2U8VXNlcj4+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgLmdldDxEYXRhUGFnZTxVc2VyPj4odGhpcy5fZW52LmdldCgnYXBpVXJsJykgKyAndXNlcnMnLCB7XG4gICAgICAgIHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2VOdW1iZXInLCAnMScpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHJldHJ5KDMpLCBjYXRjaEVycm9yKHRoaXMuX2Vycm9yLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlcnMoXG4gICAgZmlsdGVyOiBVc2VyRmlsdGVyLFxuICAgIHBhZ2VOdW1iZXIgPSAxLFxuICAgIHBhZ2VTaXplID0gMjBcbiAgKTogT2JzZXJ2YWJsZTxEYXRhUGFnZTxVc2VyPj4ge1xuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ3BhZ2VOdW1iZXInLCBwYWdlTnVtYmVyLnRvU3RyaW5nKCkpO1xuICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgncGFnZVNpemUnLCBwYWdlU2l6ZS50b1N0cmluZygpKTtcbiAgICBpZiAoZmlsdGVyLm5hbWUpIHtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnbmFtZScsIGZpbHRlci5uYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgLmdldDxEYXRhUGFnZTxVc2VyPj4odGhpcy5fZW52LmdldCgnYXBpVXJsJykgKyAndXNlcnMnLCB7XG4gICAgICAgIHBhcmFtczogaHR0cFBhcmFtcyxcbiAgICAgIH0pXG4gICAgICAucGlwZShyZXRyeSgzKSwgY2F0Y2hFcnJvcih0aGlzLl9lcnJvci5oYW5kbGVFcnJvcikpO1xuICB9XG4gIC8qKlxuICAgKiBHZXQgdGhlIHRvcCBOIHVzZXJzIG1hdGNoaW5nIHRoZSBzcGVjaWZpZWQgbmFtZSBmaWx0ZXIuXG4gICAqIEBwYXJhbSBuYW1lRmlsdGVyIFRoZSB1c2VyIG5hbWUgZmlsdGVyLlxuICAgKiBAcGFyYW0gbGltaXQgVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIGdldC5cbiAgICovXG4gIHB1YmxpYyBnZXRUb3BVc2VycyhuYW1lRmlsdGVyOiBzdHJpbmcsIGxpbWl0ID0gMTApOiBPYnNlcnZhYmxlPFVzZXJbXT4ge1xuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ3BhZ2VOdW1iZXInLCAnMScpO1xuICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgncGFnZVNpemUnLCBsaW1pdC50b1N0cmluZygpKTtcbiAgICBpZiAobmFtZUZpbHRlcikge1xuICAgICAgaHR0cFBhcmFtcyA9IGh0dHBQYXJhbXMuc2V0KCduYW1lJywgbmFtZUZpbHRlcik7XG4gICAgfVxuICAgIGNvbnN0IG9wdGlvbnMgPVxuICAgICAgaHR0cFBhcmFtcy5rZXlzKCkubGVuZ3RoID4gMFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHBhcmFtczogaHR0cFBhcmFtcyxcbiAgICAgICAgICB9XG4gICAgICAgIDoge307XG5cbiAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgLmdldDxVc2VyW10+KHRoaXMuX2Vudi5nZXQoJ2FwaVVybCcpICsgJ3VzZXJzJywgb3B0aW9ucylcbiAgICAgIC5waXBlKHJldHJ5KDMpLCBjYXRjaEVycm9yKHRoaXMuX2Vycm9yLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGluZm9ybWF0aW9uIGFib3V0IGFsbCB0aGUgdXNlcnMgbGlzdGVkIGluIHRoZSBzcGVjaWZpZWQgbmFtZXMuXG4gICAqIEBwYXJhbSBuYW1lcyBVc2VyKHMpIG5hbWVzLlxuICAgKi9cbiAgcHVibGljIGdldFVzZXJzRnJvbU5hbWVzKG5hbWVzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8VXNlcltdPiB7XG4gICAgbGV0IGh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChuYW1lcyAmJiBuYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ25hbWVzJywgbmFtZXMuam9pbignLCcpKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9ucyA9XG4gICAgICBodHRwUGFyYW1zLmtleXMoKS5sZW5ndGggPiAwXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcGFyYW1zOiBodHRwUGFyYW1zLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7fTtcblxuICAgIHJldHVybiB0aGlzLl9odHRwXG4gICAgICAuZ2V0PFVzZXJbXT4odGhpcy5fZW52LmdldCgnYXBpVXJsJykgKyAndXNlcnMtZnJvbS1uYW1lcycsIG9wdGlvbnMpXG4gICAgICAucGlwZShyZXRyeSgzKSwgY2F0Y2hFcnJvcih0aGlzLl9lcnJvci5oYW5kbGVFcnJvcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkYXRhIGFib3V0IHRoZSBzcGVjaWZpZWQgdXNlci5cbiAgICogQHBhcmFtIG5hbWUgVGhlIHVzZXIgbmFtZS5cbiAgICovXG4gIHB1YmxpYyBnZXRVc2VyKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLl9odHRwXG4gICAgICAuZ2V0PFVzZXI+KHRoaXMuX2Vudi5nZXQoJ2FwaVVybCcpICsgJ3VzZXJzLycgKyBuYW1lKVxuICAgICAgLnBpcGUocmV0cnkoMyksIGNhdGNoRXJyb3IodGhpcy5fZXJyb3IuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGVkaXRhYmxlIGRhdGEgZm9yIHRoZSBzcGVjaWZpZWQgdXNlci5cbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgdG8gdXBkYXRlLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVVzZXIodXNlcjogVXNlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5wdXQoXG4gICAgICAgIHRoaXMuX2Vudi5nZXQoJ2FwaVVybCcpICtcbiAgICAgICAgICAndXNlcnMnICtcbiAgICAgICAgICAodXNlci5lbWFpbENvbmZpcm1lZCA/ICc/Y29uZmlybWVkPXRydWUnIDogJycpLFxuICAgICAgICB1c2VyXG4gICAgICApXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuX2Vycm9yLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVxdWVzdCBhIHBhc3N3b3JkIHJlc2V0IGVtYWlsIGZvciB0aGUgc3BlY2lmaWVkIGVtYWlsIGFkZHJlc3MuXG4gICAqIEBwYXJhbSBlbWFpbCBUaGUgZW1haWwgYWRkcmVzcyB0byByZWNlaXZlIHRoZSByZXNldCBtZXNzYWdlLlxuICAgKi9cbiAgcHVibGljIHJlc2V0UGFzc3dvcmQoZW1haWw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5wb3N0KHRoaXMuX2Vudi5nZXQoJ2FwaVVybCcpICsgJ2FjY291bnRzL3Jlc2V0cGFzc3dvcmQvcmVxdWVzdCcsIHtcbiAgICAgICAgZW1haWw6IGVtYWlsLFxuICAgICAgfSlcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5fZXJyb3IuaGFuZGxlRXJyb3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIHBhc3N3b3JkLlxuICAgKiBAcGFyYW0gY2hhbmdlIFRoZSBwYXNzd29yZCBjaGFuZ2UgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VQYXNzd29yZChjaGFuZ2U6IFBhc3N3b3JkQ2hhbmdlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5faHR0cFxuICAgICAgLnBvc3QodGhpcy5fZW52LmdldCgnYXBpVXJsJykgKyAnYWNjb3VudHMvY2hhbmdlcGFzc3dvcmQnLCBjaGFuZ2UpXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuX2Vycm9yLmhhbmRsZUVycm9yKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIHRoZSB1c2VyIHdpdGggdGhlIHNwZWNpZmllZCB1c2VybmFtZS5cbiAgICogQHBhcmFtIG5hbWUgVGhlIHVzZXIgbmFtZS5cbiAgICovXG4gIHB1YmxpYyBkZWxldGVVc2VyKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2h0dHBcbiAgICAgIC5kZWxldGUodGhpcy5fZW52LmdldCgnYXBpVXJsJykgKyAnYWNjb3VudHMvJyArIG5hbWUpXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuX2Vycm9yLmhhbmRsZUVycm9yKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ConfirmDialogComponent } from '../components/confirm-dialog/confirm-dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ // https://medium.com/@tarik.nzl/making-use-of-dialogs-in-material-2-mddialog-7533d27df41
6
+ /**
7
+ * This service acts as a wrapper for MatDialog to simplify the process of calling
8
+ * the dialog and subscribing to it. What it will do is create an Instance of
9
+ * MatDialog with our custom component (ConfirmDialogComponent). Then it will set
10
+ * any public properties it needs to by setting the properties on the
11
+ * componentInstance object. It will return the observable afterClosed()
12
+ * to the caller so they can subscribe to it. This will emit an event whenever
13
+ * the dialog is closed.
14
+ */
15
+ class DialogService {
16
+ constructor(dialog) {
17
+ this.dialog = dialog;
18
+ }
19
+ confirm(title, prompt, ok = $localize `yes`, cancel = $localize `no`) {
20
+ let dialogRef;
21
+ dialogRef = this.dialog.open(ConfirmDialogComponent);
22
+ dialogRef.componentInstance.title = title;
23
+ dialogRef.componentInstance.prompt = prompt;
24
+ dialogRef.componentInstance.ok = ok;
25
+ dialogRef.componentInstance.cancel = cancel;
26
+ return dialogRef.afterClosed();
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DialogService, providedIn: 'root' }); }
30
+ }
31
+ export { DialogService };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DialogService, decorators: [{
33
+ type: Injectable,
34
+ args: [{
35
+ providedIn: 'root'
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9hdXRoLWp3dC1hZG1pbi9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7OztBQUcvRix5RkFBeUY7QUFFekY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUdhLGFBQWE7SUFFeEIsWUFBb0IsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUFJLENBQUM7SUFFbkMsT0FBTyxDQUFDLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQSxLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQSxJQUFJO1FBR3ZGLElBQUksU0FBK0MsQ0FBQztRQUVwRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyRCxTQUFTLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMxQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUM1QyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNwQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUU1QyxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzhHQWhCVSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOztTQUVQLGFBQWE7MkZBQWIsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0B0YXJpay5uemwvbWFraW5nLXVzZS1vZi1kaWFsb2dzLWluLW1hdGVyaWFsLTItbWRkaWFsb2ctNzUzM2QyN2RmNDFcclxuXHJcbi8qKlxyXG4gKiBUaGlzIHNlcnZpY2UgYWN0cyBhcyBhIHdyYXBwZXIgZm9yIE1hdERpYWxvZyB0byBzaW1wbGlmeSB0aGUgcHJvY2VzcyBvZiBjYWxsaW5nXHJcbiAqIHRoZSBkaWFsb2cgYW5kIHN1YnNjcmliaW5nIHRvIGl0LiBXaGF0IGl0IHdpbGwgZG8gaXMgY3JlYXRlIGFuIEluc3RhbmNlIG9mXHJcbiAqIE1hdERpYWxvZyB3aXRoIG91ciBjdXN0b20gY29tcG9uZW50IChDb25maXJtRGlhbG9nQ29tcG9uZW50KS4gVGhlbiBpdCB3aWxsIHNldFxyXG4gKiBhbnkgcHVibGljIHByb3BlcnRpZXMgaXQgbmVlZHMgdG8gYnkgc2V0dGluZyB0aGUgcHJvcGVydGllcyBvbiB0aGVcclxuICogY29tcG9uZW50SW5zdGFuY2Ugb2JqZWN0LiBJdCB3aWxsIHJldHVybiB0aGUgb2JzZXJ2YWJsZSBhZnRlckNsb3NlZCgpXHJcbiAqIHRvIHRoZSBjYWxsZXIgc28gdGhleSBjYW4gc3Vic2NyaWJlIHRvIGl0LiBUaGlzIHdpbGwgZW1pdCBhbiBldmVudCB3aGVuZXZlclxyXG4gKiB0aGUgZGlhbG9nIGlzIGNsb3NlZC5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7IH1cclxuXHJcbiAgcHVibGljIGNvbmZpcm0odGl0bGU6IHN0cmluZywgcHJvbXB0OiBzdHJpbmcsIG9rID0gJGxvY2FsaXplYHllc2AsIGNhbmNlbCA9ICRsb2NhbGl6ZWBub2ApOlxyXG4gICAgT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcblxyXG4gICAgbGV0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbmZpcm1EaWFsb2dDb21wb25lbnQ+O1xyXG5cclxuICAgIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCk7XHJcbiAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSB0aXRsZTtcclxuICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5wcm9tcHQgPSBwcm9tcHQ7XHJcbiAgICBkaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2Uub2sgPSBvaztcclxuICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5jYW5jZWwgPSBjYW5jZWw7XHJcblxyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,49 +1,49 @@
1
- export class PasswordValidators {
2
- /** "Standard" password validator for my API services. */
3
- static standard() {
4
- return (control) => {
5
- if (!control.value) {
6
- return null;
7
- }
8
- if (control.value.length < 8) {
9
- return {
10
- passwordtooshort: true,
11
- };
12
- }
13
- if (!/.*[A-Z].*/.test(control.value)) {
14
- return {
15
- noupperinpassword: true,
16
- };
17
- }
18
- if (!/.*[a-z].*/.test(control.value)) {
19
- return {
20
- nolowerinpassword: true,
21
- };
22
- }
23
- if (!/.*[A-Z].*/.test(control.value)) {
24
- return {
25
- noupperinpassword: true,
26
- };
27
- }
28
- if (!/.*[-`~!@#$%^&*()_+=\[\]{};:'",.<>/?|\\].*/.test(control.value)) {
29
- return {
30
- nosymbolinpassword: true,
31
- };
32
- }
33
- return null;
34
- };
35
- }
36
- static areEqual(controlName, otherControlName) {
37
- return (control) => {
38
- const g = control;
39
- const a = g.controls[controlName];
40
- const b = g.controls[otherControlName];
41
- return a.value !== b.value
42
- ? {
43
- areequal: true,
44
- }
45
- : null;
46
- };
47
- }
48
- }
1
+ export class PasswordValidators {
2
+ /** "Standard" password validator for my API services. */
3
+ static standard() {
4
+ return (control) => {
5
+ if (!control.value) {
6
+ return null;
7
+ }
8
+ if (control.value.length < 8) {
9
+ return {
10
+ passwordtooshort: true,
11
+ };
12
+ }
13
+ if (!/.*[A-Z].*/.test(control.value)) {
14
+ return {
15
+ noupperinpassword: true,
16
+ };
17
+ }
18
+ if (!/.*[a-z].*/.test(control.value)) {
19
+ return {
20
+ nolowerinpassword: true,
21
+ };
22
+ }
23
+ if (!/.*[A-Z].*/.test(control.value)) {
24
+ return {
25
+ noupperinpassword: true,
26
+ };
27
+ }
28
+ if (!/.*[-`~!@#$%^&*()_+=\[\]{};:'",.<>/?|\\].*/.test(control.value)) {
29
+ return {
30
+ nosymbolinpassword: true,
31
+ };
32
+ }
33
+ return null;
34
+ };
35
+ }
36
+ static areEqual(controlName, otherControlName) {
37
+ return (control) => {
38
+ const g = control;
39
+ const a = g.controls[controlName];
40
+ const b = g.controls[otherControlName];
41
+ return a.value !== b.value
42
+ ? {
43
+ areequal: true,
44
+ }
45
+ : null;
46
+ };
47
+ }
48
+ }
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQudmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9saWIvdmFsaWRhdG9ycy9wYXNzd29yZC52YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IseURBQXlEO0lBQ2xELE1BQU0sQ0FBQyxRQUFRO1FBQ3BCLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO2dCQUNsQixPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLE9BQU87b0JBQ0wsZ0JBQWdCLEVBQUUsSUFBSTtpQkFDdkIsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwQyxPQUFPO29CQUNMLGlCQUFpQixFQUFFLElBQUk7aUJBQ3hCLENBQUM7YUFDSDtZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEMsT0FBTztvQkFDTCxpQkFBaUIsRUFBRSxJQUFJO2lCQUN4QixDQUFDO2FBQ0g7WUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BDLE9BQU87b0JBQ0wsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEIsQ0FBQzthQUNIO1lBRUQsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BFLE9BQU87b0JBQ0wsa0JBQWtCLEVBQUUsSUFBSTtpQkFDekIsQ0FBQzthQUNIO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FDcEIsV0FBbUIsRUFDbkIsZ0JBQXdCO1FBRXhCLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQzNELE1BQU0sQ0FBQyxHQUFHLE9BQXVDLENBQUM7WUFDbEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDdkMsT0FBTyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLO2dCQUN4QixDQUFDLENBQUM7b0JBQ0UsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7Z0JBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNYLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbiAgVmFsaWRhdG9yRm4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkVmFsaWRhdG9ycyB7XHJcbiAgLyoqIFwiU3RhbmRhcmRcIiBwYXNzd29yZCB2YWxpZGF0b3IgZm9yIG15IEFQSSBzZXJ2aWNlcy4gKi9cclxuICBwdWJsaWMgc3RhdGljIHN0YW5kYXJkKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRyb2wudmFsdWUubGVuZ3RoIDwgOCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBwYXNzd29yZHRvb3Nob3J0OiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghLy4qW0EtWl0uKi8udGVzdChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBub3VwcGVyaW5wYXNzd29yZDogdHJ1ZSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIS8uKlthLXpdLiovLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbm9sb3dlcmlucGFzc3dvcmQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCEvLipbQS1aXS4qLy50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5vdXBwZXJpbnBhc3N3b3JkOiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghLy4qWy1gfiFAIyQlXiYqKClfKz1cXFtcXF17fTs6J1wiLC48Pi8/fFxcXFxdLiovLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbm9zeW1ib2xpbnBhc3N3b3JkOiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYXJlRXF1YWwoXHJcbiAgICBjb250cm9sTmFtZTogc3RyaW5nLFxyXG4gICAgb3RoZXJDb250cm9sTmFtZTogc3RyaW5nXHJcbiAgKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IGcgPSBjb250cm9sIGFzIEZvcm1Hcm91cCB8IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgICAgIGNvbnN0IGEgPSBnLmNvbnRyb2xzW2NvbnRyb2xOYW1lXTtcclxuICAgICAgY29uc3QgYiA9IGcuY29udHJvbHNbb3RoZXJDb250cm9sTmFtZV07XHJcbiAgICAgIHJldHVybiBhLnZhbHVlICE9PSBiLnZhbHVlXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGFyZWVxdWFsOiB0cnVlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDogbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXlybWlkb24tYXV0aC1qd3QtYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJtaWRvbi9hdXRoLWp3dC1hZG1pbi9zcmMvbXlybWlkb24tYXV0aC1qd3QtYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,12 +1,12 @@
1
- /*
2
- * Public API Surface of auth-jwt-admin
3
- */
4
- export * from './lib/components/auth-jwt-registration/auth-jwt-registration.component';
5
- export * from './lib/components/password-strength-bar/password-strength-bar.component';
6
- export * from './lib/components/user-filter/user-filter.component';
7
- export * from './lib/components/user-list/user-list.component';
8
- export * from './lib/components/state/user-list.repository';
9
- export * from './lib/services/auth-jwt-account.service';
10
- export * from './lib/validators/password.validators';
11
- export * from './lib/auth-jwt-admin.module';
1
+ /*
2
+ * Public API Surface of auth-jwt-admin
3
+ */
4
+ export * from './lib/components/auth-jwt-registration/auth-jwt-registration.component';
5
+ export * from './lib/components/password-strength-bar/password-strength-bar.component';
6
+ export * from './lib/components/user-filter/user-filter.component';
7
+ export * from './lib/components/user-list/user-list.component';
8
+ export * from './lib/components/state/user-list.repository';
9
+ export * from './lib/services/auth-jwt-account.service';
10
+ export * from './lib/validators/password.validators';
11
+ export * from './lib/auth-jwt-admin.module';
12
12
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL215cm1pZG9uL2F1dGgtand0LWFkbWluL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhdXRoLWp3dC1hZG1pblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXV0aC1qd3QtcmVnaXN0cmF0aW9uL2F1dGgtand0LXJlZ2lzdHJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aC1iYXIvcGFzc3dvcmQtc3RyZW5ndGgtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXItZmlsdGVyL3VzZXItZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VzZXItbGlzdC91c2VyLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RhdGUvdXNlci1saXN0LnJlcG9zaXRvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC1qd3QtYWNjb3VudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMvcGFzc3dvcmQudmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLWp3dC1hZG1pbi5tb2R1bGUnO1xuIl19