@verdocs/js-sdk 1.3.3 → 1.4.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/Users/Auth.d.ts +5 -0
- package/Users/Auth.js +27 -0
- package/package.json +1 -1
package/Users/Auth.d.ts
CHANGED
|
@@ -93,3 +93,8 @@ export declare const loadSession: (source: string) => IActiveSession | ISigningS
|
|
|
93
93
|
* End the active session.
|
|
94
94
|
*/
|
|
95
95
|
export declare const endSession: (source: string, persist?: boolean) => null;
|
|
96
|
+
export declare type SessionChangedListener = (source: string, session: IActiveSession | ISigningSession | null) => void;
|
|
97
|
+
/**
|
|
98
|
+
* Subscribe to session state change events.
|
|
99
|
+
*/
|
|
100
|
+
export declare const onSessionChanged: (listener: SessionChangedListener) => () => void;
|
package/Users/Auth.js
CHANGED
|
@@ -107,6 +107,7 @@ var clearSession = function (source, persist) {
|
|
|
107
107
|
if (persist) {
|
|
108
108
|
localStorage.removeItem(source);
|
|
109
109
|
}
|
|
110
|
+
notifySessionListeners(source, null);
|
|
110
111
|
return null;
|
|
111
112
|
};
|
|
112
113
|
/**
|
|
@@ -125,6 +126,7 @@ export var setSession = function (source, token, persist) {
|
|
|
125
126
|
localStorage.setItem(source, token);
|
|
126
127
|
}
|
|
127
128
|
getEndpoint().setAuthorization(token);
|
|
129
|
+
notifySessionListeners(source, session);
|
|
128
130
|
return session;
|
|
129
131
|
};
|
|
130
132
|
/**
|
|
@@ -144,6 +146,7 @@ export var loadSession = function (source) {
|
|
|
144
146
|
return null;
|
|
145
147
|
}
|
|
146
148
|
getEndpoint().setAuthorization(token);
|
|
149
|
+
notifySessionListeners(source, session);
|
|
147
150
|
return session;
|
|
148
151
|
};
|
|
149
152
|
/**
|
|
@@ -153,3 +156,27 @@ export var endSession = function (source, persist) {
|
|
|
153
156
|
if (persist === void 0) { persist = false; }
|
|
154
157
|
return clearSession(source, persist);
|
|
155
158
|
};
|
|
159
|
+
var sessionChangedListeners = new Map();
|
|
160
|
+
var nextListenerId = 1;
|
|
161
|
+
/**
|
|
162
|
+
* Subscribe to session state change events.
|
|
163
|
+
*/
|
|
164
|
+
export var onSessionChanged = function (listener) {
|
|
165
|
+
// There's no value in randomizing this so we don't
|
|
166
|
+
var listenerId = ++nextListenerId;
|
|
167
|
+
var listenerSymbol = Symbol.for('' + listenerId);
|
|
168
|
+
sessionChangedListeners.set(listenerSymbol, listener);
|
|
169
|
+
return function () {
|
|
170
|
+
sessionChangedListeners.delete(listenerSymbol);
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
var notifySessionListeners = function (source, session) {
|
|
174
|
+
sessionChangedListeners.forEach(function (listener) {
|
|
175
|
+
try {
|
|
176
|
+
listener(source, session);
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
// NOOP
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
};
|