oidc-spa 8.0.4 → 8.1.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 (94) hide show
  1. package/angular.d.ts +191 -0
  2. package/angular.js +351 -0
  3. package/angular.js.map +1 -0
  4. package/core/createOidc.d.ts +7 -7
  5. package/core/createOidc.js +15 -2
  6. package/core/createOidc.js.map +1 -1
  7. package/core/oidcClientTsUserToTokens.js +7 -0
  8. package/core/oidcClientTsUserToTokens.js.map +1 -1
  9. package/esm/angular.d.ts +191 -0
  10. package/esm/angular.js +314 -0
  11. package/esm/angular.js.map +1 -0
  12. package/esm/core/createOidc.d.ts +7 -7
  13. package/esm/core/createOidc.js +15 -2
  14. package/esm/core/createOidc.js.map +1 -1
  15. package/esm/core/oidcClientTsUserToTokens.js +7 -0
  16. package/esm/core/oidcClientTsUserToTokens.js.map +1 -1
  17. package/esm/keycloak/keycloakUtils.js.map +1 -1
  18. package/esm/mock/oidc.js +2 -1
  19. package/esm/mock/oidc.js.map +1 -1
  20. package/esm/tools/ConcreteClass.d.ts +3 -0
  21. package/esm/tools/ConcreteClass.js +2 -0
  22. package/esm/tools/ConcreteClass.js.map +1 -0
  23. package/esm/tools/Deferred.d.ts +7 -0
  24. package/esm/tools/Deferred.js +5 -0
  25. package/esm/tools/Deferred.js.map +1 -1
  26. package/esm/tools/INFINITY_TIME.d.ts +1 -0
  27. package/esm/tools/INFINITY_TIME.js +3 -0
  28. package/esm/tools/INFINITY_TIME.js.map +1 -0
  29. package/esm/tools/ReadonlyBehaviorSubject.d.ts +8 -0
  30. package/esm/tools/ReadonlyBehaviorSubject.js +2 -0
  31. package/esm/tools/ReadonlyBehaviorSubject.js.map +1 -0
  32. package/esm/tools/getBaseHref.d.ts +1 -0
  33. package/esm/tools/getBaseHref.js +8 -0
  34. package/esm/tools/getBaseHref.js.map +1 -0
  35. package/esm/tools/readExpirationTimeInJwt.js +4 -0
  36. package/esm/tools/readExpirationTimeInJwt.js.map +1 -1
  37. package/esm/vendor/frontend/tsafe.d.ts +1 -0
  38. package/esm/vendor/frontend/tsafe.js +1 -1
  39. package/keycloak/keycloakUtils.js.map +1 -1
  40. package/mock/oidc.js +2 -1
  41. package/mock/oidc.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/angular.ts +583 -0
  44. package/src/core/createOidc.ts +28 -10
  45. package/src/core/oidcClientTsUserToTokens.ts +9 -0
  46. package/src/keycloak/keycloakUtils.ts +0 -1
  47. package/src/mock/oidc.ts +2 -1
  48. package/src/tools/ConcreteClass.ts +3 -0
  49. package/src/tools/Deferred.ts +10 -0
  50. package/src/tools/INFINITY_TIME.ts +2 -0
  51. package/src/tools/ReadonlyBehaviorSubject.ts +9 -0
  52. package/src/tools/getBaseHref.ts +7 -0
  53. package/src/tools/readExpirationTimeInJwt.ts +5 -0
  54. package/src/vendor/frontend/tsafe.ts +1 -0
  55. package/tools/ConcreteClass.d.ts +3 -0
  56. package/tools/ConcreteClass.js +3 -0
  57. package/tools/ConcreteClass.js.map +1 -0
  58. package/tools/Deferred.d.ts +7 -0
  59. package/tools/Deferred.js +5 -0
  60. package/tools/Deferred.js.map +1 -1
  61. package/tools/INFINITY_TIME.d.ts +1 -0
  62. package/tools/INFINITY_TIME.js +6 -0
  63. package/tools/INFINITY_TIME.js.map +1 -0
  64. package/tools/ReadonlyBehaviorSubject.d.ts +8 -0
  65. package/tools/ReadonlyBehaviorSubject.js +3 -0
  66. package/tools/ReadonlyBehaviorSubject.js.map +1 -0
  67. package/tools/getBaseHref.d.ts +1 -0
  68. package/tools/getBaseHref.js +11 -0
  69. package/tools/getBaseHref.js.map +1 -0
  70. package/tools/readExpirationTimeInJwt.js +4 -0
  71. package/tools/readExpirationTimeInJwt.js.map +1 -1
  72. package/vendor/frontend/tsafe.d.ts +1 -0
  73. package/vendor/frontend/tsafe.js +1 -1
  74. package/angular/angular.d.ts +0 -72
  75. package/angular/angular.js +0 -253
  76. package/angular/angular.js.map +0 -1
  77. package/angular/index.d.ts +0 -1
  78. package/angular/index.js +0 -6
  79. package/angular/index.js.map +0 -1
  80. package/esm/angular/angular.d.ts +0 -72
  81. package/esm/angular/angular.js +0 -249
  82. package/esm/angular/angular.js.map +0 -1
  83. package/esm/angular/index.d.ts +0 -1
  84. package/esm/angular/index.js +0 -2
  85. package/esm/angular/index.js.map +0 -1
  86. package/esm/mock/angular.d.ts +0 -41
  87. package/esm/mock/angular.js +0 -7
  88. package/esm/mock/angular.js.map +0 -1
  89. package/mock/angular.d.ts +0 -41
  90. package/mock/angular.js +0 -10
  91. package/mock/angular.js.map +0 -1
  92. package/src/angular/angular.ts +0 -428
  93. package/src/angular/index.ts +0 -1
  94. package/src/mock/angular.ts +0 -11
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/angular/index.ts"],"names":[],"mappings":";;;AAAA,qCAAgE;AAArC,4GAAA,iBAAiB,OAAA"}
@@ -1,72 +0,0 @@
1
- import { type Oidc, type ParamsOfCreateOidc, OidcInitializationError } from "../core";
2
- import type { ValueOrAsyncGetter } from "../tools/ValueOrAsyncGetter";
3
- import { type Signal, type EnvironmentProviders } from "@angular/core";
4
- import { type CanActivateFn } from "@angular/router";
5
- export type OidcAngular = OidcAngular.NotLoggedIn | OidcAngular.LoggedIn;
6
- export declare namespace OidcAngular {
7
- type Common = Oidc.Common;
8
- type NotLoggedIn = Common & {
9
- isUserLoggedIn: false;
10
- login: (params?: {
11
- extraQueryParams?: Record<string, string | undefined>;
12
- transformUrlBeforeRedirect?: (url: string) => string;
13
- }) => Promise<never>;
14
- };
15
- type LoggedIn = Common & {
16
- isUserLoggedIn: true;
17
- logout: Oidc.LoggedIn["logout"];
18
- renewTokens: Oidc.LoggedIn["renewTokens"];
19
- goToAuthServer: Oidc.LoggedIn["goToAuthServer"];
20
- backFromAuthServer: {
21
- extraQueryParams: Record<string, string>;
22
- result: Record<string, string>;
23
- } | undefined;
24
- isNewBrowserSession: boolean;
25
- };
26
- }
27
- type OidcAngularApi<DecodedIdToken extends Record<string, unknown>, AutoLogin extends boolean> = {
28
- getOidc: AutoLogin extends true ? {
29
- (params?: {
30
- assert: "user logged in";
31
- }): OidcAngular.LoggedIn;
32
- } : {
33
- (params?: {
34
- assert?: undefined;
35
- }): OidcAngular;
36
- (params: {
37
- assert: "user logged in";
38
- }): OidcAngular.LoggedIn;
39
- (params: {
40
- assert: "user not logged in";
41
- }): OidcAngular.NotLoggedIn;
42
- };
43
- getOidcInitializationError: () => OidcInitializationError | undefined;
44
- get$decodedIdToken: () => Signal<DecodedIdToken>;
45
- get$secondsLeftBeforeAutoLogout: (params: {
46
- warningDurationSeconds: number;
47
- }) => Signal<number | undefined>;
48
- getTokens: () => Promise<{
49
- isUserLoggedIn: false;
50
- prTokens?: never;
51
- } | {
52
- isUserLoggedIn: true;
53
- prTokens: Promise<Oidc.Tokens<DecodedIdToken>>;
54
- }>;
55
- provideOidcInitAwaiter: EnvironmentProviders;
56
- } & (AutoLogin extends true ? {} : {
57
- enforceLoginGuard: CanActivateFn;
58
- });
59
- export declare function createAngularOidc_dependencyInjection<DecodedIdToken extends Record<string, unknown>, ParamsOfCreateOidc extends {
60
- autoLogin?: boolean;
61
- } & ({
62
- decodedIdTokenSchema: {
63
- parse: (data: unknown) => DecodedIdToken;
64
- } | undefined;
65
- } | {})>(paramsOrGetParams: ValueOrAsyncGetter<ParamsOfCreateOidc>, createOidc: (params: ParamsOfCreateOidc) => Promise<Oidc<DecodedIdToken>>): OidcAngularApi<DecodedIdToken, ParamsOfCreateOidc extends {
66
- autoLogin?: true | undefined;
67
- } ? true : false>;
68
- /** @see: https://docs.oidc-spa.dev/v/v8/usage#angular-api */
69
- export declare function createAngularOidc<DecodedIdToken extends Record<string, unknown> = Oidc.Tokens.DecodedIdToken_base, AutoLogin extends boolean = false>(params: ValueOrAsyncGetter<Omit<ParamsOfCreateOidc<DecodedIdToken, AutoLogin>, "homeUrl">>): OidcAngularApi<DecodedIdToken, Omit<ParamsOfCreateOidc<DecodedIdToken, AutoLogin>, "homeUrl"> extends infer T ? T extends Omit<ParamsOfCreateOidc<DecodedIdToken, AutoLogin>, "homeUrl"> ? T extends {
70
- autoLogin?: true | undefined;
71
- } ? true : false : never : never>;
72
- export {};
@@ -1,249 +0,0 @@
1
- import { createOidc, OidcInitializationError } from "../core";
2
- import { assert } from "../vendor/frontend/tsafe";
3
- import { id } from "../vendor/frontend/tsafe";
4
- import { Deferred } from "../tools/Deferred";
5
- import { provideAppInitializer, inject } from "@angular/core";
6
- import { Router } from "@angular/router";
7
- import { toSignal } from "@angular/core/rxjs-interop";
8
- import { BehaviorSubject } from "rxjs";
9
- import { createObjectThatThrowsIfAccessed } from "../tools/createObjectThatThrowsIfAccessed";
10
- export function createAngularOidc_dependencyInjection(paramsOrGetParams, createOidc) {
11
- const dReadyToCreate = new Deferred();
12
- // NOTE: It can be InitializationError only if autoLogin is true
13
- const prOidcOrAutoLoginInitializationError = (async () => {
14
- const params = await (async () => {
15
- await dReadyToCreate.pr;
16
- if (typeof paramsOrGetParams === "function") {
17
- const getParams = paramsOrGetParams;
18
- const params = await getParams();
19
- return params;
20
- }
21
- const params = paramsOrGetParams;
22
- return params;
23
- })();
24
- let oidc;
25
- try {
26
- oidc = await createOidc(params);
27
- }
28
- catch (error) {
29
- if (!(error instanceof OidcInitializationError)) {
30
- throw error;
31
- }
32
- return error;
33
- }
34
- return oidc;
35
- })();
36
- let oidcOrAutoLoginInitializationError = undefined;
37
- prOidcOrAutoLoginInitializationError.then(value => {
38
- oidcOrAutoLoginInitializationError = value;
39
- });
40
- function getOidc(params) {
41
- const { assert: assert_params } = params ?? {};
42
- if (oidcOrAutoLoginInitializationError === undefined) {
43
- throw new Error("oidc-spa: calling getOidc() before provideOidcInitAwaiter has resolved");
44
- }
45
- if (oidcOrAutoLoginInitializationError instanceof OidcInitializationError) {
46
- throw new Error("oidc-spa: calling getOidc() while getOidcInitializationError() is not `undefined` in autoLogin: true mode");
47
- }
48
- const oidc = oidcOrAutoLoginInitializationError;
49
- check_assertion: {
50
- if (assert_params === undefined) {
51
- break check_assertion;
52
- }
53
- const getMessage = (v) => [
54
- "There is a logic error in the application.",
55
- `If this component is mounted the user is supposed ${v}.`,
56
- "An explicit assertion was made in this sense."
57
- ].join(" ");
58
- switch (assert_params) {
59
- case "user logged in":
60
- if (!oidc.isUserLoggedIn) {
61
- throw new Error(getMessage("to be logged in but currently they arn't"));
62
- }
63
- break;
64
- case "user not logged in":
65
- if (oidc.isUserLoggedIn) {
66
- throw new Error(getMessage("not to be logged in but currently they are"));
67
- }
68
- break;
69
- default:
70
- assert(false);
71
- }
72
- }
73
- const common = {
74
- params: oidc.params
75
- };
76
- return oidc.isUserLoggedIn
77
- ? id({
78
- ...common,
79
- isUserLoggedIn: true,
80
- logout: oidc.logout,
81
- renewTokens: oidc.renewTokens,
82
- goToAuthServer: oidc.goToAuthServer,
83
- backFromAuthServer: oidc.backFromAuthServer,
84
- isNewBrowserSession: oidc.isNewBrowserSession
85
- })
86
- : id({
87
- ...common,
88
- isUserLoggedIn: false,
89
- login: params => oidc.login({
90
- ...params,
91
- doesCurrentHrefRequiresAuth: false
92
- })
93
- });
94
- }
95
- function getOidcInitializationError() {
96
- if (oidcOrAutoLoginInitializationError === undefined) {
97
- throw new Error("oidc-spa: calling getOidcInitializationError() before provideOidcInitAwaiter has resolved");
98
- }
99
- if (oidcOrAutoLoginInitializationError instanceof OidcInitializationError) {
100
- return oidcOrAutoLoginInitializationError;
101
- }
102
- const oidc = oidcOrAutoLoginInitializationError;
103
- if (!oidc.isUserLoggedIn && oidc.initializationError !== undefined) {
104
- return oidc.initializationError;
105
- }
106
- return undefined;
107
- }
108
- const { get$decodedIdToken } = (() => {
109
- function createDecodedIdToken$() {
110
- if (oidcOrAutoLoginInitializationError === undefined) {
111
- throw new Error("oidc-spa: calling get$decodedIdToken() before provideOidcInitAwaiter has resolved");
112
- }
113
- if (oidcOrAutoLoginInitializationError instanceof OidcInitializationError) {
114
- throw new Error("oidc-spa: calling getOidc() while getOidcInitializationError() is not `undefined` in autoLogin: true mode");
115
- }
116
- const oidc = oidcOrAutoLoginInitializationError;
117
- let initialValue;
118
- if (!oidc.isUserLoggedIn) {
119
- initialValue = createObjectThatThrowsIfAccessed({
120
- debugMessage: [
121
- "You are trying to read the decodedIdToken but the user",
122
- "isn't logged in"
123
- ].join(" ")
124
- });
125
- }
126
- else {
127
- initialValue = oidc.getDecodedIdToken();
128
- }
129
- const decodedIdToken$ = new BehaviorSubject(initialValue);
130
- if (oidc.isUserLoggedIn) {
131
- oidc.subscribeToTokensChange(() => {
132
- const decodedIdToken = oidc.getDecodedIdToken();
133
- if (decodedIdToken$.getValue() === decodedIdToken) {
134
- return;
135
- }
136
- decodedIdToken$.next(decodedIdToken);
137
- });
138
- }
139
- return decodedIdToken$;
140
- }
141
- let decodedIdToken$ = undefined;
142
- function get$decodedIdToken() {
143
- return toSignal((decodedIdToken$ ?? (decodedIdToken$ = createDecodedIdToken$())), {
144
- requireSync: true
145
- });
146
- }
147
- return { get$decodedIdToken };
148
- })();
149
- const { get$secondsLeftBeforeAutoLogout } = (() => {
150
- function createSecondsLeftBeforeAutoLogout$() {
151
- if (oidcOrAutoLoginInitializationError === undefined) {
152
- throw new Error("oidc-spa: calling get$decodedIdToken() before provideOidcInitAwaiter has resolved");
153
- }
154
- if (oidcOrAutoLoginInitializationError instanceof OidcInitializationError) {
155
- throw new Error("oidc-spa: calling getOidc() while getOidcInitializationError() is not `undefined` in autoLogin: true mode");
156
- }
157
- const oidc = oidcOrAutoLoginInitializationError;
158
- const secondsLeftBeforeAutoLogout$ = new BehaviorSubject(undefined);
159
- if (oidc.isUserLoggedIn) {
160
- oidc.subscribeToAutoLogoutCountdown(({ secondsLeft }) => secondsLeftBeforeAutoLogout$.next(secondsLeft));
161
- }
162
- return secondsLeftBeforeAutoLogout$;
163
- }
164
- let secondsLeftBeforeAutoLogout$ = undefined;
165
- function get$secondsLeftBeforeAutoLogout(params) {
166
- const { warningDurationSeconds } = params;
167
- secondsLeftBeforeAutoLogout$ ?? (secondsLeftBeforeAutoLogout$ = createSecondsLeftBeforeAutoLogout$());
168
- const secondsLeftBeforeAutoLogout$_cropped = new BehaviorSubject(secondsLeftBeforeAutoLogout$.getValue());
169
- secondsLeftBeforeAutoLogout$.subscribe(secondsLeftBeforeAutoLogout => {
170
- if (secondsLeftBeforeAutoLogout === undefined ||
171
- secondsLeftBeforeAutoLogout > warningDurationSeconds) {
172
- if (secondsLeftBeforeAutoLogout$_cropped.getValue() !== undefined) {
173
- secondsLeftBeforeAutoLogout$_cropped.next(undefined);
174
- }
175
- return;
176
- }
177
- secondsLeftBeforeAutoLogout$_cropped.next(secondsLeftBeforeAutoLogout);
178
- });
179
- const signal = toSignal(secondsLeftBeforeAutoLogout$_cropped, {
180
- requireSync: true
181
- });
182
- return signal;
183
- }
184
- return { get$secondsLeftBeforeAutoLogout };
185
- })();
186
- async function getTokens() {
187
- const oidcOrAutoLoginInitializationError = await prOidcOrAutoLoginInitializationError;
188
- if (oidcOrAutoLoginInitializationError instanceof OidcInitializationError) {
189
- return new Promise(() => { });
190
- }
191
- const oidc = oidcOrAutoLoginInitializationError;
192
- return oidc.isUserLoggedIn
193
- ? { isUserLoggedIn: true, prTokens: oidc.getTokens() }
194
- : {
195
- isUserLoggedIn: false
196
- };
197
- }
198
- const provideOidcInitAwaiter = provideAppInitializer(async () => {
199
- dReadyToCreate.resolve();
200
- await prOidcOrAutoLoginInitializationError;
201
- });
202
- const enforceLoginGuard = async (route) => {
203
- const router = inject(Router);
204
- const oidcOrAutoLoginInitializationError = await prOidcOrAutoLoginInitializationError;
205
- if (oidcOrAutoLoginInitializationError instanceof OidcInitializationError) {
206
- return new Promise(() => { });
207
- }
208
- const oidc = oidcOrAutoLoginInitializationError;
209
- if (!oidc.isUserLoggedIn) {
210
- const redirectUrl = (() => {
211
- const tree = router.createUrlTree(route.url.map(u => u.path), {
212
- queryParams: route.queryParams
213
- });
214
- return router.serializeUrl(tree);
215
- })();
216
- const doesCurrentHrefRequiresAuth = location.href.replace(/\/$/, "") === redirectUrl.replace(/\/$/, "");
217
- await oidc.login({
218
- doesCurrentHrefRequiresAuth,
219
- redirectUrl
220
- });
221
- }
222
- return true;
223
- };
224
- const oidcAngularApi = id({
225
- getOidc: getOidc,
226
- getOidcInitializationError,
227
- get$decodedIdToken,
228
- get$secondsLeftBeforeAutoLogout,
229
- getTokens,
230
- provideOidcInitAwaiter,
231
- enforceLoginGuard
232
- });
233
- // @ts-expect-error: We know what we are doing
234
- return oidcAngularApi;
235
- }
236
- /** @see: https://docs.oidc-spa.dev/v/v8/usage#angular-api */
237
- export function createAngularOidc(params) {
238
- return createAngularOidc_dependencyInjection(params, params => createOidc({
239
- ...params,
240
- homeUrl: (() => {
241
- const baseEl = document.querySelector("base[href]");
242
- if (!baseEl) {
243
- throw new Error('No <base href="..."> element found in the DOM');
244
- }
245
- return baseEl.getAttribute("href") ?? "/";
246
- })()
247
- }));
248
- }
249
- //# sourceMappingURL=angular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular.js","sourceRoot":"","sources":["../../src/angular/angular.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export { type OidcAngular, createAngularOidc } from "./angular";
@@ -1,2 +0,0 @@
1
- export { createAngularOidc } from "./angular";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/angular/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,41 +0,0 @@
1
- import { type ParamsOfCreateMockOidc } from "./oidc";
2
- import type { ValueOrAsyncGetter } from "../tools/ValueOrAsyncGetter";
3
- /** @see: https://docs.oidc-spa.dev/v/v8/mock */
4
- export declare function createMockAngularOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false>(params: ValueOrAsyncGetter<ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin>>): {
5
- getOidc: (ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T extends {
6
- autoLogin?: true | undefined;
7
- } ? true : false : never : never) extends infer T_1 ? T_1 extends (ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T_2 ? T_2 extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T_2 extends {
8
- autoLogin?: true | undefined;
9
- } ? true : false : never : never) ? T_1 extends true ? (params?: {
10
- assert: "user logged in";
11
- }) => import("../angular/angular").OidcAngular.LoggedIn : {
12
- (params?: {
13
- assert?: undefined;
14
- }): import("../angular/angular").OidcAngular;
15
- (params: {
16
- assert: "user logged in";
17
- }): import("../angular/angular").OidcAngular.LoggedIn;
18
- (params: {
19
- assert: "user not logged in";
20
- }): import("../angular/angular").OidcAngular.NotLoggedIn;
21
- } : never : never;
22
- getOidcInitializationError: () => import("..").OidcInitializationError | undefined;
23
- get$decodedIdToken: () => import("@angular/core").Signal<DecodedIdToken>;
24
- get$secondsLeftBeforeAutoLogout: (params: {
25
- warningDurationSeconds: number;
26
- }) => import("@angular/core").Signal<number | undefined>;
27
- getTokens: () => Promise<{
28
- isUserLoggedIn: false;
29
- prTokens?: never;
30
- } | {
31
- isUserLoggedIn: true;
32
- prTokens: Promise<import("..").Oidc.Tokens<DecodedIdToken>>;
33
- }>;
34
- provideOidcInitAwaiter: import("@angular/core").EnvironmentProviders;
35
- } & ((ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T_3 ? T_3 extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T_3 extends {
36
- autoLogin?: true | undefined;
37
- } ? true : false : never : never) extends infer T_4 ? T_4 extends (ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T_5 ? T_5 extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T_5 extends {
38
- autoLogin?: true | undefined;
39
- } ? true : false : never : never) ? T_4 extends true ? {} : {
40
- enforceLoginGuard: import("@angular/router").CanActivateFn;
41
- } : never : never);
@@ -1,7 +0,0 @@
1
- import { createAngularOidc_dependencyInjection } from "../angular/angular";
2
- import { createMockOidc } from "./oidc";
3
- /** @see: https://docs.oidc-spa.dev/v/v8/mock */
4
- export function createMockAngularOidc(params) {
5
- return createAngularOidc_dependencyInjection(params, createMockOidc);
6
- }
7
- //# sourceMappingURL=angular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular.js","sourceRoot":"","sources":["../../src/mock/angular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAA+B,MAAM,QAAQ,CAAC;AAGrE,gDAAgD;AAChD,MAAM,UAAU,qBAAqB,CAGnC,MAA6E;IAC3E,OAAO,qCAAqC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACzE,CAAC"}
package/mock/angular.d.ts DELETED
@@ -1,41 +0,0 @@
1
- import { type ParamsOfCreateMockOidc } from "./oidc";
2
- import type { ValueOrAsyncGetter } from "../tools/ValueOrAsyncGetter";
3
- /** @see: https://docs.oidc-spa.dev/v/v8/mock */
4
- export declare function createMockAngularOidc<DecodedIdToken extends Record<string, unknown> = Record<string, unknown>, AutoLogin extends boolean = false>(params: ValueOrAsyncGetter<ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin>>): {
5
- getOidc: (ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T ? T extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T extends {
6
- autoLogin?: true | undefined;
7
- } ? true : false : never : never) extends infer T_1 ? T_1 extends (ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T_2 ? T_2 extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T_2 extends {
8
- autoLogin?: true | undefined;
9
- } ? true : false : never : never) ? T_1 extends true ? (params?: {
10
- assert: "user logged in";
11
- }) => import("../angular/angular").OidcAngular.LoggedIn : {
12
- (params?: {
13
- assert?: undefined;
14
- }): import("../angular/angular").OidcAngular;
15
- (params: {
16
- assert: "user logged in";
17
- }): import("../angular/angular").OidcAngular.LoggedIn;
18
- (params: {
19
- assert: "user not logged in";
20
- }): import("../angular/angular").OidcAngular.NotLoggedIn;
21
- } : never : never;
22
- getOidcInitializationError: () => import("..").OidcInitializationError | undefined;
23
- get$decodedIdToken: () => import("@angular/core").Signal<DecodedIdToken>;
24
- get$secondsLeftBeforeAutoLogout: (params: {
25
- warningDurationSeconds: number;
26
- }) => import("@angular/core").Signal<number | undefined>;
27
- getTokens: () => Promise<{
28
- isUserLoggedIn: false;
29
- prTokens?: never;
30
- } | {
31
- isUserLoggedIn: true;
32
- prTokens: Promise<import("..").Oidc.Tokens<DecodedIdToken>>;
33
- }>;
34
- provideOidcInitAwaiter: import("@angular/core").EnvironmentProviders;
35
- } & ((ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T_3 ? T_3 extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T_3 extends {
36
- autoLogin?: true | undefined;
37
- } ? true : false : never : never) extends infer T_4 ? T_4 extends (ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> extends infer T_5 ? T_5 extends ParamsOfCreateMockOidc<DecodedIdToken, AutoLogin> ? T_5 extends {
38
- autoLogin?: true | undefined;
39
- } ? true : false : never : never) ? T_4 extends true ? {} : {
40
- enforceLoginGuard: import("@angular/router").CanActivateFn;
41
- } : never : never);
package/mock/angular.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMockAngularOidc = createMockAngularOidc;
4
- const angular_1 = require("../angular/angular");
5
- const oidc_1 = require("./oidc");
6
- /** @see: https://docs.oidc-spa.dev/v/v8/mock */
7
- function createMockAngularOidc(params) {
8
- return (0, angular_1.createAngularOidc_dependencyInjection)(params, oidc_1.createMockOidc);
9
- }
10
- //# sourceMappingURL=angular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular.js","sourceRoot":"","sources":["../src/mock/angular.ts"],"names":[],"mappings":";;AAKA,sDAKC;AAVD,gDAA2E;AAC3E,iCAAqE;AAGrE,gDAAgD;AAChD,SAAgB,qBAAqB,CAGnC,MAA6E;IAC3E,OAAO,IAAA,+CAAqC,EAAC,MAAM,EAAE,qBAAc,CAAC,CAAC;AACzE,CAAC"}