referencing compiler from npm package

This commit is contained in:
Pavel Murygin 2021-04-13 19:51:04 +03:00
parent 9330b7f207
commit 3b9bc7662e
4 changed files with 59 additions and 53 deletions

Binary file not shown.

4
package-lock.json generated
View File

@ -4,6 +4,10 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@fluencelabs/aquamarine": {
"version": "file:fluencelabs-aquamarine-1.0.0.tgz",
"integrity": "sha512-ukaTE6QmlRKFB+JJF3n96txkGirMs8gfgptw8N5bU6VHp3OcvTsl59F1Xr83zFiLO67dl3epWDOHkPEAGGtJig=="
},
"@fluencelabs/aquamarine-interpreter": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/@fluencelabs/aquamarine-interpreter/-/aquamarine-interpreter-0.7.2.tgz",

View File

@ -18,11 +18,13 @@
"scripts": {
"build": "tsc",
"cli": "node -r ts-node/register src/index.ts",
"compile-aqua": "java -jar ./aqua-hll.jar -i ./src/aqua/ -o ./src/compiled"
"compile-aqua": "java -jar ./aqua-hll.jar -i ./src/aqua/ -o ./src/compiled",
"compile": "aquamarine -i ./src/aqua/ -o ./src/compiled"
},
"devDependencies": {
"ts-node": "^9.1.1",
"typescript": "^4.2.4"
"typescript": "^4.2.4",
"@fluencelabs/aquamarine": "file:fluencelabs-aquamarine-1.0.0.tgz"
},
"dependencies": {
"@fluencelabs/fluence": "0.9.34",

View File

@ -1,16 +1,16 @@
import { FluenceClient, PeerIdB58 } from "@fluencelabs/fluence";
import { RequestFlowBuilder } from "@fluencelabs/fluence/dist/api.unstable";
import { FluenceClient, PeerIdB58 } from '@fluencelabs/fluence';
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
export async function getPeerExternalAddresses(
client: FluenceClient,
otherNodePeerId: string
): Promise<string[]> {
export async function getPeerExternalAddresses(client: FluenceClient, otherNodePeerId: string): Promise<string[]> {
let request;
const promise = new Promise<string[]>((resolve, reject) => {
request = new RequestFlowBuilder()
.withRawScript(
`
(seq
(xor
(seq
(seq
(seq
(seq
@ -25,27 +25,26 @@ export async function getPeerExternalAddresses(
(call relay ("op" "identity") [])
)
(call %init_peer_id% ("callbackSrv" "response") [res.$.external_addresses!])
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
)
`
`,
)
.configHandler((h) => {
h.on("getDataSrv", "relay", () => {
h.on('getDataSrv', 'relay', () => {
return client.relayPeerId;
});
h.on("getRelayService", "hasReleay", () => {
// Not Used
h.on('getRelayService', 'hasReleay', () => {// Not Used
return client.relayPeerId !== undefined;
});
h.on("getDataSrv", "otherNodePeerId", () => {
return otherNodePeerId;
});
h.on("callbackSrv", "response", (args) => {
h.on('getDataSrv', 'otherNodePeerId', () => {return otherNodePeerId;});
h.on('callbackSrv', 'response', (args) => {
const [res] = args;
resolve(res);
});
});
h.on("nameOfServiceWhereToSendXorError", "errorProbably", (args) => {
h.on('errorHandlingSrv', 'error', (args) => {
// assuming error is the single argument
const [err] = args;
reject(err);
@ -53,10 +52,11 @@ export async function getPeerExternalAddresses(
})
.handleScriptError(reject)
.handleTimeout(() => {
reject("Request timed out");
reject('Request timed out');
})
.build();
});
await client.initiateFlow(request);
return promise;
}