@wildix/xbees-connect 1.1.2-alpha.0 → 1.1.2-alpha.1
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-es/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildix/xbees-connect",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2-alpha.0",
|
|
4
4
|
"description": "This library provides easy communication between x-bees and integrated web applications",
|
|
5
5
|
"author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
|
|
6
6
|
"homepage": "",
|
package/dist-es/src/Client.js
CHANGED
|
@@ -187,6 +187,7 @@ export class Client {
|
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
off(callback) {
|
|
190
|
+
this.localStorageManager.removeOnStorage(callback);
|
|
190
191
|
this.removeEventListener(null, callback);
|
|
191
192
|
}
|
|
192
193
|
onCallEnded(callback) {
|
|
@@ -247,4 +248,7 @@ export class Client {
|
|
|
247
248
|
saveToStorage(key, value) {
|
|
248
249
|
this.localStorageManager.save(key, value);
|
|
249
250
|
}
|
|
251
|
+
onStorage(listener) {
|
|
252
|
+
this.localStorageManager.onStorage(listener);
|
|
253
|
+
}
|
|
250
254
|
}
|
|
@@ -6,7 +6,7 @@ class LocalStorageManager {
|
|
|
6
6
|
}
|
|
7
7
|
return this.instance;
|
|
8
8
|
}
|
|
9
|
-
listeners =
|
|
9
|
+
listeners = new Set();
|
|
10
10
|
integrationKey = '';
|
|
11
11
|
getStorageKey(key) {
|
|
12
12
|
return !this.integrationKey ? key : `${this.integrationKey}_${key}`;
|
|
@@ -59,7 +59,10 @@ class LocalStorageManager {
|
|
|
59
59
|
return localStorage.getItem(this.getStorageKey(key));
|
|
60
60
|
}
|
|
61
61
|
onStorage(listener) {
|
|
62
|
-
this.listeners.
|
|
62
|
+
this.listeners.add(listener);
|
|
63
|
+
}
|
|
64
|
+
removeOnStorage(listener) {
|
|
65
|
+
this.listeners.delete(listener);
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
export default LocalStorageManager;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Callback, ConnectClient, Contact, ContactQuery, IPayloadAutoSuggestResult, IPayloadContactMatchResult, IPayloadViewPort, LookupAndMatchContactsResolver, Message, Reject, RemoveEventListener, ResponseMessage, SuggestContactsResolver } from '../types';
|
|
1
|
+
import { Callback, ConnectClient, Contact, ContactQuery, IPayloadAutoSuggestResult, IPayloadContactMatchResult, IPayloadViewPort, LookupAndMatchContactsResolver, Message, Reject, RemoveEventListener, ResponseMessage, StorageEventCallback, SuggestContactsResolver } from '../types';
|
|
2
2
|
import { ClientEventType, EventType } from './enums';
|
|
3
3
|
/**
|
|
4
4
|
* Client provides functionality of communication between xBees and integrated web applications via iFrame or ReactNative WebView
|
|
@@ -44,7 +44,7 @@ export declare class Client implements ConnectClient {
|
|
|
44
44
|
sendContactMatch(payload: IPayloadContactMatchResult): Promise<Message<ClientEventType.CONTACT_LOOKUP_AND_MATCH>>;
|
|
45
45
|
addEventListener<T extends EventType = EventType>(eventName: T, callback: Callback<T>): RemoveEventListener;
|
|
46
46
|
removeEventListener<T extends EventType = EventType>(eventName: T | null, callback: Callback<T>): void;
|
|
47
|
-
off(callback: Callback): void;
|
|
47
|
+
off(callback: Callback | StorageEventCallback): void;
|
|
48
48
|
onCallEnded(callback: Callback<EventType.TERMINATE_CALL>): void;
|
|
49
49
|
onCallStarted(callback: Callback<EventType.ADD_CALL>): void;
|
|
50
50
|
onPbxTokenChange(callback: Callback<EventType.PBX_TOKEN>): void;
|
|
@@ -53,4 +53,5 @@ export declare class Client implements ConnectClient {
|
|
|
53
53
|
onThemeChange(callback: Callback<EventType.USE_THEME>): void;
|
|
54
54
|
getFromStorage(key: string): void;
|
|
55
55
|
saveToStorage(key: string, value: any): void;
|
|
56
|
+
onStorage(listener: StorageEventCallback): void;
|
|
56
57
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StorageEventCallback } from '../../types';
|
|
1
2
|
declare class LocalStorageManager {
|
|
2
3
|
private static instance;
|
|
3
4
|
static getInstance(): LocalStorageManager;
|
|
@@ -11,6 +12,7 @@ declare class LocalStorageManager {
|
|
|
11
12
|
save(key: string, value: any): void;
|
|
12
13
|
retrieve(key: string): any;
|
|
13
14
|
get(key: string): any;
|
|
14
|
-
onStorage(listener:
|
|
15
|
+
onStorage(listener: StorageEventCallback): void;
|
|
16
|
+
removeOnStorage(listener: StorageEventCallback): void;
|
|
15
17
|
}
|
|
16
18
|
export default LocalStorageManager;
|
|
@@ -85,6 +85,7 @@ export type EventCallbackMap = {
|
|
|
85
85
|
[EventType.USE_THEME]: (theme: EventPayloadMap[EventType.USE_THEME]) => void;
|
|
86
86
|
[EventType.PBX_TOKEN]: (token: EventPayloadMap[EventType.PBX_TOKEN]) => void;
|
|
87
87
|
};
|
|
88
|
+
export type StorageEventCallback = (event: StorageEvent) => void;
|
|
88
89
|
export type Callback<T extends EventType = EventType> = T extends keyof EventCallbackMap ? EventCallbackMap[T] : DefaultCallback;
|
|
89
90
|
export interface Listener<T extends EventType = EventType> {
|
|
90
91
|
eventName: T;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildix/xbees-connect",
|
|
3
|
-
"version": "1.1.2-alpha.
|
|
3
|
+
"version": "1.1.2-alpha.1",
|
|
4
4
|
"description": "This library provides easy communication between x-bees and integrated web applications",
|
|
5
5
|
"author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=16"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "a481bbfe4b0fdcba3b554a1af7015cedf6f6ba82"
|
|
46
46
|
}
|