core-3nweb-client-lib 0.31.5 → 0.31.7
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/build/core-ipc/file.js
CHANGED
package/build/core-ipc/fs.js
CHANGED
|
@@ -25,11 +25,14 @@ export declare class ClientsSideImpl implements ClientsSide {
|
|
|
25
25
|
private setupFnCall;
|
|
26
26
|
startPromiseCall(path: string[], req: EnvelopeBody): Promise<EnvelopeBody>;
|
|
27
27
|
startObservableCall(path: string[], req: EnvelopeBody, obs: Subject<EnvelopeBody>): () => void;
|
|
28
|
-
registerClientDrop(o: any, srvRef: ObjectReference<any
|
|
28
|
+
registerClientDrop(o: any, srvRef: ObjectReference<any>, reconstructData?: any): void;
|
|
29
29
|
private doOnClientObjDrop;
|
|
30
30
|
private sendObjDropMsg;
|
|
31
31
|
srvRefOf(clientObj: any): ObjectReference<any>;
|
|
32
|
-
findCallingObjByRef<T>(ref: ObjectReference<any>):
|
|
32
|
+
findCallingObjByRef<T, R>(ref: ObjectReference<any>): {
|
|
33
|
+
obj?: T;
|
|
34
|
+
reconstructData?: R;
|
|
35
|
+
} | undefined;
|
|
33
36
|
listObj(path: string[]): string[];
|
|
34
37
|
listObjAsync(path: string[]): Promise<string[]>;
|
|
35
38
|
}
|
|
@@ -211,15 +211,20 @@ class ClientsSideImpl {
|
|
|
211
211
|
throw err;
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
registerClientDrop(o, srvRef) {
|
|
214
|
+
registerClientDrop(o, srvRef, reconstructData) {
|
|
215
215
|
o._isObjectFromCore = true;
|
|
216
216
|
this.srvFinalRegistry.register(o, srvRef);
|
|
217
|
-
this.weakSrvByRefs.set(srvRef.path[0],
|
|
217
|
+
this.weakSrvByRefs.set(srvRef.path[0], {
|
|
218
|
+
weakRef: new WeakRef(o), reconstructData
|
|
219
|
+
});
|
|
218
220
|
this.srvRefs.set(o, srvRef);
|
|
219
221
|
}
|
|
220
222
|
doOnClientObjDrop(srvRef) {
|
|
221
|
-
|
|
222
|
-
this.
|
|
223
|
+
var _a;
|
|
224
|
+
if (!((_a = this.weakSrvByRefs.get(srvRef.path[0])) === null || _a === void 0 ? void 0 : _a.weakRef.deref())) {
|
|
225
|
+
this.weakSrvByRefs.delete(srvRef.path[0]);
|
|
226
|
+
this.sendObjDropMsg(srvRef);
|
|
227
|
+
}
|
|
223
228
|
}
|
|
224
229
|
sendObjDropMsg(srvRef) {
|
|
225
230
|
if (this.isStopped) {
|
|
@@ -237,13 +242,16 @@ class ClientsSideImpl {
|
|
|
237
242
|
}
|
|
238
243
|
}
|
|
239
244
|
findCallingObjByRef(ref) {
|
|
240
|
-
const
|
|
241
|
-
if (!
|
|
245
|
+
const found = this.weakSrvByRefs.get(ref.path[0]);
|
|
246
|
+
if (!found) {
|
|
242
247
|
return;
|
|
243
248
|
}
|
|
244
|
-
const
|
|
245
|
-
if (
|
|
246
|
-
return
|
|
249
|
+
const obj = found.weakRef.deref();
|
|
250
|
+
if (obj) {
|
|
251
|
+
return { obj };
|
|
252
|
+
}
|
|
253
|
+
else if (found.reconstructData) {
|
|
254
|
+
return { reconstructData: found.reconstructData };
|
|
247
255
|
}
|
|
248
256
|
else {
|
|
249
257
|
this.weakSrvByRefs.delete(ref.path[0]);
|
|
@@ -24,11 +24,14 @@ export interface ServicesSide {
|
|
|
24
24
|
export interface Caller {
|
|
25
25
|
startPromiseCall(path: string[], req: EnvelopeBody): Promise<EnvelopeBody>;
|
|
26
26
|
startObservableCall(path: string[], req: EnvelopeBody, obs: SubjectLike<EnvelopeBody>): () => void;
|
|
27
|
-
registerClientDrop(o: any, srvRef: ObjectReference<any
|
|
27
|
+
registerClientDrop(o: any, srvRef: ObjectReference<any>, reconstructData?: any): void;
|
|
28
28
|
srvRefOf(clientObj: any): ObjectReference<any>;
|
|
29
29
|
listObj?: (path: string[]) => string[];
|
|
30
30
|
listObjAsync?: (path: string[]) => Promise<string[]>;
|
|
31
|
-
findCallingObjByRef<T>(ref: ObjectReference<any>):
|
|
31
|
+
findCallingObjByRef<T, R>(ref: ObjectReference<any>): {
|
|
32
|
+
obj?: T;
|
|
33
|
+
reconstructData?: R;
|
|
34
|
+
} | undefined;
|
|
32
35
|
}
|
|
33
36
|
export interface ObjectFromCore {
|
|
34
37
|
_isObjectFromCore: true;
|