@frontegg/ionic-capacitor 0.0.5 → 0.0.6-alpha.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/android/src/main/java/com/frontegg/ionic/Debouncer.java +27 -0
- package/android/src/main/java/com/frontegg/ionic/FronteggNativePlugin.java +4 -2
- package/dist/esm/frontegg.service.d.ts +1 -0
- package/dist/esm/frontegg.service.js +18 -7
- package/dist/esm/frontegg.service.js.map +1 -1
- package/dist/plugin.cjs.js +18 -7
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +18 -7
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/FronteggNativePlugin.swift +16 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
package com.frontegg.ionic;
|
|
2
|
+
|
|
3
|
+
import java.util.Timer;
|
|
4
|
+
import java.util.TimerTask;
|
|
5
|
+
|
|
6
|
+
public class Debouncer {
|
|
7
|
+
private final long delayMillis;
|
|
8
|
+
private Timer timer = new Timer();
|
|
9
|
+
private TimerTask task;
|
|
10
|
+
|
|
11
|
+
public Debouncer(long delayMillis) {
|
|
12
|
+
this.delayMillis = delayMillis;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public void debounce(final Runnable action) {
|
|
16
|
+
if (task != null) {
|
|
17
|
+
task.cancel();
|
|
18
|
+
}
|
|
19
|
+
task = new TimerTask() {
|
|
20
|
+
@Override
|
|
21
|
+
public void run() {
|
|
22
|
+
action.run();
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
timer.schedule(task, delayMillis);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -23,7 +23,7 @@ import io.reactivex.rxjava3.disposables.Disposable;
|
|
|
23
23
|
@CapacitorPlugin(name = "FronteggNative")
|
|
24
24
|
public class FronteggNativePlugin extends Plugin {
|
|
25
25
|
private Disposable disposable = null;
|
|
26
|
-
|
|
26
|
+
private Debouncer debouncer = new Debouncer(200); // 200ms delay
|
|
27
27
|
@Override
|
|
28
28
|
public void load() {
|
|
29
29
|
Map<String, String> constants = this.getConstants();
|
|
@@ -49,8 +49,10 @@ public class FronteggNativePlugin extends Plugin {
|
|
|
49
49
|
auth.getInitializing().getObservable(),
|
|
50
50
|
auth.getShowLoader().getObservable()
|
|
51
51
|
).subscribe(nullableObject -> {
|
|
52
|
-
sendEvent
|
|
52
|
+
debouncer.debounce(this::sendEvent);
|
|
53
53
|
});
|
|
54
|
+
|
|
55
|
+
sendEvent();
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
private void sendEvent() {
|
|
@@ -5,6 +5,13 @@ const FronteggNative = registerPlugin('FronteggNative', {
|
|
|
5
5
|
});
|
|
6
6
|
export class FronteggService {
|
|
7
7
|
constructor() {
|
|
8
|
+
this.orderedListenerKeys = [
|
|
9
|
+
'refreshToken',
|
|
10
|
+
'accessToken',
|
|
11
|
+
'user',
|
|
12
|
+
'isAuthenticated',
|
|
13
|
+
'showLoader',
|
|
14
|
+
];
|
|
8
15
|
this.state = {
|
|
9
16
|
isAuthenticated: false,
|
|
10
17
|
showLoader: true,
|
|
@@ -20,15 +27,20 @@ export class FronteggService {
|
|
|
20
27
|
'refreshToken': new Set(),
|
|
21
28
|
};
|
|
22
29
|
FronteggNative.addListener('onFronteggAuthEvent', (state) => {
|
|
23
|
-
console.log('onFronteggAuthEvent',
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
console.log('onFronteggAuthEvent', {
|
|
31
|
+
isAuthenticated: state.isAuthenticated,
|
|
32
|
+
showLoader: state.showLoader,
|
|
33
|
+
user: `${state.user}`,
|
|
34
|
+
accessToken: state.accessToken && state.accessToken.length > 50 ? `${state.accessToken.slice(0, 50)}...` : state.accessToken,
|
|
35
|
+
refreshToken: state.refreshToken,
|
|
36
|
+
});
|
|
37
|
+
const keys = this.orderedListenerKeys;
|
|
38
|
+
keys.forEach(key => {
|
|
27
39
|
if (this.state[key] !== state[key]) {
|
|
28
|
-
console.log('onFronteggAuthEvent key: ', key
|
|
40
|
+
console.log('onFronteggAuthEvent key: ', key);
|
|
29
41
|
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
30
42
|
}
|
|
31
|
-
}
|
|
43
|
+
});
|
|
32
44
|
this.state = state;
|
|
33
45
|
});
|
|
34
46
|
FronteggNative.getAuthState().then((state) => {
|
|
@@ -68,7 +80,6 @@ export class FronteggService {
|
|
|
68
80
|
FronteggNative.logout();
|
|
69
81
|
}
|
|
70
82
|
switchTenant(tenantId) {
|
|
71
|
-
console.log("test");
|
|
72
83
|
return FronteggNative.switchTenant({ tenantId });
|
|
73
84
|
}
|
|
74
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontegg.service.js","sourceRoot":"","sources":["../../src/frontegg.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,cAAc,GAAG,cAAc,CAAuB,gBAAgB,EAAE;IAC5E,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;CAChE,CAAC,CAAC;AAGH,MAAM,OAAO,eAAe;
|
|
1
|
+
{"version":3,"file":"frontegg.service.js","sourceRoot":"","sources":["../../src/frontegg.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { FronteggNativePlugin, FronteggState, SubscribeMap } from './definitions';\nimport { createObservable } from './observables';\nimport { registerPlugin } from '@capacitor/core';\n\nconst FronteggNative = registerPlugin<FronteggNativePlugin>('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\n\n\nexport class FronteggService {\n private state: FronteggState;\n private mapListeners: SubscribeMap<FronteggState>;\n private readonly orderedListenerKeys: (keyof FronteggState)[] = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'showLoader',\n ]\n\n constructor() {\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n }\n\n this.mapListeners = {\n 'isAuthenticated': new Set(),\n 'showLoader': new Set(),\n 'user': new Set(),\n 'accessToken': new Set(),\n 'refreshToken': new Set(),\n }\n FronteggNative.addListener('onFronteggAuthEvent', (state: FronteggState) => {\n console.log('onFronteggAuthEvent', {\n isAuthenticated: state.isAuthenticated,\n showLoader: state.showLoader,\n user: `${state.user}`, // prevent log full user object // null | undefined | [object Object]\n accessToken: state.accessToken && state.accessToken.length > 50 ? `${state.accessToken.slice(0, 50)}...` : state.accessToken,\n refreshToken: state.refreshToken,\n })\n\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.state[key] !== state[key]) {\n console.log('onFronteggAuthEvent key: ', key)\n this.mapListeners[key].forEach((listener: any) => listener(state[key]))\n }\n });\n this.state = state;\n })\n\n FronteggNative.getAuthState().then((state: FronteggState) => {\n console.log('getAuthState()', state)\n\n const keys = Object.keys(this.mapListeners)\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i] as keyof FronteggState\n if (this.state[key] !== state[key]) {\n this.mapListeners[key].forEach((listener: any) => listener(state[key]))\n }\n }\n this.state = state\n })\n }\n\n public getState() {\n return this.state;\n }\n\n public get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'showLoader')\n }\n\n public get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated')\n }\n\n public get $user() {\n return createObservable(this.mapListeners, this.state, 'user')\n }\n\n public get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken')\n }\n\n /**\n * Call frontegg native login method\n */\n public login(): void {\n FronteggNative.login();\n }\n\n public logout(): void {\n FronteggNative.logout();\n }\n\n public switchTenant(tenantId: string): Promise<void> {\n return FronteggNative.switchTenant({ tenantId })\n }\n}\n"]}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -22,6 +22,13 @@ const FronteggNative = core.registerPlugin('FronteggNative', {
|
|
|
22
22
|
});
|
|
23
23
|
class FronteggService {
|
|
24
24
|
constructor() {
|
|
25
|
+
this.orderedListenerKeys = [
|
|
26
|
+
'refreshToken',
|
|
27
|
+
'accessToken',
|
|
28
|
+
'user',
|
|
29
|
+
'isAuthenticated',
|
|
30
|
+
'showLoader',
|
|
31
|
+
];
|
|
25
32
|
this.state = {
|
|
26
33
|
isAuthenticated: false,
|
|
27
34
|
showLoader: true,
|
|
@@ -37,15 +44,20 @@ class FronteggService {
|
|
|
37
44
|
'refreshToken': new Set(),
|
|
38
45
|
};
|
|
39
46
|
FronteggNative.addListener('onFronteggAuthEvent', (state) => {
|
|
40
|
-
console.log('onFronteggAuthEvent',
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
console.log('onFronteggAuthEvent', {
|
|
48
|
+
isAuthenticated: state.isAuthenticated,
|
|
49
|
+
showLoader: state.showLoader,
|
|
50
|
+
user: `${state.user}`,
|
|
51
|
+
accessToken: state.accessToken && state.accessToken.length > 50 ? `${state.accessToken.slice(0, 50)}...` : state.accessToken,
|
|
52
|
+
refreshToken: state.refreshToken,
|
|
53
|
+
});
|
|
54
|
+
const keys = this.orderedListenerKeys;
|
|
55
|
+
keys.forEach(key => {
|
|
44
56
|
if (this.state[key] !== state[key]) {
|
|
45
|
-
console.log('onFronteggAuthEvent key: ', key
|
|
57
|
+
console.log('onFronteggAuthEvent key: ', key);
|
|
46
58
|
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
47
59
|
}
|
|
48
|
-
}
|
|
60
|
+
});
|
|
49
61
|
this.state = state;
|
|
50
62
|
});
|
|
51
63
|
FronteggNative.getAuthState().then((state) => {
|
|
@@ -85,7 +97,6 @@ class FronteggService {
|
|
|
85
97
|
FronteggNative.logout();
|
|
86
98
|
}
|
|
87
99
|
switchTenant(tenantId) {
|
|
88
|
-
console.log("test");
|
|
89
100
|
return FronteggNative.switchTenant({ tenantId });
|
|
90
101
|
}
|
|
91
102
|
}
|
package/dist/plugin.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["export const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n }\n };\n};\n//# sourceMappingURL=observables.js.map","import { createObservable } from './observables';\nimport { registerPlugin } from '@capacitor/core';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor() {\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n };\n this.mapListeners = {\n 'isAuthenticated': new Set(),\n 'showLoader': new Set(),\n 'user': new Set(),\n 'accessToken': new Set(),\n 'refreshToken': new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n console.log('onFronteggAuthEvent', state
|
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["export const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n }\n };\n};\n//# sourceMappingURL=observables.js.map","import { createObservable } from './observables';\nimport { registerPlugin } from '@capacitor/core';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor() {\n this.orderedListenerKeys = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'showLoader',\n ];\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n };\n this.mapListeners = {\n 'isAuthenticated': new Set(),\n 'showLoader': new Set(),\n 'user': new Set(),\n 'accessToken': new Set(),\n 'refreshToken': new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n console.log('onFronteggAuthEvent', {\n isAuthenticated: state.isAuthenticated,\n showLoader: state.showLoader,\n user: `${state.user}`,\n accessToken: state.accessToken && state.accessToken.length > 50 ? `${state.accessToken.slice(0, 50)}...` : state.accessToken,\n refreshToken: state.refreshToken,\n });\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.state[key] !== state[key]) {\n console.log('onFronteggAuthEvent key: ', key);\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n });\n this.state = state;\n });\n FronteggNative.getAuthState().then((state) => {\n console.log('getAuthState()', state);\n const keys = Object.keys(this.mapListeners);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (this.state[key] !== state[key]) {\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n }\n this.state = state;\n });\n }\n getState() {\n return this.state;\n }\n get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'showLoader');\n }\n get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n get $user() {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n /**\n * Call frontegg native login method\n */\n login() {\n FronteggNative.login();\n }\n logout() {\n FronteggNative.logout();\n }\n switchTenant(tenantId) {\n return FronteggNative.switchTenant({ tenantId });\n }\n}\n//# sourceMappingURL=frontegg.service.js.map","import { WebPlugin } from '@capacitor/core';\nexport class FronteggNativeWeb extends WebPlugin {\n async login() {\n throw Error('FronteggNative.login not implemented in web');\n }\n async logout() {\n throw Error('FronteggNative.logout not implemented in web');\n }\n async switchTenant(payload) {\n throw Error(`FronteggNative.switchTenant ${payload} not implemented in web, `);\n }\n async getConstants() {\n throw Error('FronteggNative.getConstants not implemented in web');\n }\n async getAuthState() {\n throw Error('FronteggNative.getAuthState not implemented in web');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -19,6 +19,13 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
19
19
|
});
|
|
20
20
|
class FronteggService {
|
|
21
21
|
constructor() {
|
|
22
|
+
this.orderedListenerKeys = [
|
|
23
|
+
'refreshToken',
|
|
24
|
+
'accessToken',
|
|
25
|
+
'user',
|
|
26
|
+
'isAuthenticated',
|
|
27
|
+
'showLoader',
|
|
28
|
+
];
|
|
22
29
|
this.state = {
|
|
23
30
|
isAuthenticated: false,
|
|
24
31
|
showLoader: true,
|
|
@@ -34,15 +41,20 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
34
41
|
'refreshToken': new Set(),
|
|
35
42
|
};
|
|
36
43
|
FronteggNative.addListener('onFronteggAuthEvent', (state) => {
|
|
37
|
-
console.log('onFronteggAuthEvent',
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
console.log('onFronteggAuthEvent', {
|
|
45
|
+
isAuthenticated: state.isAuthenticated,
|
|
46
|
+
showLoader: state.showLoader,
|
|
47
|
+
user: `${state.user}`,
|
|
48
|
+
accessToken: state.accessToken && state.accessToken.length > 50 ? `${state.accessToken.slice(0, 50)}...` : state.accessToken,
|
|
49
|
+
refreshToken: state.refreshToken,
|
|
50
|
+
});
|
|
51
|
+
const keys = this.orderedListenerKeys;
|
|
52
|
+
keys.forEach(key => {
|
|
41
53
|
if (this.state[key] !== state[key]) {
|
|
42
|
-
console.log('onFronteggAuthEvent key: ', key
|
|
54
|
+
console.log('onFronteggAuthEvent key: ', key);
|
|
43
55
|
this.mapListeners[key].forEach((listener) => listener(state[key]));
|
|
44
56
|
}
|
|
45
|
-
}
|
|
57
|
+
});
|
|
46
58
|
this.state = state;
|
|
47
59
|
});
|
|
48
60
|
FronteggNative.getAuthState().then((state) => {
|
|
@@ -82,7 +94,6 @@ var capacitorFronteggNative = (function (exports, core) {
|
|
|
82
94
|
FronteggNative.logout();
|
|
83
95
|
}
|
|
84
96
|
switchTenant(tenantId) {
|
|
85
|
-
console.log("test");
|
|
86
97
|
return FronteggNative.switchTenant({ tenantId });
|
|
87
98
|
}
|
|
88
99
|
}
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["export const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n }\n };\n};\n//# sourceMappingURL=observables.js.map","import { createObservable } from './observables';\nimport { registerPlugin } from '@capacitor/core';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor() {\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n };\n this.mapListeners = {\n 'isAuthenticated': new Set(),\n 'showLoader': new Set(),\n 'user': new Set(),\n 'accessToken': new Set(),\n 'refreshToken': new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n console.log('onFronteggAuthEvent', state
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/observables.js","esm/frontegg.service.js","esm/web.js"],"sourcesContent":["export const createObservable = (map, state, key) => {\n return {\n value: state[key],\n subscribe(listener) {\n const mapKey = map[key];\n mapKey.add(listener);\n return () => {\n mapKey.delete(listener);\n };\n }\n };\n};\n//# sourceMappingURL=observables.js.map","import { createObservable } from './observables';\nimport { registerPlugin } from '@capacitor/core';\nconst FronteggNative = registerPlugin('FronteggNative', {\n web: () => import('./web').then(m => new m.FronteggNativeWeb()),\n});\nexport class FronteggService {\n constructor() {\n this.orderedListenerKeys = [\n 'refreshToken',\n 'accessToken',\n 'user',\n 'isAuthenticated',\n 'showLoader',\n ];\n this.state = {\n isAuthenticated: false,\n showLoader: true,\n user: null,\n accessToken: null,\n refreshToken: null,\n };\n this.mapListeners = {\n 'isAuthenticated': new Set(),\n 'showLoader': new Set(),\n 'user': new Set(),\n 'accessToken': new Set(),\n 'refreshToken': new Set(),\n };\n FronteggNative.addListener('onFronteggAuthEvent', (state) => {\n console.log('onFronteggAuthEvent', {\n isAuthenticated: state.isAuthenticated,\n showLoader: state.showLoader,\n user: `${state.user}`,\n accessToken: state.accessToken && state.accessToken.length > 50 ? `${state.accessToken.slice(0, 50)}...` : state.accessToken,\n refreshToken: state.refreshToken,\n });\n const keys = this.orderedListenerKeys;\n keys.forEach(key => {\n if (this.state[key] !== state[key]) {\n console.log('onFronteggAuthEvent key: ', key);\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n });\n this.state = state;\n });\n FronteggNative.getAuthState().then((state) => {\n console.log('getAuthState()', state);\n const keys = Object.keys(this.mapListeners);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (this.state[key] !== state[key]) {\n this.mapListeners[key].forEach((listener) => listener(state[key]));\n }\n }\n this.state = state;\n });\n }\n getState() {\n return this.state;\n }\n get $isLoading() {\n return createObservable(this.mapListeners, this.state, 'showLoader');\n }\n get $isAuthenticated() {\n return createObservable(this.mapListeners, this.state, 'isAuthenticated');\n }\n get $user() {\n return createObservable(this.mapListeners, this.state, 'user');\n }\n get $accessToken() {\n return createObservable(this.mapListeners, this.state, 'accessToken');\n }\n /**\n * Call frontegg native login method\n */\n login() {\n FronteggNative.login();\n }\n logout() {\n FronteggNative.logout();\n }\n switchTenant(tenantId) {\n return FronteggNative.switchTenant({ tenantId });\n }\n}\n//# sourceMappingURL=frontegg.service.js.map","import { WebPlugin } from '@capacitor/core';\nexport class FronteggNativeWeb extends WebPlugin {\n async login() {\n throw Error('FronteggNative.login not implemented in web');\n }\n async logout() {\n throw Error('FronteggNative.logout not implemented in web');\n }\n async switchTenant(payload) {\n throw Error(`FronteggNative.switchTenant ${payload} not implemented in web, `);\n }\n async getConstants() {\n throw Error('FronteggNative.getConstants not implemented in web');\n }\n async getAuthState() {\n throw Error('FronteggNative.getAuthState not implemented in web');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
@@ -12,6 +12,18 @@ public class FronteggNativePlugin: CAPPlugin {
|
|
|
12
12
|
public let fronteggApp = FronteggApp.shared
|
|
13
13
|
var cancellables = Set<AnyCancellable>()
|
|
14
14
|
|
|
15
|
+
private var workItem: DispatchWorkItem?
|
|
16
|
+
private let delay: TimeInterval = 0.2 // 200ms delay
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
func debounce(_ action: @escaping () -> Void) {
|
|
20
|
+
workItem?.cancel()
|
|
21
|
+
let newWorkItem = DispatchWorkItem(block: action)
|
|
22
|
+
DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: newWorkItem)
|
|
23
|
+
workItem = newWorkItem
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
15
27
|
override public func load() {
|
|
16
28
|
|
|
17
29
|
let auth = fronteggApp.auth
|
|
@@ -31,7 +43,9 @@ public class FronteggNativePlugin: CAPPlugin {
|
|
|
31
43
|
|
|
32
44
|
anyChange.sink(receiveValue: { () in
|
|
33
45
|
|
|
34
|
-
self.
|
|
46
|
+
self.debounce() {
|
|
47
|
+
self.sendEvent()
|
|
48
|
+
}
|
|
35
49
|
}).store(in: &cancellables)
|
|
36
50
|
|
|
37
51
|
self.sendEvent()
|
|
@@ -56,6 +70,7 @@ public class FronteggNativePlugin: CAPPlugin {
|
|
|
56
70
|
"appLink": auth.appLink
|
|
57
71
|
]
|
|
58
72
|
|
|
73
|
+
|
|
59
74
|
self.notifyListeners("onFronteggAuthEvent", data: body as [String : Any])
|
|
60
75
|
}
|
|
61
76
|
|