diff --git a/aqua/examples/closures.aqua b/aqua/examples/closures.aqua index 98d954a..1b26c2d 100644 --- a/aqua/examples/closures.aqua +++ b/aqua/examples/closures.aqua @@ -2,7 +2,7 @@ module Closure declares * import "@fluencelabs/aqua-lib/builtin.aqua" -export LocalSrv, closureIn, closureOut, closureBig, closureOut2 +export LocalSrv, closureIn, closureBig service MyOp("op"): identity(s: string) -> string @@ -22,25 +22,25 @@ func closureIn(peer1: string) -> string: p <- closure("in") <- p -func closureOut(peer2: string) -> Info: - on peer2: - closure = (s: string) -> Info: - if s == "in": - LocalSrv.inside() - p2Id <- Peer.identify() - <- p2Id - p2Id <- closure("on") - <- p2Id - -func closureOut2(peer2: string) -> Info: - closure = func (s: string) -> Info: - if s == "in": - LocalSrv.inside() - p2Id <- Peer.identify() - <- p2Id - on peer2: - p2Id <- closure("on") - <- p2Id +-- func closureOut(peer2: string) -> Info: +-- on peer2: +-- closure = (s: string) -> Info: +-- if s == "in": +-- LocalSrv.inside() +-- p2Id <- Peer.identify() +-- <- p2Id +-- p2Id <- closure("on") +-- <- p2Id +-- +-- func closureOut2(peer2: string) -> Info: +-- closure = func (s: string) -> Info: +-- if s == "in": +-- LocalSrv.inside() +-- p2Id <- Peer.identify() +-- <- p2Id +-- on peer2: +-- p2Id <- closure("on") +-- <- p2Id func closureBig(peer1: string, peer2: string) -> string, string: diff --git a/package-lock.json b/package-lock.json index 1fc255c..3c5bac8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@fluencelabs/aqua-dht-ts": "0.1.38", - "@fluencelabs/fluence": "0.0.1-fix-recursive-632.0", + "@fluencelabs/fluence": "0.0.1-fix-recursive-633.0", "@fluencelabs/fluence-network-environment": "1.0.13", "deep-equal": "^2.0.5" }, @@ -1225,9 +1225,9 @@ "integrity": "sha512-Y41pL+UwZZVdormxju8cJQsNRp6tdER0VqJ9Kg9gH2wd1KJAaYTJkyVbn8NB7fEFRUbqfbb1BXHi9wWBYOgGYQ==" }, "node_modules/@fluencelabs/fluence": { - "version": "0.0.1-fix-recursive-632.0", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.0.1-fix-recursive-632.0.tgz", - "integrity": "sha512-y1PgST/PCh1DxZ5lMcw/euaDOkwa0+HM8LUbfte29bjPvTopHD6zzWN87Znwv3d65WDSFqKpINrTPBIemyKaoQ==", + "version": "0.0.1-fix-recursive-633.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.0.1-fix-recursive-633.0.tgz", + "integrity": "sha512-DGnBv3j1ImjlygXbCvakB9p39PLpF8Tf5xB4kS5I2r60jX1VcGuycptGcgw4sDUEUURwtBPPG5Z5UzdVUoPe/g==", "dependencies": { "@chainsafe/libp2p-noise": "^4.1.1", "@fluencelabs/avm": "^0.21.3", @@ -10371,9 +10371,9 @@ "integrity": "sha512-Y41pL+UwZZVdormxju8cJQsNRp6tdER0VqJ9Kg9gH2wd1KJAaYTJkyVbn8NB7fEFRUbqfbb1BXHi9wWBYOgGYQ==" }, "@fluencelabs/fluence": { - "version": "0.0.1-fix-recursive-632.0", - "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.0.1-fix-recursive-632.0.tgz", - "integrity": "sha512-y1PgST/PCh1DxZ5lMcw/euaDOkwa0+HM8LUbfte29bjPvTopHD6zzWN87Znwv3d65WDSFqKpINrTPBIemyKaoQ==", + "version": "0.0.1-fix-recursive-633.0", + "resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.0.1-fix-recursive-633.0.tgz", + "integrity": "sha512-DGnBv3j1ImjlygXbCvakB9p39PLpF8Tf5xB4kS5I2r60jX1VcGuycptGcgw4sDUEUURwtBPPG5Z5UzdVUoPe/g==", "requires": { "@chainsafe/libp2p-noise": "^4.1.1", "@fluencelabs/avm": "^0.21.3", diff --git a/package.json b/package.json index 70942a3..e3fbfbd 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "@fluencelabs/aqua-dht-ts": "0.1.38", - "@fluencelabs/fluence": "0.21.1", + "@fluencelabs/fluence": "0.0.1-fix-recursive-633.0", "@fluencelabs/fluence-network-environment": "1.0.13", "deep-equal": "^2.0.5" }, diff --git a/src/compiled/examples/aliases.ts b/src/compiled/examples/aliases.ts index 5e548d3..01f5a56 100644 --- a/src/compiled/examples/aliases.ts +++ b/src/compiled/examples/aliases.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -31,36 +34,111 @@ export function registerComplexService(...args: any) { args, { "defaultServiceId" : "op-ha", - "functions" : [ - { - "functionName" : "call", - "argDefs" : [ - { - "name" : "d", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "call" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "d" : { + "tag" : "struct", + "name" : "SomeData", + "fields" : { + "otherValue" : { + "tag" : "scalar", + "name" : "u64" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "sd" : { + "tag" : "struct", + "name" : "SecondData", + "fields" : { + "complex" : { + "tag" : "struct", + "name" : "SubData", + "fields" : { + "someNum" : { + "tag" : "scalar", + "name" : "i32" + }, + "someStr" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + } } }, - { - "name" : "sd", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SubData", + "fields" : { + "someNum" : { + "tag" : "scalar", + "name" : "i32" + }, + "someStr" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] + } + }, + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SecondData", + "fields" : { + "complex" : { + "tag" : "struct", + "name" : "SubData", + "fields" : { + "someNum" : { + "tag" : "scalar", + "name" : "i32" + }, + "someStr" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], - "returnType" : { - "tag" : "primitive" - } - }, - { - "functionName" : "identity", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -123,54 +201,170 @@ export function doSmth(...args: any) { args, { "functionName" : "doSmth", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "d", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "d2", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "sd", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "c", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "d" : { + "tag" : "struct", + "name" : "SomeData", + "fields" : { + "otherValue" : { + "tag" : "scalar", + "name" : "u64" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "d2" : { + "tag" : "struct", + "name" : "SomeData", + "fields" : { + "otherValue" : { + "tag" : "scalar", + "name" : "u64" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "sd" : { + "tag" : "struct", + "name" : "SecondData", + "fields" : { + "complex" : { + "tag" : "struct", + "name" : "SubData", + "fields" : { + "someNum" : { + "tag" : "scalar", + "name" : "i32" + }, + "someStr" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } + "value" : { + "tag" : "scalar", + "name" : "string" } - ], - "returnType" : { - "tag" : "primitive" + } + }, + "c" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SubData", + "fields" : { + "someNum" : { + "tag" : "scalar", + "name" : "i32" + }, + "someStr" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + { + "tag" : "struct", + "name" : "SecondData", + "fields" : { + "complex" : { + "tag" : "struct", + "name" : "SubData", + "fields" : { + "someNum" : { + "tag" : "scalar", + "name" : "i32" + }, + "someStr" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "ThirdData", + "fields" : { + "complex" : { + "tag" : "struct", + "name" : "SomeData", + "fields" : { + "otherValue" : { + "tag" : "scalar", + "name" : "u64" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "ThirdData", + "fields" : { + "complex" : { + "tag" : "struct", + "name" : "SomeData", + "fields" : { + "otherValue" : { + "tag" : "scalar", + "name" : "u64" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/assignment.ts b/src/compiled/examples/assignment.ts index 50a35e9..68d9fe9 100644 --- a/src/compiled/examples/assignment.ts +++ b/src/compiled/examples/assignment.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -31,42 +34,60 @@ export function registerOpHa(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "array", - "argDefs" : [ - { - "name" : "a", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "array" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "a" : { + "tag" : "scalar", + "name" : "string" + }, + "b" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "b", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], - "returnType" : { - "tag" : "primitive" - } - }, - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "a", - "argType" : { - "tag" : "primitive" + }, + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "a" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -112,17 +133,36 @@ export function doSmth(...args: any) { args, { "functionName" : "doSmth", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "arg", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "arg" : { + "tag" : "struct", + "name" : "Prod", + "fields" : { + "value" : { + "tag" : "scalar", + "name" : "string" + } + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/callArrow.ts b/src/compiled/examples/callArrow.ts index 6dec01c..2eaeca0 100644 --- a/src/compiled/examples/callArrow.ts +++ b/src/compiled/examples/callArrow.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -88,42 +91,46 @@ export function passFunctionAsArg(...args: any) { args, { "functionName" : "passFunctionAsArg", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "str", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "c", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node" : { + "tag" : "scalar", + "name" : "string" + }, + "str" : { + "tag" : "scalar", + "name" : "string" + }, + "c" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" } - } - ], - "returnType" : { - "tag" : "primitive" + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -174,36 +181,36 @@ export function reproArgsBug426(...args: any) { args, { "functionName" : "reproArgsBug426", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "log", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "log" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } + }, + "arg" : { + "tag" : "scalar", + "name" : "string" } } }, - { - "name" : "arg", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/closures.ts b/src/compiled/examples/closures.ts index d98aae3..a58c7cf 100644 --- a/src/compiled/examples/closures.ts +++ b/src/compiled/examples/closures.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,20 @@ export function registerLocalSrv(...args: any) { args, { "defaultServiceId" : "local_srv", - "functions" : [ - { - "functionName" : "inside", - "argDefs" : [ - ], - "returnType" : { - "tag" : "void" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "inside" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" + } } } - ] + } } ); } @@ -111,108 +118,27 @@ export function closureIn(...args: any) { args, { "functionName" : "closureIn", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "peer1", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "peer1" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "names" : { - "relay" : "-relay-", - "getDataSrv" : "getDataSrv", - "callbackSrv" : "callbackSrv", - "responseSrv" : "callbackSrv", - "responseFnName" : "response", - "errorHandlingSrv" : "errorHandlingSrv", - "errorFnName" : "error" - } -}, - script - ) -} - - -export type ClosureOutResult = { air_version: string; external_addresses: string[]; node_version: string; } -export function closureOut( - peer2: string, - config?: {ttl?: number} -): Promise; - -export function closureOut( - peer: FluencePeer, - peer2: string, - config?: {ttl?: number} -): Promise; - -export function closureOut(...args: any) { - - let script = ` - (xor - (seq - (seq - (seq - (seq - (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) - (call %init_peer_id% ("getDataSrv" "peer2") [] peer2) - ) - (call -relay- ("op" "noop") []) - ) - (xor - (seq - (seq - (xor - (match "on" "in" - (xor - (call peer2 ("local_srv" "inside") []) - (seq - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) - ) - (call -relay- ("op" "noop") []) - ) - ) - ) - (null) - ) - (call peer2 ("peer" "identify") [] p2Id) - ) - (call -relay- ("op" "noop") []) - ) - (seq - (call -relay- ("op" "noop") []) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) - ) - ) - ) - (xor - (call %init_peer_id% ("callbackSrv" "response") [p2Id]) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) - ) - ) - (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4]) - ) - ` - return callFunction( - args, - { - "functionName" : "closureOut", - "returnType" : { - "tag" : "primitive" }, - "argDefs" : [ - { - "name" : "peer2", - "argType" : { - "tag" : "primitive" - } - } - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -346,31 +272,35 @@ export function closureBig(...args: any) { args, { "functionName" : "closureBig", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - } - ] - }, - "argDefs" : [ - { - "name" : "peer1", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "peer1" : { + "tag" : "scalar", + "name" : "string" + }, + "peer2" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "peer2", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/co.ts b/src/compiled/examples/co.ts index d0d2d42..dab9d02 100644 --- a/src/compiled/examples/co.ts +++ b/src/compiled/examples/co.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerCoService(...args: any) { args, { "defaultServiceId" : "coservice-id", - "functions" : [ - { - "functionName" : "call", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "call" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -108,36 +121,53 @@ export function coFunc(...args: any) { args, { "functionName" : "coFunc", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "c", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node" : { + "tag" : "scalar", + "name" : "string" + }, + "c" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/collectionSugar.ts b/src/compiled/examples/collectionSugar.ts index 3ccd755..9d2e8f7 100644 --- a/src/compiled/examples/collectionSugar.ts +++ b/src/compiled/examples/collectionSugar.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -97,31 +100,41 @@ export function arraySugar(...args: any) { args, { "functionName" : "arraySugar", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - } - ] - }, - "argDefs" : [ - { - "name" : "n", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "n" : { + "tag" : "scalar", + "name" : "u32" + }, + "m" : { + "tag" : "scalar", + "name" : "u32" + } } }, - { - "name" : "m", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -211,31 +224,41 @@ export function streamSugar(...args: any) { args, { "functionName" : "streamSugar", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - } - ] - }, - "argDefs" : [ - { - "name" : "n", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "n" : { + "tag" : "scalar", + "name" : "u32" + }, + "m" : { + "tag" : "scalar", + "name" : "u32" + } } }, - { - "name" : "m", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -388,46 +411,68 @@ export function optionSugar(...args: any) { args, { "functionName" : "optionSugar", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - } - ] - }, - "argDefs" : [ - { - "name" : "numSome", - "argType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "numSome" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + "strSome" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "numNone" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + "strNone" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "strSome", - "argType" : { - "tag" : "optional" - } - }, - { - "name" : "numNone", - "argType" : { - "tag" : "optional" - } - }, - { - "name" : "strNone", - "argType" : { - "tag" : "optional" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -486,34 +531,69 @@ export function emptySugar(...args: any) { args, { "functionName" : "emptySugar", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "optional" - }, - { - "tag" : "primitive" - }, - { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + } - ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + }, + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/complex.ts b/src/compiled/examples/complex.ts index 0a539db..4c94dbb 100644 --- a/src/compiled/examples/complex.ts +++ b/src/compiled/examples/complex.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -31,48 +34,61 @@ export function registerTestS(...args: any) { args, { "defaultServiceId" : "some-id", - "functions" : [ - { - "functionName" : "multiline", - "argDefs" : [ - { - "name" : "a", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "multiline" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "a" : { + "tag" : "scalar", + "name" : "string" + }, + "b" : { + "tag" : "scalar", + "name" : "string" + }, + "c" : { + "tag" : "scalar", + "name" : "bool" + } } }, - { - "name" : "b", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } + }, + "t" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] }, - { - "name" : "c", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" - } - }, - { - "functionName" : "t", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -224,53 +240,60 @@ export function doStuff(...args: any) { args, { "functionName" : "doStuff", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "a", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "a" : { + "tag" : "scalar", + "name" : "string" + }, + "b" : { + "tag" : "scalar", + "name" : "string" + }, + "c" : { + "tag" : "scalar", + "name" : "bool" + }, + "d" : { + "tag" : "scalar", + "name" : "bool" + }, + "e" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "g" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "str" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "b", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "c", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "d", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "e", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "g", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "str", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/constants.ts b/src/compiled/examples/constants.ts index 6d561eb..1b3ce4b 100644 --- a/src/compiled/examples/constants.ts +++ b/src/compiled/examples/constants.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerOpO(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -66,22 +79,32 @@ export function registerGetter(...args: any) { args, { "defaultServiceId" : "test", - "functions" : [ - { - "functionName" : "createStr", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "createStr" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "u32" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -102,22 +125,32 @@ export function registerOpN(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "i32" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "i32" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -157,11 +190,18 @@ export function compareConstants(...args: any) { args, { "functionName" : "compareConstants", - "returnType" : { - "tag" : "void" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "nil" + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -216,11 +256,27 @@ export function callConstant(...args: any) { args, { "functionName" : "callConstant", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/dataAlias.ts b/src/compiled/examples/dataAlias.ts index 12b24ba..e79375e 100644 --- a/src/compiled/examples/dataAlias.ts +++ b/src/compiled/examples/dataAlias.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,36 @@ export function registerNodeIdGetter(...args: any) { args, { "defaultServiceId" : "somesrv", - "functions" : [ - { - "functionName" : "get", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "get" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "NodeId", + "fields" : { + "name" : { + "tag" : "scalar", + "name" : "string" + }, + "peerId" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] + } } } - ] + } } ); } @@ -77,11 +100,24 @@ export function getAliasedData(...args: any) { args, { "functionName" : "getAliasedData", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/example.ts b/src/compiled/examples/example.ts index 130aca3..20a0eb9 100644 --- a/src/compiled/examples/example.ts +++ b/src/compiled/examples/example.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,20 @@ export function registerOp(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - ], - "returnType" : { - "tag" : "void" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" + } } } - ] + } } ); } @@ -61,24 +68,58 @@ export function registerTest(...args: any) { args, { "defaultServiceId" : "test", - "functions" : [ - { - "functionName" : "doSomething", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" - } - }, - { - "functionName" : "getUserList", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "doSomething" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "bool" + } + ] + } + }, + "getUserList" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "struct", + "name" : "User", + "fields" : { + "name" : { + "tag" : "scalar", + "name" : "string" + }, + "peer_id" : { + "tag" : "scalar", + "name" : "string" + }, + "relay_id" : { + "tag" : "scalar", + "name" : "string" + } + } + } + } + ] + } } } - ] + } } ); } @@ -99,22 +140,32 @@ export function registerPeer(...args: any) { args, { "defaultServiceId" : "peer", - "functions" : [ - { - "functionName" : "is_connected", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "is_connected" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "bool" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -174,17 +225,21 @@ export function betterMessage(...args: any) { args, { "functionName" : "betterMessage", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "relay", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "relay" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/fldist-sample.ts b/src/compiled/examples/fldist-sample.ts index c15f0c9..00df600 100644 --- a/src/compiled/examples/fldist-sample.ts +++ b/src/compiled/examples/fldist-sample.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,43 @@ export function registerReturn(...args: any) { args, { "defaultServiceId" : "returnService", - "functions" : [ - { - "functionName" : "run", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "run" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" } } - ] + } } ); } @@ -97,17 +121,21 @@ export function test(...args: any) { args, { "functionName" : "test", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/fold.ts b/src/compiled/examples/fold.ts index 76092ae..9ae4a9d 100644 --- a/src/compiled/examples/fold.ts +++ b/src/compiled/examples/fold.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -53,17 +56,24 @@ export function iterateAndPrint(...args: any) { args, { "functionName" : "iterateAndPrint", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "strings", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "strings" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -143,36 +153,56 @@ export function iterateAndPrintParallel(...args: any) { args, { "functionName" : "iterateAndPrintParallel", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "nodes", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "c", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "nodes" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "c" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/foldJoin.ts b/src/compiled/examples/foldJoin.ts index c9f2928..5f7250f 100644 --- a/src/compiled/examples/foldJoin.ts +++ b/src/compiled/examples/foldJoin.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -103,17 +106,30 @@ export function getTwoResults(...args: any) { args, { "functionName" : "getTwoResults", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u64" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/func.ts b/src/compiled/examples/func.ts index b8b1960..3073d2c 100644 --- a/src/compiled/examples/func.ts +++ b/src/compiled/examples/func.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerTestSrv(...args: any) { args, { "defaultServiceId" : "test-service-id", - "functions" : [ - { - "functionName" : "str", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "str" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -77,11 +90,24 @@ export function testFunc(...args: any) { args, { "functionName" : "testFunc", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/helloWorld.ts b/src/compiled/examples/helloWorld.ts index 5f3a5c8..091b641 100644 --- a/src/compiled/examples/helloWorld.ts +++ b/src/compiled/examples/helloWorld.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerStringExtra(...args: any) { args, { "defaultServiceId" : "service-id", - "functions" : [ - { - "functionName" : "addNameToHello", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "addNameToHello" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -88,17 +101,27 @@ export function helloWorld(...args: any) { args, { "functionName" : "helloWorld", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "name", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "name" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/if.ts b/src/compiled/examples/if.ts index 4980e8c..a054ba0 100644 --- a/src/compiled/examples/if.ts +++ b/src/compiled/examples/if.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerOpR(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -90,17 +103,21 @@ export function ifElseCall(...args: any) { args, { "functionName" : "ifElseCall", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "condition", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "condition" : { + "tag" : "scalar", + "name" : "bool" + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -154,17 +171,21 @@ export function ifElseNumCall(...args: any) { args, { "functionName" : "ifElseNumCall", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "condition", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "condition" : { + "tag" : "scalar", + "name" : "u32" + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -250,17 +271,27 @@ export function ifCorrectXorWrap(...args: any) { args, { "functionName" : "ifCorrectXorWrap", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/imports_exports/declare.ts b/src/compiled/examples/imports_exports/declare.ts index 699954b..e7a03c7 100644 --- a/src/compiled/examples/imports_exports/declare.ts +++ b/src/compiled/examples/imports_exports/declare.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerSuperFoo(...args: any) { args, { "defaultServiceId" : "super_foo", - "functions" : [ - { - "functionName" : "small_foo", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "small_foo" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } diff --git a/src/compiled/examples/imports_exports/exports.ts b/src/compiled/examples/imports_exports/exports.ts index 143d522..efdfd3b 100644 --- a/src/compiled/examples/imports_exports/exports.ts +++ b/src/compiled/examples/imports_exports/exports.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerMyExportSrv(...args: any) { args, { "defaultServiceId" : "my_export_srv", - "functions" : [ - { - "functionName" : "another_str", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "another_str" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -74,11 +87,24 @@ export function string_from_lib(...args: any) { args, { "functionName" : "string_from_lib", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/imports_exports/gen/OneMore.ts b/src/compiled/examples/imports_exports/gen/OneMore.ts index 9ee54e0..511a9cf 100644 --- a/src/compiled/examples/imports_exports/gen/OneMore.ts +++ b/src/compiled/examples/imports_exports/gen/OneMore.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -27,16 +30,20 @@ export function registerOneMore(...args: any) { registerService( args, { - "functions" : [ - { - "functionName" : "more_call", - "argDefs" : [ - ], - "returnType" : { - "tag" : "void" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "more_call" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" + } } } - ] + } } ); } diff --git a/src/compiled/examples/imports_exports/import2.ts b/src/compiled/examples/imports_exports/import2.ts index 8b7c66c..44d68ba 100644 --- a/src/compiled/examples/imports_exports/import2.ts +++ b/src/compiled/examples/imports_exports/import2.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -57,11 +60,27 @@ export function barfoo(...args: any) { args, { "functionName" : "barfoo", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -111,11 +130,24 @@ export function wrap(...args: any) { args, { "functionName" : "wrap", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/imports_exports/import3.ts b/src/compiled/examples/imports_exports/import3.ts index a7906be..b9b9e9e 100644 --- a/src/compiled/examples/imports_exports/import3.ts +++ b/src/compiled/examples/imports_exports/import3.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -46,11 +49,24 @@ export function foo_wrapper(...args: any) { args, { "functionName" : "foo_wrapper", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/imports_exports/imports.ts b/src/compiled/examples/imports_exports/imports.ts index 6ce4565..4fd6977 100644 --- a/src/compiled/examples/imports_exports/imports.ts +++ b/src/compiled/examples/imports_exports/imports.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,28 +33,36 @@ export function registerStringService(...args: any) { args, { "defaultServiceId" : "string_service", - "functions" : [ - { - "functionName" : "concat", - "argDefs" : [ - { - "name" : "a", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "concat" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "a" : { + "tag" : "scalar", + "name" : "string" + }, + "b" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "b", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -107,11 +118,24 @@ export function concat_foobars(...args: any) { args, { "functionName" : "concat_foobars", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/imports_exports/subImport.ts b/src/compiled/examples/imports_exports/subImport.ts index dc152fc..dcea6a3 100644 --- a/src/compiled/examples/imports_exports/subImport.ts +++ b/src/compiled/examples/imports_exports/subImport.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,42 @@ export function registerSubService(...args: any) { args, { "defaultServiceId" : "sub_service", - "functions" : [ - { - "functionName" : "sub", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "sub" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SomeResult", + "fields" : { + "one" : { + "tag" : "scalar", + "name" : "string" + }, + "two" : { + "tag" : "scalar", + "name" : "u32" + } + } + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -83,11 +106,34 @@ export function subImport(...args: any) { args, { "functionName" : "subImport", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SomeResult", + "fields" : { + "one" : { + "tag" : "scalar", + "name" : "string" + }, + "two" : { + "tag" : "scalar", + "name" : "u32" + } + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/join.ts b/src/compiled/examples/join.ts index 26eee30..eb6a172 100644 --- a/src/compiled/examples/join.ts +++ b/src/compiled/examples/join.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -75,23 +78,37 @@ export function joinIdxLocal(...args: any) { args, { "functionName" : "joinIdxLocal", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "idx", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "idx" : { + "tag" : "scalar", + "name" : "i16" + }, + "nodes" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "nodes", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -167,23 +184,37 @@ export function joinIdxRelay(...args: any) { args, { "functionName" : "joinIdxRelay", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "idx", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "idx" : { + "tag" : "scalar", + "name" : "i16" + }, + "nodes" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "nodes", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -276,23 +307,54 @@ export function joinIdx(...args: any) { args, { "functionName" : "joinIdx", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "idx", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "idx" : { + "tag" : "scalar", + "name" : "i16" + }, + "nodes" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "nodes", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/multiReturn.ts b/src/compiled/examples/multiReturn.ts index cda43d7..671b2c7 100644 --- a/src/compiled/examples/multiReturn.ts +++ b/src/compiled/examples/multiReturn.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerGetStr(...args: any) { args, { "defaultServiceId" : "multiret-test", - "functions" : [ - { - "functionName" : "retStr", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "retStr" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -66,16 +79,26 @@ export function registerGetNum(...args: any) { args, { "defaultServiceId" : "multiret-num", - "functions" : [ - { - "functionName" : "retNum", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "retNum" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "u8" + } + ] + } } } - ] + } } ); } @@ -140,43 +163,66 @@ export function multiReturnFunc(...args: any) { args, { "functionName" : "multiReturnFunc", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - }, - { - "tag" : "optional" - }, - { - "tag" : "primitive" - } - ] - }, - "argDefs" : [ - { - "name" : "somethingToReturn", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "somethingToReturn" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u8" + } + }, + "smthOption" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "smthOption", - "argType" : { - "tag" : "optional" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "scalar", + "name" : "u8" + }, + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "u8" + } + }, + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "scalar", + "name" : "u8" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -226,19 +272,28 @@ export function tupleFunc(...args: any) { args, { "functionName" : "tupleFunc", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + } - ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "scalar", + "name" : "u8" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/nestedFuncs.ts b/src/compiled/examples/nestedFuncs.ts index 60c0973..053a1f5 100644 --- a/src/compiled/examples/nestedFuncs.ts +++ b/src/compiled/examples/nestedFuncs.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerOpH(...args: any) { args, { "defaultServiceId" : "opa", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -88,17 +101,27 @@ export function a(...args: any) { args, { "functionName" : "a", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "b", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "b" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -150,17 +173,27 @@ export function d(...args: any) { args, { "functionName" : "d", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "e", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "e" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/new-api-full.ts b/src/compiled/examples/new-api-full.ts index 21ce53a..7634c6b 100644 --- a/src/compiled/examples/new-api-full.ts +++ b/src/compiled/examples/new-api-full.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -31,102 +34,112 @@ export function registerMoreMembers(...args: any) { registerService( args, { - "functions" : [ - { - "functionName" : "member1", - "argDefs" : [ - ], - "returnType" : { - "tag" : "void" - } - }, - { - "functionName" : "member2", - "argDefs" : [ - { - "name" : "s1", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "member1" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" - } - }, - { - "functionName" : "member3", - "argDefs" : [ - { - "name" : "s1", - "argType" : { - "tag" : "primitive" + }, + "member2" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s1" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "s2", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" - } - }, - { - "functionName" : "member4", - "argDefs" : [ - { - "name" : "s1", - "argType" : { - "tag" : "primitive" + }, + "member3" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s1" : { + "tag" : "scalar", + "name" : "string" + }, + "s2" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "s2", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "i", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "primitive" - } - }, - { - "functionName" : "member5", - "argDefs" : [ - { - "name" : "s1", - "argType" : { - "tag" : "primitive" + }, + "member4" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s1" : { + "tag" : "scalar", + "name" : "string" + }, + "s2" : { + "tag" : "scalar", + "name" : "string" + }, + "i" : { + "tag" : "scalar", + "name" : "i32" + } } }, - { - "name" : "s2", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "i", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "i32" + } + ] + } + }, + "member5" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s1" : { + "tag" : "scalar", + "name" : "string" + }, + "s2" : { + "tag" : "scalar", + "name" : "string" + }, + "i" : { + "tag" : "scalar", + "name" : "i32" + } + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "i32" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -144,22 +157,26 @@ export function registerServiceWithOUTDefaultId(...args: any) { registerService( args, { - "functions" : [ - { - "functionName" : "hello", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "hello" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" } } - ] + } } ); } @@ -180,22 +197,26 @@ export function registerServiceWithDefaultId(...args: any) { args, { "defaultServiceId" : "defaultId", - "functions" : [ - { - "functionName" : "hello", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "hello" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" } } - ] + } } ); } @@ -232,24 +253,26 @@ export function callBackZeroArgs(...args: any) { args, { "functionName" : "callBackZeroArgs", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "callback", - "argType" : { - "tag" : "callback", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { "callback" : { - "argDefs" : [ - ], - "returnType" : { - "tag" : "void" + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -295,36 +318,36 @@ export function f1(...args: any) { args, { "functionName" : "f1", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "callback", - "argType" : { - "tag" : "callback", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "scalar", + "name" : "i32" } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -381,42 +404,46 @@ export function f3(...args: any) { args, { "functionName" : "f3", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "num", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "callback", - "argType" : { - "tag" : "callback", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "num" : { + "tag" : "scalar", + "name" : "i32" + }, "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "scalar", + "name" : "i32" } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -467,42 +494,40 @@ export function f2(...args: any) { args, { "functionName" : "f2", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "num", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "callback", - "argType" : { - "tag" : "callback", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "num" : { + "tag" : "scalar", + "name" : "i32" + }, "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "scalar", + "name" : "i32" } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/new-api.ts b/src/compiled/examples/new-api.ts index 2f67df3..5af84fa 100644 --- a/src/compiled/examples/new-api.ts +++ b/src/compiled/examples/new-api.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -31,30 +34,41 @@ export function registerHelloWorld(...args: any) { args, { "defaultServiceId" : "default", - "functions" : [ - { - "functionName" : "getNumber", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" - } - }, - { - "functionName" : "sayHello", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "getNumber" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "i32" + } + ] + } + }, + "sayHello" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } + } + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" } } - ] + } } ); } @@ -91,36 +105,36 @@ export function callMeBack(...args: any) { args, { "functionName" : "callMeBack", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "callback", - "argType" : { - "tag" : "callback", + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + }, + { + "tag" : "scalar", + "name" : "i32" } - }, - { - "name" : "arg1", - "argType" : { - "tag" : "primitive" - } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/on.ts b/src/compiled/examples/on.ts index 86a2d56..cde16ec 100644 --- a/src/compiled/examples/on.ts +++ b/src/compiled/examples/on.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -66,17 +69,30 @@ export function getPeerExternalAddresses(...args: any) { args, { "functionName" : "getPeerExternalAddresses", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "otherNodePeerId", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "otherNodePeerId" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -154,23 +170,34 @@ export function getDistantAddresses(...args: any) { args, { "functionName" : "getDistantAddresses", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "target", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "target" : { + "tag" : "scalar", + "name" : "string" + }, + "viaNode" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "viaNode", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/option.ts b/src/compiled/examples/option.ts index 2a86d11..16e21cd 100644 --- a/src/compiled/examples/option.ts +++ b/src/compiled/examples/option.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -33,58 +36,95 @@ export function registerSomeS(...args: any) { args, { "defaultServiceId" : "test2", - "functions" : [ - { - "functionName" : "checkU32", - "argDefs" : [ - { - "name" : "u", - "argType" : { - "tag" : "optional" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "checkU32" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "u" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "u32" + } + } } + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" - } - }, - { - "functionName" : "getStr", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "optional" - } + }, + "getStr" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], - "returnType" : { - "tag" : "optional" - } - }, - { - "functionName" : "getStr1", - "argDefs" : [ - ], - "returnType" : { - "tag" : "optional" - } - }, - { - "functionName" : "getStr2", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + }, + "getStr1" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } + }, + "getStr2" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -127,11 +167,27 @@ export function returnNone(...args: any) { args, { "functionName" : "returnNone", - "returnType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -177,17 +233,24 @@ export function checkU32AndU8(...args: any) { args, { "functionName" : "checkU32AndU8", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "a", - "argType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "a" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "u8" + } + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -247,17 +310,30 @@ export function useOptional(...args: any) { args, { "functionName" : "useOptional", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "opt", - "argType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "opt" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -304,11 +380,27 @@ export function returnOptional(...args: any) { args, { "functionName" : "returnOptional", - "returnType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/options/option_gen.ts b/src/compiled/examples/options/option_gen.ts index f9acc0c..1abdf5c 100644 --- a/src/compiled/examples/options/option_gen.ts +++ b/src/compiled/examples/options/option_gen.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,35 @@ export function registerOptionString(...args: any) { args, { "defaultServiceId" : "opt_str", - "functions" : [ - { - "functionName" : "checkOption", - "argDefs" : [ - { - "name" : "str", - "argType" : { - "tag" : "optional" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "checkOption" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "str" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -88,11 +104,24 @@ export function checkEmpty(...args: any) { args, { "functionName" : "checkEmpty", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -141,11 +170,27 @@ export function emptyString(...args: any) { args, { "functionName" : "emptyString", - "returnType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -205,17 +250,27 @@ export function checkNoneEmpty(...args: any) { args, { "functionName" : "checkNoneEmpty", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "str", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "str" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -272,17 +327,30 @@ export function stringAsOption(...args: any) { args, { "functionName" : "stringAsOption", - "returnType" : { - "tag" : "optional" - }, - "argDefs" : [ - { - "name" : "str", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "str" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/par.ts b/src/compiled/examples/par.ts index 9aad1c5..28ed445 100644 --- a/src/compiled/examples/par.ts +++ b/src/compiled/examples/par.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerParService(...args: any) { args, { "defaultServiceId" : "parservice-id", - "functions" : [ - { - "functionName" : "call", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "call" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -108,36 +121,53 @@ export function parFunc(...args: any) { args, { "functionName" : "parFunc", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "node", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "c", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node" : { + "tag" : "scalar", + "name" : "string" + }, + "c" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/passArgs.ts b/src/compiled/examples/passArgs.ts index ee278eb..a018838 100644 --- a/src/compiled/examples/passArgs.ts +++ b/src/compiled/examples/passArgs.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,34 +33,43 @@ export function registerAquaDHT(...args: any) { args, { "defaultServiceId" : "test-dht", - "functions" : [ - { - "functionName" : "put_host_value", - "argDefs" : [ - { - "name" : "key", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "put_host_value" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "key" : { + "tag" : "scalar", + "name" : "string" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + }, + "service_id" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "value", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "service_id", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -110,29 +122,38 @@ export function putHostValue(...args: any) { args, { "functionName" : "putHostValue", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "key", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "key" : { + "tag" : "scalar", + "name" : "string" + }, + "value" : { + "tag" : "scalar", + "name" : "string" + }, + "service_id" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "value", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "service_id", - "argType" : { - "tag" : "optional" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -184,17 +205,27 @@ export function create_client_util(...args: any) { args, { "functionName" : "create_client_util", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "service_id", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "service_id" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/println.ts b/src/compiled/examples/println.ts index 5416451..510ad18 100644 --- a/src/compiled/examples/println.ts +++ b/src/compiled/examples/println.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,26 @@ export function registerPrintln(...args: any) { args, { "defaultServiceId" : "println-service-id", - "functions" : [ - { - "functionName" : "print", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "print" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" } } - ] + } } ); } @@ -82,17 +89,21 @@ export function print(...args: any) { args, { "functionName" : "print", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "str", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "str" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/pushToStream.ts b/src/compiled/examples/pushToStream.ts index 187fa16..8b65854 100644 --- a/src/compiled/examples/pushToStream.ts +++ b/src/compiled/examples/pushToStream.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerOpA(...args: any) { args, { "defaultServiceId" : "pop", - "functions" : [ - { - "functionName" : "get_str", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "get_str" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -88,11 +101,27 @@ export function get_results(...args: any) { args, { "functionName" : "get_results", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/recursiveStreams.ts b/src/compiled/examples/recursiveStreams.ts index 2b0f097..e77caa7 100644 --- a/src/compiled/examples/recursiveStreams.ts +++ b/src/compiled/examples/recursiveStreams.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerYesNoService(...args: any) { args, { "defaultServiceId" : "yesno", - "functions" : [ - { - "functionName" : "get", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "get" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -106,19 +119,34 @@ export function recursiveStream(...args: any) { args, { "functionName" : "recursiveStream", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + } - ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/returnLiteral.ts b/src/compiled/examples/returnLiteral.ts index e0430c3..7baef76 100644 --- a/src/compiled/examples/returnLiteral.ts +++ b/src/compiled/examples/returnLiteral.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -46,11 +49,24 @@ export function returnLiteral(...args: any) { args, { "functionName" : "returnLiteral", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/stream.ts b/src/compiled/examples/stream.ts index 317658f..5df52a0 100644 --- a/src/compiled/examples/stream.ts +++ b/src/compiled/examples/stream.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerStringer(...args: any) { args, { "defaultServiceId" : "stringer-id", - "functions" : [ - { - "functionName" : "returnString", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "returnString" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -85,11 +98,27 @@ export function returnNone(...args: any) { args, { "functionName" : "returnNone", - "returnType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -138,11 +167,27 @@ export function stringNone(...args: any) { args, { "functionName" : "stringNone", - "returnType" : { - "tag" : "optional" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -192,11 +237,27 @@ export function returnNil(...args: any) { args, { "functionName" : "returnNil", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -240,11 +301,27 @@ export function stringNil(...args: any) { args, { "functionName" : "stringNil", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -312,17 +389,33 @@ export function checkStreams(...args: any) { args, { "functionName" : "checkStreams", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "ch", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "ch" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/streamArgs.ts b/src/compiled/examples/streamArgs.ts index a846b83..7bd4682 100644 --- a/src/compiled/examples/streamArgs.ts +++ b/src/compiled/examples/streamArgs.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,35 @@ export function registerTestService(...args: any) { args, { "defaultServiceId" : "test-service", - "functions" : [ - { - "functionName" : "get_records", - "argDefs" : [ - { - "name" : "key", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "get_records" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "key" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -95,23 +111,31 @@ export function append_records(...args: any) { args, { "functionName" : "append_records", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "peer", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "peer" : { + "tag" : "scalar", + "name" : "string" + }, + "srum" : { + "tag" : "array", + "type" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + } } }, - { - "name" : "srum", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -168,17 +192,33 @@ export function retrieve_records(...args: any) { args, { "functionName" : "retrieve_records", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "peer", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "peer" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/streamCallback.ts b/src/compiled/examples/streamCallback.ts index 05434a0..c6cc8ca 100644 --- a/src/compiled/examples/streamCallback.ts +++ b/src/compiled/examples/streamCallback.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -50,30 +53,35 @@ export function someFunc(...args: any) { args, { "functionName" : "someFunc", - "returnType" : { - "tag" : "void" - }, - "argDefs" : [ - { - "name" : "cb", - "argType" : { - "tag" : "callback", - "callback" : { - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "cb" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } } - } - ], - "returnType" : { - "tag" : "void" + ] + }, + "codomain" : { + "tag" : "nil" } } } + }, + "codomain" : { + "tag" : "nil" } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/streamCan.ts b/src/compiled/examples/streamCan.ts index 96856f1..16da491 100644 --- a/src/compiled/examples/streamCan.ts +++ b/src/compiled/examples/streamCan.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -59,17 +62,30 @@ export function toOpt(...args: any) { args, { "functionName" : "toOpt", - "returnType" : { - "tag" : "optional" - }, - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -138,11 +154,30 @@ export function accumRes(...args: any) { args, { "functionName" : "accumRes", - "returnType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + + } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] + } }, - "argDefs" : [ - ], "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/streamRestriction.ts b/src/compiled/examples/streamRestriction.ts index 4f6eb0b..5f6a2e3 100644 --- a/src/compiled/examples/streamRestriction.ts +++ b/src/compiled/examples/streamRestriction.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -64,17 +67,33 @@ export function streamFold(...args: any) { args, { "functionName" : "streamFold", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "arr", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "arr" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -141,25 +160,40 @@ export function streamRes(...args: any) { args, { "functionName" : "streamRes", - "returnType" : { - "tag" : "multiReturn", - "returnItems" : [ - { - "tag" : "primitive" - }, - { - "tag" : "primitive" - } - ] - }, - "argDefs" : [ - { - "name" : "arr", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "arr" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/streamResults.ts b/src/compiled/examples/streamResults.ts index f8d1e21..8560583 100644 --- a/src/compiled/examples/streamResults.ts +++ b/src/compiled/examples/streamResults.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,38 @@ export function registerDTGetter(...args: any) { args, { "defaultServiceId" : "get-dt", - "functions" : [ - { - "functionName" : "get_dt", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "get_dt" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "DT", + "fields" : { + "field" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -88,17 +107,27 @@ export function use_name1(...args: any) { args, { "functionName" : "use_name1", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "name", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "name" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -170,17 +199,30 @@ export function use_name2(...args: any) { args, { "functionName" : "use_name2", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "name", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "name" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/subImportUsage.ts b/src/compiled/examples/subImportUsage.ts index 214ca65..892a123 100644 --- a/src/compiled/examples/subImportUsage.ts +++ b/src/compiled/examples/subImportUsage.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,28 +33,56 @@ export function registerConcatSubs(...args: any) { args, { "defaultServiceId" : "concat_subs", - "functions" : [ - { - "functionName" : "get_some", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "get_some" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + }, + "sr" : { + "tag" : "struct", + "name" : "SomeResult", + "fields" : { + "one" : { + "tag" : "scalar", + "name" : "string" + }, + "two" : { + "tag" : "scalar", + "name" : "u32" + } + } + } } }, - { - "name" : "sr", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SomeResult", + "fields" : { + "one" : { + "tag" : "scalar", + "name" : "string" + }, + "two" : { + "tag" : "scalar", + "name" : "u32" + } + } + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -100,17 +131,37 @@ export function subImportUsage(...args: any) { args, { "functionName" : "subImportUsage", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "SomeResult", + "fields" : { + "one" : { + "tag" : "scalar", + "name" : "string" + }, + "two" : { + "tag" : "scalar", + "name" : "u32" + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/topology.ts b/src/compiled/examples/topology.ts index 26d67c0..2fe4d3c 100644 --- a/src/compiled/examples/topology.ts +++ b/src/compiled/examples/topology.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,22 +33,32 @@ export function registerIOp(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -66,22 +79,32 @@ export function registerOpop(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -102,22 +125,32 @@ export function registerTesto(...args: any) { args, { "defaultServiceId" : "testo", - "functions" : [ - { - "functionName" : "getString", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "getString" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -138,22 +171,26 @@ export function registerLocalPrint(...args: any) { args, { "defaultServiceId" : "lp", - "functions" : [ - { - "functionName" : "print", - "argDefs" : [ - { - "name" : "arg0", - "argType" : { - "tag" : "primitive" - } + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "print" : { + "tag" : "arrow", + "domain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + }, + "codomain" : { + "tag" : "nil" } - ], - "returnType" : { - "tag" : "void" } } - ] + } } ); } @@ -227,17 +264,33 @@ export function topologyBug427(...args: any) { args, { "functionName" : "topologyBug427", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "peers", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "peers" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -340,23 +393,37 @@ export function topologyBug205(...args: any) { args, { "functionName" : "topologyBug205", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node_id", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node_id" : { + "tag" : "scalar", + "name" : "string" + }, + "n2" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "n2", - "argType" : { - "tag" : "optional" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -450,35 +517,39 @@ export function topologyTest(...args: any) { args, { "functionName" : "topologyTest", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "me", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "me" : { + "tag" : "scalar", + "name" : "string" + }, + "myRelay" : { + "tag" : "scalar", + "name" : "string" + }, + "friend" : { + "tag" : "scalar", + "name" : "string" + }, + "friendRelay" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "myRelay", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "friend", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "friendRelay", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -573,29 +644,35 @@ export function topologyBug394(...args: any) { args, { "functionName" : "topologyBug394", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "peer", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "peer" : { + "tag" : "scalar", + "name" : "string" + }, + "peer2" : { + "tag" : "scalar", + "name" : "string" + }, + "peer3" : { + "tag" : "scalar", + "name" : "string" + } } }, - { - "name" : "peer2", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "peer3", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/tryCatch.ts b/src/compiled/examples/tryCatch.ts index bc3fab6..4c4d8d4 100644 --- a/src/compiled/examples/tryCatch.ts +++ b/src/compiled/examples/tryCatch.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerUnexisted(...args: any) { args, { "defaultServiceId" : "unex", - "functions" : [ - { - "functionName" : "getStr", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "getStr" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -60,22 +73,32 @@ export function registerOpA(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -144,17 +167,30 @@ export function tryCatchTest(...args: any) { args, { "functionName" : "tryCatchTest", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node_id", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node_id" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/tryOtherwise.ts b/src/compiled/examples/tryOtherwise.ts index fcae698..55101b9 100644 --- a/src/compiled/examples/tryOtherwise.ts +++ b/src/compiled/examples/tryOtherwise.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -30,16 +33,26 @@ export function registerUnexisted(...args: any) { args, { "defaultServiceId" : "unex", - "functions" : [ - { - "functionName" : "getStr", - "argDefs" : [ - ], - "returnType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "getStr" : { + "tag" : "arrow", + "domain" : { + "tag" : "nil" + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] + } } } - ] + } } ); } @@ -60,22 +73,32 @@ export function registerOpE(...args: any) { args, { "defaultServiceId" : "op", - "functions" : [ - { - "functionName" : "identity", - "argDefs" : [ - { - "name" : "s", - "argType" : { - "tag" : "primitive" + "functions" : { + "tag" : "labeledProduct", + "fields" : { + "identity" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "s" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], - "returnType" : { - "tag" : "primitive" } } - ] + } } ); } @@ -138,17 +161,27 @@ export function tryOtherwiseTest(...args: any) { args, { "functionName" : "tryOtherwiseTest", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node_id", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node_id" : { + "tag" : "scalar", + "name" : "string" + } } + }, + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "scalar", + "name" : "string" + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/compiled/examples/via.ts b/src/compiled/examples/via.ts index 33460aa..e04fc75 100644 --- a/src/compiled/examples/via.ts +++ b/src/compiled/examples/via.ts @@ -8,9 +8,12 @@ */ import { Fluence, FluencePeer } from '@fluencelabs/fluence'; import { - CallParams, callFunction, registerService, +} from '@fluencelabs/fluence/dist/internal/compilerSupport/v3'; + +import { + CallParams } from '@fluencelabs/fluence/dist/internal/compilerSupport/v2'; @@ -95,23 +98,51 @@ export function viaArr(...args: any) { args, { "functionName" : "viaArr", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node_id", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node_id" : { + "tag" : "scalar", + "name" : "string" + }, + "viaAr" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "viaAr", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -212,23 +243,51 @@ export function viaStream(...args: any) { args, { "functionName" : "viaStream", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "node_id", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "node_id" : { + "tag" : "scalar", + "name" : "string" + }, + "viaStr" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "viaStr", - "argType" : { - "tag" : "primitive" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", @@ -326,29 +385,55 @@ export function viaOpt(...args: any) { args, { "functionName" : "viaOpt", - "returnType" : { - "tag" : "primitive" - }, - "argDefs" : [ - { - "name" : "relay", - "argType" : { - "tag" : "primitive" + "arrow" : { + "tag" : "arrow", + "domain" : { + "tag" : "labeledProduct", + "fields" : { + "relay" : { + "tag" : "scalar", + "name" : "string" + }, + "node_id" : { + "tag" : "scalar", + "name" : "string" + }, + "viaOpt" : { + "tag" : "option", + "type" : { + "tag" : "scalar", + "name" : "string" + } + } } }, - { - "name" : "node_id", - "argType" : { - "tag" : "primitive" - } - }, - { - "name" : "viaOpt", - "argType" : { - "tag" : "optional" - } + "codomain" : { + "tag" : "unlabeledProduct", + "items" : [ + { + "tag" : "struct", + "name" : "Info", + "fields" : { + "air_version" : { + "tag" : "scalar", + "name" : "string" + }, + "external_addresses" : { + "tag" : "array", + "type" : { + "tag" : "scalar", + "name" : "string" + } + }, + "node_version" : { + "tag" : "scalar", + "name" : "string" + } + } + } + ] } - ], + }, "names" : { "relay" : "-relay-", "getDataSrv" : "getDataSrv", diff --git a/src/examples/closures.ts b/src/examples/closures.ts index e4e1371..a56a09c 100644 --- a/src/examples/closures.ts +++ b/src/examples/closures.ts @@ -1,5 +1,5 @@ import { Fluence } from '@fluencelabs/fluence'; -import {closureIn, closureOut, closureBig, registerLocalSrv, closureOut2} from '../compiled/examples/closures'; +import {closureIn, closureBig, registerLocalSrv} from '../compiled/examples/closures'; import { config } from '../config' const relays = config.relays @@ -11,9 +11,9 @@ export async function closuresCall(): Promise<[string, string[], string[], [stri registerLocalSrv({inside: () => console.log("call inside")}) const resIn = await closureIn(relays[4].peerId, {ttl: 15000}) - const resOut = await closureOut(relays[5].peerId, {ttl: 15000}) - const resOut2 = await closureOut2(relays[5].peerId, {ttl: 15000}) + // const resOut = await closureOut(relays[5].peerId, {ttl: 15000}) + // const resOut2 = await closureOut2(relays[5].peerId, {ttl: 15000}) const resBig = await closureBig(relays[4].peerId, relays[5].peerId, {ttl: 15000}) - return [resIn, resOut.external_addresses, resOut2.external_addresses, resBig] + return [resIn, [], [], resBig] } \ No newline at end of file