Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/full-client/index.ts
1028 views
1
import '@secret-agent/commons/SourceMapSupport';
2
import agent, {
3
ConnectionFactory,
4
IConnectionToCoreOptions,
5
RemoteConnectionToCore,
6
} from '@secret-agent/client';
7
import { CoreProcess } from '@secret-agent/core';
8
import ShutdownHandler from '@secret-agent/commons/ShutdownHandler';
9
10
export * from '@secret-agent/client';
11
export default agent;
12
13
let coreHost: Promise<string>;
14
15
ConnectionFactory.createLocalConnection = (options: IConnectionToCoreOptions) => {
16
coreHost ??= CoreProcess.spawn(options);
17
18
const connection = new RemoteConnectionToCore({
19
...options,
20
host: coreHost,
21
});
22
23
ShutdownHandler.register(() => connection.disconnect());
24
return connection;
25
};
26
27