Files
aqua-playground/src/compiled/examples/option.ts

207 lines
5.8 KiB
TypeScript
Raw Normal View History

2021-06-03 17:27:32 +03:00
/**
*
* This file is auto-generated. Do not edit manually: changes may be erased.
* Generated by Aqua compiler: https://github.com/fluencelabs/aqua/.
* If you find any bugs, please write an issue on GitHub: https://github.com/fluencelabs/aqua/issues
2021-09-03 16:38:51 +03:00
* Aqua version: 0.3.0-SNAPSHOT
2021-06-03 17:27:32 +03:00
*
*/
import { FluenceClient, PeerIdB58 } from '@fluencelabs/fluence';
import { RequestFlowBuilder } from '@fluencelabs/fluence/dist/api.unstable';
import { RequestFlow } from '@fluencelabs/fluence/dist/internal/RequestFlow';
// Services
//SomeS
//defaultId = "test2"
//getStr: (arg0: string | null) => string | null
//getStr1: () => string | null
//getStr2: (arg0: string) => string
//END SomeS
// Functions
2021-06-03 17:27:32 +03:00
2021-06-15 13:14:39 +03:00
export async function useOptional(client: FluenceClient, opt: string | null, config?: {ttl?: number}): Promise<string> {
2021-06-03 17:27:32 +03:00
let request: RequestFlow;
const promise = new Promise<string>((resolve, reject) => {
2021-07-13 17:30:12 +03:00
const r = new RequestFlowBuilder()
2021-06-03 17:27:32 +03:00
.disableInjections()
.withRawScript(
`
(xor
(seq
(seq
(seq
(seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("getDataSrv" "opt") [] opt)
)
(call %init_peer_id% ("test2" "getStr") [opt] res)
)
(fold opt i
(seq
(call %init_peer_id% ("test2" "getStr2") [i])
(next i)
)
)
)
(xor
(call %init_peer_id% ("callbackSrv" "response") [res.$.[0]!])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
)
2021-06-18 15:15:34 +03:00
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
2021-06-03 17:27:32 +03:00
)
`,
)
.configHandler((h) => {
h.on('getDataSrv', '-relay-', () => {
return client.relayPeerId!;
});
h.on('getDataSrv', 'opt', () => {return opt === null ? [] : [opt];});
h.onEvent('callbackSrv', 'response', (args) => {
2021-07-28 16:24:07 +03:00
const [res] = args;
2021-06-03 17:27:32 +03:00
resolve(res);
});
h.onEvent('errorHandlingSrv', 'error', (args) => {
// assuming error is the single argument
const [err] = args;
reject(err);
});
})
.handleScriptError(reject)
.handleTimeout(() => {
reject('Request timed out for useOptional');
})
2021-07-23 11:57:44 +03:00
if(config && config.ttl) {
2021-07-13 17:30:12 +03:00
r.withTTL(config.ttl)
}
request = r.build();
2021-06-03 17:27:32 +03:00
});
await client.initiateFlow(request!);
return promise;
}
2021-07-28 16:24:07 +03:00
export async function returnOptional(client: FluenceClient, config?: {ttl?: number}): Promise<string | null> {
let request: RequestFlow;
const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor
(seq
(seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("test2" "getStr1") [] res)
)
(xor
(call %init_peer_id% ("callbackSrv" "response") [res])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
`,
)
.configHandler((h) => {
h.on('getDataSrv', '-relay-', () => {
return client.relayPeerId!;
});
h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args;
if (Array.isArray(opt)) {
if (opt.length === 0) { resolve(null); }
opt = opt[0];
2021-07-29 17:28:09 +03:00
}
2021-07-28 16:24:07 +03:00
return resolve(opt);
});
h.onEvent('errorHandlingSrv', 'error', (args) => {
// assuming error is the single argument
const [err] = args;
reject(err);
});
})
.handleScriptError(reject)
.handleTimeout(() => {
reject('Request timed out for returnOptional');
})
if(config && config.ttl) {
r.withTTL(config.ttl)
}
request = r.build();
});
await client.initiateFlow(request!);
return promise;
}
export async function returnNone(client: FluenceClient, config?: {ttl?: number}): Promise<string | null> {
let request: RequestFlow;
const promise = new Promise<string | null>((resolve, reject) => {
const r = new RequestFlowBuilder()
.disableInjections()
.withRawScript(
`
(xor
(seq
(seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("op" "noop") [])
)
(xor
(call %init_peer_id% ("callbackSrv" "response") [$result])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
)
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
)
`,
)
.configHandler((h) => {
h.on('getDataSrv', '-relay-', () => {
return client.relayPeerId!;
});
h.onEvent('callbackSrv', 'response', (args) => {
let [opt] = args;
if (Array.isArray(opt)) {
if (opt.length === 0) { resolve(null); }
opt = opt[0];
2021-07-29 17:28:09 +03:00
}
2021-07-28 16:24:07 +03:00
return resolve(opt);
});
h.onEvent('errorHandlingSrv', 'error', (args) => {
// assuming error is the single argument
const [err] = args;
reject(err);
});
})
.handleScriptError(reject)
.handleTimeout(() => {
reject('Request timed out for returnNone');
})
if(config && config.ttl) {
r.withTTL(config.ttl)
}
request = r.build();
});
await client.initiateFlow(request!);
return promise;
}