mirror of
https://github.com/fluencelabs/aqua-playground
synced 2025-06-22 18:01:51 +00:00
add closures test
This commit is contained in:
33
aqua/examples/closures.aqua
Normal file
33
aqua/examples/closures.aqua
Normal file
@ -0,0 +1,33 @@
|
||||
module Closure declares *
|
||||
|
||||
import "@fluencelabs/aqua-lib/builtin.aqua"
|
||||
|
||||
export LocalSrv, closureIn, closureOut
|
||||
|
||||
service MyOp("op"):
|
||||
identity(s: string) -> string
|
||||
|
||||
service LocalSrv("local_srv"):
|
||||
inside: -> ()
|
||||
|
||||
func closureIn(peer1: string) -> string:
|
||||
variable = "const"
|
||||
co on peer1:
|
||||
p1Id <- MyOp.identity("co on")
|
||||
closure = (s: string) -> string:
|
||||
if s == "in":
|
||||
LocalSrv.inside()
|
||||
p2Id <- MyOp.identity(s)
|
||||
<- p2Id
|
||||
p <- closure("in")
|
||||
<- p
|
||||
|
||||
func closureOut(peer2: string) -> Info:
|
||||
closure = (s: string) -> Info:
|
||||
if s == "in":
|
||||
LocalSrv.inside()
|
||||
p2Id <- Peer.identify()
|
||||
<- p2Id
|
||||
on peer2:
|
||||
p2Id <- closure("on")
|
||||
<- p2Id
|
@ -184,6 +184,12 @@ describe('Testing examples', () => {
|
||||
expect(nestedFuncsResult).toBe('some-str');
|
||||
});
|
||||
|
||||
it('closures.aqua', async () => {
|
||||
let closuresResult = await closuresCall();
|
||||
let res = ["/ip4/164.90.164.229/tcp/7001", "/ip4/164.90.164.229/tcp/9001/ws"]
|
||||
expect(closuresResult).toStrictEqual(["in", res]);
|
||||
});
|
||||
|
||||
it('assignment.aqua', async () => {
|
||||
let assignmentResult = await assignmentCall();
|
||||
expect(assignmentResult).toStrictEqual(['abc', 'hello']);
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -18,7 +18,7 @@ import {
|
||||
|
||||
export interface ComplexServiceDef {
|
||||
call: (d: { otherValue: number; value: string; }, sd: { complex: { someNum: number; someStr: string; }; value: string; }, callParams: CallParams<'d' | 'sd'>) => { someNum: number; someStr: string; } | Promise<{ someNum: number; someStr: string; }>;
|
||||
identity: (callParams: CallParams<null>) => { complex: { someNum: number; someStr: string; }; value: string; } | Promise<{ complex: { someNum: number; someStr: string; }; value: string; }>;
|
||||
identity: (callParams: CallParams<null>) => { complex: { someNum: number; someStr: string; }; value: string; } | Promise<{ complex: { someNum: number; someStr: string; }; value: string; }>;
|
||||
}
|
||||
export function registerComplexService(service: ComplexServiceDef): void;
|
||||
export function registerComplexService(serviceId: string, service: ComplexServiceDef): void;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -18,7 +18,7 @@ import {
|
||||
|
||||
export interface OpHaDef {
|
||||
array: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string[] | Promise<string[]>;
|
||||
identity: (a: string, callParams: CallParams<'a'>) => string | Promise<string>;
|
||||
identity: (a: string, callParams: CallParams<'a'>) => string | Promise<string>;
|
||||
}
|
||||
export function registerOpHa(service: OpHaDef): void;
|
||||
export function registerOpHa(serviceId: string, service: OpHaDef): void;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -18,7 +18,7 @@ import {
|
||||
|
||||
export interface TestSDef {
|
||||
multiline: (a: string, b: string, c: boolean, callParams: CallParams<'a' | 'b' | 'c'>) => string | Promise<string>;
|
||||
t: (arg0: string, callParams: CallParams<'arg0'>) => string | Promise<string>;
|
||||
t: (arg0: string, callParams: CallParams<'arg0'>) => string | Promise<string>;
|
||||
}
|
||||
export function registerTestS(service: TestSDef): void;
|
||||
export function registerTestS(serviceId: string, service: TestSDef): void;
|
||||
@ -117,10 +117,7 @@ export function doStuff(...args: any) {
|
||||
(par
|
||||
(par
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("some-id" "t") [str] $stream)
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(call %init_peer_id% ("some-id" "t") [str] $stream)
|
||||
(call b ("op" "noop") [])
|
||||
)
|
||||
(call %init_peer_id% ("println-service-id" "print") [a])
|
||||
@ -130,11 +127,8 @@ export function doStuff(...args: any) {
|
||||
(xor
|
||||
(call a ("peer" "identify") [])
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
(call -relay- ("op" "noop") [])
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -84,7 +84,7 @@ export function registerOp(...args: any) {
|
||||
|
||||
export interface TestDef {
|
||||
doSomething: (callParams: CallParams<null>) => boolean | Promise<boolean>;
|
||||
getUserList: (callParams: CallParams<null>) => { name: string; peer_id: string; relay_id: string; }[] | Promise<{ name: string; peer_id: string; relay_id: string; }[]>;
|
||||
getUserList: (callParams: CallParams<null>) => { name: string; peer_id: string; relay_id: string; }[] | Promise<{ name: string; peer_id: string; relay_id: string; }[]>;
|
||||
}
|
||||
export function registerTest(service: TestDef): void;
|
||||
export function registerTest(serviceId: string, service: TestDef): void;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -18,16 +18,16 @@ import {
|
||||
|
||||
export interface NoopDef {
|
||||
array: (a: string, b: string | null, c: string | null, d: string | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[] | Promise<string[]>;
|
||||
array_length: (array: string[], callParams: CallParams<'array'>) => number | Promise<number>;
|
||||
bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[] | Promise<number[]>;
|
||||
bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string | Promise<string>;
|
||||
concat: (a: string[], b: string[] | null, c: string[] | null, d: string[] | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[] | Promise<string[]>;
|
||||
concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string | Promise<string>;
|
||||
identity: (s: string | null, callParams: CallParams<'s'>) => string | null | Promise<string | null>;
|
||||
noop: (callParams: CallParams<null>) => void | Promise<void>;
|
||||
sha256_string: (s: string, callParams: CallParams<'s'>) => string | Promise<string>;
|
||||
string_from_b58: (b: string, callParams: CallParams<'b'>) => string | Promise<string>;
|
||||
string_to_b58: (s: string, callParams: CallParams<'s'>) => string | Promise<string>;
|
||||
array_length: (array: string[], callParams: CallParams<'array'>) => number | Promise<number>;
|
||||
bytes_from_b58: (b: string, callParams: CallParams<'b'>) => number[] | Promise<number[]>;
|
||||
bytes_to_b58: (bs: number[], callParams: CallParams<'bs'>) => string | Promise<string>;
|
||||
concat: (a: string[], b: string[] | null, c: string[] | null, d: string[] | null, callParams: CallParams<'a' | 'b' | 'c' | 'd'>) => string[] | Promise<string[]>;
|
||||
concat_strings: (a: string, b: string, callParams: CallParams<'a' | 'b'>) => string | Promise<string>;
|
||||
identity: (s: string | null, callParams: CallParams<'s'>) => string | null | Promise<string | null>;
|
||||
noop: (callParams: CallParams<null>) => void | Promise<void>;
|
||||
sha256_string: (s: string, callParams: CallParams<'s'>) => string | Promise<string>;
|
||||
string_from_b58: (b: string, callParams: CallParams<'b'>) => string | Promise<string>;
|
||||
string_to_b58: (s: string, callParams: CallParams<'s'>) => string | Promise<string>;
|
||||
}
|
||||
export function registerNoop(service: NoopDef): void;
|
||||
export function registerNoop(serviceId: string, service: NoopDef): void;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -87,10 +87,10 @@ export function registerServiceWithOUTDefaultId(...args: any) {
|
||||
|
||||
export interface MoreMembersDef {
|
||||
member1: (callParams: CallParams<null>) => void | Promise<void>;
|
||||
member2: (s1: string, callParams: CallParams<'s1'>) => void | Promise<void>;
|
||||
member3: (s1: string, s2: string, callParams: CallParams<'s1' | 's2'>) => void | Promise<void>;
|
||||
member4: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number | Promise<number>;
|
||||
member5: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number | Promise<number>;
|
||||
member2: (s1: string, callParams: CallParams<'s1'>) => void | Promise<void>;
|
||||
member3: (s1: string, s2: string, callParams: CallParams<'s1' | 's2'>) => void | Promise<void>;
|
||||
member4: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number | Promise<number>;
|
||||
member5: (s1: string, s2: string, i: number, callParams: CallParams<'s1' | 's2' | 'i'>) => number | Promise<number>;
|
||||
}
|
||||
export function registerMoreMembers(serviceId: string, service: MoreMembersDef): void;
|
||||
export function registerMoreMembers(peer: FluencePeer, serviceId: string, service: MoreMembersDef): void;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -18,7 +18,7 @@ import {
|
||||
|
||||
export interface HelloWorldDef {
|
||||
getNumber: (callParams: CallParams<null>) => number | Promise<number>;
|
||||
sayHello: (s: string, callParams: CallParams<'s'>) => void | Promise<void>;
|
||||
sayHello: (s: string, callParams: CallParams<'s'>) => void | Promise<void>;
|
||||
}
|
||||
export function registerHelloWorld(service: HelloWorldDef): void;
|
||||
export function registerHelloWorld(serviceId: string, service: HelloWorldDef): void;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -17,9 +17,10 @@ import {
|
||||
// Services
|
||||
|
||||
export interface SomeSDef {
|
||||
checkU32: (u: number | null, callParams: CallParams<'u'>) => void | Promise<void>;
|
||||
getStr: (arg0: string | null, callParams: CallParams<'arg0'>) => string | null | Promise<string | null>;
|
||||
getStr1: (callParams: CallParams<null>) => string | null | Promise<string | null>;
|
||||
getStr2: (arg0: string, callParams: CallParams<'arg0'>) => string | Promise<string>;
|
||||
getStr1: (callParams: CallParams<null>) => string | null | Promise<string | null>;
|
||||
getStr2: (arg0: string, callParams: CallParams<'arg0'>) => string | Promise<string>;
|
||||
}
|
||||
export function registerSomeS(service: SomeSDef): void;
|
||||
export function registerSomeS(serviceId: string, service: SomeSDef): void;
|
||||
@ -33,6 +34,20 @@ export function registerSomeS(...args: any) {
|
||||
{
|
||||
"defaultServiceId" : "test2",
|
||||
"functions" : [
|
||||
{
|
||||
"functionName" : "checkU32",
|
||||
"argDefs" : [
|
||||
{
|
||||
"name" : "u",
|
||||
"argType" : {
|
||||
"tag" : "optional"
|
||||
}
|
||||
}
|
||||
],
|
||||
"returnType" : {
|
||||
"tag" : "void"
|
||||
}
|
||||
},
|
||||
{
|
||||
"functionName" : "getStr",
|
||||
"argDefs" : [
|
||||
@ -77,6 +92,53 @@ export function registerSomeS(...args: any) {
|
||||
// Functions
|
||||
|
||||
|
||||
export function checkU32AndU8(a: number | null, config?: {ttl?: number}): Promise<void>;
|
||||
export function checkU32AndU8(peer: FluencePeer, a: number | null, config?: {ttl?: number}): Promise<void>;
|
||||
export function checkU32AndU8(...args: any) {
|
||||
|
||||
let script = `
|
||||
(xor
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("getDataSrv" "a") [] a)
|
||||
)
|
||||
(call %init_peer_id% ("test2" "checkU32") [a])
|
||||
)
|
||||
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
||||
)
|
||||
`
|
||||
return callFunction(
|
||||
args,
|
||||
{
|
||||
"functionName" : "checkU32AndU8",
|
||||
"returnType" : {
|
||||
"tag" : "void"
|
||||
},
|
||||
"argDefs" : [
|
||||
{
|
||||
"name" : "a",
|
||||
"argType" : {
|
||||
"tag" : "optional"
|
||||
}
|
||||
}
|
||||
],
|
||||
"names" : {
|
||||
"relay" : "-relay-",
|
||||
"getDataSrv" : "getDataSrv",
|
||||
"callbackSrv" : "callbackSrv",
|
||||
"responseSrv" : "callbackSrv",
|
||||
"responseFnName" : "response",
|
||||
"errorHandlingSrv" : "errorHandlingSrv",
|
||||
"errorFnName" : "error"
|
||||
}
|
||||
},
|
||||
script
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
export function useOptional(opt: string | null, config?: {ttl?: number}): Promise<string>;
|
||||
export function useOptional(peer: FluencePeer, opt: string | null, config?: {ttl?: number}): Promise<string>;
|
||||
export function useOptional(...args: any) {
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -145,9 +145,9 @@ export function returnNil(...args: any) {
|
||||
(seq
|
||||
(seq
|
||||
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
||||
(call %init_peer_id% ("op" "identity") [$valueNil] valueNil-0)
|
||||
(call %init_peer_id% ("op" "identity") [$valueNil] push-to-stream-12)
|
||||
)
|
||||
(ap valueNil-0 $relayNil)
|
||||
(ap push-to-stream-12 $relayNil)
|
||||
)
|
||||
(xor
|
||||
(call %init_peer_id% ("callbackSrv" "response") [$relayNil])
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -100,14 +100,17 @@ export function tryCatchTest(...args: any) {
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(xor
|
||||
(call node_id ("unex" "getStr") [] $f)
|
||||
(seq
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(xor
|
||||
(call node_id ("unex" "getStr") [] $f)
|
||||
(seq
|
||||
(call node_id ("op" "identity") [%last_error%.$.msg!] $f)
|
||||
(call node_id ("peer" "identify") [] i)
|
||||
(seq
|
||||
(call node_id ("op" "identity") [%last_error%.$.msg!] $f)
|
||||
(call node_id ("peer" "identify") [] i)
|
||||
)
|
||||
(call node_id ("op" "identity") [i.$.external_addresses.[0]!] $f)
|
||||
)
|
||||
(call node_id ("op" "identity") [i.$.external_addresses.[0]!] $f)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
@ -100,9 +100,12 @@ export function tryOtherwiseTest(...args: any) {
|
||||
(call -relay- ("op" "noop") [])
|
||||
)
|
||||
(xor
|
||||
(xor
|
||||
(call node_id ("unex" "getStr") [] $f)
|
||||
(call node_id ("op" "identity") ["error"] $f)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
(xor
|
||||
(call node_id ("unex" "getStr") [] $f)
|
||||
(call node_id ("op" "identity") ["error"] $f)
|
||||
)
|
||||
)
|
||||
(seq
|
||||
(call -relay- ("op" "noop") [])
|
||||
|
@ -3,7 +3,7 @@
|
||||
* This file is auto-generated. Do not edit manually: changes may be erased.
|
||||
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
|
||||
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
|
||||
* Aqua version: 0.4.0-SNAPSHOT
|
||||
* Aqua version: 0.4.1-SNAPSHOT
|
||||
*
|
||||
*/
|
||||
import { Fluence, FluencePeer } from '@fluencelabs/fluence';
|
||||
|
@ -1,12 +1,15 @@
|
||||
import { Fluence } from '@fluencelabs/fluence';
|
||||
// import { smth, registerLocalSrv } from '../compiled/examples/closures';
|
||||
import { closureIn, closureOut, registerLocalSrv } from '../compiled/examples/closures';
|
||||
import { relays } from '../config'
|
||||
|
||||
export async function closuresCall() {
|
||||
export async function closuresCall(): Promise<[string, string[]]> {
|
||||
const relayPeerId = Fluence.getPeer().getStatus().relayPeerId;
|
||||
const selfPeerId = Fluence.getPeer().getStatus().peerId;
|
||||
|
||||
// registerLocalSrv({inside: () => console.log("call inside")})
|
||||
registerLocalSrv({inside: () => console.log("call inside")})
|
||||
|
||||
// return smth(relays[2].peerId, relays[3].peerId)
|
||||
const resIn = await closureIn(relays[4].peerId, {ttl: 15000})
|
||||
const resOut = await closureOut(relays[5].peerId, {ttl: 15000})
|
||||
|
||||
return [resIn, resOut.external_addresses]
|
||||
}
|
Reference in New Issue
Block a user