mirror of
https://github.com/fluencelabs/aqua-playground
synced 2025-06-22 04:11:54 +00:00
make it possible to catch an error on calls
This commit is contained in:
@ -3,11 +3,11 @@ import "builtin.aqua"
|
|||||||
|
|
||||||
-- functions like `c` are called an 'arrow function' in Aqua
|
-- functions like `c` are called an 'arrow function' in Aqua
|
||||||
-- `c` passed to a function from a client, so, it could be called only on a client
|
-- `c` passed to a function from a client, so, it could be called only on a client
|
||||||
func passFunctionAsArg(node: string, c: string -> string):
|
func passFunctionAsArg(node: string, str: string, c: string -> string):
|
||||||
on node:
|
on node:
|
||||||
Peer.identify()
|
Peer.identify()
|
||||||
-- we go here back on a client
|
-- we go here back on a client
|
||||||
res <- c("hello")
|
res <- c(str)
|
||||||
-- then return on a node
|
-- then return on a node
|
||||||
Peer.identify()
|
Peer.identify()
|
||||||
print(res)
|
print(res)
|
||||||
|
@ -4,8 +4,9 @@ import "builtin.aqua"
|
|||||||
import "func.aqua"
|
import "func.aqua"
|
||||||
|
|
||||||
-- just a lot of imports and calls
|
-- just a lot of imports and calls
|
||||||
func doStuff(a: string):
|
func doStuff(a: string) -> string:
|
||||||
str <- TestSrv.str()
|
str <- TestSrv.str()
|
||||||
par Println.print(str)
|
par Println.print(str)
|
||||||
par on a:
|
par on a:
|
||||||
Peer.identify()
|
Peer.identify()
|
||||||
|
<- str
|
||||||
|
116
package-lock.json
generated
116
package-lock.json
generated
@ -5,9 +5,9 @@
|
|||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/aqua-cli": {
|
"@fluencelabs/aqua-cli": {
|
||||||
"version": "0.1.1-90",
|
"version": "0.1.1-92",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.1-90.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua-cli/-/aqua-cli-0.1.1-92.tgz",
|
||||||
"integrity": "sha512-WKAElL9BQ2pX6f6RZx5isum4BrkbG6mBagszY7qchO9cigyUiq5GLWT82EBbbH8XTIbIdmERC9t5vZzyT1BDcA==",
|
"integrity": "sha512-D5boZW20gqhi1ITIuJjWBikDZtBvCQr7V9U0qJu730UxOqUkUYSkv6SKW+rqyPddI7f6zzU8BMsPefLOpqj1yA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@fluencelabs/aquamarine-interpreter": {
|
"@fluencelabs/aquamarine-interpreter": {
|
||||||
@ -520,6 +520,35 @@
|
|||||||
"type-detect": "^4.0.0"
|
"type-detect": "^4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"deep-equal": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.0",
|
||||||
|
"es-get-iterator": "^1.1.1",
|
||||||
|
"get-intrinsic": "^1.0.1",
|
||||||
|
"is-arguments": "^1.0.4",
|
||||||
|
"is-date-object": "^1.0.2",
|
||||||
|
"is-regex": "^1.1.1",
|
||||||
|
"isarray": "^2.0.5",
|
||||||
|
"object-is": "^1.1.4",
|
||||||
|
"object-keys": "^1.1.1",
|
||||||
|
"object.assign": "^4.1.2",
|
||||||
|
"regexp.prototype.flags": "^1.3.0",
|
||||||
|
"side-channel": "^1.0.3",
|
||||||
|
"which-boxed-primitive": "^1.0.1",
|
||||||
|
"which-collection": "^1.0.1",
|
||||||
|
"which-typed-array": "^1.1.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"isarray": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"default-gateway": {
|
"default-gateway": {
|
||||||
"version": "6.0.3",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
|
||||||
@ -638,6 +667,28 @@
|
|||||||
"unbox-primitive": "^1.0.0"
|
"unbox-primitive": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"es-get-iterator": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.2",
|
||||||
|
"get-intrinsic": "^1.1.0",
|
||||||
|
"has-symbols": "^1.0.1",
|
||||||
|
"is-arguments": "^1.1.0",
|
||||||
|
"is-map": "^2.0.2",
|
||||||
|
"is-set": "^2.0.2",
|
||||||
|
"is-string": "^1.0.5",
|
||||||
|
"isarray": "^2.0.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"isarray": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"es-to-primitive": {
|
"es-to-primitive": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
|
||||||
@ -1026,6 +1077,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-loopback-addr/-/is-loopback-addr-1.0.1.tgz",
|
||||||
"integrity": "sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw=="
|
"integrity": "sha512-DhWU/kqY7X2F6KrrVTu7mHlbd2Pbo4D1YkAzasBMjQs6lJAoefxaA6m6CpSX0K6pjt9D0b9PNFI5zduy/vzOYw=="
|
||||||
},
|
},
|
||||||
|
"is-map": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg=="
|
||||||
|
},
|
||||||
"is-negative-zero": {
|
"is-negative-zero": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
|
||||||
@ -1050,6 +1106,11 @@
|
|||||||
"has-symbols": "^1.0.1"
|
"has-symbols": "^1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"is-set": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
|
||||||
|
"integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g=="
|
||||||
|
},
|
||||||
"is-stream": {
|
"is-stream": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
|
||||||
@ -1085,6 +1146,16 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
||||||
},
|
},
|
||||||
|
"is-weakmap": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA=="
|
||||||
|
},
|
||||||
|
"is-weakset": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw=="
|
||||||
|
},
|
||||||
"isarray": {
|
"isarray": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||||
@ -2380,6 +2451,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz",
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz",
|
||||||
"integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA=="
|
"integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA=="
|
||||||
},
|
},
|
||||||
|
"object-is": {
|
||||||
|
"version": "1.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
|
||||||
|
"integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.2",
|
||||||
|
"define-properties": "^1.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"object-keys": {
|
"object-keys": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||||
@ -2706,6 +2786,15 @@
|
|||||||
"ms": "^2.1.1"
|
"ms": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"regexp.prototype.flags": {
|
||||||
|
"version": "1.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
|
||||||
|
"integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.2",
|
||||||
|
"define-properties": "^1.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"relative-url": {
|
"relative-url": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz",
|
||||||
@ -2806,6 +2895,16 @@
|
|||||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
||||||
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
|
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
|
||||||
},
|
},
|
||||||
|
"side-channel": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.0",
|
||||||
|
"get-intrinsic": "^1.0.2",
|
||||||
|
"object-inspect": "^1.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"signal-exit": {
|
"signal-exit": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
|
||||||
@ -3113,6 +3212,17 @@
|
|||||||
"is-symbol": "^1.0.3"
|
"is-symbol": "^1.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"which-collection": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
|
||||||
|
"requires": {
|
||||||
|
"is-map": "^2.0.1",
|
||||||
|
"is-set": "^2.0.1",
|
||||||
|
"is-weakmap": "^2.0.1",
|
||||||
|
"is-weakset": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"which-typed-array": {
|
"which-typed-array": {
|
||||||
"version": "1.1.4",
|
"version": "1.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
|
||||||
|
@ -22,13 +22,14 @@
|
|||||||
"compile-aqua:air": "aqua-cli -i ./aqua/ -o ./compiled-air -a"
|
"compile-aqua:air": "aqua-cli -i ./aqua/ -o ./compiled-air -a"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fluencelabs/aqua-cli": "^0.1.1-90",
|
"@fluencelabs/aqua-cli": "^0.1.1-92",
|
||||||
"ts-node": "^9.1.1",
|
"ts-node": "^9.1.1",
|
||||||
"typescript": "^4.2.4"
|
"typescript": "^4.2.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/fluence": "0.9.43",
|
"@fluencelabs/fluence": "^0.9.43",
|
||||||
"@fluencelabs/fluence-network-environment": "1.0.8"
|
"@fluencelabs/fluence-network-environment": "1.0.8",
|
||||||
|
"deep-equal": "^2.0.5"
|
||||||
},
|
},
|
||||||
"description": "Minimal template for aquamarine project."
|
"description": "Minimal template for aquamarine project."
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
import { FluenceClient } from "@fluencelabs/fluence";
|
import {FluenceClient} from "@fluencelabs/fluence";
|
||||||
import { passFunctionAsArg } from "./compiled/callArrow";
|
import {passFunctionAsArg} from "./compiled/callArrow";
|
||||||
|
|
||||||
export async function callArrowCall(client: FluenceClient) {
|
export async function callArrowCall(client: FluenceClient): Promise<string> {
|
||||||
await passFunctionAsArg(client, client.relayPeerId!, (a: string) => {
|
return new Promise<string>((resolve, reject) => {
|
||||||
return "Hello, " + a + "!";
|
passFunctionAsArg(client, client.relayPeerId!, "callArrow call", (a: string) => {
|
||||||
});
|
let result = "Hello, " + a + "!";
|
||||||
|
resolve(result)
|
||||||
|
return result;
|
||||||
|
});
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ export async function print(client: FluenceClient, str: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'str', () => {return str;});
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
@ -78,7 +78,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
export async function passFunctionAsArg(client: FluenceClient, node: string, c: (arg0: string) => string): Promise<void> {
|
export async function passFunctionAsArg(client: FluenceClient, node: string, str: string, c: (arg0: string) => string): Promise<void> {
|
||||||
let request;
|
let request;
|
||||||
const promise = new Promise<void>((resolve, reject) => {
|
const promise = new Promise<void>((resolve, reject) => {
|
||||||
request = new RequestFlowBuilder()
|
request = new RequestFlowBuilder()
|
||||||
@ -111,8 +111,11 @@ export async function passFunctionAsArg(client: FluenceClient, node: string, c:
|
|||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
(seq
|
||||||
(call %init_peer_id% ("getDataSrv" "node") [] node)
|
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||||
|
(call %init_peer_id% ("getDataSrv" "node") [] node)
|
||||||
|
)
|
||||||
|
(call %init_peer_id% ("getDataSrv" "str") [] str)
|
||||||
)
|
)
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
@ -124,7 +127,7 @@ export async function passFunctionAsArg(client: FluenceClient, node: string, c:
|
|||||||
(call node ("peer" "identify") [])
|
(call node ("peer" "identify") [])
|
||||||
(seq
|
(seq
|
||||||
(call relay ("op" "identity") [])
|
(call relay ("op" "identity") [])
|
||||||
(call %init_peer_id% ("callbackSrv" "c") ["hello"] init_call_res)
|
(call %init_peer_id% ("callbackSrv" "c") [str] init_call_res)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(call relay ("op" "identity") [])
|
(call relay ("op" "identity") [])
|
||||||
@ -146,10 +149,11 @@ export async function passFunctionAsArg(client: FluenceClient, node: string, c:
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'node', () => {return node;});
|
h.on('getDataSrv', 'node', () => {return node;});
|
||||||
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
h.on('callbackSrv', 'c', (args) => {return c(args[0]);});
|
h.on('callbackSrv', 'c', (args) => {return c(args[0]);});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
|
@ -37,7 +37,7 @@ export async function helloWorld(client: FluenceClient, name: string): Promise<s
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'name', () => {return name;});
|
h.on('getDataSrv', 'name', () => {return name;});
|
||||||
@ -88,7 +88,7 @@ export async function print(client: FluenceClient, str: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'str', () => {return str;});
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
@ -132,7 +132,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ export async function testFunc(client: FluenceClient): Promise<string> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -206,9 +206,9 @@ export async function testFunc(client: FluenceClient): Promise<string> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
export async function doStuff(client: FluenceClient, a: string): Promise<void> {
|
export async function doStuff(client: FluenceClient, a: string): Promise<string> {
|
||||||
let request;
|
let request;
|
||||||
const promise = new Promise<void>((resolve, reject) => {
|
const promise = new Promise<string>((resolve, reject) => {
|
||||||
request = new RequestFlowBuilder()
|
request = new RequestFlowBuilder()
|
||||||
.disableInjections()
|
.disableInjections()
|
||||||
.withRawScript(
|
.withRawScript(
|
||||||
@ -216,19 +216,22 @@ export async function doStuff(client: FluenceClient, a: string): Promise<void> {
|
|||||||
(xor
|
(xor
|
||||||
(seq
|
(seq
|
||||||
(seq
|
(seq
|
||||||
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
|
||||||
(call %init_peer_id% ("getDataSrv" "a") [] a)
|
|
||||||
)
|
|
||||||
(par
|
|
||||||
(par
|
|
||||||
(call %init_peer_id% ("test-service-id" "str") [] str)
|
|
||||||
(call %init_peer_id% ("println-service-id" "print") [str])
|
|
||||||
)
|
|
||||||
(seq
|
(seq
|
||||||
(call relay ("op" "identity") [])
|
(call %init_peer_id% ("getDataSrv" "relay") [] relay)
|
||||||
(call a ("peer" "identify") [])
|
(call %init_peer_id% ("getDataSrv" "a") [] a)
|
||||||
|
)
|
||||||
|
(par
|
||||||
|
(par
|
||||||
|
(call %init_peer_id% ("test-service-id" "str") [] str)
|
||||||
|
(call %init_peer_id% ("println-service-id" "print") [str])
|
||||||
|
)
|
||||||
|
(seq
|
||||||
|
(call relay ("op" "identity") [])
|
||||||
|
(call a ("peer" "identify") [])
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
(call %init_peer_id% ("callbackSrv" "response") [str])
|
||||||
)
|
)
|
||||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error%])
|
||||||
)
|
)
|
||||||
@ -239,11 +242,15 @@ export async function doStuff(client: FluenceClient, a: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'a', () => {return a;});
|
h.on('getDataSrv', 'a', () => {return a;});
|
||||||
|
h.onEvent('callbackSrv', 'response', (args) => {
|
||||||
|
const [res] = args;
|
||||||
|
resolve(res);
|
||||||
|
});
|
||||||
|
|
||||||
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
h.onEvent('errorHandlingSrv', 'error', (args) => {
|
||||||
// assuming error is the single argument
|
// assuming error is the single argument
|
||||||
const [err] = args;
|
const [err] = args;
|
||||||
@ -257,6 +264,6 @@ export async function doStuff(client: FluenceClient, a: string): Promise<void> {
|
|||||||
.build();
|
.build();
|
||||||
});
|
});
|
||||||
await client.initiateFlow(request);
|
await client.initiateFlow(request);
|
||||||
return Promise.race([promise, Promise.resolve()]);
|
return promise;
|
||||||
}
|
}
|
||||||
|
|
@ -34,7 +34,7 @@ export async function print(client: FluenceClient, str: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'str', () => {return str;});
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
@ -83,7 +83,7 @@ export async function printConstant(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ export async function getAliasedData(client: FluenceClient): Promise<string> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ export async function print(client: FluenceClient, str: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'str', () => {return str;});
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
@ -78,7 +78,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ export async function iterateAndPrint(client: FluenceClient, strings: string[]):
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'strings', () => {return strings;});
|
h.on('getDataSrv', 'strings', () => {return strings;});
|
||||||
@ -191,7 +191,7 @@ export async function iterateAndPrintParallel(client: FluenceClient, nodes: stri
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'nodes', () => {return nodes;});
|
h.on('getDataSrv', 'nodes', () => {return nodes;});
|
||||||
|
@ -34,7 +34,7 @@ export async function testFunc(client: FluenceClient): Promise<string> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ export async function helloWorld(client: FluenceClient, name: string): Promise<s
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'name', () => {return name;});
|
h.on('getDataSrv', 'name', () => {return name;});
|
||||||
|
@ -34,7 +34,7 @@ export async function print(client: FluenceClient, str: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'str', () => {return str;});
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
@ -86,7 +86,7 @@ export async function ifElseCall(client: FluenceClient, condition: boolean): Pro
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'condition', () => {return condition;});
|
h.on('getDataSrv', 'condition', () => {return condition;});
|
||||||
@ -138,7 +138,7 @@ export async function ifElseNumCall(client: FluenceClient, condition: number): P
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'condition', () => {return condition;});
|
h.on('getDataSrv', 'condition', () => {return condition;});
|
||||||
|
@ -31,7 +31,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ export async function getPeerExternalAddresses(client: FluenceClient, otherNodeP
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'otherNodePeerId', () => {return otherNodePeerId;});
|
h.on('getDataSrv', 'otherNodePeerId', () => {return otherNodePeerId;});
|
||||||
@ -156,7 +156,7 @@ export async function getDistantAddresses(client: FluenceClient, target: string,
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'target', () => {return target;});
|
h.on('getDataSrv', 'target', () => {return target;});
|
||||||
|
@ -31,7 +31,7 @@ export async function id(client: FluenceClient): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ export async function parFunc(client: FluenceClient, node: string, c: (arg0: {ex
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'node', () => {return node;});
|
h.on('getDataSrv', 'node', () => {return node;});
|
||||||
|
@ -34,7 +34,7 @@ export async function print(client: FluenceClient, str: string): Promise<void> {
|
|||||||
h.on('getDataSrv', 'relay', () => {
|
h.on('getDataSrv', 'relay', () => {
|
||||||
return client.relayPeerId!;
|
return client.relayPeerId!;
|
||||||
});
|
});
|
||||||
h.on('getRelayService', 'hasReleay', () => {// Not Used
|
h.on('getRelayService', 'hasRelay', () => {// Not Used
|
||||||
return client.relayPeerId !== undefined;
|
return client.relayPeerId !== undefined;
|
||||||
});
|
});
|
||||||
h.on('getDataSrv', 'str', () => {return str;});
|
h.on('getDataSrv', 'str', () => {return str;});
|
||||||
|
@ -2,5 +2,5 @@ import {FluenceClient} from "@fluencelabs/fluence";
|
|||||||
import {doStuff} from "./compiled/complex";
|
import {doStuff} from "./compiled/complex";
|
||||||
|
|
||||||
export async function complexCall(client: FluenceClient) {
|
export async function complexCall(client: FluenceClient) {
|
||||||
await doStuff(client, client.relayPeerId!)
|
return await doStuff(client, client.relayPeerId!)
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,5 @@ export async function dataAliasCall(client: FluenceClient) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const peerId = await getAliasedData(client)
|
return await getAliasedData(client)
|
||||||
console.log("PeerId: ", peerId);
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,11 @@
|
|||||||
|
|
||||||
export async function foldCall(client: FluenceClient) {
|
export async function foldCall(client: FluenceClient) {
|
||||||
await iterateAndPrint(client, [client.relayPeerId!])
|
await iterateAndPrint(client, [client.relayPeerId!])
|
||||||
await iterateAndPrintParallel(client, [client.relayPeerId!], (c) => {
|
|
||||||
console.log("iterateAndPrintParallel. external addresses: " + c.external_addresses)
|
return new Promise<string[]>((resolve, reject) => {
|
||||||
|
iterateAndPrintParallel(client, [client.relayPeerId!], (c) => {
|
||||||
|
console.log("iterateAndPrintParallel. external addresses: " + c.external_addresses)
|
||||||
|
resolve(c.external_addresses)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,5 @@ export async function funcCall(client: FluenceClient) {
|
|||||||
return `some str`
|
return `some str`
|
||||||
})
|
})
|
||||||
|
|
||||||
const res = await testFunc(client);
|
return await testFunc(client);
|
||||||
console.log("Message: ", res);
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,5 @@ export async function helloWorldCall(client: FluenceClient) {
|
|||||||
return `Hello, ${args[0]}!`
|
return `Hello, ${args[0]}!`
|
||||||
})
|
})
|
||||||
|
|
||||||
const hello = await helloWorld(client, "NAME");
|
return await helloWorld(client, "NAME");
|
||||||
console.log("Message: ", hello);
|
|
||||||
}
|
}
|
||||||
|
74
src/index.ts
74
src/index.ts
@ -11,6 +11,16 @@ import {foldCall} from "./foldCall";
|
|||||||
import {ifCall} from "./if";
|
import {ifCall} from "./if";
|
||||||
import {parCall} from "./parCall";
|
import {parCall} from "./parCall";
|
||||||
import {complexCall} from "./complex";
|
import {complexCall} from "./complex";
|
||||||
|
let deepEqual = require('deep-equal')
|
||||||
|
|
||||||
|
function checkCall(name: string, expected: any, actual: any, callBackOnError: () => void) {
|
||||||
|
if (!deepEqual(actual, expected)) {
|
||||||
|
console.error(`${name} call has the wrong result`)
|
||||||
|
console.error("expected: " + expected)
|
||||||
|
console.error("actual: " + actual)
|
||||||
|
callBackOnError()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
const client = await createClient(testNet[0]);
|
const client = await createClient(testNet[0]);
|
||||||
@ -25,20 +35,64 @@ const main = async () => {
|
|||||||
|
|
||||||
// these calls return void, so they could be executed at any time,
|
// these calls return void, so they could be executed at any time,
|
||||||
// because promise waits only a fact that particle was sent
|
// because promise waits only a fact that particle was sent
|
||||||
await callArrowCall(client)
|
|
||||||
await foldCall(client)
|
// callArrow.aqua
|
||||||
|
let callArrowResult = await callArrowCall(client)
|
||||||
|
|
||||||
|
// fold.aqua
|
||||||
|
let foldCallResult = await foldCall(client)
|
||||||
|
|
||||||
|
//if.aqua
|
||||||
await ifCall(client)
|
await ifCall(client)
|
||||||
await parCall(client)
|
|
||||||
|
// par.aqua
|
||||||
|
let parCallResult = await parCall(client)
|
||||||
|
|
||||||
// these calls waiting for a result, so it will be called sequentially
|
// these calls waiting for a result, so it will be called sequentially
|
||||||
await helloWorldCall(client)
|
// helloWorld.aqua
|
||||||
await funcCall(client)
|
let helloWorldResult = await helloWorldCall(client)
|
||||||
await onCall(client)
|
|
||||||
await dataAliasCall(client)
|
// func.aqua
|
||||||
await complexCall(client)
|
let funcCallResult = await funcCall(client)
|
||||||
|
|
||||||
|
// on.aqua
|
||||||
|
let onCallResult = await onCall(client)
|
||||||
|
|
||||||
|
// dataAlias.aqua
|
||||||
|
let dataAliasResult = await dataAliasCall(client)
|
||||||
|
|
||||||
|
// complex.aqua
|
||||||
|
let complexCallResult = await complexCall(client)
|
||||||
|
|
||||||
|
await client.disconnect();
|
||||||
|
|
||||||
|
let success = true;
|
||||||
|
let cb: () => void = () => {
|
||||||
|
success = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
checkCall("callArrow", callArrowResult, "Hello, callArrow call!", cb)
|
||||||
|
|
||||||
|
checkCall("foldCall", foldCallResult, ["/ip4/165.227.164.206/tcp/7001", "/ip4/165.227.164.206/tcp/9001/ws"], cb)
|
||||||
|
|
||||||
|
checkCall("onCall", onCallResult, ["/ip4/165.227.164.206/tcp/7001", "/ip4/165.227.164.206/tcp/9001/ws"], cb)
|
||||||
|
|
||||||
|
checkCall("parArrow", parCallResult, "hello", cb)
|
||||||
|
|
||||||
|
checkCall("helloWorldCall", helloWorldResult, "Hello, NAME!", cb)
|
||||||
|
|
||||||
|
checkCall("funcCall", funcCallResult, "some str", cb)
|
||||||
|
|
||||||
|
checkCall("dataAliasCall", dataAliasResult, "peer id str", cb)
|
||||||
|
|
||||||
|
checkCall("complexCall", complexCallResult, "some str", cb)
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
process.exit(0)
|
||||||
|
} else {
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
client.disconnect();
|
|
||||||
process.exit(0)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { FluenceClient, registerServiceFunction } from "@fluencelabs/fluence";
|
import {FluenceClient} from "@fluencelabs/fluence";
|
||||||
import { getPeerExternalAddresses } from "./compiled/on";
|
import {getPeerExternalAddresses} from "./compiled/on";
|
||||||
|
|
||||||
export async function onCall(client: FluenceClient) {
|
export async function onCall(client: FluenceClient): Promise<string[]> {
|
||||||
const addresses = await getPeerExternalAddresses(client, client.relayPeerId!)
|
return await getPeerExternalAddresses(client, client.relayPeerId!)
|
||||||
console.log("Addresses: ", addresses);
|
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,19 @@ import {FluenceClient, registerServiceFunction} from "@fluencelabs/fluence";
|
|||||||
import {parFunc} from "./compiled/par";
|
import {parFunc} from "./compiled/par";
|
||||||
|
|
||||||
export async function parCall(client: FluenceClient) {
|
export async function parCall(client: FluenceClient) {
|
||||||
registerServiceFunction(client, "parservice-id", "call", (args: any[], _) => {
|
|
||||||
console.log("hello from parservice-id")
|
let promise = new Promise<string>((resolve, reject) => {
|
||||||
return `hello`
|
registerServiceFunction(client, "parservice-id", "call", (args: any[], _) => {
|
||||||
|
console.log("hello from parservice-id")
|
||||||
|
let result = "hello"
|
||||||
|
resolve(result)
|
||||||
|
return result
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
await parFunc(client, client.relayPeerId!, (c) => {
|
await parFunc(client, client.relayPeerId!, (c) => {
|
||||||
console.log("parFunc. external addresses par: " + c.external_addresses)
|
console.log("parFunc. external addresses par: " + c.external_addresses)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return promise
|
||||||
}
|
}
|
||||||
|
@ -10,12 +10,16 @@
|
|||||||
],
|
],
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"outDir": "dist",
|
"outDir": "dist",
|
||||||
|
"moduleResolution": "node",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"noImplicitAny": false
|
"noImplicitAny": false
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"node_modules",
|
"node_modules",
|
||||||
"dist"
|
"dist",
|
||||||
]
|
"bundle",
|
||||||
|
"src/__test__"
|
||||||
|
],
|
||||||
|
"include": ["src/**/*"]
|
||||||
}
|
}
|
Reference in New Issue
Block a user